lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite for Android: free password hash cracker in your pocket
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Wed, 11 May 2011 16:13:47 -0400
From:	Mark Salter <msalter@...hat.com>
To:	linux-kernel@...r.kernel.org
Subject: [PATCH] arch/c6x: new architecture port for linux

This patch series adds support for a new architecture (arch/c6x) to
Linux. This architecture supports members of the Texas Instruments
family of C64x single and multicore DSPs. The multicore DSPs do not
support cache coherancy, so are not suitable for SMP. Also, these are
no-mmu processors. This core architecture is VLIW with an instruction
set optimized for DSP applications. For details on the processors:

  http://processors.wiki.ti.com/index.php/Main_Page

This port has a long history going back at least as far as 2.6.13 but
was never a good candidate for upstreaming due to lack of a gcc port.
These previous kernels were built with proprietary TI tools using COFF.
However, a gcc port now exists:

  http://www.codesourcery.com/sgpp/lite/c6000/portal/release1783

Along with supporting the GNU toolchain work, Texas Instruments has also
been working on bringing the kernel port up to date and suitable for
contribution to the community. This is the start of that process and
hopefully we can quickly make whatever changes are necessary to get this
port included in the upstream kernel.

There are a few small patches to generic parts of the kernel including
bug fixes for a few generic headers. The most significant patch for the
generic kernel is the support for a new ELF based binary format called
DSBT. DSBT stands for Data Segment Base Table and provides a mechanism
for dynamic shared objects for systems without an MMU. In this regard it
is similar to the existing FDPIC support in the kernel but it uses a
very different approach. Whereas FDPIC ties data segment pointers to
function pointers, DSBT uses data accesses relativer to a dedicated
data pointer (DP) register. Each data segment in a DSO starts with a
table of DP values for each DSO linked into the process. Each DSO has
a unique index into that table. When a function call is made to another
DSO, the callee will save the current DP and retrieve its own DP from
the table indexed on the callee's known index. The advantage of this
over FDPIC is that function pointers require no special handling. The
main disadvantage is that DSOs in a system must have unique indices to
access their DP. These indices can be assigned at static link time when
the DSOs are built or later with a prelink-like tool when the rootfs is
composed.

The project wiki for linux-c6x is at:

  http://www.linux-c6x.org

and the GIT tree holding the attached patches is at:

  git@...ux-c6x.org:/git/projects/linux-c6x-upstreaming.git

TIA for any feedback and/or guidance on this port.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ