2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-06-13 02:30:17 +10:00
|
|
|
|
2007-03-19 11:53:53 +01:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-21 10:16:20 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-21 13:26:02 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-22 07:35:52 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-21 13:26:03 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-30 15:23:13 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-30 23:27:58 +01:00
|
|
|
|
2008-01-30 13:32:51 +01:00
|
|
|
|
|
|
|
|
|
2006-06-29 02:24:43 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-17 14:35:00 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-11 00:08:18 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-17 14:35:01 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-30 13:31:20 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-08 02:37:49 -08:00
|
|
|
|
|
|
|
|
|
2006-12-08 02:37:53 -08:00
|
|
|
|
2006-12-08 02:37:49 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-08 02:37:53 -08:00
|
|
|
|
2006-12-08 02:37:49 -08:00
|
|
|
|
2006-03-26 01:39:33 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-05-19 15:35:32 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-11 23:06:36 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-15 23:40:05 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-17 00:01:36 -04:00
|
|
|
|
2008-05-14 23:49:44 -04:00
|
|
|
|
2008-07-25 01:46:11 -07:00
|
|
|
|
2008-02-09 10:46:40 +01:00
|
|
|
|
2008-07-23 21:27:08 -07:00
|
|
|
|
2008-07-25 01:45:33 -07:00
|
|
|
|
2008-02-02 15:10:35 -05:00
|
|
|
|
2008-07-23 11:30:15 -05:00
|
|
|
|
2008-03-04 14:28:37 -08:00
|
|
|
|
2008-07-27 16:53:20 +10:00
|
|
|
|
2008-02-13 16:56:49 -08:00
|
|
|
|
2008-07-16 02:20:11 +02:00
|
|
|
|
2008-06-26 11:22:13 +02:00
|
|
|
|
2008-05-14 23:49:44 -04:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-23 17:57:25 +11:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-02 17:03:11 -08:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-03-04 17:04:44 +11:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2006-01-10 21:43:56 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-01 16:26:07 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-10 21:43:56 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-09-12 03:04:40 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-12-08 03:30:41 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-03-20 05:18:02 +11:00
|
|
|
|
2007-05-23 09:51:46 -05:00
|
|
|
|
2007-03-20 05:18:02 +11:00
|
|
|
|
|
|
|
|
|
2006-01-16 10:53:22 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-01-17 16:31:40 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-08 02:12:39 +01:00
|
|
|
|
2007-05-03 22:31:38 +10:00
|
|
|
|
2007-12-08 02:12:39 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-03 22:31:38 +10:00
|
|
|
|
|
|
|
|
|
2007-12-08 02:14:00 +01:00
|
|
|
|
|
|
|
|
|
2007-10-09 12:37:13 -05:00
|
|
|
|
2007-12-08 02:14:00 +01:00
|
|
|
|
2006-11-11 17:24:53 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-11-11 17:25:08 +11:00
|
|
|
|
|
|
|
|
|
2007-12-21 15:37:07 +11:00
|
|
|
|
2006-11-11 17:25:08 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
[POWERPC] 4xx: PLB to PCI Express support
This adds to the previous 2 patches the support for the 4xx PCI Express
cells as found in the 440SPe revA, revB and 405EX.
Unfortunately, due to significant differences between these, and other
interesting "features" of those pieces of HW, the code isn't as simple
as it is for PCI and PCI-X and some of the functions differ significantly
between the 3 implementations. Thus, not only this code can only support
those 3 implementations for now and will refuse to operate on any other,
but there are added ifdef's to avoid the bloat of building a fairly large
amount of code on platforms that don't need it.
Also, this code currently only supports fully initializing root complex
nodes, not endpoint. Some more code will have to be lifted from the
arch/ppc implementation to add the endpoint support, though it's mostly
differences in memory mapping, and the question on how to represent
endpoint mode PCI in the device-tree is thus open.
Many thanks to Stefan Roese for testing & fixing up the 405EX bits !
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Stefan Roese <sr@denx.de>
Signed-off-by: Josh Boyer <jwboyer@linux.vnet.ibm.com>
2007-12-21 15:39:24 +11:00
|
|
|
|
2007-03-16 09:32:17 -05:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-21 13:26:03 +10:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-11-28 16:21:13 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
2007-01-26 00:23:34 -06:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-18 15:29:35 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2007-07-18 02:09:35 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-18 02:09:35 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2008-02-04 22:28:08 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-29 02:24:27 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-05 00:10:18 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-02-05 00:10:17 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
2007-05-12 10:58:43 +10:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-29 01:32:47 -04:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
2006-06-29 01:32:47 -04:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-14 13:48:25 -08:00
|
|
|
|
2008-06-27 03:02:15 +10:00
|
|
|
|
|
|
|
|
|
2006-01-14 13:48:25 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-03-22 10:50:50 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-10-28 17:46:58 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-04-10 22:53:53 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-29 19:20:55 +00:00
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2005-11-11 14:22:35 +11:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2005-11-29 19:20:55 +00:00
|
|
|
|
2007-10-16 01:24:17 -07:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2005-11-11 14:22:35 +11:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2007-02-13 11:46:06 +11:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2006-09-27 01:49:49 -07:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2006-09-27 01:49:49 -07:00
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2005-11-07 09:39:48 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-10-21 10:24:14 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-05-08 16:27:28 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-07 11:06:55 +11:00
|
|
|
|
|
|
|
|
|
2005-11-07 00:57:58 -08:00
|
|
|
|
2007-05-08 16:27:28 +10:00
|
|
|
|
2005-11-07 11:06:55 +11:00
|
|
|
|
|
|
|
|
|
2007-04-12 18:01:34 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-11-07 11:06:55 +11:00
|
|
|
|
2008-04-11 11:11:56 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[POWERPC] Provide a way to protect 4k subpages when using 64k pages
Using 64k pages on 64-bit PowerPC systems makes life difficult for
emulators that are trying to emulate an ISA, such as x86, which use a
smaller page size, since the emulator can no longer use the MMU and
the normal system calls for controlling page protections. Of course,
the emulator can emulate the MMU by checking and possibly remapping
the address for each memory access in software, but that is pretty
slow.
This provides a facility for such programs to control the access
permissions on individual 4k sub-pages of 64k pages. The idea is
that the emulator supplies an array of protection masks to apply to a
specified range of virtual addresses. These masks are applied at the
level where hardware PTEs are inserted into the hardware page table
based on the Linux PTEs, so the Linux PTEs are not affected. Note
that this new mechanism does not allow any access that would otherwise
be prohibited; it can only prohibit accesses that would otherwise be
allowed. This new facility is only available on 64-bit PowerPC and
only when the kernel is configured for 64k pages.
The masks are supplied using a new subpage_prot system call, which
takes a starting virtual address and length, and a pointer to an array
of protection masks in memory. The array has a 32-bit word per 64k
page to be protected; each 32-bit word consists of 16 2-bit fields,
for which 0 allows any access (that is otherwise allowed), 1 prevents
write accesses, and 2 or 3 prevent any access.
Implicit in this is that the regions of the address space that are
protected are switched to use 4k hardware pages rather than 64k
hardware pages (on machines with hardware 64k page support). In fact
the whole process is switched to use 4k hardware pages when the
subpage_prot system call is used, but this could be improved in future
to switch only the affected segments.
The subpage protection bits are stored in a 3 level tree akin to the
page table tree. The top level of this tree is stored in a structure
that is appended to the top level of the page table tree, i.e., the
pgd array. Since it will often only be 32-bit addresses (below 4GB)
that are protected, the pointers to the first four bottom level pages
are also stored in this structure (each bottom level page contains the
protection bits for 1GB of address space), so the protection bits for
addresses below 4GB can be accessed with one fewer loads than those
for higher addresses.
Signed-off-by: Paul Mackerras <paulus@samba.org>
2008-01-24 08:35:13 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-10-17 20:14:59 +10:00
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-10-17 20:14:59 +10:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-09 09:41:52 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2008-01-15 23:17:00 -05:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-12-21 15:37:07 +11:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-10-26 16:47:42 +10:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-02-10 01:43:14 -08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-10-26 16:36:55 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-14 16:57:39 -06:00
|
|
|
|
2005-10-26 16:36:55 +10:00
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-01-10 21:43:56 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-10 18:44:34 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-03-26 22:39:50 +11:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-11 21:03:40 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-05-23 20:38:54 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-06-26 11:07:56 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2008-06-26 11:07:56 -06:00
|
|
|
|
|
|
|
|
|
2006-08-09 10:37:28 -05:00
|
|
|
|
2007-06-13 14:52:54 +10:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
2007-05-08 12:58:34 +10:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-10 10:54:40 -06:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-10-26 16:47:42 +10:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-10-26 16:36:55 +10:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-01 20:36:04 -07:00
|
|
|
|
2007-09-14 15:41:56 -05:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-01 20:36:04 -07:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-06-07 16:05:46 -05:00
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-18 13:33:39 -07:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-22 04:22:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-22 04:22:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-22 04:22:34 +10:00
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
2008-04-22 04:22:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-10-11 13:40:21 -05:00
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-10-03 22:21:02 +02:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-07-16 11:28:18 -05:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2006-10-03 22:21:02 +02:00
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-30 16:16:52 +10:00
|
|
|
|
2008-04-22 04:22:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-30 16:16:52 +10:00
|
|
|
|
|
|
|
|
|
2008-04-22 04:22:34 +10:00
|
|
|
|
2005-09-30 17:24:15 +10:00
|
|
|
|
2008-04-22 04:22:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2005-09-30 16:16:52 +10:00
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
[POWERPC] Add QUICC Engine (QE) infrastructure
Add QUICC Engine (QE) configuration, header files, and
QE management and library code that are used by QE devices
drivers.
Includes Leo's modifications up to, and including, the
platform_device to of_device adaptation:
"The series of patches add generic QE infrastructure called
qe_lib, and MPC8360EMDS board support. Qe_lib is used by
QE device drivers such as ucc_geth driver.
This version updates QE interrupt controller to use new irq
mapping mechanism, addresses all the comments received with
last submission and includes some style fixes.
v2: Change to use device tree for BCSR and MURAM;
Remove I/O port interrupt handling code as it is not generic
enough.
v3: Address comments from Kumar; Update definition of several
device tree nodes; Copyright style change."
In addition, the following changes have been made:
o removed typedefs
o uint -> u32 conversions
o removed following defines:
QE_SIZEOF_BD, BD_BUFFER_ARG, BD_BUFFER_CLEAR, BD_BUFFER,
BD_STATUS_AND_LENGTH_SET, BD_STATUS_AND_LENGTH, and BD_BUFFER_SET
because they hid sizeof/in_be32/out_be32 operations from the reader.
o fixed qe_snums_init() serial num assignment to use a const array
o made CONFIG_UCC_FAST select UCC_SLOW
o reduced NR_QE_IC_INTS from 128 to 64
o remove _IO_BASE, etc. defines (not used)
o removed irrelevant comments, added others to resemble removed BD_ defines
o realigned struct definitions in headers
o various other style fixes including things like pinMask -> pin_mask
o fixed a ton of whitespace issues
o marked ioregs as __be32/__be16
o removed platform_device code and redundant get_qe_base()
o removed redundant comments
o added cpu_relax() to qe_reset
o uncasted all get_property() assignments
o eliminated unneeded casts
o eliminated immrbar_phys_to_virt (not used)
Signed-off-by: Li Yang <leoli@freescale.com>
Signed-off-by: Shlomi Gridish <gridish@freescale.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
2006-10-03 23:10:46 -05:00
|
|
|
|
|
|
|
|
|
2005-09-26 16:04:21 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2007-09-21 00:00:11 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-07-23 21:26:48 -07:00
|
|
|
|
2007-09-16 20:53:25 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2008-04-16 23:28:09 -05:00
|
|
|
|