Merge ../linux-2.6
This commit is contained in:
		
						commit
						f0cd91a68a
					
				
							
								
								
									
										19
									
								
								CREDITS
									
									
									
									
									
								
							
							
						
						
									
										19
									
								
								CREDITS
									
									
									
									
									
								
							| @ -1194,15 +1194,9 @@ S: Brecksville, OH  44141-1334 | ||||
| S: USA | ||||
| 
 | ||||
| N: Tristan Greaves | ||||
| E: Tristan.Greaves@icl.com | ||||
| E: tmg296@ecs.soton.ac.uk | ||||
| W: http://www.ecs.soton.ac.uk/~tmg296 | ||||
| E: tristan@extricate.org | ||||
| W: http://www.extricate.org/ | ||||
| D: Miscellaneous ipv4 sysctl patches | ||||
| S: 15 Little Mead | ||||
| S: Denmead | ||||
| S: Hampshire | ||||
| S: PO7 6HS | ||||
| S: United Kingdom | ||||
| 
 | ||||
| N: Michael A. Griffith | ||||
| E: grif@cs.ucr.edu | ||||
| @ -3247,14 +3241,9 @@ S: 12725 SW Millikan Way, Suite 400 | ||||
| S: Beaverton, Oregon 97005 | ||||
| S: USA | ||||
| 
 | ||||
| N: Marcelo W. Tosatti | ||||
| E: marcelo.tosatti@cyclades.com | ||||
| D: Miscellaneous kernel hacker | ||||
| N: Marcelo Tosatti | ||||
| E: marcelo@kvack.org | ||||
| D: v2.4 kernel maintainer | ||||
| D: Current pc300/cyclades maintainer | ||||
| S: Cyclades Corporation | ||||
| S: Av Cristovao Colombo, 462. Floresta. | ||||
| S: Porto Alegre | ||||
| S: Brazil | ||||
| 
 | ||||
| N: Stefan Traby | ||||
|  | ||||
| @ -33,7 +33,9 @@ pci_alloc_consistent(struct pci_dev *dev, size_t size, | ||||
| 
 | ||||
| Consistent memory is memory for which a write by either the device or | ||||
| the processor can immediately be read by the processor or device | ||||
| without having to worry about caching effects. | ||||
| without having to worry about caching effects.  (You may however need | ||||
| to make sure to flush the processor's write buffers before telling | ||||
| devices to read that memory.) | ||||
| 
 | ||||
| This routine allocates a region of <size> bytes of consistent memory. | ||||
| it also returns a <dma_handle> which may be cast to an unsigned | ||||
| @ -304,12 +306,12 @@ dma address with dma_mapping_error(). A non zero return value means the mapping | ||||
| could not be created and the driver should take appropriate action (eg | ||||
| reduce current DMA mapping usage or delay and try again later). | ||||
| 
 | ||||
| int | ||||
| dma_map_sg(struct device *dev, struct scatterlist *sg, int nents, | ||||
| 	   enum dma_data_direction direction) | ||||
| int | ||||
| pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, | ||||
| 	   int nents, int direction) | ||||
| 	int | ||||
| 	dma_map_sg(struct device *dev, struct scatterlist *sg, | ||||
| 		int nents, enum dma_data_direction direction) | ||||
| 	int | ||||
| 	pci_map_sg(struct pci_dev *hwdev, struct scatterlist *sg, | ||||
| 		int nents, int direction) | ||||
| 
 | ||||
| Maps a scatter gather list from the block layer. | ||||
| 
 | ||||
| @ -327,12 +329,33 @@ critical that the driver do something, in the case of a block driver | ||||
| aborting the request or even oopsing is better than doing nothing and | ||||
| corrupting the filesystem. | ||||
| 
 | ||||
| void | ||||
| dma_unmap_sg(struct device *dev, struct scatterlist *sg, int nhwentries, | ||||
| 	     enum dma_data_direction direction) | ||||
| void | ||||
| pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg, | ||||
| 	     int nents, int direction) | ||||
| With scatterlists, you use the resulting mapping like this: | ||||
| 
 | ||||
| 	int i, count = dma_map_sg(dev, sglist, nents, direction); | ||||
| 	struct scatterlist *sg; | ||||
| 
 | ||||
| 	for (i = 0, sg = sglist; i < count; i++, sg++) { | ||||
| 		hw_address[i] = sg_dma_address(sg); | ||||
| 		hw_len[i] = sg_dma_len(sg); | ||||
| 	} | ||||
| 
 | ||||
| where nents is the number of entries in the sglist. | ||||
| 
 | ||||
| The implementation is free to merge several consecutive sglist entries | ||||
| into one (e.g. with an IOMMU, or if several pages just happen to be | ||||
| physically contiguous) and returns the actual number of sg entries it | ||||
| mapped them to. On failure 0, is returned. | ||||
| 
 | ||||
| Then you should loop count times (note: this can be less than nents times) | ||||
| and use sg_dma_address() and sg_dma_len() macros where you previously | ||||
| accessed sg->address and sg->length as shown above. | ||||
| 
 | ||||
| 	void | ||||
| 	dma_unmap_sg(struct device *dev, struct scatterlist *sg, | ||||
| 		int nhwentries, enum dma_data_direction direction) | ||||
| 	void | ||||
| 	pci_unmap_sg(struct pci_dev *hwdev, struct scatterlist *sg, | ||||
| 		int nents, int direction) | ||||
| 
 | ||||
| unmap the previously mapped scatter/gather list.  All the parameters | ||||
| must be the same as those and passed in to the scatter/gather mapping | ||||
|  | ||||
| @ -58,11 +58,15 @@ translating each of those pages back to a kernel address using | ||||
| something like __va().  [ EDIT: Update this when we integrate | ||||
| Gerd Knorr's generic code which does this. ] | ||||
| 
 | ||||
| This rule also means that you may not use kernel image addresses | ||||
| (ie. items in the kernel's data/text/bss segment, or your driver's) | ||||
| nor may you use kernel stack addresses for DMA.  Both of these items | ||||
| might be mapped somewhere entirely different than the rest of physical | ||||
| memory. | ||||
| This rule also means that you may use neither kernel image addresses | ||||
| (items in data/text/bss segments), nor module image addresses, nor | ||||
| stack addresses for DMA.  These could all be mapped somewhere entirely | ||||
| different than the rest of physical memory.  Even if those classes of | ||||
| memory could physically work with DMA, you'd need to ensure the I/O | ||||
| buffers were cacheline-aligned.  Without that, you'd see cacheline | ||||
| sharing problems (data corruption) on CPUs with DMA-incoherent caches. | ||||
| (The CPU could write to one word, DMA would write to a different one | ||||
| in the same cache line, and one of them could be overwritten.) | ||||
| 
 | ||||
| Also, this means that you cannot take the return of a kmap() | ||||
| call and DMA to/from that.  This is similar to vmalloc(). | ||||
| @ -284,6 +288,11 @@ There are two types of DMA mappings: | ||||
| 
 | ||||
|              in order to get correct behavior on all platforms. | ||||
| 
 | ||||
| 	     Also, on some platforms your driver may need to flush CPU write | ||||
| 	     buffers in much the same way as it needs to flush write buffers | ||||
| 	     found in PCI bridges (such as by reading a register's value | ||||
| 	     after writing it). | ||||
| 
 | ||||
| - Streaming DMA mappings which are usually mapped for one DMA transfer, | ||||
|   unmapped right after it (unless you use pci_dma_sync_* below) and for which | ||||
|   hardware can optimize for sequential accesses. | ||||
| @ -303,6 +312,9 @@ There are two types of DMA mappings: | ||||
| 
 | ||||
| Neither type of DMA mapping has alignment restrictions that come | ||||
| from PCI, although some devices may have such restrictions. | ||||
| Also, systems with caches that aren't DMA-coherent will work better | ||||
| when the underlying buffers don't share cache lines with other data. | ||||
| 
 | ||||
| 
 | ||||
| 		 Using Consistent DMA mappings. | ||||
| 
 | ||||
|  | ||||
| @ -603,7 +603,8 @@ start exactly where you are now. | ||||
| 
 | ||||
| 
 | ||||
| ---------- | ||||
| Thanks to Paolo Ciarrocchi who allowed the "Development Process" section | ||||
| Thanks to Paolo Ciarrocchi who allowed the "Development Process" | ||||
| (http://linux.tar.bz/articles/2.6-development_process) section | ||||
| to be based on text he had written, and to Randy Dunlap and Gerrit | ||||
| Huizenga for some of the list of things you should and should not say. | ||||
| Also thanks to Pat Mochel, Hanna Linder, Randy Dunlap, Kay Sievers, | ||||
|  | ||||
							
								
								
									
										22
									
								
								Documentation/block/switching-sched.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								Documentation/block/switching-sched.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,22 @@ | ||||
| As of the Linux 2.6.10 kernel, it is now possible to change the | ||||
| IO scheduler for a given block device on the fly (thus making it possible, | ||||
| for instance, to set the CFQ scheduler for the system default, but | ||||
| set a specific device to use the anticipatory or noop schedulers - which | ||||
| can improve that device's throughput). | ||||
| 
 | ||||
| To set a specific scheduler, simply do this: | ||||
| 
 | ||||
| echo SCHEDNAME > /sys/block/DEV/queue/scheduler | ||||
| 
 | ||||
| where SCHEDNAME is the name of a defined IO scheduler, and DEV is the | ||||
| device name (hda, hdb, sga, or whatever you happen to have). | ||||
| 
 | ||||
| The list of defined schedulers can be found by simply doing | ||||
| a "cat /sys/block/DEV/queue/scheduler" - the list of valid names | ||||
| will be displayed, with the currently selected scheduler in brackets: | ||||
| 
 | ||||
| # cat /sys/block/hda/queue/scheduler | ||||
| noop anticipatory deadline [cfq] | ||||
| # echo anticipatory > /sys/block/hda/queue/scheduler | ||||
| # cat /sys/block/hda/queue/scheduler | ||||
| noop [anticipatory] deadline cfq | ||||
| @ -53,4 +53,4 @@ the CPUFreq Mailing list: | ||||
| * http://lists.linux.org.uk/mailman/listinfo/cpufreq | ||||
| 
 | ||||
| Clock and voltage scaling for the SA-1100: | ||||
| * http://www.lart.tudelft.nl/projects/scaling | ||||
| * http://www.lartmaker.nl/projects/scaling | ||||
|  | ||||
| @ -1721,11 +1721,6 @@ Your cooperation is appreciated. | ||||
| 		These devices support the same API as the generic SCSI | ||||
| 		devices. | ||||
| 
 | ||||
|  97 block	Packet writing for CD/DVD devices | ||||
| 		  0 = /dev/pktcdvd0	First packet-writing module | ||||
| 		  1 = /dev/pktcdvd1	Second packet-writing module | ||||
| 		    ... | ||||
| 
 | ||||
|  98 char	Control and Measurement Device (comedi) | ||||
| 		  0 = /dev/comedi0	First comedi device | ||||
| 		  1 = /dev/comedi1	Second comedi device | ||||
|  | ||||
| @ -259,9 +259,9 @@ sub dibusb { | ||||
| } | ||||
| 
 | ||||
| sub nxt2002 { | ||||
|     my $sourcefile = "Broadband4PC_4_2_11.zip"; | ||||
|     my $sourcefile = "Technisat_DVB-PC_4_4_COMPACT.zip"; | ||||
|     my $url = "http://www.bbti.us/download/windows/$sourcefile"; | ||||
|     my $hash = "c6d2ea47a8f456d887ada0cfb718ff2a"; | ||||
|     my $hash = "476befae8c7c1bb9648954060b1eec1f"; | ||||
|     my $outfile = "dvb-fe-nxt2002.fw"; | ||||
|     my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1); | ||||
| 
 | ||||
| @ -269,8 +269,8 @@ sub nxt2002 { | ||||
| 
 | ||||
|     wgetfile($sourcefile, $url); | ||||
|     unzip($sourcefile, $tmpdir); | ||||
|     verify("$tmpdir/SkyNETU.sys", $hash); | ||||
|     extract("$tmpdir/SkyNETU.sys", 375832, 5908, $outfile); | ||||
|     verify("$tmpdir/SkyNET.sys", $hash); | ||||
|     extract("$tmpdir/SkyNET.sys", 331624, 5908, $outfile); | ||||
| 
 | ||||
|     $outfile; | ||||
| } | ||||
|  | ||||
| @ -25,8 +25,9 @@ Who:	Adrian Bunk <bunk@stusta.de> | ||||
| 
 | ||||
| --------------------------- | ||||
| 
 | ||||
| What:	drivers depending on OBSOLETE_OSS_DRIVER | ||||
| When:	January 2006 | ||||
| What:	drivers that were depending on OBSOLETE_OSS_DRIVER | ||||
|         (config options already removed) | ||||
| When:	before 2.6.19 | ||||
| Why:	OSS drivers with ALSA replacements | ||||
| Who:	Adrian Bunk <bunk@stusta.de> | ||||
| 
 | ||||
| @ -56,6 +57,15 @@ Who:	Jody McIntyre <scjody@steamballoon.com> | ||||
| 
 | ||||
| --------------------------- | ||||
| 
 | ||||
| What:	sbp2: module parameter "force_inquiry_hack" | ||||
| When:	July 2006 | ||||
| Why:	Superceded by parameter "workarounds". Both parameters are meant to be | ||||
| 	used ad-hoc and for single devices only, i.e. not in modprobe.conf, | ||||
| 	therefore the impact of this feature replacement should be low. | ||||
| Who:	Stefan Richter <stefanr@s5r6.in-berlin.de> | ||||
| 
 | ||||
| --------------------------- | ||||
| 
 | ||||
| What:	Video4Linux API 1 ioctls and video_decoder.h from Video devices. | ||||
| When:	July 2006 | ||||
| Why:	V4L1 AP1 was replaced by V4L2 API. during migration from 2.4 to 2.6 | ||||
|  | ||||
| @ -246,6 +246,7 @@ class/ | ||||
| devices/ | ||||
| firmware/ | ||||
| net/ | ||||
| fs/ | ||||
| 
 | ||||
| devices/ contains a filesystem representation of the device tree. It maps | ||||
| directly to the internal kernel device tree, which is a hierarchy of | ||||
| @ -264,6 +265,10 @@ drivers/ contains a directory for each device driver that is loaded | ||||
| for devices on that particular bus (this assumes that drivers do not | ||||
| span multiple bus types). | ||||
| 
 | ||||
| fs/ contains a directory for some filesystems.  Currently each | ||||
| filesystem wanting to export attributes must create its own hierarchy | ||||
| below fs/ (see ./fuse.txt for an example). | ||||
| 
 | ||||
| 
 | ||||
| More information can driver-model specific features can be found in | ||||
| Documentation/driver-model/.  | ||||
|  | ||||
| @ -105,20 +105,3 @@ | ||||
|    on the setup, so I think that the choice on what firmware to make | ||||
|    persistent should be left to userspace. | ||||
| 
 | ||||
|  - Why register_firmware()+__init can be useful: | ||||
|  	- For boot devices needing firmware. | ||||
| 	- To make the transition easier: | ||||
| 		The firmware can be declared __init and register_firmware() | ||||
| 		called on module_init. Then the firmware is warranted to be | ||||
| 		there even if "firmware hotplug userspace" is not there yet or | ||||
| 		it doesn't yet provide the needed firmware. | ||||
| 		Once the firmware is widely available in userspace, it can be | ||||
| 		removed from the kernel. Or made optional (CONFIG_.*_FIRMWARE). | ||||
| 
 | ||||
| 	In either case, if firmware hotplug support is there, it can move the | ||||
| 	firmware out of kernel memory into the real filesystem for later | ||||
| 	usage. | ||||
| 
 | ||||
| 	Note: If persistence is implemented on top of initramfs, | ||||
| 	register_firmware() may not be appropriate. | ||||
| 
 | ||||
|  | ||||
| @ -5,8 +5,6 @@ | ||||
|  * | ||||
|  * Sample code on how to use request_firmware() from drivers. | ||||
|  * | ||||
|  * Note that register_firmware() is currently useless. | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| #include <linux/module.h> | ||||
| @ -17,11 +15,6 @@ | ||||
| 
 | ||||
| #include "linux/firmware.h" | ||||
| 
 | ||||
| #define WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE | ||||
| #ifdef WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE | ||||
| char __init inkernel_firmware[] = "let's say that this is firmware\n"; | ||||
| #endif | ||||
| 
 | ||||
| static struct device ghost_device = { | ||||
| 	.bus_id    = "ghost0", | ||||
| }; | ||||
| @ -104,10 +97,6 @@ static void sample_probe_async(void) | ||||
| 
 | ||||
| static int sample_init(void) | ||||
| { | ||||
| #ifdef WE_CAN_NEED_FIRMWARE_BEFORE_USERSPACE_IS_AVAILABLE | ||||
| 	register_firmware("sample_driver_fw", inkernel_firmware, | ||||
| 			  sizeof(inkernel_firmware)); | ||||
| #endif | ||||
| 	device_initialize(&ghost_device); | ||||
| 	/* since there is no real hardware insertion I just call the
 | ||||
| 	 * sample probe functions here */ | ||||
|  | ||||
| @ -12,18 +12,22 @@ meant as a replacement for the older, individual drivers: | ||||
|                       teletext adapters) | ||||
| 
 | ||||
| It currently supports the following devices: | ||||
|  * Philips adapter | ||||
|  * home brew teletext adapter | ||||
|  * Velleman K8000 adapter | ||||
|  * ELV adapter | ||||
|  * Analog Devices evaluation boards (ADM1025, ADM1030, ADM1031, ADM1032) | ||||
|  * Barco LPT->DVI (K5800236) adapter | ||||
|  * (type=0) Philips adapter | ||||
|  * (type=1) home brew teletext adapter | ||||
|  * (type=2) Velleman K8000 adapter | ||||
|  * (type=3) ELV adapter | ||||
|  * (type=4) Analog Devices ADM1032 evaluation board | ||||
|  * (type=5) Analog Devices evaluation boards: ADM1025, ADM1030, ADM1031 | ||||
|  * (type=6) Barco LPT->DVI (K5800236) adapter | ||||
| 
 | ||||
| These devices use different pinout configurations, so you have to tell | ||||
| the driver what you have, using the type module parameter. There is no | ||||
| way to autodetect the devices. Support for different pinout configurations | ||||
| can be easily added when needed. | ||||
| 
 | ||||
| Earlier kernels defaulted to type=0 (Philips).  But now, if the type | ||||
| parameter is missing, the driver will simply fail to initialize. | ||||
| 
 | ||||
| 
 | ||||
| Building your own adapter | ||||
| ------------------------- | ||||
|  | ||||
| @ -1031,7 +1031,7 @@ conflict on any particular lock. | ||||
| LOCKS VS MEMORY ACCESSES | ||||
| ------------------------ | ||||
| 
 | ||||
| Consider the following: the system has a pair of spinlocks (N) and (Q), and | ||||
| Consider the following: the system has a pair of spinlocks (M) and (Q), and | ||||
| three CPUs; then should the following sequence of events occur: | ||||
| 
 | ||||
| 	CPU 1				CPU 2 | ||||
| @ -1678,7 +1678,7 @@ CPU's caches by some other cache event: | ||||
| 	smp_wmb(); | ||||
| 	<A:modify v=2>	<C:busy> | ||||
| 			<C:queue v=2> | ||||
| 	p = &b;		q = p; | ||||
| 	p = &v;		q = p; | ||||
| 			<D:request p> | ||||
| 	<B:modify p=&v>	<D:commit p=&v> | ||||
| 		  	<D:read p> | ||||
|  | ||||
							
								
								
									
										161
									
								
								Documentation/networking/operstates.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										161
									
								
								Documentation/networking/operstates.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,161 @@ | ||||
| 
 | ||||
| 1. Introduction | ||||
| 
 | ||||
| Linux distinguishes between administrative and operational state of an | ||||
| interface. Admininstrative state is the result of "ip link set dev | ||||
| <dev> up or down" and reflects whether the administrator wants to use | ||||
| the device for traffic. | ||||
| 
 | ||||
| However, an interface is not usable just because the admin enabled it | ||||
| - ethernet requires to be plugged into the switch and, depending on | ||||
| a site's networking policy and configuration, an 802.1X authentication | ||||
| to be performed before user data can be transferred. Operational state | ||||
| shows the ability of an interface to transmit this user data. | ||||
| 
 | ||||
| Thanks to 802.1X, userspace must be granted the possibility to | ||||
| influence operational state. To accommodate this, operational state is | ||||
| split into two parts: Two flags that can be set by the driver only, and | ||||
| a RFC2863 compatible state that is derived from these flags, a policy, | ||||
| and changeable from userspace under certain rules. | ||||
| 
 | ||||
| 
 | ||||
| 2. Querying from userspace | ||||
| 
 | ||||
| Both admin and operational state can be queried via the netlink | ||||
| operation RTM_GETLINK. It is also possible to subscribe to RTMGRP_LINK | ||||
| to be notified of updates. This is important for setting from userspace. | ||||
| 
 | ||||
| These values contain interface state: | ||||
| 
 | ||||
| ifinfomsg::if_flags & IFF_UP: | ||||
|  Interface is admin up | ||||
| ifinfomsg::if_flags & IFF_RUNNING: | ||||
|  Interface is in RFC2863 operational state UP or UNKNOWN. This is for | ||||
|  backward compatibility, routing daemons, dhcp clients can use this | ||||
|  flag to determine whether they should use the interface. | ||||
| ifinfomsg::if_flags & IFF_LOWER_UP: | ||||
|  Driver has signaled netif_carrier_on() | ||||
| ifinfomsg::if_flags & IFF_DORMANT: | ||||
|  Driver has signaled netif_dormant_on() | ||||
| 
 | ||||
| These interface flags can also be queried without netlink using the | ||||
| SIOCGIFFLAGS ioctl. | ||||
| 
 | ||||
| TLV IFLA_OPERSTATE | ||||
| 
 | ||||
| contains RFC2863 state of the interface in numeric representation: | ||||
| 
 | ||||
| IF_OPER_UNKNOWN (0): | ||||
|  Interface is in unknown state, neither driver nor userspace has set | ||||
|  operational state. Interface must be considered for user data as | ||||
|  setting operational state has not been implemented in every driver. | ||||
| IF_OPER_NOTPRESENT (1): | ||||
|  Unused in current kernel (notpresent interfaces normally disappear), | ||||
|  just a numerical placeholder. | ||||
| IF_OPER_DOWN (2): | ||||
|  Interface is unable to transfer data on L1, f.e. ethernet is not | ||||
|  plugged or interface is ADMIN down. | ||||
| IF_OPER_LOWERLAYERDOWN (3): | ||||
|  Interfaces stacked on an interface that is IF_OPER_DOWN show this | ||||
|  state (f.e. VLAN). | ||||
| IF_OPER_TESTING (4): | ||||
|  Unused in current kernel. | ||||
| IF_OPER_DORMANT (5): | ||||
|  Interface is L1 up, but waiting for an external event, f.e. for a | ||||
|  protocol to establish. (802.1X) | ||||
| IF_OPER_UP (6): | ||||
|  Interface is operational up and can be used. | ||||
| 
 | ||||
| This TLV can also be queried via sysfs. | ||||
| 
 | ||||
| TLV IFLA_LINKMODE | ||||
| 
 | ||||
| contains link policy. This is needed for userspace interaction | ||||
| described below. | ||||
| 
 | ||||
| This TLV can also be queried via sysfs. | ||||
| 
 | ||||
| 
 | ||||
| 3. Kernel driver API | ||||
| 
 | ||||
| Kernel drivers have access to two flags that map to IFF_LOWER_UP and | ||||
| IFF_DORMANT. These flags can be set from everywhere, even from | ||||
| interrupts. It is guaranteed that only the driver has write access, | ||||
| however, if different layers of the driver manipulate the same flag, | ||||
| the driver has to provide the synchronisation needed. | ||||
| 
 | ||||
| __LINK_STATE_NOCARRIER, maps to !IFF_LOWER_UP: | ||||
| 
 | ||||
| The driver uses netif_carrier_on() to clear and netif_carrier_off() to | ||||
| set this flag. On netif_carrier_off(), the scheduler stops sending | ||||
| packets. The name 'carrier' and the inversion are historical, think of | ||||
| it as lower layer. | ||||
| 
 | ||||
| netif_carrier_ok() can be used to query that bit. | ||||
| 
 | ||||
| __LINK_STATE_DORMANT, maps to IFF_DORMANT: | ||||
| 
 | ||||
| Set by the driver to express that the device cannot yet be used | ||||
| because some driver controlled protocol establishment has to | ||||
| complete. Corresponding functions are netif_dormant_on() to set the | ||||
| flag, netif_dormant_off() to clear it and netif_dormant() to query. | ||||
| 
 | ||||
| On device allocation, networking core sets the flags equivalent to | ||||
| netif_carrier_ok() and !netif_dormant(). | ||||
| 
 | ||||
| 
 | ||||
| Whenever the driver CHANGES one of these flags, a workqueue event is | ||||
| scheduled to translate the flag combination to IFLA_OPERSTATE as | ||||
| follows: | ||||
| 
 | ||||
| !netif_carrier_ok(): | ||||
|  IF_OPER_LOWERLAYERDOWN if the interface is stacked, IF_OPER_DOWN | ||||
|  otherwise. Kernel can recognise stacked interfaces because their | ||||
|  ifindex != iflink. | ||||
| 
 | ||||
| netif_carrier_ok() && netif_dormant(): | ||||
|  IF_OPER_DORMANT | ||||
| 
 | ||||
| netif_carrier_ok() && !netif_dormant(): | ||||
|  IF_OPER_UP if userspace interaction is disabled. Otherwise | ||||
|  IF_OPER_DORMANT with the possibility for userspace to initiate the | ||||
|  IF_OPER_UP transition afterwards. | ||||
| 
 | ||||
| 
 | ||||
| 4. Setting from userspace | ||||
| 
 | ||||
| Applications have to use the netlink interface to influence the | ||||
| RFC2863 operational state of an interface. Setting IFLA_LINKMODE to 1 | ||||
| via RTM_SETLINK instructs the kernel that an interface should go to | ||||
| IF_OPER_DORMANT instead of IF_OPER_UP when the combination | ||||
| netif_carrier_ok() && !netif_dormant() is set by the | ||||
| driver. Afterwards, the userspace application can set IFLA_OPERSTATE | ||||
| to IF_OPER_DORMANT or IF_OPER_UP as long as the driver does not set | ||||
| netif_carrier_off() or netif_dormant_on(). Changes made by userspace | ||||
| are multicasted on the netlink group RTMGRP_LINK. | ||||
| 
 | ||||
| So basically a 802.1X supplicant interacts with the kernel like this: | ||||
| 
 | ||||
| -subscribe to RTMGRP_LINK | ||||
| -set IFLA_LINKMODE to 1 via RTM_SETLINK | ||||
| -query RTM_GETLINK once to get initial state | ||||
| -if initial flags are not (IFF_LOWER_UP && !IFF_DORMANT), wait until | ||||
|  netlink multicast signals this state | ||||
| -do 802.1X, eventually abort if flags go down again | ||||
| -send RTM_SETLINK to set operstate to IF_OPER_UP if authentication | ||||
|  succeeds, IF_OPER_DORMANT otherwise | ||||
| -see how operstate and IFF_RUNNING is echoed via netlink multicast | ||||
| -set interface back to IF_OPER_DORMANT if 802.1X reauthentication | ||||
|  fails | ||||
| -restart if kernel changes IFF_LOWER_UP or IFF_DORMANT flag | ||||
| 
 | ||||
| if supplicant goes down, bring back IFLA_LINKMODE to 0 and | ||||
| IFLA_OPERSTATE to a sane value. | ||||
| 
 | ||||
| A routing daemon or dhcp client just needs to care for IFF_RUNNING or | ||||
| waiting for operstate to go IF_OPER_UP/IF_OPER_UNKNOWN before | ||||
| considering the interface / querying a DHCP address. | ||||
| 
 | ||||
| 
 | ||||
| For technical questions and/or comments please e-mail to Stefan Rompf | ||||
| (stefan at loplof.de). | ||||
							
								
								
									
										166
									
								
								Documentation/networking/xfrm_sync.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										166
									
								
								Documentation/networking/xfrm_sync.txt
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,166 @@ | ||||
| 
 | ||||
| The sync patches work is based on initial patches from | ||||
| Krisztian <hidden@balabit.hu> and others and additional patches | ||||
| from Jamal <hadi@cyberus.ca>. | ||||
| 
 | ||||
| The end goal for syncing is to be able to insert attributes + generate | ||||
| events so that the an SA can be safely moved from one machine to another | ||||
| for HA purposes. | ||||
| The idea is to synchronize the SA so that the takeover machine can do | ||||
| the processing of the SA as accurate as possible if it has access to it. | ||||
| 
 | ||||
| We already have the ability to generate SA add/del/upd events. | ||||
| These patches add ability to sync and have accurate lifetime byte (to | ||||
| ensure proper decay of SAs) and replay counters to avoid replay attacks | ||||
| with as minimal loss at failover time. | ||||
| This way a backup stays as closely uptodate as an active member. | ||||
| 
 | ||||
| Because the above items change for every packet the SA receives, | ||||
| it is possible for a lot of the events to be generated. | ||||
| For this reason, we also add a nagle-like algorithm to restrict | ||||
| the events. i.e we are going to set thresholds to say "let me | ||||
| know if the replay sequence threshold is reached or 10 secs have passed" | ||||
| These thresholds are set system-wide via sysctls or can be updated | ||||
| per SA. | ||||
| 
 | ||||
| The identified items that need to be synchronized are: | ||||
| - the lifetime byte counter | ||||
| note that: lifetime time limit is not important if you assume the failover | ||||
| machine is known ahead of time since the decay of the time countdown | ||||
| is not driven by packet arrival. | ||||
| - the replay sequence for both inbound and outbound | ||||
| 
 | ||||
| 1) Message Structure | ||||
| ---------------------- | ||||
| 
 | ||||
| nlmsghdr:aevent_id:optional-TLVs. | ||||
| 
 | ||||
| The netlink message types are: | ||||
| 
 | ||||
| XFRM_MSG_NEWAE and XFRM_MSG_GETAE. | ||||
| 
 | ||||
| A XFRM_MSG_GETAE does not have TLVs. | ||||
| A XFRM_MSG_NEWAE will have at least two TLVs (as is | ||||
| discussed further below). | ||||
| 
 | ||||
| aevent_id structure looks like: | ||||
| 
 | ||||
|    struct xfrm_aevent_id { | ||||
|              struct xfrm_usersa_id           sa_id; | ||||
|              __u32                           flags; | ||||
|    }; | ||||
| 
 | ||||
| xfrm_usersa_id in this message layout identifies the SA. | ||||
| 
 | ||||
| flags are used to indicate different things. The possible | ||||
| flags are: | ||||
|         XFRM_AE_RTHR=1, /* replay threshold*/ | ||||
|         XFRM_AE_RVAL=2, /* replay value */ | ||||
|         XFRM_AE_LVAL=4, /* lifetime value */ | ||||
|         XFRM_AE_ETHR=8, /* expiry timer threshold */ | ||||
|         XFRM_AE_CR=16, /* Event cause is replay update */ | ||||
|         XFRM_AE_CE=32, /* Event cause is timer expiry */ | ||||
|         XFRM_AE_CU=64, /* Event cause is policy update */ | ||||
| 
 | ||||
| How these flags are used is dependent on the direction of the | ||||
| message (kernel<->user) as well the cause (config, query or event). | ||||
| This is described below in the different messages. | ||||
| 
 | ||||
| The pid will be set appropriately in netlink to recognize direction | ||||
| (0 to the kernel and pid = processid that created the event | ||||
| when going from kernel to user space) | ||||
| 
 | ||||
| A program needs to subscribe to multicast group XFRMNLGRP_AEVENTS | ||||
| to get notified of these events. | ||||
| 
 | ||||
| 2) TLVS reflect the different parameters: | ||||
| ----------------------------------------- | ||||
| 
 | ||||
| a) byte value (XFRMA_LTIME_VAL) | ||||
| This TLV carries the running/current counter for byte lifetime since | ||||
| last event. | ||||
| 
 | ||||
| b)replay value (XFRMA_REPLAY_VAL) | ||||
| This TLV carries the running/current counter for replay sequence since | ||||
| last event. | ||||
| 
 | ||||
| c)replay threshold (XFRMA_REPLAY_THRESH) | ||||
| This TLV carries the threshold being used by the kernel to trigger events | ||||
| when the replay sequence is exceeded. | ||||
| 
 | ||||
| d) expiry timer (XFRMA_ETIMER_THRESH) | ||||
| This is a timer value in milliseconds which is used as the nagle | ||||
| value to rate limit the events. | ||||
| 
 | ||||
| 3) Default configurations for the parameters: | ||||
| ---------------------------------------------- | ||||
| 
 | ||||
| By default these events should be turned off unless there is | ||||
| at least one listener registered to listen to the multicast | ||||
| group XFRMNLGRP_AEVENTS. | ||||
| 
 | ||||
| Programs installing SAs will need to specify the two thresholds, however, | ||||
| in order to not change existing applications such as racoon | ||||
| we also provide default threshold values for these different parameters | ||||
| in case they are not specified. | ||||
| 
 | ||||
| the two sysctls/proc entries are: | ||||
| a) /proc/sys/net/core/sysctl_xfrm_aevent_etime | ||||
| used to provide default values for the XFRMA_ETIMER_THRESH in incremental | ||||
| units of time of 100ms. The default is 10 (1 second) | ||||
| 
 | ||||
| b) /proc/sys/net/core/sysctl_xfrm_aevent_rseqth | ||||
| used to provide default values for XFRMA_REPLAY_THRESH parameter | ||||
| in incremental packet count. The default is two packets. | ||||
| 
 | ||||
| 4) Message types | ||||
| ---------------- | ||||
| 
 | ||||
| a) XFRM_MSG_GETAE issued by user-->kernel. | ||||
| XFRM_MSG_GETAE does not carry any TLVs. | ||||
| The response is a XFRM_MSG_NEWAE which is formatted based on what | ||||
| XFRM_MSG_GETAE queried for. | ||||
| The response will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs. | ||||
| *if XFRM_AE_RTHR flag is set, then XFRMA_REPLAY_THRESH is also retrieved | ||||
| *if XFRM_AE_ETHR flag is set, then XFRMA_ETIMER_THRESH is also retrieved | ||||
| 
 | ||||
| b) XFRM_MSG_NEWAE is issued by either user space to configure | ||||
| or kernel to announce events or respond to a XFRM_MSG_GETAE. | ||||
| 
 | ||||
| i) user --> kernel to configure a specific SA. | ||||
| any of the values or threshold parameters can be updated by passing the | ||||
| appropriate TLV. | ||||
| A response is issued back to the sender in user space to indicate success | ||||
| or failure. | ||||
| In the case of success, additionally an event with | ||||
| XFRM_MSG_NEWAE is also issued to any listeners as described in iii). | ||||
| 
 | ||||
| ii) kernel->user direction as a response to XFRM_MSG_GETAE | ||||
| The response will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs. | ||||
| The threshold TLVs will be included if explicitly requested in | ||||
| the XFRM_MSG_GETAE message. | ||||
| 
 | ||||
| iii) kernel->user to report as event if someone sets any values or | ||||
| thresholds for an SA using XFRM_MSG_NEWAE (as described in #i above). | ||||
| In such a case XFRM_AE_CU flag is set to inform the user that | ||||
| the change happened as a result of an update. | ||||
| The message will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs. | ||||
| 
 | ||||
| iv) kernel->user to report event when replay threshold or a timeout | ||||
| is exceeded. | ||||
| In such a case either XFRM_AE_CR (replay exceeded) or XFRM_AE_CE (timeout | ||||
| happened) is set to inform the user what happened. | ||||
| Note the two flags are mutually exclusive. | ||||
| The message will always have XFRMA_LTIME_VAL and XFRMA_REPLAY_VAL TLVs. | ||||
| 
 | ||||
| Exceptions to threshold settings | ||||
| -------------------------------- | ||||
| 
 | ||||
| If you have an SA that is getting hit by traffic in bursts such that | ||||
| there is a period where the timer threshold expires with no packets | ||||
| seen, then an odd behavior is seen as follows: | ||||
| The first packet arrival after a timer expiry will trigger a timeout | ||||
| aevent; i.e we dont wait for a timeout period or a packet threshold | ||||
| to be reached. This is done for simplicity and efficiency reasons. | ||||
| 
 | ||||
| -JHS | ||||
| @ -259,7 +259,17 @@ on the bus need to be capable of doing it, so this is something which needs | ||||
| to be handled by platform and generic code, not individual drivers. | ||||
| 
 | ||||
| 
 | ||||
| 8. Obsolete functions | ||||
| 8. Vendor and device identifications | ||||
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||||
| For the future, let's avoid adding device ids to include/linux/pci_ids.h. | ||||
| 
 | ||||
| PCI_VENDOR_ID_xxx for vendors, and a hex constant for device ids. | ||||
| 
 | ||||
| Rationale:  PCI_VENDOR_ID_xxx constants are re-used, but device ids are not. | ||||
|     Further, device ids are arbitrary hex numbers, normally used only in a | ||||
|     single location, the pci_device_id table. | ||||
| 
 | ||||
| 9. Obsolete functions | ||||
| ~~~~~~~~~~~~~~~~~~~~~ | ||||
| There are several functions which you might come across when trying to | ||||
| port an old driver to the new PCI interface.  They are no longer present | ||||
|  | ||||
| @ -140,7 +140,7 @@ IBM TP T41p			s3_bios (2), switch to X after resume | ||||
| IBM TP T42			s3_bios (2) | ||||
| IBM ThinkPad T42p (2373-GTG)	s3_bios (2) | ||||
| IBM TP X20			??? (*) | ||||
| IBM TP X30			s3_bios (2) | ||||
| IBM TP X30			s3_bios, s3_mode (4) | ||||
| IBM TP X31 / Type 2672-XXH      none (1), use radeontool (http://fdd.com/software/radeon/) to turn off backlight. | ||||
| IBM TP X32			none (1), but backlight is on and video is trashed after long suspend. s3_bios,s3_mode (4) works too. Perhaps that gets better results? | ||||
| IBM Thinkpad X40 Type 2371-7JG  s3_bios,s3_mode (4) | ||||
|  | ||||
| @ -1,3 +1,28 @@ | ||||
| Release Date	: Mon Apr 11 12:27:22 EST 2006 - Seokmann Ju <sju@lsil.com> | ||||
| Current Version : 2.20.4.8 (scsi module), 2.20.2.6 (cmm module) | ||||
| Older Version	: 2.20.4.7 (scsi module), 2.20.2.6 (cmm module) | ||||
| 
 | ||||
| 1.	Fixed a bug in megaraid_reset_handler(). | ||||
| 	Customer reported "Unable to handle kernel NULL pointer dereference | ||||
| 	at virtual address 00000000" when system goes to reset condition | ||||
| 	for some reason. It happened randomly. | ||||
| 	Root Cause: in the megaraid_reset_handler(), there is possibility not | ||||
| 	returning pending packets in the pend_list if there are multiple | ||||
| 	pending packets. | ||||
| 	Fix: Made the change in the driver so that it will return all packets | ||||
| 	in the pend_list. | ||||
| 
 | ||||
| 2.	Added change request. | ||||
| 	As found in the following URL, rmb() only didn't help the | ||||
| 	problem. I had to increase the loop counter to 0xFFFFFF. (6 F's) | ||||
| 	http://marc.theaimsgroup.com/?l=linux-scsi&m=110971060502497&w=2 | ||||
| 
 | ||||
| 	I attached a patch for your reference, too. | ||||
| 	Could you check and get this fix in your driver? | ||||
| 
 | ||||
| 	Best Regards, | ||||
| 	Jun'ichi Nomura | ||||
| 
 | ||||
| Release Date	: Fri Nov 11 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com> | ||||
| Current Version : 2.20.4.7 (scsi module), 2.20.2.6 (cmm module) | ||||
| Older Version	: 2.20.4.6 (scsi module), 2.20.2.6 (cmm module) | ||||
|  | ||||
| @ -3,14 +3,11 @@ | ||||
| 			-------------------- | ||||
| 
 | ||||
| 
 | ||||
|    $Id: driver,v 1.10 2002/07/22 15:27:30 rmk Exp $ | ||||
| 
 | ||||
| 
 | ||||
| This document is meant as a brief overview of some aspects of the new serial | ||||
| driver.  It is not complete, any questions you have should be directed to | ||||
| <rmk@arm.linux.org.uk> | ||||
| 
 | ||||
| The reference implementation is contained within serial_amba.c. | ||||
| The reference implementation is contained within amba_pl011.c. | ||||
| 
 | ||||
| 
 | ||||
| 
 | ||||
| @ -31,6 +28,11 @@ The serial core provides a few helper functions.  This includes identifing | ||||
| the correct port structure (via uart_get_console) and decoding command line | ||||
| arguments (uart_parse_options). | ||||
| 
 | ||||
| There is also a helper function (uart_write_console) which performs a | ||||
| character by character write, translating newlines to CRLF sequences. | ||||
| Driver writers are recommended to use this function rather than implementing | ||||
| their own version. | ||||
| 
 | ||||
| 
 | ||||
| Locking | ||||
| ------- | ||||
| @ -86,6 +88,7 @@ hardware. | ||||
| 		- TIOCM_DTR	DTR signal. | ||||
| 		- TIOCM_OUT1	OUT1 signal. | ||||
| 		- TIOCM_OUT2	OUT2 signal. | ||||
| 		- TIOCM_LOOP	Set the port into loopback mode. | ||||
| 	If the appropriate bit is set, the signal should be driven | ||||
| 	active.  If the bit is clear, the signal should be driven | ||||
| 	inactive. | ||||
| @ -141,6 +144,10 @@ hardware. | ||||
|   enable_ms(port) | ||||
| 	Enable the modem status interrupts. | ||||
| 
 | ||||
| 	This method may be called multiple times.  Modem status | ||||
| 	interrupts should be disabled when the shutdown method is | ||||
| 	called. | ||||
| 
 | ||||
| 	Locking: port->lock taken. | ||||
| 	Interrupts: locally disabled. | ||||
| 	This call must not sleep | ||||
| @ -160,6 +167,8 @@ hardware. | ||||
| 	state.  Enable the port for reception.  It should not activate | ||||
| 	RTS nor DTR; this will be done via a separate call to set_mctrl. | ||||
| 
 | ||||
| 	This method will only be called when the port is initially opened. | ||||
| 
 | ||||
| 	Locking: port_sem taken. | ||||
| 	Interrupts: globally disabled. | ||||
| 
 | ||||
| @ -169,6 +178,11 @@ hardware. | ||||
| 	RTS nor DTR; this will have already been done via a separate | ||||
| 	call to set_mctrl. | ||||
| 
 | ||||
| 	Drivers must not access port->info once this call has completed. | ||||
| 
 | ||||
| 	This method will only be called when there are no more users of | ||||
| 	this port. | ||||
| 
 | ||||
| 	Locking: port_sem taken. | ||||
| 	Interrupts: caller dependent. | ||||
| 
 | ||||
| @ -200,12 +214,13 @@ hardware. | ||||
| 	The interaction of the iflag bits is as follows (parity error | ||||
| 	given as an example): | ||||
| 	Parity error	INPCK	IGNPAR | ||||
| 	None		n/a	n/a	character received | ||||
| 	Yes		n/a	0	character discarded | ||||
| 	Yes		0	1	character received, marked as | ||||
| 	n/a		0	n/a	character received, marked as | ||||
| 					TTY_NORMAL | ||||
| 	Yes		1	1	character received, marked as | ||||
| 	None		1	n/a	character received, marked as | ||||
| 					TTY_NORMAL | ||||
| 	Yes		1	0	character received, marked as | ||||
| 					TTY_PARITY | ||||
| 	Yes		1	1	character discarded | ||||
| 
 | ||||
| 	Other flags may be used (eg, xon/xoff characters) if your | ||||
| 	hardware supports hardware "soft" flow control. | ||||
|  | ||||
| @ -1,4 +1,4 @@ | ||||
| 	Guide to using M-Audio Audiophile USB with ALSA and Jack	v1.2 | ||||
| 	Guide to using M-Audio Audiophile USB with ALSA and Jack	v1.3 | ||||
| 	======================================================== | ||||
| 
 | ||||
| 	    Thibault Le Meur <Thibault.LeMeur@supelec.fr> | ||||
| @ -22,16 +22,16 @@ The device has 4 audio interfaces, and 2 MIDI ports: | ||||
|  * Midi In (Mi) | ||||
|  * Midi Out (Mo) | ||||
| 
 | ||||
| The internal DAC/ADC has the following caracteristics: | ||||
| The internal DAC/ADC has the following characteristics: | ||||
| * sample depth of 16 or 24 bits | ||||
| * sample rate from 8kHz to 96kHz | ||||
| * Two ports can't use different sample depths at the same time.Moreover, the  | ||||
| * Two ports can't use different sample depths at the same time. Moreover, the  | ||||
| Audiophile USB documentation gives the following Warning: "Please exit any  | ||||
| audio application running before switching between bit depths" | ||||
| 
 | ||||
| Due to the USB 1.1 bandwidth limitation, a limited number of interfaces can be  | ||||
| activated at the same time depending on the audio mode selected: | ||||
|  * 16-bit/48kHz ==> 4 channels in/ 4 channels out | ||||
|  * 16-bit/48kHz ==> 4 channels in/4 channels out | ||||
|    - Ai+Ao+Di+Do | ||||
|  * 24-bit/48kHz ==> 4 channels in/2 channels out,  | ||||
|                     or 2 channels in/4 channels out | ||||
| @ -41,8 +41,8 @@ activated at the same time depending on the audio mode selected: | ||||
| 
 | ||||
| Important facts about the Digital interface: | ||||
| -------------------------------------------- | ||||
|  * The Do port additionnaly supports surround-encoded AC-3 and DTS passthrough,  | ||||
| though I haven't tested it under linux | ||||
|  * The Do port additionally supports surround-encoded AC-3 and DTS passthrough,  | ||||
| though I haven't tested it under Linux | ||||
|    - Note that in this setup only the Do interface can be enabled | ||||
|  * Apart from recording an audio digital stream, enabling the Di port is a way  | ||||
| to synchronize the device to an external sample clock | ||||
| @ -60,24 +60,23 @@ synchronization error (for instance sound played at an odd sample rate) | ||||
| The Audiophile USB MIDI ports will be automatically supported once the  | ||||
| following modules have been loaded: | ||||
|  * snd-usb-audio | ||||
|  * snd-seq | ||||
|  * snd-seq-midi | ||||
| 
 | ||||
| No additionnal setting is required. | ||||
| No additional setting is required. | ||||
| 
 | ||||
| 2.2 - Audio ports | ||||
| ----------------- | ||||
| 
 | ||||
| Audio functions of the Audiophile USB device are handled by the snd-usb-audio  | ||||
| module. This module can work in a default mode (without any device-specific  | ||||
| parameter), or in an advanced mode with the device-specific parameter called  | ||||
| parameter), or in an "advanced" mode with the device-specific parameter called  | ||||
| "device_setup". | ||||
| 
 | ||||
| 2.2.1 - Default Alsa driver mode | ||||
| 
 | ||||
| The default behaviour of the snd-usb-audio driver is to parse the device  | ||||
| The default behavior of the snd-usb-audio driver is to parse the device  | ||||
| capabilities at startup and enable all functions inside the device (including  | ||||
| all ports at any sample rates and any sample depths supported). This approach  | ||||
| all ports at any supported sample rates and sample depths). This approach  | ||||
| has the advantage to let the driver easily switch from sample rates/depths  | ||||
| automatically according to the need of the application claiming the device. | ||||
| 
 | ||||
| @ -114,9 +113,9 @@ gain). | ||||
| For people having this problem, the snd-usb-audio module has a new module  | ||||
| parameter called "device_setup". | ||||
| 
 | ||||
| 2.2.2.1 - Initializing the working mode of the Audiohile USB | ||||
| 2.2.2.1 - Initializing the working mode of the Audiophile USB | ||||
| 
 | ||||
| As far as the Audiohile USB device is concerned, this value let the user  | ||||
| As far as the Audiophile USB device is concerned, this value let the user  | ||||
| specify: | ||||
|  * the sample depth | ||||
|  * the sample rate | ||||
| @ -174,20 +173,20 @@ The parameter can be given: | ||||
| 
 | ||||
| IMPORTANT NOTE WHEN SWITCHING CONFIGURATION: | ||||
| ------------------------------------------- | ||||
|  * You may need to _first_ intialize the module with the correct device_setup  | ||||
|  * You may need to _first_ initialize the module with the correct device_setup  | ||||
|    parameter and _only_after_ turn on the Audiophile USB device | ||||
|  * This is especially true when switching the sample depth: | ||||
|    - first trun off the device | ||||
|    - de-register the snd-usb-audio module | ||||
|    - change the device_setup parameter (by either manually reprobing the module  | ||||
|      or changing modprobe.conf) | ||||
|    - first turn off the device | ||||
|    - de-register the snd-usb-audio module (modprobe -r) | ||||
|    - change the device_setup parameter by changing the device_setup | ||||
|      option in /etc/modprobe.conf  | ||||
|    - turn on the device | ||||
| 
 | ||||
| 2.2.2.3 - Audiophile USB's device_setup structure | ||||
| 
 | ||||
| If you want to understand the device_setup magic numbers for the Audiophile  | ||||
| USB, you need some very basic understanding of binary computation. However,  | ||||
| this is not required to use the parameter and you may skip thi section. | ||||
| this is not required to use the parameter and you may skip this section. | ||||
| 
 | ||||
| The device_setup is one byte long and its structure is the following: | ||||
| 
 | ||||
| @ -231,11 +230,11 @@ Caution: | ||||
| 
 | ||||
| 2.2.3 -  USB implementation details for this device | ||||
| 
 | ||||
| You may safely skip this section if you're not interrested in driver  | ||||
| You may safely skip this section if you're not interested in driver  | ||||
| development. | ||||
| 
 | ||||
| This section describes some internals aspect of the device and summarize the  | ||||
| data I got by usb-snooping the windows and linux drivers. | ||||
| This section describes some internal aspects of the device and summarize the  | ||||
| data I got by usb-snooping the windows and Linux drivers. | ||||
| 
 | ||||
| The M-Audio Audiophile USB has 7 USB Interfaces: | ||||
| a "USB interface": | ||||
| @ -277,9 +276,9 @@ Here is a short description of the AltSettings capabilities: | ||||
|   - 16-bit depth, 8-48kHz sample mode | ||||
|   - Synch playback (Do), audio format type III IEC1937_AC-3 | ||||
| 
 | ||||
| In order to ensure a correct intialization of the device, the driver  | ||||
| In order to ensure a correct initialization of the device, the driver  | ||||
| _must_know_ how the device will be used: | ||||
|  * if DTS is choosen, only Interface 2 with AltSet nb.6 must be | ||||
|  * if DTS is chosen, only Interface 2 with AltSet nb.6 must be | ||||
|    registered | ||||
|  * if 96KHz only AltSets nb.1 of each interface must be selected | ||||
|  * if samples are using 24bits/48KHz then AltSet 2 must me used if | ||||
| @ -290,7 +289,7 @@ _must_know_ how the device will be used: | ||||
|    is not connected | ||||
| 
 | ||||
| When device_setup is given as a parameter to the snd-usb-audio module, the  | ||||
| parse_audio_enpoint function uses a quirk called  | ||||
| parse_audio_endpoints function uses a quirk called  | ||||
| "audiophile_skip_setting_quirk" in order to prevent AltSettings not  | ||||
| corresponding to device_setup from being registered in the driver. | ||||
| 
 | ||||
| @ -317,9 +316,8 @@ However you may see the following warning message: | ||||
| using the "default" ALSA device. This is less efficient than it could be.  | ||||
| Consider using a hardware device instead rather than using the plug layer." | ||||
| 
 | ||||
| 
 | ||||
| 3.2 - Patching alsa to use direct pcm device | ||||
| ------------------------------------------- | ||||
| -------------------------------------------- | ||||
| A patch for Jack by Andreas Steinmetz adds support for Big Endian devices.  | ||||
| However it has not been included in the CVS tree. | ||||
| 
 | ||||
| @ -331,3 +329,32 @@ After having applied the patch you can run jackd with the following command | ||||
| line: | ||||
|   % jackd -R -dalsa -Phw:1,0 -r48000 -p128 -n2 -D -Chw:1,1 | ||||
| 
 | ||||
| 3.2 - Getting 2 input and/or output interfaces in Jack | ||||
| ------------------------------------------------------ | ||||
| 
 | ||||
| As you can see, starting the Jack server this way will only enable 1 stereo | ||||
| input (Di or Ai) and 1 stereo output (Ao or Do). | ||||
| 
 | ||||
| This is due to the following restrictions: | ||||
| * Jack can only open one capture device and one playback device at a time | ||||
| * The Audiophile USB is seen as 2 (or three) Alsa devices: hw:1,0, hw:1,1 | ||||
|   (and optionally hw:1,2) | ||||
| If you want to get Ai+Di and/or Ao+Do support with Jack, you would need to | ||||
| combine the Alsa devices into one logical "complex" device. | ||||
| 
 | ||||
| If you want to give it a try, I recommend reading the information from | ||||
| this page: http://www.sound-man.co.uk/linuxaudio/ice1712multi.html | ||||
| It is related to another device (ice1712) but can be adapted to suit | ||||
| the Audiophile USB. | ||||
| 
 | ||||
| Enabling multiple Audiophile USB interfaces for Jackd will certainly require: | ||||
| * patching Jack with the previously mentioned "Big Endian" patch | ||||
| * patching Jackd with the MMAP_COMPLEX patch (see the ice1712 page) | ||||
| * patching the alsa-lib/src/pcm/pcm_multi.c file (see the ice1712 page) | ||||
| * define a multi device (combination of hw:1,0 and hw:1,1) in your .asoundrc | ||||
|   file  | ||||
| * start jackd with this device | ||||
| 
 | ||||
| I had no success in testing this for now, but this may be due to my OS | ||||
| configuration. If you have any success with this kind of setup, please | ||||
| drop me an email. | ||||
|  | ||||
| @ -1172,7 +1172,7 @@ | ||||
|   }         | ||||
| 
 | ||||
|   /* PCI IDs */ | ||||
|   static struct pci_device_id snd_mychip_ids[] = { | ||||
|   static struct pci_device_id snd_mychip_ids[] __devinitdata = { | ||||
|           { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, | ||||
|             PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | ||||
|           .... | ||||
| @ -1565,7 +1565,7 @@ | ||||
|         <informalexample> | ||||
|           <programlisting> | ||||
| <![CDATA[ | ||||
|   static struct pci_device_id snd_mychip_ids[] = { | ||||
|   static struct pci_device_id snd_mychip_ids[] __devinitdata = { | ||||
|           { PCI_VENDOR_ID_FOO, PCI_DEVICE_ID_BAR, | ||||
|             PCI_ANY_ID, PCI_ANY_ID, 0, 0, 0, }, | ||||
|           .... | ||||
|  | ||||
							
								
								
									
										234
									
								
								Documentation/spi/pxa2xx
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										234
									
								
								Documentation/spi/pxa2xx
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,234 @@ | ||||
| PXA2xx SPI on SSP driver HOWTO | ||||
| =================================================== | ||||
| This a mini howto on the pxa2xx_spi driver.  The driver turns a PXA2xx | ||||
| synchronous serial port into a SPI master controller | ||||
| (see Documentation/spi/spi_summary). The driver has the following features | ||||
| 
 | ||||
| - Support for any PXA2xx SSP | ||||
| - SSP PIO and SSP DMA data transfers. | ||||
| - External and Internal (SSPFRM) chip selects. | ||||
| - Per slave device (chip) configuration. | ||||
| - Full suspend, freeze, resume support. | ||||
| 
 | ||||
| The driver is built around a "spi_message" fifo serviced by workqueue and a | ||||
| tasklet. The workqueue, "pump_messages", drives message fifo and the tasklet | ||||
| (pump_transfer) is responsible for queuing SPI transactions and setting up and | ||||
| launching the dma/interrupt driven transfers. | ||||
| 
 | ||||
| Declaring PXA2xx Master Controllers | ||||
| ----------------------------------- | ||||
| Typically a SPI master is defined in the arch/.../mach-*/board-*.c as a | ||||
| "platform device".  The master configuration is passed to the driver via a table | ||||
| found in include/asm-arm/arch-pxa/pxa2xx_spi.h: | ||||
| 
 | ||||
| struct pxa2xx_spi_master { | ||||
| 	enum pxa_ssp_type ssp_type; | ||||
| 	u32 clock_enable; | ||||
| 	u16 num_chipselect; | ||||
| 	u8 enable_dma; | ||||
| }; | ||||
| 
 | ||||
| The "pxa2xx_spi_master.ssp_type" field must have a value between 1 and 3 and | ||||
| informs the driver which features a particular SSP supports. | ||||
| 
 | ||||
| The "pxa2xx_spi_master.clock_enable" field is used to enable/disable the | ||||
| corresponding SSP peripheral block in the "Clock Enable Register (CKEN"). See | ||||
| the "PXA2xx Developer Manual" section "Clocks and Power Management". | ||||
| 
 | ||||
| The "pxa2xx_spi_master.num_chipselect" field is used to determine the number of | ||||
| slave device (chips) attached to this SPI master. | ||||
| 
 | ||||
| The "pxa2xx_spi_master.enable_dma" field informs the driver that SSP DMA should | ||||
| be used.  This caused the driver to acquire two DMA channels: rx_channel and | ||||
| tx_channel.  The rx_channel has a higher DMA service priority the tx_channel. | ||||
| See the "PXA2xx Developer Manual" section "DMA Controller". | ||||
| 
 | ||||
| NSSP MASTER SAMPLE | ||||
| ------------------ | ||||
| Below is a sample configuration using the PXA255 NSSP. | ||||
| 
 | ||||
| static struct resource pxa_spi_nssp_resources[] = { | ||||
| 	[0] = { | ||||
| 		.start	= __PREG(SSCR0_P(2)), /* Start address of NSSP */ | ||||
| 		.end	= __PREG(SSCR0_P(2)) + 0x2c, /* Range of registers */ | ||||
| 		.flags	= IORESOURCE_MEM, | ||||
| 	}, | ||||
| 	[1] = { | ||||
| 		.start	= IRQ_NSSP, /* NSSP IRQ */ | ||||
| 		.end	= IRQ_NSSP, | ||||
| 		.flags	= IORESOURCE_IRQ, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| static struct pxa2xx_spi_master pxa_nssp_master_info = { | ||||
| 	.ssp_type = PXA25x_NSSP, /* Type of SSP */ | ||||
| 	.clock_enable = CKEN9_NSSP, /* NSSP Peripheral clock */ | ||||
| 	.num_chipselect = 1, /* Matches the number of chips attached to NSSP */ | ||||
| 	.enable_dma = 1, /* Enables NSSP DMA */ | ||||
| }; | ||||
| 
 | ||||
| static struct platform_device pxa_spi_nssp = { | ||||
| 	.name = "pxa2xx-spi", /* MUST BE THIS VALUE, so device match driver */ | ||||
| 	.id = 2, /* Bus number, MUST MATCH SSP number 1..n */ | ||||
| 	.resource = pxa_spi_nssp_resources, | ||||
| 	.num_resources = ARRAY_SIZE(pxa_spi_nssp_resources), | ||||
| 	.dev = { | ||||
| 		.platform_data = &pxa_nssp_master_info, /* Passed to driver */ | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| static struct platform_device *devices[] __initdata = { | ||||
| 	&pxa_spi_nssp, | ||||
| }; | ||||
| 
 | ||||
| static void __init board_init(void) | ||||
| { | ||||
| 	(void)platform_add_device(devices, ARRAY_SIZE(devices)); | ||||
| } | ||||
| 
 | ||||
| Declaring Slave Devices | ||||
| ----------------------- | ||||
| Typically each SPI slave (chip) is defined in the arch/.../mach-*/board-*.c | ||||
| using the "spi_board_info" structure found in "linux/spi/spi.h". See | ||||
| "Documentation/spi/spi_summary" for additional information. | ||||
| 
 | ||||
| Each slave device attached to the PXA must provide slave specific configuration | ||||
| information via the structure "pxa2xx_spi_chip" found in | ||||
| "include/asm-arm/arch-pxa/pxa2xx_spi.h".  The pxa2xx_spi master controller driver | ||||
| will uses the configuration whenever the driver communicates with the slave | ||||
| device. | ||||
| 
 | ||||
| struct pxa2xx_spi_chip { | ||||
| 	u8 tx_threshold; | ||||
| 	u8 rx_threshold; | ||||
| 	u8 dma_burst_size; | ||||
| 	u32 timeout_microsecs; | ||||
| 	u8 enable_loopback; | ||||
| 	void (*cs_control)(u32 command); | ||||
| }; | ||||
| 
 | ||||
| The "pxa2xx_spi_chip.tx_threshold" and "pxa2xx_spi_chip.rx_threshold" fields are | ||||
| used to configure the SSP hardware fifo.  These fields are critical to the | ||||
| performance of pxa2xx_spi driver and misconfiguration will result in rx | ||||
| fifo overruns (especially in PIO mode transfers). Good default values are | ||||
| 
 | ||||
| 	.tx_threshold = 12, | ||||
| 	.rx_threshold = 4, | ||||
| 
 | ||||
| The "pxa2xx_spi_chip.dma_burst_size" field is used to configure PXA2xx DMA | ||||
| engine and is related the "spi_device.bits_per_word" field.  Read and understand | ||||
| the PXA2xx "Developer Manual" sections on the DMA controller and SSP Controllers | ||||
| to determine the correct value. An SSP configured for byte-wide transfers would | ||||
| use a value of 8. | ||||
| 
 | ||||
| The "pxa2xx_spi_chip.timeout_microsecs" fields is used to efficiently handle | ||||
| trailing bytes in the SSP receiver fifo.  The correct value for this field is | ||||
| dependent on the SPI bus speed ("spi_board_info.max_speed_hz") and the specific | ||||
| slave device.  Please note the the PXA2xx SSP 1 does not support trailing byte | ||||
| timeouts and must busy-wait any trailing bytes. | ||||
| 
 | ||||
| The "pxa2xx_spi_chip.enable_loopback" field is used to place the SSP porting | ||||
| into internal loopback mode.  In this mode the SSP controller internally | ||||
| connects the SSPTX pin the the SSPRX pin.  This is useful for initial setup | ||||
| testing. | ||||
| 
 | ||||
| The "pxa2xx_spi_chip.cs_control" field is used to point to a board specific | ||||
| function for asserting/deasserting a slave device chip select.  If the field is | ||||
| NULL, the pxa2xx_spi master controller driver assumes that the SSP port is | ||||
| configured to use SSPFRM instead. | ||||
| 
 | ||||
| NSSP SALVE SAMPLE | ||||
| ----------------- | ||||
| The pxa2xx_spi_chip structure is passed to the pxa2xx_spi driver in the | ||||
| "spi_board_info.controller_data" field. Below is a sample configuration using | ||||
| the PXA255 NSSP. | ||||
| 
 | ||||
| /* Chip Select control for the CS8415A SPI slave device */ | ||||
| static void cs8415a_cs_control(u32 command) | ||||
| { | ||||
| 	if (command & PXA2XX_CS_ASSERT) | ||||
| 		GPCR(2) = GPIO_bit(2); | ||||
| 	else | ||||
| 		GPSR(2) = GPIO_bit(2); | ||||
| } | ||||
| 
 | ||||
| /* Chip Select control for the CS8405A SPI slave device */ | ||||
| static void cs8405a_cs_control(u32 command) | ||||
| { | ||||
| 	if (command & PXA2XX_CS_ASSERT) | ||||
| 		GPCR(3) = GPIO_bit(3); | ||||
| 	else | ||||
| 		GPSR(3) = GPIO_bit(3); | ||||
| } | ||||
| 
 | ||||
| static struct pxa2xx_spi_chip cs8415a_chip_info = { | ||||
| 	.tx_threshold = 12, /* SSP hardward FIFO threshold */ | ||||
| 	.rx_threshold = 4, /* SSP hardward FIFO threshold */ | ||||
| 	.dma_burst_size = 8, /* Byte wide transfers used so 8 byte bursts */ | ||||
| 	.timeout_microsecs = 64, /* Wait at least 64usec to handle trailing */ | ||||
| 	.cs_control = cs8415a_cs_control, /* Use external chip select */ | ||||
| }; | ||||
| 
 | ||||
| static struct pxa2xx_spi_chip cs8405a_chip_info = { | ||||
| 	.tx_threshold = 12, /* SSP hardward FIFO threshold */ | ||||
| 	.rx_threshold = 4, /* SSP hardward FIFO threshold */ | ||||
| 	.dma_burst_size = 8, /* Byte wide transfers used so 8 byte bursts */ | ||||
| 	.timeout_microsecs = 64, /* Wait at least 64usec to handle trailing */ | ||||
| 	.cs_control = cs8405a_cs_control, /* Use external chip select */ | ||||
| }; | ||||
| 
 | ||||
| static struct spi_board_info streetracer_spi_board_info[] __initdata = { | ||||
| 	{ | ||||
| 		.modalias = "cs8415a", /* Name of spi_driver for this device */ | ||||
| 		.max_speed_hz = 3686400, /* Run SSP as fast a possbile */ | ||||
| 		.bus_num = 2, /* Framework bus number */ | ||||
| 		.chip_select = 0, /* Framework chip select */ | ||||
| 		.platform_data = NULL; /* No spi_driver specific config */ | ||||
| 		.controller_data = &cs8415a_chip_info, /* Master chip config */ | ||||
| 		.irq = STREETRACER_APCI_IRQ, /* Slave device interrupt */ | ||||
| 	}, | ||||
| 	{ | ||||
| 		.modalias = "cs8405a", /* Name of spi_driver for this device */ | ||||
| 		.max_speed_hz = 3686400, /* Run SSP as fast a possbile */ | ||||
| 		.bus_num = 2, /* Framework bus number */ | ||||
| 		.chip_select = 1, /* Framework chip select */ | ||||
| 		.controller_data = &cs8405a_chip_info, /* Master chip config */ | ||||
| 		.irq = STREETRACER_APCI_IRQ, /* Slave device interrupt */ | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| static void __init streetracer_init(void) | ||||
| { | ||||
| 	spi_register_board_info(streetracer_spi_board_info, | ||||
| 				ARRAY_SIZE(streetracer_spi_board_info)); | ||||
| } | ||||
| 
 | ||||
| 
 | ||||
| DMA and PIO I/O Support | ||||
| ----------------------- | ||||
| The pxa2xx_spi driver support both DMA and interrupt driven PIO message | ||||
| transfers.  The driver defaults to PIO mode and DMA transfers must enabled by | ||||
| setting the "enable_dma" flag in the "pxa2xx_spi_master" structure and and | ||||
| ensuring that the "pxa2xx_spi_chip.dma_burst_size" field is non-zero.  The DMA | ||||
| mode support both coherent and stream based DMA mappings. | ||||
| 
 | ||||
| The following logic is used to determine the type of I/O to be used on | ||||
| a per "spi_transfer" basis: | ||||
| 
 | ||||
| if !enable_dma or dma_burst_size == 0 then | ||||
| 	always use PIO transfers | ||||
| 
 | ||||
| if spi_message.is_dma_mapped and rx_dma_buf != 0 and tx_dma_buf != 0 then | ||||
| 	use coherent DMA mode | ||||
| 
 | ||||
| if rx_buf and tx_buf are aligned on 8 byte boundary then | ||||
| 	use streaming DMA mode | ||||
| 
 | ||||
| otherwise | ||||
| 	use PIO transfer | ||||
| 
 | ||||
| THANKS TO | ||||
| --------- | ||||
| 
 | ||||
| David Brownell and others for mentoring the development of this driver. | ||||
| 
 | ||||
| @ -414,7 +414,33 @@ to get the driver-private data allocated for that device. | ||||
| The driver will initialize the fields of that spi_master, including the | ||||
| bus number (maybe the same as the platform device ID) and three methods | ||||
| used to interact with the SPI core and SPI protocol drivers.  It will | ||||
| also initialize its own internal state. | ||||
| also initialize its own internal state.  (See below about bus numbering | ||||
| and those methods.) | ||||
| 
 | ||||
| After you initialize the spi_master, then use spi_register_master() to | ||||
| publish it to the rest of the system.  At that time, device nodes for | ||||
| the controller and any predeclared spi devices will be made available, | ||||
| and the driver model core will take care of binding them to drivers. | ||||
| 
 | ||||
| If you need to remove your SPI controller driver, spi_unregister_master() | ||||
| will reverse the effect of spi_register_master(). | ||||
| 
 | ||||
| 
 | ||||
| BUS NUMBERING | ||||
| 
 | ||||
| Bus numbering is important, since that's how Linux identifies a given | ||||
| SPI bus (shared SCK, MOSI, MISO).  Valid bus numbers start at zero.  On | ||||
| SOC systems, the bus numbers should match the numbers defined by the chip | ||||
| manufacturer.  For example, hardware controller SPI2 would be bus number 2, | ||||
| and spi_board_info for devices connected to it would use that number. | ||||
| 
 | ||||
| If you don't have such hardware-assigned bus number, and for some reason | ||||
| you can't just assign them, then provide a negative bus number.  That will | ||||
| then be replaced by a dynamically assigned number. You'd then need to treat | ||||
| this as a non-static configuration (see above). | ||||
| 
 | ||||
| 
 | ||||
| SPI MASTER METHODS | ||||
| 
 | ||||
|     master->setup(struct spi_device *spi) | ||||
| 	This sets up the device clock rate, SPI mode, and word sizes. | ||||
| @ -431,6 +457,9 @@ also initialize its own internal state. | ||||
| 	state it dynamically associates with that device.  If you do that, | ||||
| 	be sure to provide the cleanup() method to free that state. | ||||
| 
 | ||||
| 
 | ||||
| SPI MESSAGE QUEUE | ||||
| 
 | ||||
| The bulk of the driver will be managing the I/O queue fed by transfer(). | ||||
| 
 | ||||
| That queue could be purely conceptual.  For example, a driver used only | ||||
| @ -440,6 +469,9 @@ But the queue will probably be very real, using message->queue, PIO, | ||||
| often DMA (especially if the root filesystem is in SPI flash), and | ||||
| execution contexts like IRQ handlers, tasklets, or workqueues (such | ||||
| as keventd).  Your driver can be as fancy, or as simple, as you need. | ||||
| Such a transfer() method would normally just add the message to a | ||||
| queue, and then start some asynchronous transfer engine (unless it's | ||||
| already running). | ||||
| 
 | ||||
| 
 | ||||
| THANKS TO | ||||
|  | ||||
| @ -32,7 +32,16 @@ The output of "cat /proc/meminfo" will have lines like: | ||||
| ..... | ||||
| HugePages_Total: xxx | ||||
| HugePages_Free:  yyy | ||||
| Hugepagesize:    zzz KB | ||||
| HugePages_Rsvd:  www | ||||
| Hugepagesize:    zzz kB | ||||
| 
 | ||||
| where: | ||||
| HugePages_Total is the size of the pool of hugepages. | ||||
| HugePages_Free is the number of hugepages in the pool that are not yet | ||||
| allocated. | ||||
| HugePages_Rsvd is short for "reserved," and is the number of hugepages | ||||
| for which a commitment to allocate from the pool has been made, but no | ||||
| allocation has yet been made. It's vaguely analogous to overcommit. | ||||
| 
 | ||||
| /proc/filesystems should also show a filesystem of type "hugetlbfs" configured | ||||
| in the kernel. | ||||
|  | ||||
| @ -36,6 +36,9 @@ timeout or margin.  The simplest way to ping the watchdog is to write | ||||
| some data to the device.  So a very simple watchdog daemon would look | ||||
| like this: | ||||
| 
 | ||||
| #include <stdlib.h> | ||||
| #include <fcntl.h> | ||||
| 
 | ||||
| int main(int argc, const char *argv[]) { | ||||
| 	int fd=open("/dev/watchdog",O_WRONLY); | ||||
| 	if (fd==-1) { | ||||
|  | ||||
							
								
								
									
										96
									
								
								MAINTAINERS
									
									
									
									
									
								
							
							
						
						
									
										96
									
								
								MAINTAINERS
									
									
									
									
									
								
							| @ -40,11 +40,20 @@ trivial patch so apply some common sense. | ||||
| 	PLEASE document known bugs. If it doesn't work for everything | ||||
| 	or does something very odd once a month document it. | ||||
| 
 | ||||
| 	PLEASE remember that submissions must be made under the terms | ||||
| 	of the OSDL certificate of contribution | ||||
| 	(http://www.osdl.org/newsroom/press_releases/2004/2004_05_24_dco.html) | ||||
| 	and should include a Signed-off-by: line. | ||||
| 
 | ||||
| 6.	Make sure you have the right to send any changes you make. If you | ||||
| 	do changes at work you may find your employer owns the patch | ||||
| 	not you. | ||||
| 
 | ||||
| 7.	Happy hacking. | ||||
| 7.	When sending security related changes or reports to a maintainer | ||||
| 	please Cc: security@kernel.org, especially if the maintainer | ||||
| 	does not respond. | ||||
| 
 | ||||
| 8.	Happy hacking. | ||||
| 
 | ||||
|  		----------------------------------- | ||||
| 
 | ||||
| @ -411,6 +420,7 @@ AX.25 NETWORK LAYER | ||||
| P:	Ralf Baechle | ||||
| M:	ralf@linux-mips.org | ||||
| L:	linux-hams@vger.kernel.org | ||||
| W:	http://www.linux-ax25.org/ | ||||
| S:	Maintained | ||||
| 
 | ||||
| BAYCOM/HDLCDRV DRIVERS FOR AX.25 | ||||
| @ -420,6 +430,14 @@ L:	linux-hams@vger.kernel.org | ||||
| W:	http://www.baycom.org/~tom/ham/ham.html | ||||
| S:	Maintained | ||||
| 
 | ||||
| BCM43XX WIRELESS DRIVER | ||||
| P:	Michael Buesch | ||||
| M:	mb@bu3sch.de | ||||
| P:	Stefano Brivio | ||||
| M:	st3@riseup.net | ||||
| W:	http://bcm43xx.berlios.de/ | ||||
| S:	Maintained | ||||
| 
 | ||||
| BEFS FILE SYSTEM | ||||
| P:	Sergey S. Kostyliov | ||||
| M:	rathamahata@php4.ru | ||||
| @ -547,7 +565,19 @@ BROADBAND PROCESSOR ARCHITECTURE | ||||
| P:	Arnd Bergmann | ||||
| M:	arnd@arndb.de | ||||
| L:	linuxppc-dev@ozlabs.org | ||||
| W:	http://linuxppc64.org | ||||
| W:	http://www.penguinppc.org/ppc64/ | ||||
| S:	Supported | ||||
| 
 | ||||
| BROADCOM BNX2 GIGABIT ETHERNET DRIVER | ||||
| P:	Michael Chan | ||||
| M:	mchan@broadcom.com | ||||
| L:	netdev@vger.kernel.org | ||||
| S:	Supported | ||||
| 
 | ||||
| BROADCOM TG3 GIGABIT ETHERNET DRIVER | ||||
| P:	Michael Chan | ||||
| M:	mchan@broadcom.com | ||||
| L:	netdev@vger.kernel.org | ||||
| S:	Supported | ||||
| 
 | ||||
| BTTV VIDEO4LINUX DRIVER | ||||
| @ -960,7 +990,7 @@ S:	Maintained | ||||
| EXT3 FILE SYSTEM | ||||
| P:	Stephen Tweedie, Andrew Morton | ||||
| M:	sct@redhat.com, akpm@osdl.org, adilger@clusterfs.com | ||||
| L:	ext3-users@redhat.com | ||||
| L:	ext2-devel@lists.sourceforge.net | ||||
| S:	Maintained | ||||
| 
 | ||||
| F71805F HARDWARE MONITORING DRIVER | ||||
| @ -1463,6 +1493,13 @@ M:	support@pathscale.com | ||||
| L:	openib-general@openib.org | ||||
| S:	Supported | ||||
| 
 | ||||
| IPMI SUBSYSTEM | ||||
| P:	Corey Minyard | ||||
| M:	minyard@acm.org | ||||
| L:	openipmi-developer@lists.sourceforge.net | ||||
| W:	http://openipmi.sourceforge.net/ | ||||
| S:	Supported | ||||
| 
 | ||||
| IPX NETWORK LAYER | ||||
| P:	Arnaldo Carvalho de Melo | ||||
| M:	acme@conectiva.com.br | ||||
| @ -1470,10 +1507,11 @@ L:	netdev@vger.kernel.org | ||||
| S:	Maintained | ||||
| 
 | ||||
| IRDA SUBSYSTEM | ||||
| P:	Jean Tourrilhes | ||||
| P:	Samuel Ortiz | ||||
| M:	samuel@sortiz.org | ||||
| L:	irda-users@lists.sourceforge.net (subscribers-only) | ||||
| W:	http://irda.sourceforge.net/ | ||||
| S:	Odd Fixes | ||||
| S:	Maintained | ||||
| 
 | ||||
| ISAPNP | ||||
| P:	Jaroslav Kysela | ||||
| @ -1519,12 +1557,28 @@ W:	http://jfs.sourceforge.net/ | ||||
| T:	git kernel.org:/pub/scm/linux/kernel/git/shaggy/jfs-2.6.git | ||||
| S:	Supported | ||||
| 
 | ||||
| JOURNALLING LAYER FOR BLOCK DEVICS (JBD) | ||||
| P:	Stephen Tweedie, Andrew Morton | ||||
| M:	sct@redhat.com, akpm@osdl.org | ||||
| L:	ext2-devel@lists.sourceforge.net | ||||
| S:	Maintained | ||||
| 
 | ||||
| KCONFIG | ||||
| P:	Roman Zippel | ||||
| M:	zippel@linux-m68k.org | ||||
| L:	kbuild-devel@lists.sourceforge.net | ||||
| S:	Maintained | ||||
| 
 | ||||
| KDUMP | ||||
| P:	Vivek Goyal | ||||
| M:	vgoyal@in.ibm.com | ||||
| P:	Haren Myneni | ||||
| M:	hbabu@us.ibm.com | ||||
| L:	fastboot@lists.osdl.org | ||||
| L:	linux-kernel@vger.kernel.org | ||||
| W:	http://lse.sourceforge.net/kdump/ | ||||
| S:	Maintained | ||||
| 
 | ||||
| KERNEL AUTOMOUNTER (AUTOFS) | ||||
| P:	H. Peter Anvin | ||||
| M:	hpa@zytor.com | ||||
| @ -1592,6 +1646,11 @@ M:	James.Bottomley@HansenPartnership.com | ||||
| L:	linux-scsi@vger.kernel.org | ||||
| S:	Maintained | ||||
| 
 | ||||
| LED SUBSYSTEM | ||||
| P:	Richard Purdie | ||||
| M:	rpurdie@rpsys.net | ||||
| S:	Maintained | ||||
| 
 | ||||
| LEGO USB Tower driver | ||||
| P:	Juergen Stuber | ||||
| M:	starblue@users.sourceforge.net | ||||
| @ -1651,7 +1710,7 @@ S:	Maintained | ||||
| 
 | ||||
| LINUX FOR POWERPC EMBEDDED PPC8XX | ||||
| P:	Marcelo Tosatti | ||||
| M:	marcelo.tosatti@cyclades.com | ||||
| M:	marcelo@kvack.org | ||||
| W:	http://www.penguinppc.org/ | ||||
| L:	linuxppc-embedded@ozlabs.org | ||||
| S:	Maintained | ||||
| @ -1675,7 +1734,7 @@ M:	paulus@au.ibm.com | ||||
| P:	Anton Blanchard | ||||
| M:	anton@samba.org | ||||
| M:	anton@au.ibm.com | ||||
| W:	http://linuxppc64.org | ||||
| W:	http://www.penguinppc.org/ppc64/ | ||||
| L:	linuxppc-dev@ozlabs.org | ||||
| S:	Supported | ||||
| 
 | ||||
| @ -1836,6 +1895,11 @@ L:	linux-kernel@vger.kernel.org | ||||
| W:	http://www.atnf.csiro.au/~rgooch/linux/kernel-patches.html | ||||
| S:	Maintained | ||||
| 
 | ||||
| MULTIMEDIA CARD SUBSYSTEM | ||||
| P:	Russell King | ||||
| M:	rmk+mmc@arm.linux.org.uk | ||||
| S:	Maintained | ||||
| 
 | ||||
| MULTISOUND SOUND DRIVER | ||||
| P:	Andrew Veliath | ||||
| M:	andrewtv@usa.net | ||||
| @ -1858,6 +1922,12 @@ M:	James.Bottomley@HansenPartnership.com | ||||
| L:	linux-scsi@vger.kernel.org | ||||
| S:	Maintained | ||||
| 
 | ||||
| NETEM NETWORK EMULATOR | ||||
| P:	Stephen Hemminger | ||||
| M:	shemminger@osdl.org | ||||
| L:	netem@osdl.org | ||||
| S:	Maintained | ||||
| 
 | ||||
| NETFILTER/IPTABLES/IPCHAINS | ||||
| P:	Rusty Russell | ||||
| P:	Marc Boucher | ||||
| @ -1875,6 +1945,7 @@ NETROM NETWORK LAYER | ||||
| P:	Ralf Baechle | ||||
| M:	ralf@linux-mips.org | ||||
| L:	linux-hams@vger.kernel.org | ||||
| W:	http://www.linux-ax25.org/ | ||||
| S:	Maintained | ||||
| 
 | ||||
| NETWORK BLOCK DEVICE | ||||
| @ -2062,8 +2133,12 @@ P:	Matthew Wilcox | ||||
| M:	matthew@wil.cx | ||||
| P:	Grant Grundler | ||||
| M:	grundler@parisc-linux.org | ||||
| P:	Kyle McMartin | ||||
| M:	kyle@parisc-linux.org | ||||
| L:	parisc-linux@parisc-linux.org | ||||
| W:	http://www.parisc-linux.org/ | ||||
| T:	git kernel.org:/pub/scm/linux/kernel/git/kyle/parisc-2.6.git | ||||
| T:	cvs cvs.parisc-linux.org:/var/cvs/linux-2.6 | ||||
| S:	Maintained | ||||
| 
 | ||||
| PCI ERROR RECOVERY | ||||
| @ -2266,6 +2341,7 @@ ROSE NETWORK LAYER | ||||
| P:	Ralf Baechle | ||||
| M:	ralf@linux-mips.org | ||||
| L:	linux-hams@vger.kernel.org | ||||
| W:	http://www.linux-ax25.org/ | ||||
| S:	Maintained | ||||
| 
 | ||||
| RISCOM8 DRIVER | ||||
| @ -2496,6 +2572,12 @@ M:	perex@suse.cz | ||||
| L:	alsa-devel@alsa-project.org | ||||
| S:	Maintained | ||||
| 
 | ||||
| SPI SUBSYSTEM | ||||
| P:	David Brownell | ||||
| M:	dbrownell@users.sourceforge.net | ||||
| L:	spi-devel-general@lists.sourceforge.net | ||||
| S:	Maintained | ||||
| 
 | ||||
| TPM DEVICE DRIVER | ||||
| P:	Kylene Hall | ||||
| M:	kjhall@us.ibm.com | ||||
|  | ||||
							
								
								
									
										24
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								Makefile
									
									
									
									
									
								
							| @ -1,8 +1,8 @@ | ||||
| VERSION = 2 | ||||
| PATCHLEVEL = 6 | ||||
| SUBLEVEL = 17 | ||||
| EXTRAVERSION =-rc1 | ||||
| NAME=Sliding Snow Leopard | ||||
| EXTRAVERSION =-rc6 | ||||
| NAME=Crazed Snow-Weasel | ||||
| 
 | ||||
| # *DOCUMENTATION*
 | ||||
| # To see a list of typical targets execute "make help"
 | ||||
| @ -344,16 +344,14 @@ scripts_basic: | ||||
| scripts/basic/%: scripts_basic ; | ||||
| 
 | ||||
| PHONY += outputmakefile | ||||
| # outputmakefile generate a Makefile to be placed in output directory, if
 | ||||
| # using a seperate output directory. This allows convinient use
 | ||||
| # of make in output directory
 | ||||
| # outputmakefile generates a Makefile in the output directory, if using a
 | ||||
| # separate output directory. This allows convenient use of make in the
 | ||||
| # output directory.
 | ||||
| outputmakefile: | ||||
| 	$(Q)if test ! $(srctree) -ef $(objtree); then \
 | ||||
| 	$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile              \
 | ||||
| 	    $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL)         \
 | ||||
| 	    > $(objtree)/Makefile;                                 \
 | ||||
| 	    echo '  GEN    $(objtree)/Makefile';                   \
 | ||||
| 	fi | ||||
| ifneq ($(KBUILD_SRC),) | ||||
| 	$(Q)$(CONFIG_SHELL) $(srctree)/scripts/mkmakefile \
 | ||||
| 	    $(srctree) $(objtree) $(VERSION) $(PATCHLEVEL) | ||||
| endif | ||||
| 
 | ||||
| # To make sure we do not include .config for any of the *config targets
 | ||||
| # catch them early, and hand them over to scripts/kconfig/Makefile
 | ||||
| @ -796,8 +794,8 @@ prepare2: prepare3 outputmakefile | ||||
| prepare1: prepare2 include/linux/version.h include/asm \ | ||||
|                    include/config/MARKER | ||||
| ifneq ($(KBUILD_MODULES),) | ||||
| 	$(Q)rm -rf $(MODVERDIR) | ||||
| 	$(Q)mkdir -p $(MODVERDIR) | ||||
| 	$(Q)rm -f $(MODVERDIR)/* | ||||
| endif | ||||
| 
 | ||||
| archprepare: prepare1 scripts_basic | ||||
| @ -1086,8 +1084,8 @@ else # KBUILD_EXTMOD | ||||
| KBUILD_MODULES := 1 | ||||
| PHONY += crmodverdir | ||||
| crmodverdir: | ||||
| 	$(Q)rm -rf $(MODVERDIR) | ||||
| 	$(Q)mkdir -p $(MODVERDIR) | ||||
| 	$(Q)rm -f $(MODVERDIR)/* | ||||
| 
 | ||||
| PHONY += $(objtree)/Module.symvers | ||||
| $(objtree)/Module.symvers: | ||||
|  | ||||
							
								
								
									
										23
									
								
								README
									
									
									
									
									
								
							
							
						
						
									
										23
									
								
								README
									
									
									
									
									
								
							| @ -165,10 +165,31 @@ CONFIGURING the kernel: | ||||
| 	"make xconfig"     X windows (Qt) based configuration tool. | ||||
| 	"make gconfig"     X windows (Gtk) based configuration tool. | ||||
| 	"make oldconfig"   Default all questions based on the contents of | ||||
| 			   your existing ./.config file. | ||||
| 			   your existing ./.config file and asking about | ||||
| 			   new config symbols. | ||||
| 	"make silentoldconfig" | ||||
| 			   Like above, but avoids cluttering the screen | ||||
| 			   with questions already answered. | ||||
| 	"make defconfig"   Create a ./.config file by using the default | ||||
| 			   symbol values from arch/$ARCH/defconfig. | ||||
| 	"make allyesconfig" | ||||
| 			   Create a ./.config file by setting symbol | ||||
| 			   values to 'y' as much as possible. | ||||
| 	"make allmodconfig" | ||||
| 			   Create a ./.config file by setting symbol | ||||
| 			   values to 'm' as much as possible. | ||||
| 	"make allnoconfig" Create a ./.config file by setting symbol | ||||
| 			   values to 'n' as much as possible. | ||||
| 	"make randconfig"  Create a ./.config file by setting symbol | ||||
| 			   values to random values. | ||||
| 
 | ||||
|    The allyesconfig/allmodconfig/allnoconfig/randconfig variants can | ||||
|    also use the environment variable KCONFIG_ALLCONFIG to specify a | ||||
|    filename that contains config options that the user requires to be | ||||
|    set to a specific value.  If KCONFIG_ALLCONFIG=filename is not used, | ||||
|    "make *config" checks for a file named "all{yes/mod/no/random}.config" | ||||
|    for symbol values that are to be forced.  If this file is not found, | ||||
|    it checks for a file named "all.config" to contain forced values. | ||||
|     | ||||
| 	NOTES on "make config": | ||||
| 	- having unnecessary drivers will make the kernel bigger, and can | ||||
|  | ||||
| @ -182,7 +182,6 @@ EXPORT_SYMBOL(smp_num_cpus); | ||||
| EXPORT_SYMBOL(smp_call_function); | ||||
| EXPORT_SYMBOL(smp_call_function_on_cpu); | ||||
| EXPORT_SYMBOL(_atomic_dec_and_lock); | ||||
| EXPORT_SYMBOL(cpu_present_mask); | ||||
| #endif /* CONFIG_SMP */ | ||||
| 
 | ||||
| /*
 | ||||
|  | ||||
| @ -94,7 +94,7 @@ common_shutdown_1(void *generic_ptr) | ||||
| 	if (cpuid != boot_cpuid) { | ||||
| 		flags |= 0x00040000UL; /* "remain halted" */ | ||||
| 		*pflags = flags; | ||||
| 		clear_bit(cpuid, &cpu_present_mask); | ||||
| 		cpu_clear(cpuid, cpu_present_map); | ||||
| 		halt(); | ||||
| 	} | ||||
| #endif | ||||
| @ -120,8 +120,8 @@ common_shutdown_1(void *generic_ptr) | ||||
| 
 | ||||
| #ifdef CONFIG_SMP | ||||
| 	/* Wait for the secondaries to halt. */ | ||||
| 	cpu_clear(boot_cpuid, cpu_possible_map); | ||||
| 	while (cpus_weight(cpu_possible_map)) | ||||
| 	cpu_clear(boot_cpuid, cpu_present_map); | ||||
| 	while (cpus_weight(cpu_present_map)) | ||||
| 		barrier(); | ||||
| #endif | ||||
| 
 | ||||
|  | ||||
| @ -68,7 +68,6 @@ enum ipi_message_type { | ||||
| static int smp_secondary_alive __initdata = 0; | ||||
| 
 | ||||
| /* Which cpus ids came online.  */ | ||||
| cpumask_t cpu_present_mask; | ||||
| cpumask_t cpu_online_map; | ||||
| 
 | ||||
| EXPORT_SYMBOL(cpu_online_map); | ||||
| @ -439,7 +438,7 @@ setup_smp(void) | ||||
| 			if ((cpu->flags & 0x1cc) == 0x1cc) { | ||||
| 				smp_num_probed++; | ||||
| 				/* Assume here that "whami" == index */ | ||||
| 				cpu_set(i, cpu_present_mask); | ||||
| 				cpu_set(i, cpu_present_map); | ||||
| 				cpu->pal_revision = boot_cpu_palrev; | ||||
| 			} | ||||
| 
 | ||||
| @ -450,11 +449,10 @@ setup_smp(void) | ||||
| 		} | ||||
| 	} else { | ||||
| 		smp_num_probed = 1; | ||||
| 		cpu_set(boot_cpuid, cpu_present_mask); | ||||
| 	} | ||||
| 
 | ||||
| 	printk(KERN_INFO "SMP: %d CPUs probed -- cpu_present_mask = %lx\n", | ||||
| 	       smp_num_probed, cpu_possible_map.bits[0]); | ||||
| 	printk(KERN_INFO "SMP: %d CPUs probed -- cpu_present_map = %lx\n", | ||||
| 	       smp_num_probed, cpu_present_map.bits[0]); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
| @ -473,7 +471,7 @@ smp_prepare_cpus(unsigned int max_cpus) | ||||
| 
 | ||||
| 	/* Nothing to do on a UP box, or when told not to.  */ | ||||
| 	if (smp_num_probed == 1 || max_cpus == 0) { | ||||
| 		cpu_present_mask = cpumask_of_cpu(boot_cpuid); | ||||
| 		cpu_present_map = cpumask_of_cpu(boot_cpuid); | ||||
| 		printk(KERN_INFO "SMP mode deactivated.\n"); | ||||
| 		return; | ||||
| 	} | ||||
| @ -486,10 +484,6 @@ smp_prepare_cpus(unsigned int max_cpus) | ||||
| void __devinit | ||||
| smp_prepare_boot_cpu(void) | ||||
| { | ||||
| 	/*
 | ||||
| 	 * Mark the boot cpu (current cpu) as online | ||||
| 	 */  | ||||
| 	cpu_set(smp_processor_id(), cpu_online_map); | ||||
| } | ||||
| 
 | ||||
| int __devinit | ||||
|  | ||||
| @ -66,7 +66,7 @@ titan_update_irq_hw(unsigned long mask) | ||||
| 	register int bcpu = boot_cpuid; | ||||
| 
 | ||||
| #ifdef CONFIG_SMP | ||||
| 	cpumask_t cpm = cpu_present_mask; | ||||
| 	cpumask_t cpm = cpu_present_map; | ||||
| 	volatile unsigned long *dim0, *dim1, *dim2, *dim3; | ||||
| 	unsigned long mask0, mask1, mask2, mask3, dummy; | ||||
| 
 | ||||
|  | ||||
| @ -43,8 +43,8 @@ strncpy: | ||||
| 
 | ||||
| 	.align	4
 | ||||
| $multiword: | ||||
| 	subq	$24, 1, $2	# clear the final bits in the prev word | ||||
| 	or	$2, $24, $2 | ||||
| 	subq	$27, 1, $2	# clear the final bits in the prev word | ||||
| 	or	$2, $27, $2 | ||||
| 	zapnot	$1, $2, $1 | ||||
| 	subq	$18, 1, $18 | ||||
| 
 | ||||
| @ -70,8 +70,8 @@ $multiword: | ||||
| 	bne	$18, 0b | ||||
| 
 | ||||
| 1:	ldq_u	$1, 0($16)	# clear the leading bits in the final word | ||||
| 	subq	$27, 1, $2 | ||||
| 	or	$2, $27, $2 | ||||
| 	subq	$24, 1, $2 | ||||
| 	or	$2, $24, $2 | ||||
| 
 | ||||
| 	zap	$1, $2, $1 | ||||
| 	stq_u	$1, 0($16) | ||||
|  | ||||
| @ -150,8 +150,6 @@ config ARCH_IOP3XX | ||||
| 
 | ||||
| config ARCH_IXP4XX | ||||
| 	bool "IXP4xx-based" | ||||
| 	select DMABOUNCE | ||||
| 	select PCI | ||||
| 	help | ||||
| 	  Support for Intel's IXP4XX (XScale) family of processors. | ||||
| 
 | ||||
|  | ||||
| @ -101,7 +101,7 @@ config DEBUG_S3C2410_UART | ||||
| 	help | ||||
| 	  Choice for UART for kernel low-level using S3C2410 UARTS, | ||||
| 	  should be between zero and two. The port must have been | ||||
| 	  initalised by the boot-loader before use. | ||||
| 	  initialised by the boot-loader before use. | ||||
| 
 | ||||
| 	  The uncompressor code port configuration is now handled | ||||
| 	  by CONFIG_S3C2410_LOWLEVEL_UART_PORT. | ||||
|  | ||||
| @ -66,7 +66,7 @@ tune-$(CONFIG_CPU_XSC3)		:=$(call cc-option,-mtune=xscale,-mtune=strongarm110) - | ||||
| tune-$(CONFIG_CPU_V6)		:=$(call cc-option,-mtune=arm1136j-s,-mtune=strongarm) | ||||
| 
 | ||||
| ifeq ($(CONFIG_AEABI),y) | ||||
| CFLAGS_ABI	:=-mabi=aapcs -mno-thumb-interwork | ||||
| CFLAGS_ABI	:=-mabi=aapcs-linux -mno-thumb-interwork | ||||
| else | ||||
| CFLAGS_ABI	:=$(call cc-option,-mapcs-32,-mabi=apcs-gnu) $(call cc-option,-mno-thumb-interwork,) | ||||
| endif | ||||
|  | ||||
| @ -38,10 +38,10 @@ static void icedcc_putc(int ch) | ||||
| 		if (--i < 0) | ||||
| 			return; | ||||
| 
 | ||||
| 		asm("mrc p14, 0, %0, c0, c0, 0" : "=r" (status)); | ||||
| 		asm volatile ("mrc p14, 0, %0, c0, c0, 0" : "=r" (status)); | ||||
| 	} while (status & 2); | ||||
| 
 | ||||
| 	asm("mcr p15, 0, %0, c1, c0, 0" : : "r" (ch)); | ||||
| 	asm("mcr p14, 0, %0, c1, c0, 0" : : "r" (ch)); | ||||
| } | ||||
| 
 | ||||
| #define putc(ch)	icedcc_putc(ch) | ||||
|  | ||||
| @ -18,6 +18,18 @@ | ||||
| #include <asm/io.h> | ||||
| #include <asm/hardware/scoop.h> | ||||
| 
 | ||||
| /* PCMCIA to Scoop linkage
 | ||||
| 
 | ||||
|    There is no easy way to link multiple scoop devices into one | ||||
|    single entity for the pxa2xx_pcmcia device so this structure | ||||
|    is used which is setup by the platform code. | ||||
| 
 | ||||
|    This file is never modular so this symbol is always | ||||
|    accessile to the board support files. | ||||
| */ | ||||
| struct scoop_pcmcia_config *platform_scoop_config; | ||||
| EXPORT_SYMBOL(platform_scoop_config); | ||||
| 
 | ||||
| #define SCOOP_REG(d,adr) (*(volatile unsigned short*)(d +(adr))) | ||||
| 
 | ||||
| struct  scoop_dev { | ||||
|  | ||||
| @ -1,21 +1,21 @@ | ||||
| # | ||||
| # Automatically generated make config: don't edit | ||||
| # Linux kernel version: 2.6.14-rc3 | ||||
| # Sun Oct  9 16:55:14 2005 | ||||
| # Linux kernel version: 2.6.17-rc1 | ||||
| # Fri Apr 14 19:09:52 2006 | ||||
| # | ||||
| CONFIG_ARM=y | ||||
| CONFIG_MMU=y | ||||
| CONFIG_UID16=y | ||||
| CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||||
| CONFIG_GENERIC_HWEIGHT=y | ||||
| CONFIG_GENERIC_CALIBRATE_DELAY=y | ||||
| CONFIG_ARCH_MTD_XIP=y | ||||
| CONFIG_VECTORS_BASE=0xffff0000 | ||||
| 
 | ||||
| # | ||||
| # Code maturity level options | ||||
| # | ||||
| CONFIG_EXPERIMENTAL=y | ||||
| CONFIG_CLEAN_COMPILE=y | ||||
| CONFIG_BROKEN_ON_SMP=y | ||||
| CONFIG_LOCK_KERNEL=y | ||||
| CONFIG_INIT_ENV_ARG_LIMIT=32 | ||||
| 
 | ||||
| # | ||||
| @ -23,45 +23,58 @@ CONFIG_INIT_ENV_ARG_LIMIT=32 | ||||
| # | ||||
| CONFIG_LOCALVERSION="" | ||||
| CONFIG_LOCALVERSION_AUTO=y | ||||
| CONFIG_SWAP=y | ||||
| # CONFIG_SWAP is not set | ||||
| CONFIG_SYSVIPC=y | ||||
| # CONFIG_POSIX_MQUEUE is not set | ||||
| CONFIG_BSD_PROCESS_ACCT=y | ||||
| # CONFIG_BSD_PROCESS_ACCT_V3 is not set | ||||
| # CONFIG_BSD_PROCESS_ACCT is not set | ||||
| CONFIG_SYSCTL=y | ||||
| # CONFIG_AUDIT is not set | ||||
| CONFIG_HOTPLUG=y | ||||
| CONFIG_KOBJECT_UEVENT=y | ||||
| # CONFIG_IKCONFIG is not set | ||||
| # CONFIG_RELAY is not set | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| CONFIG_UID16=y | ||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||||
| CONFIG_EMBEDDED=y | ||||
| CONFIG_KALLSYMS=y | ||||
| # CONFIG_KALLSYMS_ALL is not set | ||||
| # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||||
| CONFIG_HOTPLUG=y | ||||
| CONFIG_PRINTK=y | ||||
| CONFIG_BUG=y | ||||
| CONFIG_BASE_FULL=y | ||||
| CONFIG_ELF_CORE=y | ||||
| # CONFIG_BASE_FULL is not set | ||||
| CONFIG_FUTEX=y | ||||
| CONFIG_EPOLL=y | ||||
| # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set | ||||
| # CONFIG_EPOLL is not set | ||||
| CONFIG_SHMEM=y | ||||
| CONFIG_CC_ALIGN_FUNCTIONS=0 | ||||
| CONFIG_CC_ALIGN_LABELS=0 | ||||
| CONFIG_CC_ALIGN_LOOPS=0 | ||||
| CONFIG_CC_ALIGN_JUMPS=0 | ||||
| # CONFIG_SLAB is not set | ||||
| CONFIG_DOUBLEFAULT=y | ||||
| # CONFIG_TINY_SHMEM is not set | ||||
| CONFIG_BASE_SMALL=0 | ||||
| CONFIG_BASE_SMALL=1 | ||||
| CONFIG_SLOB=y | ||||
| CONFIG_OBSOLETE_INTERMODULE=y | ||||
| 
 | ||||
| # | ||||
| # Loadable module support | ||||
| # | ||||
| CONFIG_MODULES=y | ||||
| CONFIG_MODULE_UNLOAD=y | ||||
| CONFIG_MODULE_FORCE_UNLOAD=y | ||||
| CONFIG_OBSOLETE_MODPARM=y | ||||
| CONFIG_MODVERSIONS=y | ||||
| # CONFIG_MODULE_SRCVERSION_ALL is not set | ||||
| CONFIG_KMOD=y | ||||
| # CONFIG_MODULES is not set | ||||
| 
 | ||||
| # | ||||
| # Block layer | ||||
| # | ||||
| # CONFIG_BLK_DEV_IO_TRACE is not set | ||||
| 
 | ||||
| # | ||||
| # IO Schedulers | ||||
| # | ||||
| CONFIG_IOSCHED_NOOP=y | ||||
| CONFIG_IOSCHED_AS=y | ||||
| # CONFIG_IOSCHED_DEADLINE is not set | ||||
| # CONFIG_IOSCHED_CFQ is not set | ||||
| CONFIG_DEFAULT_AS=y | ||||
| # CONFIG_DEFAULT_DEADLINE is not set | ||||
| # CONFIG_DEFAULT_CFQ is not set | ||||
| # CONFIG_DEFAULT_NOOP is not set | ||||
| CONFIG_DEFAULT_IOSCHED="anticipatory" | ||||
| 
 | ||||
| # | ||||
| # System Type | ||||
| @ -70,11 +83,13 @@ CONFIG_KMOD=y | ||||
| # CONFIG_ARCH_CLPS711X is not set | ||||
| # CONFIG_ARCH_CO285 is not set | ||||
| # CONFIG_ARCH_EBSA110 is not set | ||||
| # CONFIG_ARCH_EP93XX is not set | ||||
| # CONFIG_ARCH_FOOTBRIDGE is not set | ||||
| # CONFIG_ARCH_INTEGRATOR is not set | ||||
| # CONFIG_ARCH_IOP3XX is not set | ||||
| # CONFIG_ARCH_IXP4XX is not set | ||||
| # CONFIG_ARCH_IXP2000 is not set | ||||
| # CONFIG_ARCH_IXP23XX is not set | ||||
| # CONFIG_ARCH_L7200 is not set | ||||
| # CONFIG_ARCH_PXA is not set | ||||
| # CONFIG_ARCH_RPC is not set | ||||
| @ -84,9 +99,11 @@ CONFIG_ARCH_SA1100=y | ||||
| # CONFIG_ARCH_LH7A40X is not set | ||||
| # CONFIG_ARCH_OMAP is not set | ||||
| # CONFIG_ARCH_VERSATILE is not set | ||||
| # CONFIG_ARCH_REALVIEW is not set | ||||
| # CONFIG_ARCH_IMX is not set | ||||
| # CONFIG_ARCH_H720X is not set | ||||
| # CONFIG_ARCH_AAEC2000 is not set | ||||
| # CONFIG_ARCH_AT91RM9200 is not set | ||||
| 
 | ||||
| # | ||||
| # SA11x0 Implementations | ||||
| @ -128,20 +145,32 @@ CONFIG_SHARP_SCOOP=y | ||||
| # Bus support | ||||
| # | ||||
| CONFIG_ISA=y | ||||
| CONFIG_ISA_DMA_API=y | ||||
| 
 | ||||
| # | ||||
| # PCCARD (PCMCIA/CardBus) support | ||||
| # | ||||
| # CONFIG_PCCARD is not set | ||||
| CONFIG_PCCARD=y | ||||
| CONFIG_PCMCIA_DEBUG=y | ||||
| CONFIG_PCMCIA=y | ||||
| CONFIG_PCMCIA_LOAD_CIS=y | ||||
| CONFIG_PCMCIA_IOCTL=y | ||||
| 
 | ||||
| # | ||||
| # PC-card bridges | ||||
| # | ||||
| # CONFIG_I82365 is not set | ||||
| # CONFIG_TCIC is not set | ||||
| CONFIG_PCMCIA_SA1100=y | ||||
| 
 | ||||
| # | ||||
| # Kernel Features | ||||
| # | ||||
| # CONFIG_SMP is not set | ||||
| CONFIG_PREEMPT=y | ||||
| # CONFIG_PREEMPT is not set | ||||
| # CONFIG_NO_IDLE_HZ is not set | ||||
| CONFIG_HZ=100 | ||||
| # CONFIG_AEABI is not set | ||||
| CONFIG_ARCH_DISCONTIGMEM_ENABLE=y | ||||
| CONFIG_NODES_SHIFT=2 | ||||
| CONFIG_SELECT_MEMORY_MODEL=y | ||||
| # CONFIG_FLATMEM_MANUAL is not set | ||||
| CONFIG_DISCONTIGMEM_MANUAL=y | ||||
| @ -150,6 +179,7 @@ CONFIG_DISCONTIGMEM=y | ||||
| CONFIG_FLAT_NODE_MEM_MAP=y | ||||
| CONFIG_NEED_MULTIPLE_NODES=y | ||||
| # CONFIG_SPARSEMEM_STATIC is not set | ||||
| CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||||
| # CONFIG_LEDS is not set | ||||
| CONFIG_ALIGNMENT_TRAP=y | ||||
| 
 | ||||
| @ -158,7 +188,7 @@ CONFIG_ALIGNMENT_TRAP=y | ||||
| # | ||||
| CONFIG_ZBOOT_ROM_TEXT=0x0 | ||||
| CONFIG_ZBOOT_ROM_BSS=0x0 | ||||
| CONFIG_CMDLINE="console=ttyS0,115200n8 console=tty1 noinitrd root=/dev/mtdblock2 rootfstype=jffs2   debug" | ||||
| CONFIG_CMDLINE="noinitrd root=/dev/mtdblock2 rootfstype=jffs2 fbcon=rotate:1" | ||||
| # CONFIG_XIP_KERNEL is not set | ||||
| 
 | ||||
| # | ||||
| @ -181,14 +211,16 @@ CONFIG_FPE_NWFPE=y | ||||
| # Userspace binary formats | ||||
| # | ||||
| CONFIG_BINFMT_ELF=y | ||||
| CONFIG_BINFMT_AOUT=m | ||||
| CONFIG_BINFMT_MISC=m | ||||
| # CONFIG_BINFMT_AOUT is not set | ||||
| # CONFIG_BINFMT_MISC is not set | ||||
| # CONFIG_ARTHUR is not set | ||||
| 
 | ||||
| # | ||||
| # Power management options | ||||
| # | ||||
| CONFIG_PM=y | ||||
| CONFIG_PM_LEGACY=y | ||||
| # CONFIG_PM_DEBUG is not set | ||||
| CONFIG_APM=y | ||||
| 
 | ||||
| # | ||||
| @ -199,6 +231,7 @@ CONFIG_NET=y | ||||
| # | ||||
| # Networking options | ||||
| # | ||||
| # CONFIG_NETDEBUG is not set | ||||
| CONFIG_PACKET=y | ||||
| CONFIG_PACKET_MMAP=y | ||||
| CONFIG_UNIX=y | ||||
| @ -211,16 +244,19 @@ CONFIG_IP_FIB_HASH=y | ||||
| # CONFIG_NET_IPIP is not set | ||||
| # CONFIG_NET_IPGRE is not set | ||||
| # CONFIG_ARPD is not set | ||||
| CONFIG_SYN_COOKIES=y | ||||
| # CONFIG_SYN_COOKIES is not set | ||||
| # CONFIG_INET_AH is not set | ||||
| # CONFIG_INET_ESP is not set | ||||
| # CONFIG_INET_IPCOMP is not set | ||||
| # CONFIG_INET_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET_TUNNEL is not set | ||||
| CONFIG_INET_DIAG=y | ||||
| CONFIG_INET_TCP_DIAG=y | ||||
| # CONFIG_TCP_CONG_ADVANCED is not set | ||||
| CONFIG_TCP_CONG_BIC=y | ||||
| # CONFIG_IPV6 is not set | ||||
| # CONFIG_INET6_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET6_TUNNEL is not set | ||||
| # CONFIG_NETFILTER is not set | ||||
| 
 | ||||
| # | ||||
| @ -232,6 +268,11 @@ CONFIG_TCP_CONG_BIC=y | ||||
| # SCTP Configuration (EXPERIMENTAL) | ||||
| # | ||||
| # CONFIG_IP_SCTP is not set | ||||
| 
 | ||||
| # | ||||
| # TIPC Configuration (EXPERIMENTAL) | ||||
| # | ||||
| # CONFIG_TIPC is not set | ||||
| # CONFIG_ATM is not set | ||||
| # CONFIG_BRIDGE is not set | ||||
| # CONFIG_VLAN_8021Q is not set | ||||
| @ -244,8 +285,11 @@ CONFIG_TCP_CONG_BIC=y | ||||
| # CONFIG_NET_DIVERT is not set | ||||
| # CONFIG_ECONET is not set | ||||
| # CONFIG_WAN_ROUTER is not set | ||||
| 
 | ||||
| # | ||||
| # QoS and/or fair queueing | ||||
| # | ||||
| # CONFIG_NET_SCHED is not set | ||||
| # CONFIG_NET_CLS_ROUTE is not set | ||||
| 
 | ||||
| # | ||||
| # Network testing | ||||
| @ -265,9 +309,14 @@ CONFIG_TCP_CONG_BIC=y | ||||
| # | ||||
| CONFIG_STANDALONE=y | ||||
| CONFIG_PREVENT_FIRMWARE_BUILD=y | ||||
| CONFIG_FW_LOADER=m | ||||
| CONFIG_FW_LOADER=y | ||||
| # CONFIG_DEBUG_DRIVER is not set | ||||
| 
 | ||||
| # | ||||
| # Connector - unified userspace <-> kernelspace linker | ||||
| # | ||||
| # CONFIG_CONNECTOR is not set | ||||
| 
 | ||||
| # | ||||
| # Memory Technology Devices (MTD) | ||||
| # | ||||
| @ -287,32 +336,49 @@ CONFIG_MTD_BLOCK=y | ||||
| # CONFIG_FTL is not set | ||||
| # CONFIG_NFTL is not set | ||||
| # CONFIG_INFTL is not set | ||||
| # CONFIG_RFD_FTL is not set | ||||
| 
 | ||||
| # | ||||
| # RAM/ROM/Flash chip drivers | ||||
| # | ||||
| # CONFIG_MTD_CFI is not set | ||||
| # CONFIG_MTD_JEDECPROBE is not set | ||||
| CONFIG_MTD_MAP_BANK_WIDTH_1=y | ||||
| CONFIG_MTD_MAP_BANK_WIDTH_2=y | ||||
| CONFIG_MTD_CFI=y | ||||
| CONFIG_MTD_JEDECPROBE=y | ||||
| CONFIG_MTD_GEN_PROBE=y | ||||
| CONFIG_MTD_CFI_ADV_OPTIONS=y | ||||
| CONFIG_MTD_CFI_NOSWAP=y | ||||
| # CONFIG_MTD_CFI_BE_BYTE_SWAP is not set | ||||
| # CONFIG_MTD_CFI_LE_BYTE_SWAP is not set | ||||
| CONFIG_MTD_CFI_GEOMETRY=y | ||||
| # CONFIG_MTD_MAP_BANK_WIDTH_1 is not set | ||||
| # CONFIG_MTD_MAP_BANK_WIDTH_2 is not set | ||||
| CONFIG_MTD_MAP_BANK_WIDTH_4=y | ||||
| # CONFIG_MTD_MAP_BANK_WIDTH_8 is not set | ||||
| # CONFIG_MTD_MAP_BANK_WIDTH_16 is not set | ||||
| # CONFIG_MTD_MAP_BANK_WIDTH_32 is not set | ||||
| CONFIG_MTD_CFI_I1=y | ||||
| CONFIG_MTD_CFI_I2=y | ||||
| # CONFIG_MTD_CFI_I4 is not set | ||||
| # CONFIG_MTD_CFI_I1 is not set | ||||
| # CONFIG_MTD_CFI_I2 is not set | ||||
| CONFIG_MTD_CFI_I4=y | ||||
| # CONFIG_MTD_CFI_I8 is not set | ||||
| # CONFIG_MTD_OTP is not set | ||||
| CONFIG_MTD_CFI_INTELEXT=y | ||||
| # CONFIG_MTD_CFI_AMDSTD is not set | ||||
| # CONFIG_MTD_CFI_STAA is not set | ||||
| CONFIG_MTD_CFI_UTIL=y | ||||
| # CONFIG_MTD_RAM is not set | ||||
| # CONFIG_MTD_ROM is not set | ||||
| # CONFIG_MTD_ABSENT is not set | ||||
| CONFIG_MTD_OBSOLETE_CHIPS=y | ||||
| CONFIG_MTD_SHARP=y | ||||
| # CONFIG_MTD_XIP is not set | ||||
| 
 | ||||
| # | ||||
| # Mapping drivers for chip access | ||||
| # | ||||
| # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||||
| # CONFIG_MTD_PHYSMAP is not set | ||||
| # CONFIG_MTD_ARM_INTEGRATOR is not set | ||||
| CONFIG_MTD_SA1100=y | ||||
| # CONFIG_MTD_IMPA7 is not set | ||||
| # CONFIG_MTD_PLATRAM is not set | ||||
| 
 | ||||
| # | ||||
| @ -321,7 +387,6 @@ CONFIG_MTD_SHARP=y | ||||
| # CONFIG_MTD_SLRAM is not set | ||||
| # CONFIG_MTD_PHRAM is not set | ||||
| # CONFIG_MTD_MTDRAM is not set | ||||
| # CONFIG_MTD_BLKMTD is not set | ||||
| # CONFIG_MTD_BLOCK2MTD is not set | ||||
| 
 | ||||
| # | ||||
| @ -336,6 +401,11 @@ CONFIG_MTD_SHARP=y | ||||
| # | ||||
| # CONFIG_MTD_NAND is not set | ||||
| 
 | ||||
| # | ||||
| # OneNAND Flash Device Drivers | ||||
| # | ||||
| # CONFIG_MTD_ONENAND is not set | ||||
| 
 | ||||
| # | ||||
| # Parallel port support | ||||
| # | ||||
| @ -349,7 +419,6 @@ CONFIG_MTD_SHARP=y | ||||
| # | ||||
| # Block devices | ||||
| # | ||||
| # CONFIG_BLK_DEV_XD is not set | ||||
| # CONFIG_BLK_DEV_COW_COMMON is not set | ||||
| CONFIG_BLK_DEV_LOOP=y | ||||
| # CONFIG_BLK_DEV_CRYPTOLOOP is not set | ||||
| @ -359,20 +428,35 @@ CONFIG_BLK_DEV_RAM_COUNT=16 | ||||
| CONFIG_BLK_DEV_RAM_SIZE=1024 | ||||
| CONFIG_BLK_DEV_INITRD=y | ||||
| # CONFIG_CDROM_PKTCDVD is not set | ||||
| 
 | ||||
| # | ||||
| # IO Schedulers | ||||
| # | ||||
| CONFIG_IOSCHED_NOOP=y | ||||
| CONFIG_IOSCHED_AS=y | ||||
| CONFIG_IOSCHED_DEADLINE=y | ||||
| CONFIG_IOSCHED_CFQ=y | ||||
| CONFIG_ATA_OVER_ETH=m | ||||
| # CONFIG_ATA_OVER_ETH is not set | ||||
| 
 | ||||
| # | ||||
| # ATA/ATAPI/MFM/RLL support | ||||
| # | ||||
| # CONFIG_IDE is not set | ||||
| CONFIG_IDE=y | ||||
| CONFIG_BLK_DEV_IDE=y | ||||
| 
 | ||||
| # | ||||
| # Please see Documentation/ide.txt for help/info on IDE drives | ||||
| # | ||||
| # CONFIG_BLK_DEV_IDE_SATA is not set | ||||
| CONFIG_BLK_DEV_IDEDISK=y | ||||
| CONFIG_IDEDISK_MULTI_MODE=y | ||||
| CONFIG_BLK_DEV_IDECS=y | ||||
| # CONFIG_BLK_DEV_IDECD is not set | ||||
| # CONFIG_BLK_DEV_IDETAPE is not set | ||||
| # CONFIG_BLK_DEV_IDEFLOPPY is not set | ||||
| # CONFIG_IDE_TASK_IOCTL is not set | ||||
| 
 | ||||
| # | ||||
| # IDE chipset support/bugfixes | ||||
| # | ||||
| CONFIG_IDE_GENERIC=y | ||||
| # CONFIG_IDE_ARM is not set | ||||
| # CONFIG_IDE_CHIPSETS is not set | ||||
| # CONFIG_BLK_DEV_IDEDMA is not set | ||||
| # CONFIG_IDEDMA_AUTO is not set | ||||
| # CONFIG_BLK_DEV_HD is not set | ||||
| 
 | ||||
| # | ||||
| # SCSI device support | ||||
| @ -402,6 +486,39 @@ CONFIG_ATA_OVER_ETH=m | ||||
| # Network device support | ||||
| # | ||||
| # CONFIG_NETDEVICES is not set | ||||
| # CONFIG_DUMMY is not set | ||||
| # CONFIG_BONDING is not set | ||||
| # CONFIG_EQUALIZER is not set | ||||
| # CONFIG_TUN is not set | ||||
| 
 | ||||
| # | ||||
| # PHY device support | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Ethernet (10 or 100Mbit) | ||||
| # | ||||
| # CONFIG_NET_ETHERNET is not set | ||||
| 
 | ||||
| # | ||||
| # Ethernet (1000 Mbit) | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Ethernet (10000 Mbit) | ||||
| # | ||||
| CONFIG_PPP=y | ||||
| # CONFIG_PPP_MULTILINK is not set | ||||
| # CONFIG_PPP_FILTER is not set | ||||
| CONFIG_PPP_ASYNC=y | ||||
| # CONFIG_PPP_SYNC_TTY is not set | ||||
| # CONFIG_PPP_DEFLATE is not set | ||||
| # CONFIG_PPP_BSDCOMP is not set | ||||
| # CONFIG_PPP_MPPE is not set | ||||
| # CONFIG_PPPOE is not set | ||||
| # CONFIG_SLIP is not set | ||||
| # CONFIG_SHAPER is not set | ||||
| # CONFIG_NETCONSOLE is not set | ||||
| # CONFIG_NETPOLL is not set | ||||
| # CONFIG_NET_POLL_CONTROLLER is not set | ||||
| 
 | ||||
| @ -424,7 +541,7 @@ CONFIG_INPUT_TSDEV=y | ||||
| CONFIG_INPUT_TSDEV_SCREEN_X=240 | ||||
| CONFIG_INPUT_TSDEV_SCREEN_Y=320 | ||||
| CONFIG_INPUT_EVDEV=y | ||||
| CONFIG_INPUT_EVBUG=y | ||||
| # CONFIG_INPUT_EVBUG is not set | ||||
| 
 | ||||
| # | ||||
| # Input Device Drivers | ||||
| @ -438,7 +555,11 @@ CONFIG_KEYBOARD_LOCOMO=y | ||||
| # CONFIG_KEYBOARD_NEWTON is not set | ||||
| # CONFIG_INPUT_MOUSE is not set | ||||
| # CONFIG_INPUT_JOYSTICK is not set | ||||
| # CONFIG_INPUT_TOUCHSCREEN is not set | ||||
| CONFIG_INPUT_TOUCHSCREEN=y | ||||
| # CONFIG_TOUCHSCREEN_GUNZE is not set | ||||
| # CONFIG_TOUCHSCREEN_ELO is not set | ||||
| # CONFIG_TOUCHSCREEN_MTOUCH is not set | ||||
| # CONFIG_TOUCHSCREEN_MK712 is not set | ||||
| # CONFIG_INPUT_MISC is not set | ||||
| 
 | ||||
| # | ||||
| @ -461,7 +582,16 @@ CONFIG_HW_CONSOLE=y | ||||
| # | ||||
| # Serial drivers | ||||
| # | ||||
| # CONFIG_SERIAL_8250 is not set | ||||
| CONFIG_SERIAL_8250=y | ||||
| # CONFIG_SERIAL_8250_CONSOLE is not set | ||||
| CONFIG_SERIAL_8250_CS=y | ||||
| CONFIG_SERIAL_8250_NR_UARTS=4 | ||||
| CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||||
| CONFIG_SERIAL_8250_EXTENDED=y | ||||
| # CONFIG_SERIAL_8250_MANY_PORTS is not set | ||||
| # CONFIG_SERIAL_8250_SHARE_IRQ is not set | ||||
| # CONFIG_SERIAL_8250_DETECT_IRQ is not set | ||||
| # CONFIG_SERIAL_8250_RSA is not set | ||||
| 
 | ||||
| # | ||||
| # Non-8250 serial port support | ||||
| @ -483,94 +613,48 @@ CONFIG_UNIX98_PTYS=y | ||||
| # | ||||
| # CONFIG_WATCHDOG is not set | ||||
| # CONFIG_NVRAM is not set | ||||
| # CONFIG_RTC is not set | ||||
| # CONFIG_DTLK is not set | ||||
| # CONFIG_R3964 is not set | ||||
| 
 | ||||
| # | ||||
| # Ftape, the floppy tape device driver | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # PCMCIA character devices | ||||
| # | ||||
| # CONFIG_SYNCLINK_CS is not set | ||||
| # CONFIG_CARDMAN_4000 is not set | ||||
| # CONFIG_CARDMAN_4040 is not set | ||||
| # CONFIG_RAW_DRIVER is not set | ||||
| 
 | ||||
| # | ||||
| # TPM devices | ||||
| # | ||||
| # CONFIG_TCG_TPM is not set | ||||
| # CONFIG_TELCLOCK is not set | ||||
| 
 | ||||
| # | ||||
| # I2C support | ||||
| # | ||||
| CONFIG_I2C=m | ||||
| # CONFIG_I2C_CHARDEV is not set | ||||
| # CONFIG_I2C is not set | ||||
| 
 | ||||
| # | ||||
| # I2C Algorithms | ||||
| # SPI support | ||||
| # | ||||
| CONFIG_I2C_ALGOBIT=m | ||||
| # CONFIG_I2C_ALGOPCF is not set | ||||
| # CONFIG_I2C_ALGOPCA is not set | ||||
| # CONFIG_SPI is not set | ||||
| # CONFIG_SPI_MASTER is not set | ||||
| 
 | ||||
| # | ||||
| # I2C Hardware Bus support | ||||
| # Dallas's 1-wire bus | ||||
| # | ||||
| # CONFIG_I2C_ELEKTOR is not set | ||||
| # CONFIG_I2C_PARPORT_LIGHT is not set | ||||
| # CONFIG_I2C_STUB is not set | ||||
| # CONFIG_I2C_PCA_ISA is not set | ||||
| 
 | ||||
| # | ||||
| # Miscellaneous I2C Chip support | ||||
| # | ||||
| # CONFIG_SENSORS_DS1337 is not set | ||||
| # CONFIG_SENSORS_DS1374 is not set | ||||
| # CONFIG_SENSORS_EEPROM is not set | ||||
| # CONFIG_SENSORS_PCF8574 is not set | ||||
| # CONFIG_SENSORS_PCA9539 is not set | ||||
| # CONFIG_SENSORS_PCF8591 is not set | ||||
| # CONFIG_SENSORS_RTC8564 is not set | ||||
| # CONFIG_SENSORS_MAX6875 is not set | ||||
| # CONFIG_I2C_DEBUG_CORE is not set | ||||
| # CONFIG_I2C_DEBUG_ALGO is not set | ||||
| # CONFIG_I2C_DEBUG_BUS is not set | ||||
| # CONFIG_I2C_DEBUG_CHIP is not set | ||||
| # CONFIG_W1 is not set | ||||
| 
 | ||||
| # | ||||
| # Hardware Monitoring support | ||||
| # | ||||
| CONFIG_HWMON=y | ||||
| # CONFIG_HWMON is not set | ||||
| # CONFIG_HWMON_VID is not set | ||||
| # CONFIG_SENSORS_ADM1021 is not set | ||||
| # CONFIG_SENSORS_ADM1025 is not set | ||||
| # CONFIG_SENSORS_ADM1026 is not set | ||||
| # CONFIG_SENSORS_ADM1031 is not set | ||||
| # CONFIG_SENSORS_ADM9240 is not set | ||||
| # CONFIG_SENSORS_ASB100 is not set | ||||
| # CONFIG_SENSORS_ATXP1 is not set | ||||
| # CONFIG_SENSORS_DS1621 is not set | ||||
| # CONFIG_SENSORS_FSCHER is not set | ||||
| # CONFIG_SENSORS_FSCPOS is not set | ||||
| # CONFIG_SENSORS_GL518SM is not set | ||||
| # CONFIG_SENSORS_GL520SM is not set | ||||
| # CONFIG_SENSORS_IT87 is not set | ||||
| # CONFIG_SENSORS_LM63 is not set | ||||
| # CONFIG_SENSORS_LM75 is not set | ||||
| # CONFIG_SENSORS_LM77 is not set | ||||
| # CONFIG_SENSORS_LM78 is not set | ||||
| # CONFIG_SENSORS_LM80 is not set | ||||
| # CONFIG_SENSORS_LM83 is not set | ||||
| # CONFIG_SENSORS_LM85 is not set | ||||
| # CONFIG_SENSORS_LM87 is not set | ||||
| # CONFIG_SENSORS_LM90 is not set | ||||
| # CONFIG_SENSORS_LM92 is not set | ||||
| # CONFIG_SENSORS_MAX1619 is not set | ||||
| # CONFIG_SENSORS_PC87360 is not set | ||||
| # CONFIG_SENSORS_SMSC47M1 is not set | ||||
| # CONFIG_SENSORS_SMSC47B397 is not set | ||||
| # CONFIG_SENSORS_W83781D is not set | ||||
| # CONFIG_SENSORS_W83792D is not set | ||||
| # CONFIG_SENSORS_W83L785TS is not set | ||||
| # CONFIG_SENSORS_W83627HF is not set | ||||
| # CONFIG_SENSORS_W83627EHF is not set | ||||
| # CONFIG_HWMON_DEBUG_CHIP is not set | ||||
| 
 | ||||
| # | ||||
| # Misc devices | ||||
| @ -579,42 +663,33 @@ CONFIG_HWMON=y | ||||
| # | ||||
| # Multimedia Capabilities Port drivers | ||||
| # | ||||
| # CONFIG_MCP_SA11X0 is not set | ||||
| CONFIG_MCP=y | ||||
| CONFIG_MCP_SA11X0=y | ||||
| CONFIG_MCP_UCB1200=y | ||||
| CONFIG_MCP_UCB1200_TS=y | ||||
| 
 | ||||
| # | ||||
| # LED devices | ||||
| # | ||||
| CONFIG_NEW_LEDS=y | ||||
| CONFIG_LEDS_CLASS=y | ||||
| 
 | ||||
| # | ||||
| # LED drivers | ||||
| # | ||||
| CONFIG_LEDS_LOCOMO=y | ||||
| 
 | ||||
| # | ||||
| # LED Triggers | ||||
| # | ||||
| CONFIG_LEDS_TRIGGERS=y | ||||
| CONFIG_LEDS_TRIGGER_TIMER=y | ||||
| CONFIG_LEDS_TRIGGER_IDE_DISK=y | ||||
| 
 | ||||
| # | ||||
| # Multimedia devices | ||||
| # | ||||
| CONFIG_VIDEO_DEV=m | ||||
| 
 | ||||
| # | ||||
| # Video For Linux | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Video Adapters | ||||
| # | ||||
| # CONFIG_VIDEO_PMS is not set | ||||
| # CONFIG_VIDEO_CPIA is not set | ||||
| # CONFIG_VIDEO_SAA5246A is not set | ||||
| # CONFIG_VIDEO_SAA5249 is not set | ||||
| # CONFIG_TUNER_3036 is not set | ||||
| # CONFIG_VIDEO_OVCAMCHIP is not set | ||||
| 
 | ||||
| # | ||||
| # Radio Adapters | ||||
| # | ||||
| # CONFIG_RADIO_CADET is not set | ||||
| # CONFIG_RADIO_RTRACK is not set | ||||
| # CONFIG_RADIO_RTRACK2 is not set | ||||
| # CONFIG_RADIO_AZTECH is not set | ||||
| # CONFIG_RADIO_GEMTEK is not set | ||||
| # CONFIG_RADIO_MAESTRO is not set | ||||
| # CONFIG_RADIO_SF16FMI is not set | ||||
| # CONFIG_RADIO_SF16FMR2 is not set | ||||
| # CONFIG_RADIO_TERRATEC is not set | ||||
| # CONFIG_RADIO_TRUST is not set | ||||
| # CONFIG_RADIO_TYPHOON is not set | ||||
| # CONFIG_RADIO_ZOLTRIX is not set | ||||
| # CONFIG_VIDEO_DEV is not set | ||||
| 
 | ||||
| # | ||||
| # Digital Video Broadcasting Devices | ||||
| @ -628,8 +703,8 @@ CONFIG_FB=y | ||||
| CONFIG_FB_CFB_FILLRECT=y | ||||
| CONFIG_FB_CFB_COPYAREA=y | ||||
| CONFIG_FB_CFB_IMAGEBLIT=y | ||||
| CONFIG_FB_SOFT_CURSOR=y | ||||
| # CONFIG_FB_MACMODES is not set | ||||
| # CONFIG_FB_FIRMWARE_EDID is not set | ||||
| CONFIG_FB_MODE_HELPERS=y | ||||
| # CONFIG_FB_TILEBLITTING is not set | ||||
| CONFIG_FB_SA1100=y | ||||
| @ -643,14 +718,15 @@ CONFIG_FB_SA1100=y | ||||
| # CONFIG_MDA_CONSOLE is not set | ||||
| CONFIG_DUMMY_CONSOLE=y | ||||
| CONFIG_FRAMEBUFFER_CONSOLE=y | ||||
| CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y | ||||
| CONFIG_FONTS=y | ||||
| CONFIG_FONT_8x8=y | ||||
| # CONFIG_FONT_8x8 is not set | ||||
| # CONFIG_FONT_8x16 is not set | ||||
| # CONFIG_FONT_6x11 is not set | ||||
| # CONFIG_FONT_7x14 is not set | ||||
| # CONFIG_FONT_PEARL_8x8 is not set | ||||
| # CONFIG_FONT_ACORN_8x8 is not set | ||||
| # CONFIG_FONT_MINI_4x6 is not set | ||||
| CONFIG_FONT_MINI_4x6=y | ||||
| # CONFIG_FONT_SUN8x16 is not set | ||||
| # CONFIG_FONT_SUN12x22 is not set | ||||
| # CONFIG_FONT_10x18 is not set | ||||
| @ -659,7 +735,11 @@ CONFIG_FONT_8x8=y | ||||
| # Logo configuration | ||||
| # | ||||
| # CONFIG_LOGO is not set | ||||
| # CONFIG_BACKLIGHT_LCD_SUPPORT is not set | ||||
| CONFIG_BACKLIGHT_LCD_SUPPORT=y | ||||
| CONFIG_BACKLIGHT_CLASS_DEVICE=y | ||||
| CONFIG_BACKLIGHT_DEVICE=y | ||||
| CONFIG_LCD_CLASS_DEVICE=y | ||||
| CONFIG_LCD_DEVICE=y | ||||
| 
 | ||||
| # | ||||
| # Sound | ||||
| @ -671,44 +751,42 @@ CONFIG_FONT_8x8=y | ||||
| # | ||||
| CONFIG_USB_ARCH_HAS_HCD=y | ||||
| # CONFIG_USB_ARCH_HAS_OHCI is not set | ||||
| # CONFIG_USB_ARCH_HAS_EHCI is not set | ||||
| # CONFIG_USB is not set | ||||
| 
 | ||||
| # | ||||
| # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # USB Gadget Support | ||||
| # | ||||
| CONFIG_USB_GADGET=y | ||||
| # CONFIG_USB_GADGET_DEBUG_FILES is not set | ||||
| # CONFIG_USB_GADGET_NET2280 is not set | ||||
| # CONFIG_USB_GADGET_PXA2XX is not set | ||||
| # CONFIG_USB_GADGET_GOKU is not set | ||||
| # CONFIG_USB_GADGET_LH7A40X is not set | ||||
| # CONFIG_USB_GADGET_OMAP is not set | ||||
| # CONFIG_USB_GADGET_DUMMY_HCD is not set | ||||
| # CONFIG_USB_GADGET_DUALSPEED is not set | ||||
| # CONFIG_USB_GADGET is not set | ||||
| 
 | ||||
| # | ||||
| # MMC/SD Card support | ||||
| # | ||||
| # CONFIG_MMC is not set | ||||
| 
 | ||||
| # | ||||
| # Real Time Clock | ||||
| # | ||||
| CONFIG_RTC_LIB=y | ||||
| # CONFIG_RTC_CLASS is not set | ||||
| 
 | ||||
| # | ||||
| # File systems | ||||
| # | ||||
| CONFIG_EXT2_FS=y | ||||
| CONFIG_EXT2_FS_XATTR=y | ||||
| CONFIG_EXT2_FS_POSIX_ACL=y | ||||
| CONFIG_EXT2_FS_SECURITY=y | ||||
| # CONFIG_EXT2_FS_XIP is not set | ||||
| # CONFIG_EXT2_FS is not set | ||||
| # CONFIG_EXT3_FS is not set | ||||
| # CONFIG_JBD is not set | ||||
| CONFIG_FS_MBCACHE=y | ||||
| # CONFIG_REISERFS_FS is not set | ||||
| # CONFIG_JFS_FS is not set | ||||
| CONFIG_FS_POSIX_ACL=y | ||||
| # CONFIG_FS_POSIX_ACL is not set | ||||
| # CONFIG_XFS_FS is not set | ||||
| # CONFIG_OCFS2_FS is not set | ||||
| # CONFIG_MINIX_FS is not set | ||||
| CONFIG_ROMFS_FS=y | ||||
| CONFIG_INOTIFY=y | ||||
| # CONFIG_INOTIFY is not set | ||||
| # CONFIG_QUOTA is not set | ||||
| # CONFIG_DNOTIFY is not set | ||||
| # CONFIG_AUTOFS_FS is not set | ||||
| @ -725,7 +803,7 @@ CONFIG_INOTIFY=y | ||||
| # DOS/FAT/NT Filesystems | ||||
| # | ||||
| CONFIG_FAT_FS=y | ||||
| CONFIG_MSDOS_FS=y | ||||
| # CONFIG_MSDOS_FS is not set | ||||
| CONFIG_VFAT_FS=y | ||||
| CONFIG_FAT_DEFAULT_CODEPAGE=437 | ||||
| CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||||
| @ -739,7 +817,7 @@ CONFIG_SYSFS=y | ||||
| CONFIG_TMPFS=y | ||||
| # CONFIG_HUGETLB_PAGE is not set | ||||
| CONFIG_RAMFS=y | ||||
| # CONFIG_RELAYFS_FS is not set | ||||
| # CONFIG_CONFIGFS_FS is not set | ||||
| 
 | ||||
| # | ||||
| # Miscellaneous filesystems | ||||
| @ -755,11 +833,12 @@ CONFIG_RAMFS=y | ||||
| CONFIG_JFFS2_FS=y | ||||
| CONFIG_JFFS2_FS_DEBUG=0 | ||||
| CONFIG_JFFS2_FS_WRITEBUFFER=y | ||||
| # CONFIG_JFFS2_SUMMARY is not set | ||||
| # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||||
| CONFIG_JFFS2_ZLIB=y | ||||
| CONFIG_JFFS2_RTIME=y | ||||
| # CONFIG_JFFS2_RUBIN is not set | ||||
| CONFIG_CRAMFS=y | ||||
| # CONFIG_CRAMFS is not set | ||||
| # CONFIG_VXFS_FS is not set | ||||
| # CONFIG_HPFS_FS is not set | ||||
| # CONFIG_QNX4FS_FS is not set | ||||
| @ -789,7 +868,7 @@ CONFIG_MSDOS_PARTITION=y | ||||
| # | ||||
| CONFIG_NLS=y | ||||
| CONFIG_NLS_DEFAULT="cp437" | ||||
| CONFIG_NLS_CODEPAGE_437=m | ||||
| CONFIG_NLS_CODEPAGE_437=y | ||||
| # CONFIG_NLS_CODEPAGE_737 is not set | ||||
| # CONFIG_NLS_CODEPAGE_775 is not set | ||||
| # CONFIG_NLS_CODEPAGE_850 is not set | ||||
| @ -813,7 +892,7 @@ CONFIG_NLS_CODEPAGE_437=m | ||||
| # CONFIG_NLS_CODEPAGE_1250 is not set | ||||
| # CONFIG_NLS_CODEPAGE_1251 is not set | ||||
| # CONFIG_NLS_ASCII is not set | ||||
| CONFIG_NLS_ISO8859_1=m | ||||
| CONFIG_NLS_ISO8859_1=y | ||||
| # CONFIG_NLS_ISO8859_2 is not set | ||||
| # CONFIG_NLS_ISO8859_3 is not set | ||||
| # CONFIG_NLS_ISO8859_4 is not set | ||||
| @ -826,7 +905,7 @@ CONFIG_NLS_ISO8859_1=m | ||||
| # CONFIG_NLS_ISO8859_15 is not set | ||||
| # CONFIG_NLS_KOI8_R is not set | ||||
| # CONFIG_NLS_KOI8_U is not set | ||||
| CONFIG_NLS_UTF8=m | ||||
| # CONFIG_NLS_UTF8 is not set | ||||
| 
 | ||||
| # | ||||
| # Profiling support | ||||
| @ -837,20 +916,23 @@ CONFIG_NLS_UTF8=m | ||||
| # Kernel hacking | ||||
| # | ||||
| # CONFIG_PRINTK_TIME is not set | ||||
| CONFIG_DEBUG_KERNEL=y | ||||
| CONFIG_MAGIC_SYSRQ=y | ||||
| CONFIG_DEBUG_KERNEL=y | ||||
| CONFIG_LOG_BUF_SHIFT=14 | ||||
| CONFIG_DETECT_SOFTLOCKUP=y | ||||
| # CONFIG_DETECT_SOFTLOCKUP is not set | ||||
| # CONFIG_SCHEDSTATS is not set | ||||
| # CONFIG_DEBUG_SLAB is not set | ||||
| CONFIG_DEBUG_PREEMPT=y | ||||
| CONFIG_DEBUG_MUTEXES=y | ||||
| # CONFIG_DEBUG_SPINLOCK is not set | ||||
| # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||||
| # CONFIG_DEBUG_KOBJECT is not set | ||||
| # CONFIG_DEBUG_BUGVERBOSE is not set | ||||
| # CONFIG_DEBUG_INFO is not set | ||||
| # CONFIG_DEBUG_FS is not set | ||||
| # CONFIG_DEBUG_VM is not set | ||||
| CONFIG_FRAME_POINTER=y | ||||
| # CONFIG_UNWIND_INFO is not set | ||||
| CONFIG_FORCED_INLINING=y | ||||
| # CONFIG_RCU_TORTURE_TEST is not set | ||||
| # CONFIG_DEBUG_USER is not set | ||||
| # CONFIG_DEBUG_WAITQ is not set | ||||
| CONFIG_DEBUG_ERRORS=y | ||||
| @ -874,7 +956,7 @@ CONFIG_DEBUG_ERRORS=y | ||||
| # | ||||
| # Library routines | ||||
| # | ||||
| # CONFIG_CRC_CCITT is not set | ||||
| CONFIG_CRC_CCITT=y | ||||
| # CONFIG_CRC16 is not set | ||||
| CONFIG_CRC32=y | ||||
| # CONFIG_LIBCRC32C is not set | ||||
|  | ||||
| @ -1,12 +1,14 @@ | ||||
| # | ||||
| # Automatically generated make config: don't edit | ||||
| # Linux kernel version: 2.6.16 | ||||
| # Mon Mar 20 14:54:51 2006 | ||||
| # Linux kernel version: 2.6.17-rc2 | ||||
| # Wed Apr 19 21:21:01 2006 | ||||
| # | ||||
| CONFIG_ARM=y | ||||
| CONFIG_MMU=y | ||||
| CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||||
| CONFIG_GENERIC_HWEIGHT=y | ||||
| CONFIG_GENERIC_CALIBRATE_DELAY=y | ||||
| CONFIG_VECTORS_BASE=0xffff0000 | ||||
| 
 | ||||
| # | ||||
| # Code maturity level options | ||||
| @ -28,6 +30,7 @@ CONFIG_SYSCTL=y | ||||
| # CONFIG_AUDIT is not set | ||||
| CONFIG_IKCONFIG=y | ||||
| CONFIG_IKCONFIG_PROC=y | ||||
| # CONFIG_RELAY is not set | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| CONFIG_UID16=y | ||||
| CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||||
| @ -43,10 +46,6 @@ CONFIG_BASE_FULL=y | ||||
| CONFIG_FUTEX=y | ||||
| CONFIG_EPOLL=y | ||||
| CONFIG_SHMEM=y | ||||
| CONFIG_CC_ALIGN_FUNCTIONS=0 | ||||
| CONFIG_CC_ALIGN_LABELS=0 | ||||
| CONFIG_CC_ALIGN_LOOPS=0 | ||||
| CONFIG_CC_ALIGN_JUMPS=0 | ||||
| CONFIG_SLAB=y | ||||
| # CONFIG_TINY_SHMEM is not set | ||||
| CONFIG_BASE_SMALL=0 | ||||
| @ -59,7 +58,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | ||||
| CONFIG_MODULES=y | ||||
| CONFIG_MODULE_UNLOAD=y | ||||
| CONFIG_MODULE_FORCE_UNLOAD=y | ||||
| CONFIG_OBSOLETE_MODPARM=y | ||||
| # CONFIG_MODVERSIONS is not set | ||||
| # CONFIG_MODULE_SRCVERSION_ALL is not set | ||||
| CONFIG_KMOD=y | ||||
| @ -67,6 +65,7 @@ CONFIG_KMOD=y | ||||
| # | ||||
| # Block layer | ||||
| # | ||||
| # CONFIG_BLK_DEV_IO_TRACE is not set | ||||
| 
 | ||||
| # | ||||
| # IO Schedulers | ||||
| @ -94,6 +93,7 @@ CONFIG_ARCH_EP93XX=y | ||||
| # CONFIG_ARCH_IOP3XX is not set | ||||
| # CONFIG_ARCH_IXP4XX is not set | ||||
| # CONFIG_ARCH_IXP2000 is not set | ||||
| # CONFIG_ARCH_IXP23XX is not set | ||||
| # CONFIG_ARCH_L7200 is not set | ||||
| # CONFIG_ARCH_PXA is not set | ||||
| # CONFIG_ARCH_RPC is not set | ||||
| @ -112,7 +112,6 @@ CONFIG_ARCH_EP93XX=y | ||||
| # | ||||
| # Cirrus EP93xx Implementation Options | ||||
| # | ||||
| CONFIG_CRUNCH=y | ||||
| 
 | ||||
| # | ||||
| # EP93xx Platforms | ||||
| @ -232,12 +231,15 @@ CONFIG_SYN_COOKIES=y | ||||
| # CONFIG_INET_AH is not set | ||||
| # CONFIG_INET_ESP is not set | ||||
| # CONFIG_INET_IPCOMP is not set | ||||
| # CONFIG_INET_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET_TUNNEL is not set | ||||
| CONFIG_INET_DIAG=y | ||||
| CONFIG_INET_TCP_DIAG=y | ||||
| # CONFIG_TCP_CONG_ADVANCED is not set | ||||
| CONFIG_TCP_CONG_BIC=y | ||||
| # CONFIG_IPV6 is not set | ||||
| # CONFIG_INET6_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET6_TUNNEL is not set | ||||
| # CONFIG_NETFILTER is not set | ||||
| 
 | ||||
| # | ||||
| @ -346,7 +348,6 @@ CONFIG_MTD_CFI_I2=y | ||||
| # CONFIG_MTD_OTP is not set | ||||
| CONFIG_MTD_CFI_INTELEXT=y | ||||
| CONFIG_MTD_CFI_AMDSTD=y | ||||
| CONFIG_MTD_CFI_AMDSTD_RETRY=0 | ||||
| CONFIG_MTD_CFI_STAA=y | ||||
| CONFIG_MTD_CFI_UTIL=y | ||||
| # CONFIG_MTD_RAM is not set | ||||
| @ -371,7 +372,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1 | ||||
| # CONFIG_MTD_SLRAM is not set | ||||
| # CONFIG_MTD_PHRAM is not set | ||||
| # CONFIG_MTD_MTDRAM is not set | ||||
| # CONFIG_MTD_BLKMTD is not set | ||||
| # CONFIG_MTD_BLOCK2MTD is not set | ||||
| 
 | ||||
| # | ||||
| @ -412,7 +412,7 @@ CONFIG_MTD_NAND_IDS=y | ||||
| # CONFIG_BLK_DEV_NBD is not set | ||||
| # CONFIG_BLK_DEV_UB is not set | ||||
| # CONFIG_BLK_DEV_RAM is not set | ||||
| CONFIG_BLK_DEV_RAM_COUNT=16 | ||||
| # CONFIG_BLK_DEV_INITRD is not set | ||||
| # CONFIG_CDROM_PKTCDVD is not set | ||||
| # CONFIG_ATA_OVER_ETH is not set | ||||
| 
 | ||||
| @ -576,13 +576,13 @@ CONFIG_WATCHDOG=y | ||||
| # Watchdog Device Drivers | ||||
| # | ||||
| # CONFIG_SOFT_WATCHDOG is not set | ||||
| CONFIG_EP93XX_WATCHDOG=y | ||||
| 
 | ||||
| # | ||||
| # USB-based Watchdog Cards | ||||
| # | ||||
| # CONFIG_USBPCWATCHDOG is not set | ||||
| # CONFIG_NVRAM is not set | ||||
| # CONFIG_RTC is not set | ||||
| # CONFIG_DTLK is not set | ||||
| # CONFIG_R3964 is not set | ||||
| 
 | ||||
| @ -626,9 +626,7 @@ CONFIG_I2C_ALGOBIT=y | ||||
| # CONFIG_SENSORS_PCF8574 is not set | ||||
| # CONFIG_SENSORS_PCA9539 is not set | ||||
| # CONFIG_SENSORS_PCF8591 is not set | ||||
| # CONFIG_SENSORS_RTC8564 is not set | ||||
| # CONFIG_SENSORS_MAX6875 is not set | ||||
| # CONFIG_RTC_X1205_I2C is not set | ||||
| CONFIG_I2C_DEBUG_CORE=y | ||||
| CONFIG_I2C_DEBUG_ALGO=y | ||||
| CONFIG_I2C_DEBUG_BUS=y | ||||
| @ -690,7 +688,16 @@ CONFIG_HWMON=y | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Multimedia Capabilities Port drivers | ||||
| # LED devices | ||||
| # | ||||
| # CONFIG_NEW_LEDS is not set | ||||
| 
 | ||||
| # | ||||
| # LED drivers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # LED Triggers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| @ -702,6 +709,7 @@ CONFIG_HWMON=y | ||||
| # Digital Video Broadcasting Devices | ||||
| # | ||||
| # CONFIG_DVB is not set | ||||
| # CONFIG_USB_DABUSB is not set | ||||
| 
 | ||||
| # | ||||
| # Graphics support | ||||
| @ -718,6 +726,7 @@ CONFIG_HWMON=y | ||||
| # | ||||
| CONFIG_USB_ARCH_HAS_HCD=y | ||||
| # CONFIG_USB_ARCH_HAS_OHCI is not set | ||||
| # CONFIG_USB_ARCH_HAS_EHCI is not set | ||||
| CONFIG_USB=y | ||||
| CONFIG_USB_DEBUG=y | ||||
| 
 | ||||
| @ -775,15 +784,6 @@ CONFIG_USB_STORAGE=y | ||||
| # CONFIG_USB_MDC800 is not set | ||||
| # CONFIG_USB_MICROTEK is not set | ||||
| 
 | ||||
| # | ||||
| # USB Multimedia devices | ||||
| # | ||||
| # CONFIG_USB_DABUSB is not set | ||||
| 
 | ||||
| # | ||||
| # Video4Linux support is needed for USB Multimedia device support | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # USB Network Adapters | ||||
| # | ||||
| @ -813,6 +813,7 @@ CONFIG_USB_SERIAL_CONSOLE=y | ||||
| # CONFIG_USB_SERIAL_CYPRESS_M8 is not set | ||||
| # CONFIG_USB_SERIAL_EMPEG is not set | ||||
| # CONFIG_USB_SERIAL_FTDI_SIO is not set | ||||
| # CONFIG_USB_SERIAL_FUNSOFT is not set | ||||
| # CONFIG_USB_SERIAL_VISOR is not set | ||||
| # CONFIG_USB_SERIAL_IPAQ is not set | ||||
| # CONFIG_USB_SERIAL_IR is not set | ||||
| @ -825,6 +826,7 @@ CONFIG_USB_SERIAL_CONSOLE=y | ||||
| # CONFIG_USB_SERIAL_KLSI is not set | ||||
| # CONFIG_USB_SERIAL_KOBIL_SCT is not set | ||||
| # CONFIG_USB_SERIAL_MCT_U232 is not set | ||||
| # CONFIG_USB_SERIAL_NAVMAN is not set | ||||
| CONFIG_USB_SERIAL_PL2303=y | ||||
| # CONFIG_USB_SERIAL_HP4X is not set | ||||
| # CONFIG_USB_SERIAL_SAFE is not set | ||||
| @ -864,6 +866,32 @@ CONFIG_USB_SERIAL_PL2303=y | ||||
| # | ||||
| # CONFIG_MMC is not set | ||||
| 
 | ||||
| # | ||||
| # Real Time Clock | ||||
| # | ||||
| CONFIG_RTC_LIB=y | ||||
| CONFIG_RTC_CLASS=y | ||||
| CONFIG_RTC_HCTOSYS=y | ||||
| CONFIG_RTC_HCTOSYS_DEVICE="rtc0" | ||||
| 
 | ||||
| # | ||||
| # RTC interfaces | ||||
| # | ||||
| CONFIG_RTC_INTF_SYSFS=y | ||||
| CONFIG_RTC_INTF_PROC=y | ||||
| CONFIG_RTC_INTF_DEV=y | ||||
| 
 | ||||
| # | ||||
| # RTC drivers | ||||
| # | ||||
| # CONFIG_RTC_DRV_X1205 is not set | ||||
| # CONFIG_RTC_DRV_DS1672 is not set | ||||
| # CONFIG_RTC_DRV_PCF8563 is not set | ||||
| # CONFIG_RTC_DRV_RS5C372 is not set | ||||
| CONFIG_RTC_DRV_M48T86=y | ||||
| CONFIG_RTC_DRV_EP93XX=y | ||||
| # CONFIG_RTC_DRV_TEST is not set | ||||
| 
 | ||||
| # | ||||
| # File systems | ||||
| # | ||||
| @ -912,7 +940,6 @@ CONFIG_SYSFS=y | ||||
| CONFIG_TMPFS=y | ||||
| # CONFIG_HUGETLB_PAGE is not set | ||||
| CONFIG_RAMFS=y | ||||
| # CONFIG_RELAYFS_FS is not set | ||||
| # CONFIG_CONFIGFS_FS is not set | ||||
| 
 | ||||
| # | ||||
| @ -1044,6 +1071,7 @@ CONFIG_LOG_BUF_SHIFT=14 | ||||
| CONFIG_DETECT_SOFTLOCKUP=y | ||||
| # CONFIG_SCHEDSTATS is not set | ||||
| CONFIG_DEBUG_SLAB=y | ||||
| # CONFIG_DEBUG_SLAB_LEAK is not set | ||||
| CONFIG_DEBUG_MUTEXES=y | ||||
| CONFIG_DEBUG_SPINLOCK=y | ||||
| # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||||
| @ -1053,6 +1081,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | ||||
| # CONFIG_DEBUG_FS is not set | ||||
| # CONFIG_DEBUG_VM is not set | ||||
| CONFIG_FRAME_POINTER=y | ||||
| # CONFIG_UNWIND_INFO is not set | ||||
| CONFIG_FORCED_INLINING=y | ||||
| # CONFIG_RCU_TORTURE_TEST is not set | ||||
| CONFIG_DEBUG_USER=y | ||||
|  | ||||
| @ -1,18 +1,19 @@ | ||||
| # | ||||
| # Automatically generated make config: don't edit | ||||
| # Linux kernel version: 2.6.16-rc2 | ||||
| # Wed Feb  8 04:49:11 2006 | ||||
| # Linux kernel version: 2.6.17-rc2 | ||||
| # Wed Apr 19 21:12:49 2006 | ||||
| # | ||||
| CONFIG_ARM=y | ||||
| CONFIG_MMU=y | ||||
| CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||||
| CONFIG_GENERIC_HWEIGHT=y | ||||
| CONFIG_GENERIC_CALIBRATE_DELAY=y | ||||
| CONFIG_VECTORS_BASE=0xffff0000 | ||||
| 
 | ||||
| # | ||||
| # Code maturity level options | ||||
| # | ||||
| CONFIG_EXPERIMENTAL=y | ||||
| CONFIG_CLEAN_COMPILE=y | ||||
| CONFIG_BROKEN_ON_SMP=y | ||||
| CONFIG_INIT_ENV_ARG_LIMIT=32 | ||||
| 
 | ||||
| @ -29,6 +30,7 @@ CONFIG_BSD_PROCESS_ACCT=y | ||||
| CONFIG_SYSCTL=y | ||||
| # CONFIG_AUDIT is not set | ||||
| # CONFIG_IKCONFIG is not set | ||||
| # CONFIG_RELAY is not set | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| CONFIG_UID16=y | ||||
| CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||||
| @ -44,10 +46,6 @@ CONFIG_BASE_FULL=y | ||||
| CONFIG_FUTEX=y | ||||
| CONFIG_EPOLL=y | ||||
| CONFIG_SHMEM=y | ||||
| CONFIG_CC_ALIGN_FUNCTIONS=0 | ||||
| CONFIG_CC_ALIGN_LABELS=0 | ||||
| CONFIG_CC_ALIGN_LOOPS=0 | ||||
| CONFIG_CC_ALIGN_JUMPS=0 | ||||
| CONFIG_SLAB=y | ||||
| # CONFIG_TINY_SHMEM is not set | ||||
| CONFIG_BASE_SMALL=0 | ||||
| @ -60,7 +58,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | ||||
| CONFIG_MODULES=y | ||||
| CONFIG_MODULE_UNLOAD=y | ||||
| # CONFIG_MODULE_FORCE_UNLOAD is not set | ||||
| CONFIG_OBSOLETE_MODPARM=y | ||||
| # CONFIG_MODVERSIONS is not set | ||||
| # CONFIG_MODULE_SRCVERSION_ALL is not set | ||||
| CONFIG_KMOD=y | ||||
| @ -68,6 +65,7 @@ CONFIG_KMOD=y | ||||
| # | ||||
| # Block layer | ||||
| # | ||||
| # CONFIG_BLK_DEV_IO_TRACE is not set | ||||
| 
 | ||||
| # | ||||
| # IO Schedulers | ||||
| @ -89,11 +87,13 @@ CONFIG_DEFAULT_IOSCHED="anticipatory" | ||||
| # CONFIG_ARCH_CLPS711X is not set | ||||
| # CONFIG_ARCH_CO285 is not set | ||||
| # CONFIG_ARCH_EBSA110 is not set | ||||
| # CONFIG_ARCH_EP93XX is not set | ||||
| # CONFIG_ARCH_FOOTBRIDGE is not set | ||||
| # CONFIG_ARCH_INTEGRATOR is not set | ||||
| # CONFIG_ARCH_IOP3XX is not set | ||||
| # CONFIG_ARCH_IXP4XX is not set | ||||
| CONFIG_ARCH_IXP2000=y | ||||
| # CONFIG_ARCH_IXP23XX is not set | ||||
| # CONFIG_ARCH_L7200 is not set | ||||
| # CONFIG_ARCH_PXA is not set | ||||
| # CONFIG_ARCH_RPC is not set | ||||
| @ -123,6 +123,7 @@ CONFIG_ARCH_IXDP2800=y | ||||
| CONFIG_ARCH_IXDP2X00=y | ||||
| CONFIG_ARCH_IXDP2401=y | ||||
| CONFIG_ARCH_IXDP2801=y | ||||
| CONFIG_MACH_IXDP28X5=y | ||||
| CONFIG_ARCH_IXDP2X01=y | ||||
| # CONFIG_IXP2000_SUPPORT_BROKEN_PCI_IO is not set | ||||
| 
 | ||||
| @ -147,7 +148,6 @@ CONFIG_XSCALE_PMU=y | ||||
| # Bus support | ||||
| # | ||||
| CONFIG_PCI=y | ||||
| CONFIG_PCI_LEGACY_PROC=y | ||||
| # CONFIG_PCI_DEBUG is not set | ||||
| 
 | ||||
| # | ||||
| @ -160,6 +160,7 @@ CONFIG_PCI_LEGACY_PROC=y | ||||
| # | ||||
| # CONFIG_PREEMPT is not set | ||||
| # CONFIG_NO_IDLE_HZ is not set | ||||
| CONFIG_HZ=100 | ||||
| # CONFIG_AEABI is not set | ||||
| # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||||
| CONFIG_SELECT_MEMORY_MODEL=y | ||||
| @ -213,6 +214,7 @@ CONFIG_NET=y | ||||
| # | ||||
| # Networking options | ||||
| # | ||||
| # CONFIG_NETDEBUG is not set | ||||
| CONFIG_PACKET=y | ||||
| CONFIG_PACKET_MMAP=y | ||||
| CONFIG_UNIX=y | ||||
| @ -232,12 +234,15 @@ CONFIG_SYN_COOKIES=y | ||||
| # CONFIG_INET_AH is not set | ||||
| # CONFIG_INET_ESP is not set | ||||
| # CONFIG_INET_IPCOMP is not set | ||||
| # CONFIG_INET_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET_TUNNEL is not set | ||||
| CONFIG_INET_DIAG=y | ||||
| CONFIG_INET_TCP_DIAG=y | ||||
| # CONFIG_TCP_CONG_ADVANCED is not set | ||||
| CONFIG_TCP_CONG_BIC=y | ||||
| # CONFIG_IPV6 is not set | ||||
| # CONFIG_INET6_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET6_TUNNEL is not set | ||||
| # CONFIG_NETFILTER is not set | ||||
| 
 | ||||
| # | ||||
| @ -347,7 +352,6 @@ CONFIG_MTD_CFI_UTIL=y | ||||
| # CONFIG_MTD_ROM is not set | ||||
| # CONFIG_MTD_ABSENT is not set | ||||
| # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||||
| # CONFIG_MTD_XIP is not set | ||||
| 
 | ||||
| # | ||||
| # Mapping drivers for chip access | ||||
| @ -366,7 +370,6 @@ CONFIG_MTD_IXP2000=y | ||||
| # CONFIG_MTD_SLRAM is not set | ||||
| # CONFIG_MTD_PHRAM is not set | ||||
| # CONFIG_MTD_MTDRAM is not set | ||||
| # CONFIG_MTD_BLKMTD is not set | ||||
| # CONFIG_MTD_BLOCK2MTD is not set | ||||
| 
 | ||||
| # | ||||
| @ -614,8 +617,9 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||||
| # | ||||
| CONFIG_SERIAL_8250=y | ||||
| CONFIG_SERIAL_8250_CONSOLE=y | ||||
| CONFIG_SERIAL_8250_PCI=y | ||||
| CONFIG_SERIAL_8250_NR_UARTS=3 | ||||
| CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||||
| CONFIG_SERIAL_8250_RUNTIME_UARTS=3 | ||||
| # CONFIG_SERIAL_8250_EXTENDED is not set | ||||
| 
 | ||||
| # | ||||
| @ -623,6 +627,7 @@ CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||||
| # | ||||
| CONFIG_SERIAL_CORE=y | ||||
| CONFIG_SERIAL_CORE_CONSOLE=y | ||||
| # CONFIG_SERIAL_JSM is not set | ||||
| CONFIG_UNIX98_PTYS=y | ||||
| CONFIG_LEGACY_PTYS=y | ||||
| CONFIG_LEGACY_PTY_COUNT=256 | ||||
| @ -650,7 +655,6 @@ CONFIG_IXP2000_WATCHDOG=y | ||||
| # CONFIG_PCIPCWATCHDOG is not set | ||||
| # CONFIG_WDTPCI is not set | ||||
| # CONFIG_NVRAM is not set | ||||
| # CONFIG_RTC is not set | ||||
| # CONFIG_DTLK is not set | ||||
| # CONFIG_R3964 is not set | ||||
| # CONFIG_APPLICOM is not set | ||||
| @ -696,7 +700,6 @@ CONFIG_I2C_IXP2000=y | ||||
| # CONFIG_I2C_PARPORT_LIGHT is not set | ||||
| # CONFIG_I2C_PROSAVAGE is not set | ||||
| # CONFIG_I2C_SAVAGE4 is not set | ||||
| # CONFIG_SCx200_ACB is not set | ||||
| # CONFIG_I2C_SIS5595 is not set | ||||
| # CONFIG_I2C_SIS630 is not set | ||||
| # CONFIG_I2C_SIS96X is not set | ||||
| @ -715,9 +718,7 @@ CONFIG_SENSORS_EEPROM=y | ||||
| # CONFIG_SENSORS_PCF8574 is not set | ||||
| # CONFIG_SENSORS_PCA9539 is not set | ||||
| # CONFIG_SENSORS_PCF8591 is not set | ||||
| # CONFIG_SENSORS_RTC8564 is not set | ||||
| # CONFIG_SENSORS_MAX6875 is not set | ||||
| # CONFIG_RTC_X1205_I2C is not set | ||||
| # CONFIG_I2C_DEBUG_CORE is not set | ||||
| # CONFIG_I2C_DEBUG_ALGO is not set | ||||
| # CONFIG_I2C_DEBUG_BUS is not set | ||||
| @ -729,6 +730,11 @@ CONFIG_SENSORS_EEPROM=y | ||||
| # CONFIG_SPI is not set | ||||
| # CONFIG_SPI_MASTER is not set | ||||
| 
 | ||||
| # | ||||
| # Dallas's 1-wire bus | ||||
| # | ||||
| # CONFIG_W1 is not set | ||||
| 
 | ||||
| # | ||||
| # Hardware Monitoring support | ||||
| # | ||||
| @ -742,6 +748,7 @@ CONFIG_HWMON=y | ||||
| # CONFIG_SENSORS_ASB100 is not set | ||||
| # CONFIG_SENSORS_ATXP1 is not set | ||||
| # CONFIG_SENSORS_DS1621 is not set | ||||
| # CONFIG_SENSORS_F71805F is not set | ||||
| # CONFIG_SENSORS_FSCHER is not set | ||||
| # CONFIG_SENSORS_FSCPOS is not set | ||||
| # CONFIG_SENSORS_GL518SM is not set | ||||
| @ -776,7 +783,16 @@ CONFIG_HWMON=y | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Multimedia Capabilities Port drivers | ||||
| # LED devices | ||||
| # | ||||
| # CONFIG_NEW_LEDS is not set | ||||
| 
 | ||||
| # | ||||
| # LED drivers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # LED Triggers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| @ -804,6 +820,7 @@ CONFIG_HWMON=y | ||||
| # | ||||
| CONFIG_USB_ARCH_HAS_HCD=y | ||||
| CONFIG_USB_ARCH_HAS_OHCI=y | ||||
| CONFIG_USB_ARCH_HAS_EHCI=y | ||||
| # CONFIG_USB is not set | ||||
| 
 | ||||
| # | ||||
| @ -820,6 +837,12 @@ CONFIG_USB_ARCH_HAS_OHCI=y | ||||
| # | ||||
| # CONFIG_MMC is not set | ||||
| 
 | ||||
| # | ||||
| # Real Time Clock | ||||
| # | ||||
| CONFIG_RTC_LIB=y | ||||
| # CONFIG_RTC_CLASS is not set | ||||
| 
 | ||||
| # | ||||
| # File systems | ||||
| # | ||||
| @ -870,7 +893,6 @@ CONFIG_SYSFS=y | ||||
| CONFIG_TMPFS=y | ||||
| # CONFIG_HUGETLB_PAGE is not set | ||||
| CONFIG_RAMFS=y | ||||
| # CONFIG_RELAYFS_FS is not set | ||||
| # CONFIG_CONFIGFS_FS is not set | ||||
| 
 | ||||
| # | ||||
| @ -972,6 +994,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | ||||
| # CONFIG_DEBUG_FS is not set | ||||
| # CONFIG_DEBUG_VM is not set | ||||
| CONFIG_FRAME_POINTER=y | ||||
| # CONFIG_UNWIND_INFO is not set | ||||
| CONFIG_FORCED_INLINING=y | ||||
| # CONFIG_RCU_TORTURE_TEST is not set | ||||
| CONFIG_DEBUG_USER=y | ||||
|  | ||||
| @ -1,12 +1,14 @@ | ||||
| # | ||||
| # Automatically generated make config: don't edit | ||||
| # Linux kernel version: 2.6.16 | ||||
| # Tue Mar 21 03:27:20 2006 | ||||
| # Linux kernel version: 2.6.17-rc2 | ||||
| # Wed Apr 19 21:13:50 2006 | ||||
| # | ||||
| CONFIG_ARM=y | ||||
| CONFIG_MMU=y | ||||
| CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||||
| CONFIG_GENERIC_HWEIGHT=y | ||||
| CONFIG_GENERIC_CALIBRATE_DELAY=y | ||||
| CONFIG_VECTORS_BASE=0xffff0000 | ||||
| 
 | ||||
| # | ||||
| # Code maturity level options | ||||
| @ -28,6 +30,7 @@ CONFIG_BSD_PROCESS_ACCT=y | ||||
| CONFIG_SYSCTL=y | ||||
| # CONFIG_AUDIT is not set | ||||
| # CONFIG_IKCONFIG is not set | ||||
| # CONFIG_RELAY is not set | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| CONFIG_UID16=y | ||||
| CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||||
| @ -43,10 +46,6 @@ CONFIG_BASE_FULL=y | ||||
| CONFIG_FUTEX=y | ||||
| CONFIG_EPOLL=y | ||||
| CONFIG_SHMEM=y | ||||
| CONFIG_CC_ALIGN_FUNCTIONS=0 | ||||
| CONFIG_CC_ALIGN_LABELS=0 | ||||
| CONFIG_CC_ALIGN_LOOPS=0 | ||||
| CONFIG_CC_ALIGN_JUMPS=0 | ||||
| CONFIG_SLAB=y | ||||
| # CONFIG_TINY_SHMEM is not set | ||||
| CONFIG_BASE_SMALL=0 | ||||
| @ -59,7 +58,6 @@ CONFIG_OBSOLETE_INTERMODULE=y | ||||
| CONFIG_MODULES=y | ||||
| CONFIG_MODULE_UNLOAD=y | ||||
| # CONFIG_MODULE_FORCE_UNLOAD is not set | ||||
| CONFIG_OBSOLETE_MODPARM=y | ||||
| # CONFIG_MODVERSIONS is not set | ||||
| # CONFIG_MODULE_SRCVERSION_ALL is not set | ||||
| CONFIG_KMOD=y | ||||
| @ -67,6 +65,7 @@ CONFIG_KMOD=y | ||||
| # | ||||
| # Block layer | ||||
| # | ||||
| # CONFIG_BLK_DEV_IO_TRACE is not set | ||||
| 
 | ||||
| # | ||||
| # IO Schedulers | ||||
| @ -143,7 +142,6 @@ CONFIG_CPU_BIG_ENDIAN=y | ||||
| # Bus support | ||||
| # | ||||
| CONFIG_PCI=y | ||||
| CONFIG_PCI_LEGACY_PROC=y | ||||
| # CONFIG_PCI_DEBUG is not set | ||||
| 
 | ||||
| # | ||||
| @ -230,12 +228,15 @@ CONFIG_SYN_COOKIES=y | ||||
| # CONFIG_INET_AH is not set | ||||
| # CONFIG_INET_ESP is not set | ||||
| # CONFIG_INET_IPCOMP is not set | ||||
| # CONFIG_INET_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET_TUNNEL is not set | ||||
| CONFIG_INET_DIAG=y | ||||
| CONFIG_INET_TCP_DIAG=y | ||||
| # CONFIG_TCP_CONG_ADVANCED is not set | ||||
| CONFIG_TCP_CONG_BIC=y | ||||
| # CONFIG_IPV6 is not set | ||||
| # CONFIG_INET6_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET6_TUNNEL is not set | ||||
| # CONFIG_NETFILTER is not set | ||||
| 
 | ||||
| # | ||||
| @ -365,7 +366,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1 | ||||
| # CONFIG_MTD_SLRAM is not set | ||||
| # CONFIG_MTD_PHRAM is not set | ||||
| # CONFIG_MTD_MTDRAM is not set | ||||
| # CONFIG_MTD_BLKMTD is not set | ||||
| # CONFIG_MTD_BLOCK2MTD is not set | ||||
| 
 | ||||
| # | ||||
| @ -527,7 +527,6 @@ CONFIG_BLK_DEV_SD=y | ||||
| # CONFIG_SCSI_INIA100 is not set | ||||
| # CONFIG_SCSI_SYM53C8XX_2 is not set | ||||
| # CONFIG_SCSI_IPR is not set | ||||
| # CONFIG_SCSI_QLOGIC_FC is not set | ||||
| # CONFIG_SCSI_QLOGIC_1280 is not set | ||||
| # CONFIG_SCSI_QLA_FC is not set | ||||
| # CONFIG_SCSI_LPFC is not set | ||||
| @ -735,6 +734,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768 | ||||
| # | ||||
| CONFIG_SERIAL_8250=y | ||||
| CONFIG_SERIAL_8250_CONSOLE=y | ||||
| CONFIG_SERIAL_8250_PCI=y | ||||
| CONFIG_SERIAL_8250_NR_UARTS=4 | ||||
| CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||||
| # CONFIG_SERIAL_8250_EXTENDED is not set | ||||
| @ -776,7 +776,6 @@ CONFIG_WATCHDOG=y | ||||
| # | ||||
| # CONFIG_USBPCWATCHDOG is not set | ||||
| # CONFIG_NVRAM is not set | ||||
| # CONFIG_RTC is not set | ||||
| # CONFIG_DTLK is not set | ||||
| # CONFIG_R3964 is not set | ||||
| # CONFIG_APPLICOM is not set | ||||
| @ -821,7 +820,6 @@ CONFIG_I2C_ALGOBIT=y | ||||
| # CONFIG_I2C_PARPORT_LIGHT is not set | ||||
| # CONFIG_I2C_PROSAVAGE is not set | ||||
| # CONFIG_I2C_SAVAGE4 is not set | ||||
| # CONFIG_SCx200_ACB is not set | ||||
| # CONFIG_I2C_SIS5595 is not set | ||||
| # CONFIG_I2C_SIS630 is not set | ||||
| # CONFIG_I2C_SIS96X is not set | ||||
| @ -840,9 +838,7 @@ CONFIG_SENSORS_EEPROM=y | ||||
| # CONFIG_SENSORS_PCF8574 is not set | ||||
| # CONFIG_SENSORS_PCA9539 is not set | ||||
| # CONFIG_SENSORS_PCF8591 is not set | ||||
| # CONFIG_SENSORS_RTC8564 is not set | ||||
| # CONFIG_SENSORS_MAX6875 is not set | ||||
| # CONFIG_RTC_X1205_I2C is not set | ||||
| # CONFIG_I2C_DEBUG_CORE is not set | ||||
| # CONFIG_I2C_DEBUG_ALGO is not set | ||||
| # CONFIG_I2C_DEBUG_BUS is not set | ||||
| @ -907,7 +903,16 @@ CONFIG_HWMON=y | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Multimedia Capabilities Port drivers | ||||
| # LED devices | ||||
| # | ||||
| # CONFIG_NEW_LEDS is not set | ||||
| 
 | ||||
| # | ||||
| # LED drivers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # LED Triggers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| @ -919,6 +924,7 @@ CONFIG_HWMON=y | ||||
| # Digital Video Broadcasting Devices | ||||
| # | ||||
| # CONFIG_DVB is not set | ||||
| # CONFIG_USB_DABUSB is not set | ||||
| 
 | ||||
| # | ||||
| # Graphics support | ||||
| @ -935,6 +941,7 @@ CONFIG_HWMON=y | ||||
| # | ||||
| CONFIG_USB_ARCH_HAS_HCD=y | ||||
| CONFIG_USB_ARCH_HAS_OHCI=y | ||||
| CONFIG_USB_ARCH_HAS_EHCI=y | ||||
| CONFIG_USB=y | ||||
| # CONFIG_USB_DEBUG is not set | ||||
| 
 | ||||
| @ -1000,9 +1007,7 @@ CONFIG_USB_STORAGE=y | ||||
| # CONFIG_USB_ACECAD is not set | ||||
| # CONFIG_USB_KBTAB is not set | ||||
| # CONFIG_USB_POWERMATE is not set | ||||
| # CONFIG_USB_MTOUCH is not set | ||||
| # CONFIG_USB_ITMTOUCH is not set | ||||
| # CONFIG_USB_EGALAX is not set | ||||
| # CONFIG_USB_TOUCHSCREEN is not set | ||||
| # CONFIG_USB_YEALINK is not set | ||||
| # CONFIG_USB_XPAD is not set | ||||
| # CONFIG_USB_ATI_REMOTE is not set | ||||
| @ -1016,15 +1021,6 @@ CONFIG_USB_STORAGE=y | ||||
| # CONFIG_USB_MDC800 is not set | ||||
| # CONFIG_USB_MICROTEK is not set | ||||
| 
 | ||||
| # | ||||
| # USB Multimedia devices | ||||
| # | ||||
| # CONFIG_USB_DABUSB is not set | ||||
| 
 | ||||
| # | ||||
| # Video4Linux support is needed for USB Multimedia device support | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # USB Network Adapters | ||||
| # | ||||
| @ -1075,6 +1071,12 @@ CONFIG_USB_MON=y | ||||
| # | ||||
| # CONFIG_MMC is not set | ||||
| 
 | ||||
| # | ||||
| # Real Time Clock | ||||
| # | ||||
| CONFIG_RTC_LIB=y | ||||
| # CONFIG_RTC_CLASS is not set | ||||
| 
 | ||||
| # | ||||
| # File systems | ||||
| # | ||||
| @ -1127,7 +1129,6 @@ CONFIG_SYSFS=y | ||||
| CONFIG_TMPFS=y | ||||
| # CONFIG_HUGETLB_PAGE is not set | ||||
| CONFIG_RAMFS=y | ||||
| # CONFIG_RELAYFS_FS is not set | ||||
| # CONFIG_CONFIGFS_FS is not set | ||||
| 
 | ||||
| # | ||||
| @ -1268,6 +1269,7 @@ CONFIG_DEBUG_BUGVERBOSE=y | ||||
| # CONFIG_DEBUG_FS is not set | ||||
| # CONFIG_DEBUG_VM is not set | ||||
| CONFIG_FRAME_POINTER=y | ||||
| # CONFIG_UNWIND_INFO is not set | ||||
| CONFIG_FORCED_INLINING=y | ||||
| # CONFIG_RCU_TORTURE_TEST is not set | ||||
| CONFIG_DEBUG_USER=y | ||||
|  | ||||
| @ -1,50 +1,55 @@ | ||||
| # | ||||
| # Automatically generated make config: don't edit | ||||
| # Linux kernel version: 2.6.12-rc1-bk2 | ||||
| # Mon Mar 28 00:20:50 2005 | ||||
| # Linux kernel version: 2.6.17-rc3 | ||||
| # Mon May  8 20:15:57 2006 | ||||
| # | ||||
| CONFIG_ARM=y | ||||
| CONFIG_MMU=y | ||||
| CONFIG_UID16=y | ||||
| CONFIG_RWSEM_GENERIC_SPINLOCK=y | ||||
| CONFIG_GENERIC_HWEIGHT=y | ||||
| CONFIG_GENERIC_CALIBRATE_DELAY=y | ||||
| CONFIG_GENERIC_IOMAP=y | ||||
| CONFIG_VECTORS_BASE=0xffff0000 | ||||
| 
 | ||||
| # | ||||
| # Code maturity level options | ||||
| # | ||||
| CONFIG_EXPERIMENTAL=y | ||||
| CONFIG_CLEAN_COMPILE=y | ||||
| CONFIG_BROKEN_ON_SMP=y | ||||
| CONFIG_INIT_ENV_ARG_LIMIT=32 | ||||
| 
 | ||||
| # | ||||
| # General setup | ||||
| # | ||||
| CONFIG_LOCALVERSION="" | ||||
| # CONFIG_LOCALVERSION_AUTO is not set | ||||
| CONFIG_SWAP=y | ||||
| CONFIG_SYSVIPC=y | ||||
| # CONFIG_POSIX_MQUEUE is not set | ||||
| # CONFIG_BSD_PROCESS_ACCT is not set | ||||
| CONFIG_SYSCTL=y | ||||
| # CONFIG_AUDIT is not set | ||||
| CONFIG_HOTPLUG=y | ||||
| CONFIG_KOBJECT_UEVENT=y | ||||
| # CONFIG_IKCONFIG is not set | ||||
| # CONFIG_RELAY is not set | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| CONFIG_UID16=y | ||||
| CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||||
| # CONFIG_EMBEDDED is not set | ||||
| CONFIG_KALLSYMS=y | ||||
| # CONFIG_KALLSYMS_ALL is not set | ||||
| # CONFIG_KALLSYMS_EXTRA_PASS is not set | ||||
| CONFIG_HOTPLUG=y | ||||
| CONFIG_PRINTK=y | ||||
| CONFIG_BUG=y | ||||
| CONFIG_ELF_CORE=y | ||||
| CONFIG_BASE_FULL=y | ||||
| CONFIG_FUTEX=y | ||||
| CONFIG_EPOLL=y | ||||
| CONFIG_CC_OPTIMIZE_FOR_SIZE=y | ||||
| CONFIG_SHMEM=y | ||||
| CONFIG_CC_ALIGN_FUNCTIONS=0 | ||||
| CONFIG_CC_ALIGN_LABELS=0 | ||||
| CONFIG_CC_ALIGN_LOOPS=0 | ||||
| CONFIG_CC_ALIGN_JUMPS=0 | ||||
| CONFIG_SLAB=y | ||||
| # CONFIG_TINY_SHMEM is not set | ||||
| CONFIG_BASE_SMALL=0 | ||||
| # CONFIG_SLOB is not set | ||||
| CONFIG_OBSOLETE_INTERMODULE=y | ||||
| 
 | ||||
| # | ||||
| # Loadable module support | ||||
| @ -52,11 +57,28 @@ CONFIG_BASE_SMALL=0 | ||||
| CONFIG_MODULES=y | ||||
| CONFIG_MODULE_UNLOAD=y | ||||
| # CONFIG_MODULE_FORCE_UNLOAD is not set | ||||
| CONFIG_OBSOLETE_MODPARM=y | ||||
| # CONFIG_MODVERSIONS is not set | ||||
| # CONFIG_MODULE_SRCVERSION_ALL is not set | ||||
| CONFIG_KMOD=y | ||||
| 
 | ||||
| # | ||||
| # Block layer | ||||
| # | ||||
| # CONFIG_BLK_DEV_IO_TRACE is not set | ||||
| 
 | ||||
| # | ||||
| # IO Schedulers | ||||
| # | ||||
| CONFIG_IOSCHED_NOOP=y | ||||
| CONFIG_IOSCHED_AS=y | ||||
| CONFIG_IOSCHED_DEADLINE=y | ||||
| CONFIG_IOSCHED_CFQ=y | ||||
| CONFIG_DEFAULT_AS=y | ||||
| # CONFIG_DEFAULT_DEADLINE is not set | ||||
| # CONFIG_DEFAULT_CFQ is not set | ||||
| # CONFIG_DEFAULT_NOOP is not set | ||||
| CONFIG_DEFAULT_IOSCHED="anticipatory" | ||||
| 
 | ||||
| # | ||||
| # System Type | ||||
| # | ||||
| @ -64,11 +86,13 @@ CONFIG_KMOD=y | ||||
| # CONFIG_ARCH_CLPS711X is not set | ||||
| # CONFIG_ARCH_CO285 is not set | ||||
| # CONFIG_ARCH_EBSA110 is not set | ||||
| # CONFIG_ARCH_EP93XX is not set | ||||
| # CONFIG_ARCH_FOOTBRIDGE is not set | ||||
| # CONFIG_ARCH_INTEGRATOR is not set | ||||
| # CONFIG_ARCH_IOP3XX is not set | ||||
| # CONFIG_ARCH_IXP4XX is not set | ||||
| # CONFIG_ARCH_IXP2000 is not set | ||||
| # CONFIG_ARCH_IXP23XX is not set | ||||
| # CONFIG_ARCH_L7200 is not set | ||||
| # CONFIG_ARCH_PXA is not set | ||||
| # CONFIG_ARCH_RPC is not set | ||||
| @ -78,14 +102,17 @@ CONFIG_KMOD=y | ||||
| # CONFIG_ARCH_LH7A40X is not set | ||||
| # CONFIG_ARCH_OMAP is not set | ||||
| CONFIG_ARCH_VERSATILE=y | ||||
| # CONFIG_ARCH_REALVIEW is not set | ||||
| # CONFIG_ARCH_IMX is not set | ||||
| # CONFIG_ARCH_H720X is not set | ||||
| # CONFIG_ARCH_AAEC2000 is not set | ||||
| # CONFIG_ARCH_AT91RM9200 is not set | ||||
| 
 | ||||
| # | ||||
| # Versatile platform type | ||||
| # | ||||
| CONFIG_ARCH_VERSATILE_PB=y | ||||
| # CONFIG_MACH_VERSATILE_AB is not set | ||||
| CONFIG_MACH_VERSATILE_AB=y | ||||
| 
 | ||||
| # | ||||
| # Processor Type | ||||
| @ -106,12 +133,14 @@ CONFIG_ARM_THUMB=y | ||||
| # CONFIG_CPU_DCACHE_DISABLE is not set | ||||
| # CONFIG_CPU_DCACHE_WRITETHROUGH is not set | ||||
| # CONFIG_CPU_CACHE_ROUND_ROBIN is not set | ||||
| CONFIG_ARM_VIC=y | ||||
| CONFIG_ICST307=y | ||||
| 
 | ||||
| # | ||||
| # Bus support | ||||
| # | ||||
| CONFIG_ARM_AMBA=y | ||||
| # CONFIG_PCI is not set | ||||
| 
 | ||||
| # | ||||
| # PCCARD (PCMCIA/CardBus) support | ||||
| @ -122,6 +151,18 @@ CONFIG_ARM_AMBA=y | ||||
| # Kernel Features | ||||
| # | ||||
| # CONFIG_PREEMPT is not set | ||||
| # CONFIG_NO_IDLE_HZ is not set | ||||
| CONFIG_HZ=100 | ||||
| # CONFIG_AEABI is not set | ||||
| # CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set | ||||
| CONFIG_SELECT_MEMORY_MODEL=y | ||||
| CONFIG_FLATMEM_MANUAL=y | ||||
| # CONFIG_DISCONTIGMEM_MANUAL is not set | ||||
| # CONFIG_SPARSEMEM_MANUAL is not set | ||||
| CONFIG_FLATMEM=y | ||||
| CONFIG_FLAT_NODE_MEM_MAP=y | ||||
| # CONFIG_SPARSEMEM_STATIC is not set | ||||
| CONFIG_SPLIT_PTLOCK_CPUS=4096 | ||||
| CONFIG_LEDS=y | ||||
| CONFIG_LEDS_TIMER=y | ||||
| CONFIG_LEDS_CPU=y | ||||
| @ -145,7 +186,7 @@ CONFIG_CMDLINE="root=1f03 mem=32M" | ||||
| CONFIG_FPE_NWFPE=y | ||||
| # CONFIG_FPE_NWFPE_XP is not set | ||||
| # CONFIG_FPE_FASTFPE is not set | ||||
| # CONFIG_VFP is not set | ||||
| CONFIG_VFP=y | ||||
| 
 | ||||
| # | ||||
| # Userspace binary formats | ||||
| @ -159,8 +200,91 @@ CONFIG_BINFMT_ELF=y | ||||
| # Power management options | ||||
| # | ||||
| CONFIG_PM=y | ||||
| CONFIG_PM_LEGACY=y | ||||
| # CONFIG_PM_DEBUG is not set | ||||
| # CONFIG_APM is not set | ||||
| 
 | ||||
| # | ||||
| # Networking | ||||
| # | ||||
| CONFIG_NET=y | ||||
| 
 | ||||
| # | ||||
| # Networking options | ||||
| # | ||||
| # CONFIG_NETDEBUG is not set | ||||
| CONFIG_PACKET=y | ||||
| CONFIG_PACKET_MMAP=y | ||||
| CONFIG_UNIX=y | ||||
| # CONFIG_NET_KEY is not set | ||||
| CONFIG_INET=y | ||||
| CONFIG_IP_MULTICAST=y | ||||
| # CONFIG_IP_ADVANCED_ROUTER is not set | ||||
| CONFIG_IP_FIB_HASH=y | ||||
| CONFIG_IP_PNP=y | ||||
| # CONFIG_IP_PNP_DHCP is not set | ||||
| CONFIG_IP_PNP_BOOTP=y | ||||
| # CONFIG_IP_PNP_RARP is not set | ||||
| # CONFIG_NET_IPIP is not set | ||||
| # CONFIG_NET_IPGRE is not set | ||||
| # CONFIG_IP_MROUTE is not set | ||||
| # CONFIG_ARPD is not set | ||||
| # CONFIG_SYN_COOKIES is not set | ||||
| # CONFIG_INET_AH is not set | ||||
| # CONFIG_INET_ESP is not set | ||||
| # CONFIG_INET_IPCOMP is not set | ||||
| # CONFIG_INET_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET_TUNNEL is not set | ||||
| # CONFIG_INET_DIAG is not set | ||||
| CONFIG_INET_TCP_DIAG=y | ||||
| # CONFIG_TCP_CONG_ADVANCED is not set | ||||
| CONFIG_TCP_CONG_BIC=y | ||||
| # CONFIG_IPV6 is not set | ||||
| # CONFIG_INET6_XFRM_TUNNEL is not set | ||||
| # CONFIG_INET6_TUNNEL is not set | ||||
| # CONFIG_NETFILTER is not set | ||||
| 
 | ||||
| # | ||||
| # DCCP Configuration (EXPERIMENTAL) | ||||
| # | ||||
| # CONFIG_IP_DCCP is not set | ||||
| 
 | ||||
| # | ||||
| # SCTP Configuration (EXPERIMENTAL) | ||||
| # | ||||
| # CONFIG_IP_SCTP is not set | ||||
| 
 | ||||
| # | ||||
| # TIPC Configuration (EXPERIMENTAL) | ||||
| # | ||||
| # CONFIG_TIPC is not set | ||||
| # CONFIG_ATM is not set | ||||
| # CONFIG_BRIDGE is not set | ||||
| # CONFIG_VLAN_8021Q is not set | ||||
| # CONFIG_DECNET is not set | ||||
| # CONFIG_LLC2 is not set | ||||
| # CONFIG_IPX is not set | ||||
| # CONFIG_ATALK is not set | ||||
| # CONFIG_X25 is not set | ||||
| # CONFIG_LAPB is not set | ||||
| # CONFIG_NET_DIVERT is not set | ||||
| # CONFIG_ECONET is not set | ||||
| # CONFIG_WAN_ROUTER is not set | ||||
| 
 | ||||
| # | ||||
| # QoS and/or fair queueing | ||||
| # | ||||
| # CONFIG_NET_SCHED is not set | ||||
| 
 | ||||
| # | ||||
| # Network testing | ||||
| # | ||||
| # CONFIG_NET_PKTGEN is not set | ||||
| # CONFIG_HAMRADIO is not set | ||||
| # CONFIG_IRDA is not set | ||||
| # CONFIG_BT is not set | ||||
| # CONFIG_IEEE80211 is not set | ||||
| 
 | ||||
| # | ||||
| # Device Drivers | ||||
| # | ||||
| @ -173,6 +297,11 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y | ||||
| # CONFIG_FW_LOADER is not set | ||||
| # CONFIG_DEBUG_DRIVER is not set | ||||
| 
 | ||||
| # | ||||
| # Connector - unified userspace <-> kernelspace linker | ||||
| # | ||||
| # CONFIG_CONNECTOR is not set | ||||
| 
 | ||||
| # | ||||
| # Memory Technology Devices (MTD) | ||||
| # | ||||
| @ -192,6 +321,7 @@ CONFIG_MTD_BLOCK=y | ||||
| # CONFIG_FTL is not set | ||||
| # CONFIG_NFTL is not set | ||||
| # CONFIG_INFTL is not set | ||||
| # CONFIG_RFD_FTL is not set | ||||
| 
 | ||||
| # | ||||
| # RAM/ROM/Flash chip drivers | ||||
| @ -214,6 +344,7 @@ CONFIG_MTD_CFI_I1=y | ||||
| CONFIG_MTD_CFI_I2=y | ||||
| # CONFIG_MTD_CFI_I4 is not set | ||||
| # CONFIG_MTD_CFI_I8 is not set | ||||
| # CONFIG_MTD_OTP is not set | ||||
| CONFIG_MTD_CFI_INTELEXT=y | ||||
| # CONFIG_MTD_CFI_AMDSTD is not set | ||||
| # CONFIG_MTD_CFI_STAA is not set | ||||
| @ -221,7 +352,7 @@ CONFIG_MTD_CFI_UTIL=y | ||||
| # CONFIG_MTD_RAM is not set | ||||
| # CONFIG_MTD_ROM is not set | ||||
| # CONFIG_MTD_ABSENT is not set | ||||
| # CONFIG_MTD_XIP is not set | ||||
| # CONFIG_MTD_OBSOLETE_CHIPS is not set | ||||
| 
 | ||||
| # | ||||
| # Mapping drivers for chip access | ||||
| @ -229,7 +360,7 @@ CONFIG_MTD_CFI_UTIL=y | ||||
| # CONFIG_MTD_COMPLEX_MAPPINGS is not set | ||||
| # CONFIG_MTD_PHYSMAP is not set | ||||
| CONFIG_MTD_ARM_INTEGRATOR=y | ||||
| # CONFIG_MTD_EDB7312 is not set | ||||
| # CONFIG_MTD_PLATRAM is not set | ||||
| 
 | ||||
| # | ||||
| # Self-contained MTD device drivers | ||||
| @ -237,7 +368,6 @@ CONFIG_MTD_ARM_INTEGRATOR=y | ||||
| # CONFIG_MTD_SLRAM is not set | ||||
| # CONFIG_MTD_PHRAM is not set | ||||
| # CONFIG_MTD_MTDRAM is not set | ||||
| # CONFIG_MTD_BLKMTD is not set | ||||
| # CONFIG_MTD_BLOCK2MTD is not set | ||||
| 
 | ||||
| # | ||||
| @ -252,6 +382,11 @@ CONFIG_MTD_ARM_INTEGRATOR=y | ||||
| # | ||||
| # CONFIG_MTD_NAND is not set | ||||
| 
 | ||||
| # | ||||
| # OneNAND Flash Device Drivers | ||||
| # | ||||
| # CONFIG_MTD_ONENAND is not set | ||||
| 
 | ||||
| # | ||||
| # Parallel port support | ||||
| # | ||||
| @ -264,7 +399,6 @@ CONFIG_MTD_ARM_INTEGRATOR=y | ||||
| # | ||||
| # Block devices | ||||
| # | ||||
| # CONFIG_BLK_DEV_FD is not set | ||||
| # CONFIG_BLK_DEV_COW_COMMON is not set | ||||
| # CONFIG_BLK_DEV_LOOP is not set | ||||
| # CONFIG_BLK_DEV_NBD is not set | ||||
| @ -272,21 +406,13 @@ CONFIG_BLK_DEV_RAM=y | ||||
| CONFIG_BLK_DEV_RAM_COUNT=16 | ||||
| CONFIG_BLK_DEV_RAM_SIZE=4096 | ||||
| CONFIG_BLK_DEV_INITRD=y | ||||
| CONFIG_INITRAMFS_SOURCE="" | ||||
| # CONFIG_CDROM_PKTCDVD is not set | ||||
| 
 | ||||
| # | ||||
| # IO Schedulers | ||||
| # | ||||
| CONFIG_IOSCHED_NOOP=y | ||||
| CONFIG_IOSCHED_AS=y | ||||
| CONFIG_IOSCHED_DEADLINE=y | ||||
| CONFIG_IOSCHED_CFQ=y | ||||
| # CONFIG_ATA_OVER_ETH is not set | ||||
| 
 | ||||
| # | ||||
| # SCSI device support | ||||
| # | ||||
| # CONFIG_RAID_ATTRS is not set | ||||
| # CONFIG_SCSI is not set | ||||
| 
 | ||||
| # | ||||
| @ -297,6 +423,7 @@ CONFIG_IOSCHED_CFQ=y | ||||
| # | ||||
| # Fusion MPT device support | ||||
| # | ||||
| # CONFIG_FUSION is not set | ||||
| 
 | ||||
| # | ||||
| # IEEE 1394 (FireWire) support | ||||
| @ -307,83 +434,26 @@ CONFIG_IOSCHED_CFQ=y | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Networking support | ||||
| # Network device support | ||||
| # | ||||
| CONFIG_NET=y | ||||
| 
 | ||||
| # | ||||
| # Networking options | ||||
| # | ||||
| CONFIG_PACKET=y | ||||
| CONFIG_PACKET_MMAP=y | ||||
| # CONFIG_NETLINK_DEV is not set | ||||
| CONFIG_UNIX=y | ||||
| # CONFIG_NET_KEY is not set | ||||
| CONFIG_INET=y | ||||
| CONFIG_IP_MULTICAST=y | ||||
| # CONFIG_IP_ADVANCED_ROUTER is not set | ||||
| CONFIG_IP_PNP=y | ||||
| # CONFIG_IP_PNP_DHCP is not set | ||||
| CONFIG_IP_PNP_BOOTP=y | ||||
| # CONFIG_IP_PNP_RARP is not set | ||||
| # CONFIG_NET_IPIP is not set | ||||
| # CONFIG_NET_IPGRE is not set | ||||
| # CONFIG_IP_MROUTE is not set | ||||
| # CONFIG_ARPD is not set | ||||
| # CONFIG_SYN_COOKIES is not set | ||||
| # CONFIG_INET_AH is not set | ||||
| # CONFIG_INET_ESP is not set | ||||
| # CONFIG_INET_IPCOMP is not set | ||||
| # CONFIG_INET_TUNNEL is not set | ||||
| # CONFIG_IP_TCPDIAG is not set | ||||
| # CONFIG_IP_TCPDIAG_IPV6 is not set | ||||
| # CONFIG_IPV6 is not set | ||||
| # CONFIG_NETFILTER is not set | ||||
| 
 | ||||
| # | ||||
| # SCTP Configuration (EXPERIMENTAL) | ||||
| # | ||||
| # CONFIG_IP_SCTP is not set | ||||
| # CONFIG_ATM is not set | ||||
| # CONFIG_BRIDGE is not set | ||||
| # CONFIG_VLAN_8021Q is not set | ||||
| # CONFIG_DECNET is not set | ||||
| # CONFIG_LLC2 is not set | ||||
| # CONFIG_IPX is not set | ||||
| # CONFIG_ATALK is not set | ||||
| # CONFIG_X25 is not set | ||||
| # CONFIG_LAPB is not set | ||||
| # CONFIG_NET_DIVERT is not set | ||||
| # CONFIG_ECONET is not set | ||||
| # CONFIG_WAN_ROUTER is not set | ||||
| 
 | ||||
| # | ||||
| # QoS and/or fair queueing | ||||
| # | ||||
| # CONFIG_NET_SCHED is not set | ||||
| # CONFIG_NET_CLS_ROUTE is not set | ||||
| 
 | ||||
| # | ||||
| # Network testing | ||||
| # | ||||
| # CONFIG_NET_PKTGEN is not set | ||||
| # CONFIG_NETPOLL is not set | ||||
| # CONFIG_NET_POLL_CONTROLLER is not set | ||||
| # CONFIG_HAMRADIO is not set | ||||
| # CONFIG_IRDA is not set | ||||
| # CONFIG_BT is not set | ||||
| CONFIG_NETDEVICES=y | ||||
| # CONFIG_DUMMY is not set | ||||
| # CONFIG_BONDING is not set | ||||
| # CONFIG_EQUALIZER is not set | ||||
| # CONFIG_TUN is not set | ||||
| 
 | ||||
| # | ||||
| # PHY device support | ||||
| # | ||||
| # CONFIG_PHYLIB is not set | ||||
| 
 | ||||
| # | ||||
| # Ethernet (10 or 100Mbit) | ||||
| # | ||||
| CONFIG_NET_ETHERNET=y | ||||
| CONFIG_MII=y | ||||
| CONFIG_SMC91X=y | ||||
| # CONFIG_DM9000 is not set | ||||
| 
 | ||||
| # | ||||
| # Ethernet (1000 Mbit) | ||||
| @ -410,6 +480,8 @@ CONFIG_SMC91X=y | ||||
| # CONFIG_SLIP is not set | ||||
| # CONFIG_SHAPER is not set | ||||
| # CONFIG_NETCONSOLE is not set | ||||
| # CONFIG_NETPOLL is not set | ||||
| # CONFIG_NET_POLL_CONTROLLER is not set | ||||
| 
 | ||||
| # | ||||
| # ISDN subsystem | ||||
| @ -459,7 +531,6 @@ CONFIG_SERIO_AMBAKMI=y | ||||
| CONFIG_SERIO_LIBPS2=y | ||||
| # CONFIG_SERIO_RAW is not set | ||||
| # CONFIG_GAMEPORT is not set | ||||
| CONFIG_SOUND_GAMEPORT=y | ||||
| 
 | ||||
| # | ||||
| # Character devices | ||||
| @ -474,17 +545,16 @@ CONFIG_HW_CONSOLE=y | ||||
| # | ||||
| CONFIG_SERIAL_8250=m | ||||
| CONFIG_SERIAL_8250_NR_UARTS=4 | ||||
| CONFIG_SERIAL_8250_RUNTIME_UARTS=4 | ||||
| CONFIG_SERIAL_8250_EXTENDED=y | ||||
| CONFIG_SERIAL_8250_MANY_PORTS=y | ||||
| CONFIG_SERIAL_8250_SHARE_IRQ=y | ||||
| # CONFIG_SERIAL_8250_DETECT_IRQ is not set | ||||
| CONFIG_SERIAL_8250_MULTIPORT=y | ||||
| CONFIG_SERIAL_8250_RSA=y | ||||
| 
 | ||||
| # | ||||
| # Non-8250 serial port support | ||||
| # | ||||
| # CONFIG_SERIAL_AMBA_PL010 is not set | ||||
| CONFIG_SERIAL_AMBA_PL011=y | ||||
| CONFIG_SERIAL_AMBA_PL011_CONSOLE=y | ||||
| CONFIG_SERIAL_CORE=y | ||||
| @ -503,20 +573,19 @@ CONFIG_LEGACY_PTY_COUNT=16 | ||||
| # | ||||
| # CONFIG_WATCHDOG is not set | ||||
| # CONFIG_NVRAM is not set | ||||
| # CONFIG_RTC is not set | ||||
| # CONFIG_DTLK is not set | ||||
| # CONFIG_R3964 is not set | ||||
| 
 | ||||
| # | ||||
| # Ftape, the floppy tape device driver | ||||
| # | ||||
| # CONFIG_DRM is not set | ||||
| # CONFIG_RAW_DRIVER is not set | ||||
| 
 | ||||
| # | ||||
| # TPM devices | ||||
| # | ||||
| # CONFIG_TCG_TPM is not set | ||||
| # CONFIG_TELCLOCK is not set | ||||
| 
 | ||||
| # | ||||
| # I2C support | ||||
| @ -534,59 +603,59 @@ CONFIG_I2C_ALGOBIT=y | ||||
| # | ||||
| # I2C Hardware Bus support | ||||
| # | ||||
| # CONFIG_I2C_ISA is not set | ||||
| # CONFIG_I2C_PARPORT_LIGHT is not set | ||||
| # CONFIG_I2C_STUB is not set | ||||
| # CONFIG_I2C_PCA_ISA is not set | ||||
| 
 | ||||
| # | ||||
| # Hardware Sensors Chip support | ||||
| # | ||||
| CONFIG_I2C_SENSOR=m | ||||
| # CONFIG_SENSORS_ADM1021 is not set | ||||
| # CONFIG_SENSORS_ADM1025 is not set | ||||
| # CONFIG_SENSORS_ADM1026 is not set | ||||
| # CONFIG_SENSORS_ADM1031 is not set | ||||
| # CONFIG_SENSORS_ASB100 is not set | ||||
| # CONFIG_SENSORS_DS1621 is not set | ||||
| # CONFIG_SENSORS_FSCHER is not set | ||||
| # CONFIG_SENSORS_FSCPOS is not set | ||||
| # CONFIG_SENSORS_GL518SM is not set | ||||
| # CONFIG_SENSORS_GL520SM is not set | ||||
| # CONFIG_SENSORS_IT87 is not set | ||||
| # CONFIG_SENSORS_LM63 is not set | ||||
| # CONFIG_SENSORS_LM75 is not set | ||||
| # CONFIG_SENSORS_LM77 is not set | ||||
| # CONFIG_SENSORS_LM78 is not set | ||||
| # CONFIG_SENSORS_LM80 is not set | ||||
| # CONFIG_SENSORS_LM83 is not set | ||||
| # CONFIG_SENSORS_LM85 is not set | ||||
| # CONFIG_SENSORS_LM87 is not set | ||||
| # CONFIG_SENSORS_LM90 is not set | ||||
| # CONFIG_SENSORS_MAX1619 is not set | ||||
| # CONFIG_SENSORS_PC87360 is not set | ||||
| # CONFIG_SENSORS_SMSC47B397 is not set | ||||
| # CONFIG_SENSORS_SMSC47M1 is not set | ||||
| # CONFIG_SENSORS_W83781D is not set | ||||
| # CONFIG_SENSORS_W83L785TS is not set | ||||
| # CONFIG_SENSORS_W83627HF is not set | ||||
| 
 | ||||
| # | ||||
| # Other I2C Chip support | ||||
| # Miscellaneous I2C Chip support | ||||
| # | ||||
| # CONFIG_SENSORS_DS1337 is not set | ||||
| # CONFIG_SENSORS_DS1374 is not set | ||||
| CONFIG_SENSORS_EEPROM=m | ||||
| # CONFIG_SENSORS_PCF8574 is not set | ||||
| # CONFIG_SENSORS_PCA9539 is not set | ||||
| # CONFIG_SENSORS_PCF8591 is not set | ||||
| # CONFIG_SENSORS_RTC8564 is not set | ||||
| # CONFIG_SENSORS_MAX6875 is not set | ||||
| # CONFIG_I2C_DEBUG_CORE is not set | ||||
| # CONFIG_I2C_DEBUG_ALGO is not set | ||||
| # CONFIG_I2C_DEBUG_BUS is not set | ||||
| # CONFIG_I2C_DEBUG_CHIP is not set | ||||
| 
 | ||||
| # | ||||
| # SPI support | ||||
| # | ||||
| # CONFIG_SPI is not set | ||||
| # CONFIG_SPI_MASTER is not set | ||||
| 
 | ||||
| # | ||||
| # Dallas's 1-wire bus | ||||
| # | ||||
| # CONFIG_W1 is not set | ||||
| 
 | ||||
| # | ||||
| # Hardware Monitoring support | ||||
| # | ||||
| # CONFIG_HWMON is not set | ||||
| # CONFIG_HWMON_VID is not set | ||||
| 
 | ||||
| # | ||||
| # Misc devices | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # LED devices | ||||
| # | ||||
| # CONFIG_NEW_LEDS is not set | ||||
| 
 | ||||
| # | ||||
| # LED drivers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # LED Triggers | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # Multimedia devices | ||||
| # | ||||
| @ -604,27 +673,31 @@ CONFIG_FB=y | ||||
| CONFIG_FB_CFB_FILLRECT=y | ||||
| CONFIG_FB_CFB_COPYAREA=y | ||||
| CONFIG_FB_CFB_IMAGEBLIT=y | ||||
| CONFIG_FB_SOFT_CURSOR=y | ||||
| # CONFIG_FB_MACMODES is not set | ||||
| # CONFIG_FB_FIRMWARE_EDID is not set | ||||
| # CONFIG_FB_MODE_HELPERS is not set | ||||
| # CONFIG_FB_TILEBLITTING is not set | ||||
| CONFIG_FB_ARMCLCD=y | ||||
| # CONFIG_FB_S1D13XXX is not set | ||||
| # CONFIG_FB_VIRTUAL is not set | ||||
| 
 | ||||
| # | ||||
| # Console display driver support | ||||
| # | ||||
| # CONFIG_VGA_CONSOLE is not set | ||||
| CONFIG_DUMMY_CONSOLE=y | ||||
| CONFIG_FRAMEBUFFER_CONSOLE=y | ||||
| # CONFIG_FRAMEBUFFER_CONSOLE_ROTATION is not set | ||||
| CONFIG_FONTS=y | ||||
| # CONFIG_FONT_8x8 is not set | ||||
| # CONFIG_FONT_8x16 is not set | ||||
| # CONFIG_FONT_6x11 is not set | ||||
| # CONFIG_FONT_7x14 is not set | ||||
| # CONFIG_FONT_PEARL_8x8 is not set | ||||
| CONFIG_FONT_ACORN_8x8=y | ||||
| # CONFIG_FONT_MINI_4x6 is not set | ||||
| # CONFIG_FONT_SUN8x16 is not set | ||||
| # CONFIG_FONT_SUN12x22 is not set | ||||
| # CONFIG_FONT_10x18 is not set | ||||
| 
 | ||||
| # | ||||
| # Logo configuration | ||||
| @ -647,12 +720,18 @@ CONFIG_SND_PCM=m | ||||
| CONFIG_SND_OSSEMUL=y | ||||
| CONFIG_SND_MIXER_OSS=m | ||||
| CONFIG_SND_PCM_OSS=m | ||||
| CONFIG_SND_PCM_OSS_PLUGINS=y | ||||
| # CONFIG_SND_DYNAMIC_MINORS is not set | ||||
| CONFIG_SND_SUPPORT_OLD_API=y | ||||
| CONFIG_SND_VERBOSE_PROCFS=y | ||||
| # CONFIG_SND_VERBOSE_PRINTK is not set | ||||
| # CONFIG_SND_DEBUG is not set | ||||
| 
 | ||||
| # | ||||
| # Generic devices | ||||
| # | ||||
| CONFIG_SND_AC97_CODEC=m | ||||
| CONFIG_SND_AC97_BUS=m | ||||
| # CONFIG_SND_DUMMY is not set | ||||
| # CONFIG_SND_MTPAV is not set | ||||
| # CONFIG_SND_SERIAL_U16550 is not set | ||||
| @ -661,6 +740,7 @@ CONFIG_SND_PCM_OSS=m | ||||
| # | ||||
| # ALSA ARM devices | ||||
| # | ||||
| CONFIG_SND_ARMAACI=m | ||||
| 
 | ||||
| # | ||||
| # Open Sound System | ||||
| @ -672,8 +752,13 @@ CONFIG_SND_PCM_OSS=m | ||||
| # | ||||
| CONFIG_USB_ARCH_HAS_HCD=y | ||||
| # CONFIG_USB_ARCH_HAS_OHCI is not set | ||||
| # CONFIG_USB_ARCH_HAS_EHCI is not set | ||||
| # CONFIG_USB is not set | ||||
| 
 | ||||
| # | ||||
| # NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' | ||||
| # | ||||
| 
 | ||||
| # | ||||
| # USB Gadget Support | ||||
| # | ||||
| @ -687,26 +772,32 @@ CONFIG_MMC=y | ||||
| CONFIG_MMC_BLOCK=y | ||||
| CONFIG_MMC_ARMMMCI=m | ||||
| 
 | ||||
| # | ||||
| # Real Time Clock | ||||
| # | ||||
| CONFIG_RTC_LIB=y | ||||
| # CONFIG_RTC_CLASS is not set | ||||
| 
 | ||||
| # | ||||
| # File systems | ||||
| # | ||||
| CONFIG_EXT2_FS=y | ||||
| # CONFIG_EXT2_FS_XATTR is not set | ||||
| # CONFIG_EXT2_FS_XIP is not set | ||||
| # CONFIG_EXT3_FS is not set | ||||
| # CONFIG_JBD is not set | ||||
| # CONFIG_REISERFS_FS is not set | ||||
| # CONFIG_JFS_FS is not set | ||||
| 
 | ||||
| # | ||||
| # XFS support | ||||
| # | ||||
| # CONFIG_FS_POSIX_ACL is not set | ||||
| # CONFIG_XFS_FS is not set | ||||
| # CONFIG_OCFS2_FS is not set | ||||
| CONFIG_MINIX_FS=y | ||||
| CONFIG_ROMFS_FS=y | ||||
| # CONFIG_INOTIFY is not set | ||||
| # CONFIG_QUOTA is not set | ||||
| CONFIG_DNOTIFY=y | ||||
| # CONFIG_AUTOFS_FS is not set | ||||
| # CONFIG_AUTOFS4_FS is not set | ||||
| # CONFIG_FUSE_FS is not set | ||||
| 
 | ||||
| # | ||||
| # CD-ROM/DVD Filesystems | ||||
| @ -729,11 +820,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1" | ||||
| # | ||||
| CONFIG_PROC_FS=y | ||||
| CONFIG_SYSFS=y | ||||
| # CONFIG_DEVFS_FS is not set | ||||
| # CONFIG_DEVPTS_FS_XATTR is not set | ||||
| # CONFIG_TMPFS is not set | ||||
| # CONFIG_HUGETLB_PAGE is not set | ||||
| CONFIG_RAMFS=y | ||||
| # CONFIG_CONFIGFS_FS is not set | ||||
| 
 | ||||
| # | ||||
| # Miscellaneous filesystems | ||||
| @ -748,8 +838,8 @@ CONFIG_RAMFS=y | ||||
| # CONFIG_JFFS_FS is not set | ||||
| CONFIG_JFFS2_FS=y | ||||
| CONFIG_JFFS2_FS_DEBUG=0 | ||||
| # CONFIG_JFFS2_FS_NAND is not set | ||||
| # CONFIG_JFFS2_FS_NOR_ECC is not set | ||||
| CONFIG_JFFS2_FS_WRITEBUFFER=y | ||||
| # CONFIG_JFFS2_SUMMARY is not set | ||||
| # CONFIG_JFFS2_COMPRESSION_OPTIONS is not set | ||||
| CONFIG_JFFS2_ZLIB=y | ||||
| CONFIG_JFFS2_RTIME=y | ||||
| @ -766,16 +856,19 @@ CONFIG_CRAMFS=y | ||||
| # | ||||
| CONFIG_NFS_FS=y | ||||
| CONFIG_NFS_V3=y | ||||
| # CONFIG_NFS_V3_ACL is not set | ||||
| # CONFIG_NFS_V4 is not set | ||||
| # CONFIG_NFS_DIRECTIO is not set | ||||
| CONFIG_NFSD=y | ||||
| CONFIG_NFSD_V3=y | ||||
| # CONFIG_NFSD_V3_ACL is not set | ||||
| # CONFIG_NFSD_V4 is not set | ||||
| # CONFIG_NFSD_TCP is not set | ||||
| CONFIG_ROOT_NFS=y | ||||
| CONFIG_LOCKD=y | ||||
| CONFIG_LOCKD_V4=y | ||||
| CONFIG_EXPORTFS=y | ||||
| CONFIG_NFS_COMMON=y | ||||
| CONFIG_SUNRPC=y | ||||
| # CONFIG_RPCSEC_GSS_KRB5 is not set | ||||
| # CONFIG_RPCSEC_GSS_SPKM3 is not set | ||||
| @ -784,6 +877,7 @@ CONFIG_SUNRPC=y | ||||
| # CONFIG_NCP_FS is not set | ||||
| # CONFIG_CODA_FS is not set | ||||
| # CONFIG_AFS_FS is not set | ||||
| # CONFIG_9P_FS is not set | ||||
| 
 | ||||
| # | ||||
| # Partition Types | ||||
| @ -803,6 +897,7 @@ CONFIG_MSDOS_PARTITION=y | ||||
| # CONFIG_SGI_PARTITION is not set | ||||
| # CONFIG_ULTRIX_PARTITION is not set | ||||
| # CONFIG_SUN_PARTITION is not set | ||||
| # CONFIG_KARMA_PARTITION is not set | ||||
| # CONFIG_EFI_PARTITION is not set | ||||
| 
 | ||||
| # | ||||
| @ -858,18 +953,24 @@ CONFIG_NLS_ISO8859_1=m | ||||
| # Kernel hacking | ||||
| # | ||||
| # CONFIG_PRINTK_TIME is not set | ||||
| CONFIG_DEBUG_KERNEL=y | ||||
| CONFIG_MAGIC_SYSRQ=y | ||||
| CONFIG_DEBUG_KERNEL=y | ||||
| CONFIG_LOG_BUF_SHIFT=14 | ||||
| CONFIG_DETECT_SOFTLOCKUP=y | ||||
| # CONFIG_SCHEDSTATS is not set | ||||
| # CONFIG_DEBUG_SLAB is not set | ||||
| # CONFIG_DEBUG_MUTEXES is not set | ||||
| # CONFIG_DEBUG_SPINLOCK is not set | ||||
| # CONFIG_DEBUG_SPINLOCK_SLEEP is not set | ||||
| # CONFIG_DEBUG_KOBJECT is not set | ||||
| CONFIG_DEBUG_BUGVERBOSE=y | ||||
| # CONFIG_DEBUG_INFO is not set | ||||
| # CONFIG_DEBUG_FS is not set | ||||
| # CONFIG_DEBUG_VM is not set | ||||
| CONFIG_FRAME_POINTER=y | ||||
| # CONFIG_UNWIND_INFO is not set | ||||
| CONFIG_FORCED_INLINING=y | ||||
| # CONFIG_RCU_TORTURE_TEST is not set | ||||
| CONFIG_DEBUG_USER=y | ||||
| # CONFIG_DEBUG_WAITQ is not set | ||||
| CONFIG_DEBUG_ERRORS=y | ||||
| @ -895,6 +996,7 @@ CONFIG_DEBUG_LL=y | ||||
| # Library routines | ||||
| # | ||||
| # CONFIG_CRC_CCITT is not set | ||||
| # CONFIG_CRC16 is not set | ||||
| CONFIG_CRC32=y | ||||
| # CONFIG_LIBCRC32C is not set | ||||
| CONFIG_ZLIB_INFLATE=y | ||||
|  | ||||
| @ -29,7 +29,7 @@ ifneq ($(CONFIG_ARCH_EBSA110),y) | ||||
|   obj-y		+= io.o | ||||
| endif | ||||
| 
 | ||||
| head-y			:= head.o | ||||
| head-y			:= head$(MMUEXT).o | ||||
| obj-$(CONFIG_DEBUG_LL)	+= debug.o | ||||
| 
 | ||||
| extra-y := $(head-y) init_task.o vmlinux.lds | ||||
|  | ||||
| @ -95,5 +95,13 @@ int main(void) | ||||
|   DEFINE(SYS_ERROR0,		0x9f0000); | ||||
|   BLANK(); | ||||
|   DEFINE(SIZEOF_MACHINE_DESC,	sizeof(struct machine_desc)); | ||||
|   DEFINE(MACHINFO_TYPE,		offsetof(struct machine_desc, nr)); | ||||
|   DEFINE(MACHINFO_NAME,		offsetof(struct machine_desc, name)); | ||||
|   DEFINE(MACHINFO_PHYSIO,	offsetof(struct machine_desc, phys_io)); | ||||
|   DEFINE(MACHINFO_PGOFFIO,	offsetof(struct machine_desc, io_pg_offst)); | ||||
|   BLANK(); | ||||
|   DEFINE(PROC_INFO_SZ,		sizeof(struct proc_info_list)); | ||||
|   DEFINE(PROCINFO_INITFUNC,	offsetof(struct proc_info_list, __cpu_flush)); | ||||
|   DEFINE(PROCINFO_MMUFLAGS,	offsetof(struct proc_info_list, __cpu_mmu_flags)); | ||||
|   return 0;  | ||||
| } | ||||
|  | ||||
| @ -143,12 +143,23 @@ static struct dma_ops isa_dma_ops = { | ||||
| 	.residue	= isa_get_dma_residue, | ||||
| }; | ||||
| 
 | ||||
| static struct resource dma_resources[] = { | ||||
| 	{ "dma1",		0x0000, 0x000f }, | ||||
| 	{ "dma low page", 	0x0080, 0x008f }, | ||||
| 	{ "dma2",		0x00c0, 0x00df }, | ||||
| 	{ "dma high page",	0x0480, 0x048f } | ||||
| }; | ||||
| static struct resource dma_resources[] = { { | ||||
| 	.name	= "dma1", | ||||
| 	.start	= 0x0000, | ||||
| 	.end	= 0x000f | ||||
| }, { | ||||
| 	.name	= "dma low page", | ||||
| 	.start	= 0x0080, | ||||
| 	.end 	= 0x008f | ||||
| }, { | ||||
| 	.name	= "dma2", | ||||
| 	.start	= 0x00c0, | ||||
| 	.end	= 0x00df | ||||
| }, { | ||||
| 	.name	= "dma high page", | ||||
| 	.start	= 0x0480, | ||||
| 	.end	= 0x048f | ||||
| } }; | ||||
| 
 | ||||
| void __init isa_init_dma(dma_t *dma) | ||||
| { | ||||
|  | ||||
| @ -20,11 +20,10 @@ | ||||
| #include <asm/mach-types.h> | ||||
| #include <asm/procinfo.h> | ||||
| #include <asm/ptrace.h> | ||||
| #include <asm/constants.h> | ||||
| #include <asm/asm-offsets.h> | ||||
| #include <asm/thread_info.h> | ||||
| #include <asm/system.h> | ||||
| 
 | ||||
| #define PROCINFO_INITFUNC       12 | ||||
| 
 | ||||
| /* | ||||
|  * Kernel startup entry point. | ||||
|  * --------------------------- | ||||
| @ -79,5 +78,6 @@ __after_proc_init: | ||||
| 
 | ||||
| 	mov	pc, r13				@ clear the BSS and jump
 | ||||
| 						@ to start_kernel
 | ||||
| 	.ltorg | ||||
| 
 | ||||
| #include "head-common.S" | ||||
|  | ||||
| @ -24,14 +24,6 @@ | ||||
| #include <asm/thread_info.h> | ||||
| #include <asm/system.h> | ||||
| 
 | ||||
| #define PROCINFO_MMUFLAGS	8 | ||||
| #define PROCINFO_INITFUNC	12 | ||||
| 
 | ||||
| #define MACHINFO_TYPE		0 | ||||
| #define MACHINFO_PHYSIO		4 | ||||
| #define MACHINFO_PGOFFIO	8 | ||||
| #define MACHINFO_NAME		12 | ||||
| 
 | ||||
| #define KERNEL_RAM_ADDR	(PAGE_OFFSET + TEXT_OFFSET) | ||||
| 
 | ||||
| /* | ||||
|  | ||||
| @ -264,8 +264,12 @@ void show_fpregs(struct user_fp *regs) | ||||
| /*
 | ||||
|  * Task structure and kernel stack allocation. | ||||
|  */ | ||||
| static unsigned long *thread_info_head; | ||||
| static unsigned int nr_thread_info; | ||||
| struct thread_info_list { | ||||
| 	unsigned long *head; | ||||
| 	unsigned int nr; | ||||
| }; | ||||
| 
 | ||||
| static DEFINE_PER_CPU(struct thread_info_list, thread_info_list) = { NULL, 0 }; | ||||
| 
 | ||||
| #define EXTRA_TASK_STRUCT	4 | ||||
| 
 | ||||
| @ -274,12 +278,15 @@ struct thread_info *alloc_thread_info(struct task_struct *task) | ||||
| 	struct thread_info *thread = NULL; | ||||
| 
 | ||||
| 	if (EXTRA_TASK_STRUCT) { | ||||
| 		unsigned long *p = thread_info_head; | ||||
| 		struct thread_info_list *th = &get_cpu_var(thread_info_list); | ||||
| 		unsigned long *p = th->head; | ||||
| 
 | ||||
| 		if (p) { | ||||
| 			thread_info_head = (unsigned long *)p[0]; | ||||
| 			nr_thread_info -= 1; | ||||
| 			th->head = (unsigned long *)p[0]; | ||||
| 			th->nr -= 1; | ||||
| 		} | ||||
| 		put_cpu_var(thread_info_list); | ||||
| 
 | ||||
| 		thread = (struct thread_info *)p; | ||||
| 	} | ||||
| 
 | ||||
| @ -300,13 +307,19 @@ struct thread_info *alloc_thread_info(struct task_struct *task) | ||||
| 
 | ||||
| void free_thread_info(struct thread_info *thread) | ||||
| { | ||||
| 	if (EXTRA_TASK_STRUCT && nr_thread_info < EXTRA_TASK_STRUCT) { | ||||
| 		unsigned long *p = (unsigned long *)thread; | ||||
| 		p[0] = (unsigned long)thread_info_head; | ||||
| 		thread_info_head = p; | ||||
| 		nr_thread_info += 1; | ||||
| 	} else | ||||
| 		free_pages((unsigned long)thread, THREAD_SIZE_ORDER); | ||||
| 	if (EXTRA_TASK_STRUCT) { | ||||
| 		struct thread_info_list *th = &get_cpu_var(thread_info_list); | ||||
| 		if (th->nr < EXTRA_TASK_STRUCT) { | ||||
| 			unsigned long *p = (unsigned long *)thread; | ||||
| 			p[0] = (unsigned long)th->head; | ||||
| 			th->head = p; | ||||
| 			th->nr += 1; | ||||
| 			put_cpu_var(thread_info_list); | ||||
| 			return; | ||||
| 		} | ||||
| 		put_cpu_var(thread_info_list); | ||||
| 	} | ||||
| 	free_pages((unsigned long)thread, THREAD_SIZE_ORDER); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  | ||||
| @ -407,7 +407,7 @@ static void __init early_initrd(char **p) | ||||
| } | ||||
| __early_param("initrd=", early_initrd); | ||||
| 
 | ||||
| static void __init add_memory(unsigned long start, unsigned long size) | ||||
| static void __init arm_add_memory(unsigned long start, unsigned long size) | ||||
| { | ||||
| 	/*
 | ||||
| 	 * Ensure that start/size are aligned to a page boundary. | ||||
| @ -445,7 +445,7 @@ static void __init early_mem(char **p) | ||||
| 	if (**p == '@') | ||||
| 		start = memparse(*p + 1, p); | ||||
| 
 | ||||
| 	add_memory(start, size); | ||||
| 	arm_add_memory(start, size); | ||||
| } | ||||
| __early_param("mem=", early_mem); | ||||
| 
 | ||||
| @ -587,7 +587,7 @@ static int __init parse_tag_mem32(const struct tag *tag) | ||||
| 			tag->u.mem.start, tag->u.mem.size / 1024); | ||||
| 		return -EINVAL; | ||||
| 	} | ||||
| 	add_memory(tag->u.mem.start, tag->u.mem.size); | ||||
| 	arm_add_memory(tag->u.mem.start, tag->u.mem.size); | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
| @ -807,7 +807,7 @@ static int __init topology_init(void) | ||||
| { | ||||
| 	int cpu; | ||||
| 
 | ||||
| 	for_each_cpu(cpu) | ||||
| 	for_each_possible_cpu(cpu) | ||||
| 		register_cpu(&per_cpu(cpu_data, cpu).cpu, cpu, NULL); | ||||
| 
 | ||||
| 	return 0; | ||||
|  | ||||
| @ -122,7 +122,7 @@ ENTRY(c_backtrace) | ||||
| #define reg   r5 | ||||
| #define stack r6 | ||||
| 
 | ||||
| .Ldumpstm:	stmfd	sp!, {instr, reg, stack, r7, lr} | ||||
| .Ldumpstm:	stmfd	sp!, {instr, reg, stack, r7, r8, lr} | ||||
| 		mov	stack, r0 | ||||
| 		mov	instr, r1 | ||||
| 		mov	reg, #9 | ||||
| @ -145,7 +145,7 @@ ENTRY(c_backtrace) | ||||
| 		adrne	r0, .Lcr | ||||
| 		blne	printk | ||||
| 		mov	r0, stack | ||||
| 		LOADREGS(fd, sp!, {instr, reg, stack, r7, pc}) | ||||
| 		LOADREGS(fd, sp!, {instr, reg, stack, r7, r8, pc}) | ||||
| 
 | ||||
| .Lfp:		.asciz	" r%d = %08X%c" | ||||
| .Lcr:		.asciz	"\n" | ||||
|  | ||||
| @ -189,12 +189,12 @@ ENTRY(__do_div64) | ||||
| 	moveq	pc, lr | ||||
| 
 | ||||
| 	@ Division by 0:
 | ||||
| 	str	lr, [sp, #-4]! | ||||
| 	str	lr, [sp, #-8]! | ||||
| 	bl	__div0 | ||||
| 
 | ||||
| 	@ as wrong as it could be...
 | ||||
| 	mov	yl, #0 | ||||
| 	mov	yh, #0 | ||||
| 	mov	xh, #0 | ||||
| 	ldr	pc, [sp], #4 | ||||
| 	ldr	pc, [sp], #8 | ||||
| 
 | ||||
|  | ||||
| @ -79,7 +79,12 @@ static void __init aaed2000_init(void) | ||||
| } | ||||
| 
 | ||||
| static struct map_desc aaed2000_io_desc[] __initdata = { | ||||
|   { EXT_GPIO_VBASE, EXT_GPIO_PBASE, EXT_GPIO_LENGTH, MT_DEVICE }, /* Ext GPIO */ | ||||
| 	{ | ||||
| 		.virtual	= EXT_GPIO_VBASE, | ||||
| 		.pfn            = __phys_to_pfn(EXT_GPIO_PBASE), | ||||
| 		.length         = EXT_GPIO_LENGTH, | ||||
| 		.type           = MT_DEVICE | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| static void __init aaed2000_map_io(void) | ||||
|  | ||||
| @ -20,7 +20,6 @@ | ||||
| #include <linux/interrupt.h> | ||||
| #include <linux/timex.h> | ||||
| #include <linux/signal.h> | ||||
| #include <linux/amba/bus.h> | ||||
| 
 | ||||
| #include <asm/hardware.h> | ||||
| #include <asm/irq.h> | ||||
| @ -50,12 +49,12 @@ | ||||
| static struct map_desc standard_io_desc[] __initdata = { | ||||
| 	{ | ||||
| 		.virtual	= VIO_APB_BASE, | ||||
| 		.physical	= __phys_to_pfn(PIO_APB_BASE), | ||||
| 		.pfn		= __phys_to_pfn(PIO_APB_BASE), | ||||
| 		.length		= IO_APB_LENGTH, | ||||
| 		.type		= MT_DEVICE | ||||
| 	}, { | ||||
| 		.virtual	= VIO_AHB_BASE, | ||||
| 		.physical	= __phys_to_pfn(PIO_AHB_BASE), | ||||
| 		.pfn		= __phys_to_pfn(PIO_AHB_BASE), | ||||
| 		.length		= IO_AHB_LENGTH, | ||||
| 		.type		= MT_DEVICE | ||||
| 	} | ||||
|  | ||||
| @ -9,6 +9,7 @@ | ||||
|  * | ||||
|  */ | ||||
| 
 | ||||
| #include <linux/amba/bus.h> | ||||
| #include <linux/amba/clcd.h> | ||||
| 
 | ||||
| struct sys_timer; | ||||
|  | ||||
| @ -194,13 +194,23 @@ void __init at91_add_device_eth(struct at91_eth_data *data) {} | ||||
| #if defined(CONFIG_AT91_CF) || defined(CONFIG_AT91_CF_MODULE) | ||||
| static struct at91_cf_data cf_data; | ||||
| 
 | ||||
| static struct resource at91_cf_resources[] = { | ||||
| 	[0] = { | ||||
| 		.start	= AT91_CF_BASE, | ||||
| 		/* ties up CS4, CS5, and CS6 */ | ||||
| 		.end	= AT91_CF_BASE + (0x30000000 - 1), | ||||
| 		.flags	= IORESOURCE_MEM | IORESOURCE_MEM_8AND16BIT, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| static struct platform_device at91rm9200_cf_device = { | ||||
| 	.name		= "at91_cf", | ||||
| 	.id		= -1, | ||||
| 	.dev		= { | ||||
| 				.platform_data		= &cf_data, | ||||
| 	}, | ||||
| 	.num_resources	= 0, | ||||
| 	.resource	= at91_cf_resources, | ||||
| 	.num_resources	= ARRAY_SIZE(at91_cf_resources), | ||||
| }; | ||||
| 
 | ||||
| void __init at91_add_device_cf(struct at91_cf_data *data) | ||||
|  | ||||
| @ -111,21 +111,21 @@ static void __init ts72xx_map_io(void) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| static unsigned char ts72xx_rtc_readb(unsigned long addr) | ||||
| static unsigned char ts72xx_rtc_readbyte(unsigned long addr) | ||||
| { | ||||
| 	__raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); | ||||
| 	return __raw_readb(TS72XX_RTC_DATA_VIRT_BASE); | ||||
| } | ||||
| 
 | ||||
| static void ts72xx_rtc_writeb(unsigned char value, unsigned long addr) | ||||
| static void ts72xx_rtc_writebyte(unsigned char value, unsigned long addr) | ||||
| { | ||||
| 	__raw_writeb(addr, TS72XX_RTC_INDEX_VIRT_BASE); | ||||
| 	__raw_writeb(value, TS72XX_RTC_DATA_VIRT_BASE); | ||||
| } | ||||
| 
 | ||||
| static struct m48t86_ops ts72xx_rtc_ops = { | ||||
| 	.readb			= ts72xx_rtc_readb, | ||||
| 	.writeb			= ts72xx_rtc_writeb, | ||||
| 	.readbyte		= ts72xx_rtc_readbyte, | ||||
| 	.writebyte		= ts72xx_rtc_writebyte, | ||||
| }; | ||||
| 
 | ||||
| static struct platform_device ts72xx_rtc_device = { | ||||
|  | ||||
| @ -195,56 +195,6 @@ void __init imx_set_mmc_info(struct imxmmc_platform_data *info) | ||||
| } | ||||
| EXPORT_SYMBOL(imx_set_mmc_info); | ||||
| 
 | ||||
| static struct resource imx_uart1_resources[] = { | ||||
| 	[0] = { | ||||
| 		.start	= 0x00206000, | ||||
| 		.end	= 0x002060FF, | ||||
| 		.flags	= IORESOURCE_MEM, | ||||
| 	}, | ||||
| 	[1] = { | ||||
| 		.start	= (UART1_MINT_RX), | ||||
| 		.end	= (UART1_MINT_RX), | ||||
| 		.flags	= IORESOURCE_IRQ, | ||||
| 	}, | ||||
| 	[2] = { | ||||
| 		.start	= (UART1_MINT_TX), | ||||
| 		.end	= (UART1_MINT_TX), | ||||
| 		.flags	= IORESOURCE_IRQ, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| static struct platform_device imx_uart1_device = { | ||||
| 	.name		= "imx-uart", | ||||
| 	.id		= 0, | ||||
| 	.num_resources	= ARRAY_SIZE(imx_uart1_resources), | ||||
| 	.resource	= imx_uart1_resources, | ||||
| }; | ||||
| 
 | ||||
| static struct resource imx_uart2_resources[] = { | ||||
| 	[0] = { | ||||
| 		.start	= 0x00207000, | ||||
| 		.end	= 0x002070FF, | ||||
| 		.flags	= IORESOURCE_MEM, | ||||
| 	}, | ||||
| 	[1] = { | ||||
| 		.start	= (UART2_MINT_RX), | ||||
| 		.end	= (UART2_MINT_RX), | ||||
| 		.flags	= IORESOURCE_IRQ, | ||||
| 	}, | ||||
| 	[2] = { | ||||
| 		.start	= (UART2_MINT_TX), | ||||
| 		.end	= (UART2_MINT_TX), | ||||
| 		.flags	= IORESOURCE_IRQ, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| static struct platform_device imx_uart2_device = { | ||||
| 	.name		= "imx-uart", | ||||
| 	.id		= 1, | ||||
| 	.num_resources	= ARRAY_SIZE(imx_uart2_resources), | ||||
| 	.resource	= imx_uart2_resources, | ||||
| }; | ||||
| 
 | ||||
| static struct imxfb_mach_info imx_fb_info; | ||||
| 
 | ||||
| void __init set_imx_fb_info(struct imxfb_mach_info *hard_imx_fb_info) | ||||
| @ -283,8 +233,6 @@ static struct platform_device imxfb_device = { | ||||
| static struct platform_device *devices[] __initdata = { | ||||
| 	&imx_mmc_device, | ||||
| 	&imxfb_device, | ||||
| 	&imx_uart1_device, | ||||
| 	&imx_uart2_device, | ||||
| }; | ||||
| 
 | ||||
| static struct map_desc imx_io_desc[] __initdata = { | ||||
|  | ||||
| @ -26,6 +26,7 @@ | ||||
| 
 | ||||
| #include <asm/mach/arch.h> | ||||
| #include <asm/arch/mmc.h> | ||||
| #include <asm/arch/imx-uart.h> | ||||
| #include <linux/interrupt.h> | ||||
| #include "generic.h" | ||||
| 
 | ||||
| @ -48,8 +49,70 @@ static struct platform_device cs89x0_device = { | ||||
| 	.resource	= cs89x0_resources, | ||||
| }; | ||||
| 
 | ||||
| static struct imxuart_platform_data uart_pdata = { | ||||
| 	.flags = IMXUART_HAVE_RTSCTS, | ||||
| }; | ||||
| 
 | ||||
| static struct resource imx_uart1_resources[] = { | ||||
| 	[0] = { | ||||
| 		.start	= 0x00206000, | ||||
| 		.end	= 0x002060FF, | ||||
| 		.flags	= IORESOURCE_MEM, | ||||
| 	}, | ||||
| 	[1] = { | ||||
| 		.start	= (UART1_MINT_RX), | ||||
| 		.end	= (UART1_MINT_RX), | ||||
| 		.flags	= IORESOURCE_IRQ, | ||||
| 	}, | ||||
| 	[2] = { | ||||
| 		.start	= (UART1_MINT_TX), | ||||
| 		.end	= (UART1_MINT_TX), | ||||
| 		.flags	= IORESOURCE_IRQ, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| static struct platform_device imx_uart1_device = { | ||||
| 	.name		= "imx-uart", | ||||
| 	.id		= 0, | ||||
| 	.num_resources	= ARRAY_SIZE(imx_uart1_resources), | ||||
| 	.resource	= imx_uart1_resources, | ||||
| 	.dev = { | ||||
| 		.platform_data = &uart_pdata, | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| static struct resource imx_uart2_resources[] = { | ||||
| 	[0] = { | ||||
| 		.start	= 0x00207000, | ||||
| 		.end	= 0x002070FF, | ||||
| 		.flags	= IORESOURCE_MEM, | ||||
| 	}, | ||||
| 	[1] = { | ||||
| 		.start	= (UART2_MINT_RX), | ||||
| 		.end	= (UART2_MINT_RX), | ||||
| 		.flags	= IORESOURCE_IRQ, | ||||
| 	}, | ||||
| 	[2] = { | ||||
| 		.start	= (UART2_MINT_TX), | ||||
| 		.end	= (UART2_MINT_TX), | ||||
| 		.flags	= IORESOURCE_IRQ, | ||||
| 	}, | ||||
| }; | ||||
| 
 | ||||
| static struct platform_device imx_uart2_device = { | ||||
| 	.name		= "imx-uart", | ||||
| 	.id		= 1, | ||||
| 	.num_resources	= ARRAY_SIZE(imx_uart2_resources), | ||||
| 	.resource	= imx_uart2_resources, | ||||
| 	.dev = { | ||||
| 		.platform_data = &uart_pdata, | ||||
| 	} | ||||
| }; | ||||
| 
 | ||||
| static struct platform_device *devices[] __initdata = { | ||||
| 	&cs89x0_device, | ||||
| 	&imx_uart1_device, | ||||
| 	&imx_uart2_device, | ||||
| }; | ||||
| 
 | ||||
| #ifdef CONFIG_MMC_IMX | ||||
| @ -75,6 +138,17 @@ mx1ads_init(void) | ||||
| 	imx_gpio_mode(GPIO_PORTB | GPIO_GIUS | GPIO_IN | 20); | ||||
| 	imx_set_mmc_info(&mx1ads_mmc_info); | ||||
| #endif | ||||
| 
 | ||||
| 	imx_gpio_mode(PC9_PF_UART1_CTS); | ||||
| 	imx_gpio_mode(PC10_PF_UART1_RTS); | ||||
| 	imx_gpio_mode(PC11_PF_UART1_TXD); | ||||
| 	imx_gpio_mode(PC12_PF_UART1_RXD); | ||||
| 
 | ||||
| 	imx_gpio_mode(PB28_PF_UART2_CTS); | ||||
| 	imx_gpio_mode(PB29_PF_UART2_RTS); | ||||
| 	imx_gpio_mode(PB30_PF_UART2_TXD); | ||||
| 	imx_gpio_mode(PB31_PF_UART2_RXD); | ||||
| 
 | ||||
| 	platform_add_devices(devices, ARRAY_SIZE(devices)); | ||||
| } | ||||
| 
 | ||||
| @ -87,7 +161,7 @@ mx1ads_map_io(void) | ||||
| MACHINE_START(MX1ADS, "Motorola MX1ADS") | ||||
| 	/* Maintainer: Sascha Hauer, Pengutronix */ | ||||
| 	.phys_io	= 0x00200000, | ||||
| 	.io_pg_offst	= ((0xe0200000) >> 18) & 0xfffc, | ||||
| 	.io_pg_offst	= ((0xe0000000) >> 18) & 0xfffc, | ||||
| 	.boot_params	= 0x08000100, | ||||
| 	.map_io		= mx1ads_map_io, | ||||
| 	.init_irq	= imx_init_irq, | ||||
|  | ||||
| @ -178,8 +178,12 @@ static int ixp23xx_irq_set_type(unsigned int irq, unsigned int type) | ||||
| 
 | ||||
| static void ixp23xx_irq_mask(unsigned int irq) | ||||
| { | ||||
| 	volatile unsigned long *intr_reg = IXP23XX_INTR_EN1 + (irq / 32); | ||||
| 	volatile unsigned long *intr_reg; | ||||
| 
 | ||||
| 	if (irq >= 56) | ||||
| 		irq += 8; | ||||
| 
 | ||||
| 	intr_reg = IXP23XX_INTR_EN1 + (irq / 32); | ||||
| 	*intr_reg &= ~(1 << (irq % 32)); | ||||
| } | ||||
| 
 | ||||
| @ -199,17 +203,25 @@ static void ixp23xx_irq_ack(unsigned int irq) | ||||
|  */ | ||||
| static void ixp23xx_irq_level_unmask(unsigned int irq) | ||||
| { | ||||
| 	volatile unsigned long *intr_reg = IXP23XX_INTR_EN1 + (irq / 32); | ||||
| 	volatile unsigned long *intr_reg; | ||||
| 
 | ||||
| 	ixp23xx_irq_ack(irq); | ||||
| 
 | ||||
| 	if (irq >= 56) | ||||
| 		irq += 8; | ||||
| 
 | ||||
| 	intr_reg = IXP23XX_INTR_EN1 + (irq / 32); | ||||
| 	*intr_reg |= (1 << (irq % 32)); | ||||
| } | ||||
| 
 | ||||
| static void ixp23xx_irq_edge_unmask(unsigned int irq) | ||||
| { | ||||
| 	volatile unsigned long *intr_reg = IXP23XX_INTR_EN1 + (irq / 32); | ||||
| 	volatile unsigned long *intr_reg; | ||||
| 
 | ||||
| 	if (irq >= 56) | ||||
| 		irq += 8; | ||||
| 
 | ||||
| 	intr_reg = IXP23XX_INTR_EN1 + (irq / 32); | ||||
| 	*intr_reg |= (1 << (irq % 32)); | ||||
| } | ||||
| 
 | ||||
|  | ||||
| @ -11,6 +11,7 @@ comment "IXP4xx Platforms" | ||||
| config MACH_NSLU2 | ||||
| 	bool | ||||
| 	prompt "Linksys NSLU2" | ||||
| 	select PCI | ||||
| 	help | ||||
| 	  Say 'Y' here if you want your kernel to support Linksys's | ||||
| 	  NSLU2 NAS device. For more information on this platform, | ||||
| @ -18,6 +19,7 @@ config MACH_NSLU2 | ||||
| 
 | ||||
| config ARCH_AVILA | ||||
| 	bool "Avila" | ||||
| 	select PCI | ||||
| 	help | ||||
| 	  Say 'Y' here if you want your kernel to support the Gateworks | ||||
| 	  Avila Network Platform. For more information on this platform, | ||||
| @ -25,6 +27,7 @@ config ARCH_AVILA | ||||
| 
 | ||||
| config ARCH_ADI_COYOTE | ||||
| 	bool "Coyote" | ||||
| 	select PCI | ||||
| 	help | ||||
| 	  Say 'Y' here if you want your kernel to support the ADI  | ||||
| 	  Engineering Coyote Gateway Reference Platform. For more | ||||
| @ -32,6 +35,7 @@ config ARCH_ADI_COYOTE | ||||
| 
 | ||||
| config ARCH_IXDP425 | ||||
| 	bool "IXDP425" | ||||
| 	select PCI | ||||
| 	help | ||||
| 	  Say 'Y' here if you want your kernel to support Intel's  | ||||
| 	  IXDP425 Development Platform (Also known as Richfield).   | ||||
| @ -39,6 +43,7 @@ config ARCH_IXDP425 | ||||
| 
 | ||||
| config MACH_IXDPG425 | ||||
| 	bool "IXDPG425" | ||||
| 	select PCI | ||||
| 	help | ||||
| 	  Say 'Y' here if you want your kernel to support Intel's | ||||
| 	  IXDPG425 Development Platform (Also known as Montajade). | ||||
| @ -46,6 +51,7 @@ config MACH_IXDPG425 | ||||
| 
 | ||||
| config MACH_IXDP465 | ||||
| 	bool "IXDP465" | ||||
| 	select PCI | ||||
| 	help | ||||
| 	  Say 'Y' here if you want your kernel to support Intel's | ||||
| 	  IXDP465 Development Platform (Also known as BMP). | ||||
| @ -72,6 +78,7 @@ config ARCH_PRPMC1100 | ||||
| config MACH_NAS100D | ||||
| 	bool | ||||
| 	prompt "NAS100D" | ||||
| 	select PCI | ||||
| 	help | ||||
| 	  Say 'Y' here if you want your kernel to support Iomega's | ||||
| 	  NAS 100d device. For more information on this platform, | ||||
| @ -96,6 +103,7 @@ config CPU_IXP46X | ||||
| config MACH_GTWX5715 | ||||
| 	bool "Gemtek WX5715 (Linksys WRV54G)" | ||||
| 	depends on ARCH_IXP4XX | ||||
| 	select PCI | ||||
| 	help | ||||
| 		This board is currently inside the Linksys WRV54G Gateways. | ||||
| 
 | ||||
| @ -110,11 +118,16 @@ config MACH_GTWX5715 | ||||
| 		"High Speed" UART is n/c (as far as I can tell) | ||||
| 		20 Pin ARM/Xscale JTAG interface on J2 | ||||
| 
 | ||||
| 
 | ||||
| comment "IXP4xx Options" | ||||
| 
 | ||||
| config DMABOUNCE | ||||
| 	bool | ||||
| 	default y | ||||
| 	depends on PCI | ||||
| 
 | ||||
| config IXP4XX_INDIRECT_PCI | ||||
| 	bool "Use indirect PCI memory access" | ||||
| 	depends on PCI | ||||
| 	help | ||||
|           IXP4xx provides two methods of accessing PCI memory space: | ||||
| 
 | ||||
| @ -128,7 +141,7 @@ config IXP4XX_INDIRECT_PCI | ||||
|           2) If > 64MB of memory space is required, the IXP4xx can be  | ||||
| 	     configured to use indirect registers to access PCI This allows  | ||||
| 	     for up to 128MB (0x48000000 to 0x4fffffff) of memory on the bus.  | ||||
| 	     The disadvantadge of this is that every PCI access requires  | ||||
| 	     The disadvantage of this is that every PCI access requires  | ||||
| 	     three local register accesses plus a spinlock, but in some  | ||||
| 	     cases the performance hit is acceptable. In addition, you cannot  | ||||
| 	     mmap() PCI devices in this case due to the indirect nature | ||||
|  | ||||
| @ -2,8 +2,9 @@ | ||||
| # Makefile for the linux kernel.
 | ||||
| #
 | ||||
| 
 | ||||
| obj-y	+= common.o common-pci.o  | ||||
| obj-y	+= common.o | ||||
| 
 | ||||
| obj-$(CONFIG_PCI)		+= common-pci.o | ||||
| obj-$(CONFIG_ARCH_IXDP4XX)	+= ixdp425-pci.o ixdp425-setup.o | ||||
| obj-$(CONFIG_MACH_IXDPG425)	+= ixdpg425-pci.o coyote-setup.o | ||||
| obj-$(CONFIG_ARCH_ADI_COYOTE)	+= coyote-pci.o coyote-setup.o | ||||
|  | ||||
| @ -91,7 +91,7 @@ static void ixp4xx_config_irq(unsigned irq, enum ixp4xx_irq_type type); | ||||
| /*
 | ||||
|  * IRQ -> GPIO mapping table | ||||
|  */ | ||||
| static char irq2gpio[32] = { | ||||
| static signed char irq2gpio[32] = { | ||||
| 	-1, -1, -1, -1, -1, -1,  0,  1, | ||||
| 	-1, -1, -1, -1, -1, -1, -1, -1, | ||||
| 	-1, -1, -1,  2,  3,  4,  5,  6, | ||||
|  | ||||
| @ -196,12 +196,9 @@ static int __init corgi_ssp_probe(struct platform_device *dev) | ||||
| 	int ret; | ||||
| 
 | ||||
| 	/* Chip Select - Disable All */ | ||||
| 	GPDR(ssp_machinfo->cs_lcdcon) |= GPIO_bit(ssp_machinfo->cs_lcdcon); /* output */ | ||||
| 	GPSR(ssp_machinfo->cs_lcdcon) = GPIO_bit(ssp_machinfo->cs_lcdcon);  /* High - Disable LCD Control/Timing Gen */ | ||||
| 	GPDR(ssp_machinfo->cs_max1111) |= GPIO_bit(ssp_machinfo->cs_max1111); /* output */ | ||||
| 	GPSR(ssp_machinfo->cs_max1111) = GPIO_bit(ssp_machinfo->cs_max1111);  /* High - Disable MAX1111*/ | ||||
| 	GPDR(ssp_machinfo->cs_ads7846) |= GPIO_bit(ssp_machinfo->cs_ads7846);  /* output */ | ||||
| 	GPSR(ssp_machinfo->cs_ads7846) = GPIO_bit(ssp_machinfo->cs_ads7846);   /* High - Disable ADS7846*/ | ||||
| 	pxa_gpio_mode(ssp_machinfo->cs_lcdcon  | GPIO_OUT | GPIO_DFLT_HIGH); | ||||
|         pxa_gpio_mode(ssp_machinfo->cs_max1111 | GPIO_OUT | GPIO_DFLT_HIGH); | ||||
|         pxa_gpio_mode(ssp_machinfo->cs_ads7846 | GPIO_OUT | GPIO_DFLT_HIGH); | ||||
| 
 | ||||
| 	ret = ssp_init(&corgi_ssp_dev, ssp_machinfo->port, 0); | ||||
| 
 | ||||
|  | ||||
| @ -45,23 +45,16 @@ int pxa_request_dma (char *name, pxa_dma_prio prio, | ||||
| 
 | ||||
| 	local_irq_save(flags); | ||||
| 
 | ||||
| 	/* try grabbing a DMA channel with the requested priority */ | ||||
| 	for (i = prio; i < prio + PXA_DMA_NBCH(prio); i++) { | ||||
| 		if (!dma_channels[i].name) { | ||||
| 			found = 1; | ||||
| 			break; | ||||
| 		} | ||||
| 	} | ||||
| 
 | ||||
| 	if (!found) { | ||||
| 		/* requested prio group is full, try hier priorities */ | ||||
| 		for (i = prio-1; i >= 0; i--) { | ||||
| 	do { | ||||
| 		/* try grabbing a DMA channel with the requested priority */ | ||||
| 		pxa_for_each_dma_prio (i, prio) { | ||||
| 			if (!dma_channels[i].name) { | ||||
| 				found = 1; | ||||
| 				break; | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| 		/* if requested prio group is full, try a hier priority */ | ||||
| 	} while (!found && prio--); | ||||
| 
 | ||||
| 	if (found) { | ||||
| 		DCSR(i) = DCSR_STARTINTR|DCSR_ENDINTR|DCSR_BUSERR; | ||||
|  | ||||
| @ -95,7 +95,10 @@ static void __init mainstone_init_irq(void) | ||||
| 	for(irq = MAINSTONE_IRQ(0); irq <= MAINSTONE_IRQ(15); irq++) { | ||||
| 		set_irq_chip(irq, &mainstone_irq_chip); | ||||
| 		set_irq_handler(irq, do_level_IRQ); | ||||
| 		set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | ||||
| 		if (irq == MAINSTONE_IRQ(10) || irq == MAINSTONE_IRQ(14)) | ||||
| 			set_irq_flags(irq, IRQF_VALID | IRQF_PROBE | IRQF_NOAUTOEN); | ||||
| 		else | ||||
| 			set_irq_flags(irq, IRQF_VALID | IRQF_PROBE); | ||||
| 	} | ||||
| 	set_irq_flags(MAINSTONE_IRQ(8), 0); | ||||
| 	set_irq_flags(MAINSTONE_IRQ(12), 0); | ||||
| @ -490,6 +493,7 @@ static void __init mainstone_map_io(void) | ||||
| MACHINE_START(MAINSTONE, "Intel HCDDBBVA0 Development Platform (aka Mainstone)") | ||||
| 	/* Maintainer: MontaVista Software Inc. */ | ||||
| 	.phys_io	= 0x40000000, | ||||
| 	.boot_params	= 0xa0000100,	/* BLOB boot parameter setting */ | ||||
| 	.io_pg_offst	= (io_p2v(0x40000000) >> 18) & 0xfffc, | ||||
| 	.map_io		= mainstone_map_io, | ||||
| 	.init_irq	= mainstone_init_irq, | ||||
|  | ||||
| @ -137,8 +137,11 @@ static struct amba_device *amba_devs[] __initdata = { | ||||
| static void __init gic_init_irq(void) | ||||
| { | ||||
| #ifdef CONFIG_REALVIEW_MPCORE | ||||
| 	unsigned int pldctrl; | ||||
| 	writel(0x0000a05f, __io_address(REALVIEW_SYS_LOCK)); | ||||
| 	writel(0x008003c0, __io_address(REALVIEW_SYS_BASE) + 0xd8); | ||||
| 	pldctrl = readl(__io_address(REALVIEW_SYS_BASE)	+ 0xd8); | ||||
| 	pldctrl |= 0x00800000;	/* New irq mode */ | ||||
| 	writel(pldctrl, __io_address(REALVIEW_SYS_BASE) + 0xd8); | ||||
| 	writel(0x00000000, __io_address(REALVIEW_SYS_LOCK)); | ||||
| #endif | ||||
| 	gic_dist_init(__io_address(REALVIEW_GIC_DIST_BASE)); | ||||
|  | ||||
| @ -170,7 +170,7 @@ config S3C2410_PM_DEBUG | ||||
| 	depends on ARCH_S3C2410 && PM | ||||
| 	help | ||||
| 	  Say Y here if you want verbose debugging from the PM Suspend and | ||||
| 	  Resume code. See `Documentation/arm/Samsing-S3C24XX/Suspend.txt` | ||||
| 	  Resume code. See <file:Documentation/arm/Samsung-S3C24XX/Suspend.txt> | ||||
| 	  for more information. | ||||
| 
 | ||||
| config S3C2410_PM_CHECK | ||||
|  | ||||
| @ -50,7 +50,7 @@ static struct mtd_partition smdk_default_nand_part[] = { | ||||
| 		.offset	= 0, | ||||
| 	}, | ||||
| 	[1] = { | ||||
| 		.name	= "S3C2410 flash parition 1", | ||||
| 		.name	= "S3C2410 flash partition 1", | ||||
| 		.offset = 0, | ||||
| 		.size	= SZ_2M, | ||||
| 	}, | ||||
|  | ||||
| @ -139,7 +139,7 @@ static int s3c2440_clk_add(struct sys_device *sysdev) | ||||
| 
 | ||||
| 		clkdivn = __raw_readl(S3C2410_CLKDIVN); | ||||
| 		clkdivn |= S3C2440_CLKDIVN_UCLK; | ||||
| 		__raw_writel(camdivn, S3C2410_CLKDIVN); | ||||
| 		__raw_writel(clkdivn, S3C2410_CLKDIVN); | ||||
| 
 | ||||
| 		mutex_unlock(&clocks_mutex); | ||||
| 	} | ||||
|  | ||||
| @ -59,8 +59,7 @@ ENTRY(s3c2410_cpu_suspend) | ||||
| 	mrc	p15, 0, r5, c13, c0, 0	@ PID
 | ||||
| 	mrc	p15, 0, r6, c3, c0, 0	@ Domain ID
 | ||||
| 	mrc	p15, 0, r7, c2, c0, 0	@ translation table base address
 | ||||
| 	mrc	p15, 0, r8, c2, c0, 0	@ auxiliary control register
 | ||||
| 	mrc	p15, 0, r9, c1, c0, 0	@ control register
 | ||||
| 	mrc	p15, 0, r8, c1, c0, 0	@ control register
 | ||||
| 
 | ||||
| 	stmia	r0, { r4 - r13 } | ||||
| 
 | ||||
| @ -165,7 +164,6 @@ ENTRY(s3c2410_cpu_resume) | ||||
| 	mcr	p15, 0, r5, c13, c0, 0		@ PID
 | ||||
| 	mcr	p15, 0, r6, c3, c0, 0		@ Domain ID
 | ||||
| 	mcr	p15, 0, r7, c2, c0, 0		@ translation table base
 | ||||
| 	mcr	p15, 0, r8, c1, c1, 0		@ auxilliary control
 | ||||
| 
 | ||||
| #ifdef CONFIG_DEBUG_RESUME | ||||
| 	mov	r3, #'R' | ||||
| @ -173,7 +171,7 @@ ENTRY(s3c2410_cpu_resume) | ||||
| #endif | ||||
| 
 | ||||
| 	ldr	r2, =resume_with_mmu | ||||
| 	mcr	p15, 0, r9, c1, c0, 0		@ turn on MMU, etc
 | ||||
| 	mcr	p15, 0, r8, c1, c0, 0		@ turn on MMU, etc
 | ||||
| 	nop					@ second-to-last before mmu
 | ||||
| 	mov	pc, r2				@ go back to virtual address
 | ||||
| 
 | ||||
|  | ||||
| @ -199,10 +199,26 @@ static void sa1100_unmask_irq(unsigned int irq) | ||||
| 	ICMR |= (1 << irq); | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  * Apart form GPIOs, only the RTC alarm can be a wakeup event. | ||||
|  */ | ||||
| static int sa1100_set_wake(unsigned int irq, unsigned int on) | ||||
| { | ||||
| 	if (irq == IRQ_RTCAlrm) { | ||||
| 		if (on) | ||||
| 			PWER |= PWER_RTC; | ||||
| 		else | ||||
| 			PWER &= ~PWER_RTC; | ||||
| 		return 0; | ||||
| 	} | ||||
| 	return -EINVAL; | ||||
| } | ||||
| 
 | ||||
| static struct irqchip sa1100_normal_chip = { | ||||
| 	.ack		= sa1100_mask_irq, | ||||
| 	.mask		= sa1100_mask_irq, | ||||
| 	.unmask		= sa1100_unmask_irq, | ||||
| 	.set_wake	= sa1100_set_wake, | ||||
| }; | ||||
| 
 | ||||
| static struct resource irq_resource = { | ||||
|  | ||||
| @ -141,7 +141,7 @@ __ioremap_pfn(unsigned long pfn, unsigned long offset, size_t size, | ||||
|  		return NULL; | ||||
|  	addr = (unsigned long)area->addr; | ||||
|  	if (remap_area_pages(addr, pfn, size, flags)) { | ||||
|  		vfree((void *)addr); | ||||
|  		vunmap((void *)addr); | ||||
|  		return NULL; | ||||
|  	} | ||||
|  	return (void __iomem *) (offset + (char *)addr); | ||||
| @ -173,7 +173,7 @@ EXPORT_SYMBOL(__ioremap); | ||||
| 
 | ||||
| void __iounmap(void __iomem *addr) | ||||
| { | ||||
| 	vfree((void *) (PAGE_MASK & (unsigned long) addr)); | ||||
| 	vunmap((void *)(PAGE_MASK & (unsigned long)addr)); | ||||
| } | ||||
| EXPORT_SYMBOL(__iounmap); | ||||
| 
 | ||||
|  | ||||
| @ -376,7 +376,7 @@ void __init build_mem_type_table(void) | ||||
| 		ecc_mask = 0; | ||||
| 	} | ||||
| 
 | ||||
| 	if (cpu_arch <= CPU_ARCH_ARMv5TEJ) { | ||||
| 	if (cpu_arch <= CPU_ARCH_ARMv5TEJ && !cpu_is_xscale()) { | ||||
| 		for (i = 0; i < ARRAY_SIZE(mem_types); i++) { | ||||
| 			if (mem_types[i].prot_l1) | ||||
| 				mem_types[i].prot_l1 |= PMD_BIT4; | ||||
| @ -631,7 +631,7 @@ void setup_mm_for_reboot(char mode) | ||||
| 		pgd = init_mm.pgd; | ||||
| 
 | ||||
| 	base_pmdval = PMD_SECT_AP_WRITE | PMD_SECT_AP_READ | PMD_TYPE_SECT; | ||||
| 	if (cpu_architecture() <= CPU_ARCH_ARMv5TEJ) | ||||
| 	if (cpu_architecture() <= CPU_ARCH_ARMv5TEJ && !cpu_is_xscale()) | ||||
| 		base_pmdval |= PMD_BIT4; | ||||
| 
 | ||||
| 	for (i = 0; i < FIRST_USER_PGD_NR + USER_PTRS_PER_PGD; i++, pgd++) { | ||||
|  | ||||
| @ -427,12 +427,13 @@ __xsc3_setup: | ||||
| #endif | ||||
| 	mcr	p15, 0, r0, c1, c0, 1		@ set auxiliary control reg
 | ||||
| 	mrc	p15, 0, r0, c1, c0, 0		@ get control register
 | ||||
| 	bic	r0, r0, #0x0200			@ .... ..R. .... ....
 | ||||
| 	bic	r0, r0, #0x0002			@ .... .... .... ..A.
 | ||||
| 	orr	r0, r0, #0x0005			@ .... .... .... .C.M
 | ||||
| #if BTB_ENABLE | ||||
| 	bic	r0, r0, #0x0200			@ .... ..R. .... ....
 | ||||
| 	orr	r0, r0, #0x3900			@ ..VI Z..S .... ....
 | ||||
| #else | ||||
| 	bic	r0, r0, #0x0a00			@ .... Z.R. .... ....
 | ||||
| 	orr	r0, r0, #0x3100			@ ..VI ...S .... ....
 | ||||
| #endif | ||||
| #if L2_CACHE_ENABLE | ||||
|  | ||||
| @ -12,7 +12,7 @@ | ||||
| # | ||||
| #   http://www.arm.linux.org.uk/developer/machines/?action=new | ||||
| # | ||||
| # Last update: Mon Feb 20 10:18:02 2006 | ||||
| # Last update: Mon May 8 20:11:05 2006 | ||||
| # | ||||
| # machine_is_xxx	CONFIG_xxxx		MACH_TYPE_xxx		number | ||||
| # | ||||
| @ -566,8 +566,8 @@ switchgrass		MACH_SWITCHGRASS	SWITCHGRASS		549 | ||||
| ens_cmu			MACH_ENS_CMU		ENS_CMU			550 | ||||
| mm6_sdb			MACH_MM6_SDB		MM6_SDB			551 | ||||
| saturn			MACH_SATURN		SATURN			552 | ||||
| argonplusevb		MACH_ARGONPLUSEVB	ARGONPLUSEVB		553 | ||||
| scma11evb		MACH_SCMA11EVB		SCMA11EVB		554 | ||||
| i30030evb		MACH_ARGONPLUSEVB	ARGONPLUSEVB		553 | ||||
| mxc27530evb		MACH_SCMA11EVB		SCMA11EVB		554 | ||||
| smdk2800		MACH_SMDK2800		SMDK2800		555 | ||||
| mtwilson		MACH_MTWILSON		MTWILSON		556 | ||||
| ziti			MACH_ZITI		ZITI			557 | ||||
| @ -647,7 +647,7 @@ sendt			MACH_SENDT		SENDT			630 | ||||
| mx2jazz			MACH_MX2JAZZ		MX2JAZZ			631 | ||||
| multiio			MACH_MULTIIO		MULTIIO			632 | ||||
| hrdisplay		MACH_HRDISPLAY		HRDISPLAY		633 | ||||
| scma11bb		MACH_SCMA11BB		SCMA11BB		634 | ||||
| mxc27530ads		MACH_SCMA11BB		SCMA11BB		634 | ||||
| trizeps3		MACH_TRIZEPS3		TRIZEPS3		635 | ||||
| zefeerdza		MACH_ZEFEERDZA		ZEFEERDZA		636 | ||||
| zefeerdzb		MACH_ZEFEERDZB		ZEFEERDZB		637 | ||||
| @ -721,7 +721,7 @@ gp32			MACH_GP32		GP32			706 | ||||
| gem			MACH_GEM		GEM			707 | ||||
| i858			MACH_I858		I858			708 | ||||
| hx2750			MACH_HX2750		HX2750			709 | ||||
| zeusevb			MACH_ZEUSEVB		ZEUSEVB			710 | ||||
| mxc91131evb		MACH_ZEUSEVB		ZEUSEVB			710 | ||||
| p700			MACH_P700		P700			711 | ||||
| cpe			MACH_CPE		CPE			712 | ||||
| spitz			MACH_SPITZ		SPITZ			713 | ||||
| @ -802,7 +802,7 @@ cpuat91			MACH_CPUAT91		CPUAT91			787 | ||||
| rea9200			MACH_REA9200		REA9200			788 | ||||
| acts_pune_sa1110	MACH_ACTS_PUNE_SA1110	ACTS_PUNE_SA1110	789 | ||||
| ixp425			MACH_IXP425		IXP425			790 | ||||
| argonplusodyssey	MACH_ARGONPLUSODYSSEY	ARGONPLUSODYSSEY	791 | ||||
| i30030ads		MACH_ARGONPLUSODYSSEY	ARGONPLUSODYSSEY	791 | ||||
| perch			MACH_PERCH		PERCH			792 | ||||
| eis05r1			MACH_EIS05R1		EIS05R1			793 | ||||
| pepperpad		MACH_PEPPERPAD		PEPPERPAD		794 | ||||
| @ -827,7 +827,7 @@ micro9l			MACH_MICRO9L		MICRO9L			812 | ||||
| uc5471dsp		MACH_UC5471DSP		UC5471DSP		813 | ||||
| sj5471eng		MACH_SJ5471ENG		SJ5471ENG		814 | ||||
| none			MACH_CMPXA26X		CMPXA26X		815 | ||||
| nc			MACH_NC			NC			816 | ||||
| nc1			MACH_NC			NC			816 | ||||
| omap_palmte		MACH_OMAP_PALMTE	OMAP_PALMTE		817 | ||||
| ajax52x			MACH_AJAX52X		AJAX52X			818 | ||||
| siriustar		MACH_SIRIUSTAR		SIRIUSTAR		819 | ||||
| @ -930,7 +930,7 @@ netclient		MACH_NETCLIENT		NETCLIENT		916 | ||||
| xscale_palmtt5		MACH_XSCALE_PALMTT5	XSCALE_PALMTT5		917 | ||||
| xscale_palmtc		MACH_OMAP_PALMTC	OMAP_PALMTC		918 | ||||
| omap_apollon		MACH_OMAP_APOLLON	OMAP_APOLLON		919 | ||||
| argonlvevb		MACH_ARGONLVEVB		ARGONLVEVB		920 | ||||
| mxc30030evb		MACH_ARGONLVEVB		ARGONLVEVB		920 | ||||
| rea_2d			MACH_REA_2D		REA_2D			921 | ||||
| eti3e524		MACH_TI3E524		TI3E524			922 | ||||
| ateb9200		MACH_ATEB9200		ATEB9200		923 | ||||
| @ -965,7 +965,78 @@ sisteron		MACH_SISTERON		SISTERON		951 | ||||
| rx1950			MACH_RX1950		RX1950			952 | ||||
| tsc_venus		MACH_TSC_VENUS		TSC_VENUS		953 | ||||
| ds101j			MACH_DS101J		DS101J			954 | ||||
| mxc300_30ads		MACH_MXC30030ADS	MXC30030ADS		955 | ||||
| mxc30030ads		MACH_MXC30030ADS	MXC30030ADS		955 | ||||
| fujitsu_wimaxsoc	MACH_FUJITSU_WIMAXSOC	FUJITSU_WIMAXSOC	956 | ||||
| dualpcmodem		MACH_DUALPCMODEM	DUALPCMODEM		957 | ||||
| gesbc9312		MACH_GESBC9312		GESBC9312		958 | ||||
| htcapache		MACH_HTCAPACHE		HTCAPACHE		959 | ||||
| ixdp435			MACH_IXDP435		IXDP435			960 | ||||
| catprovt100		MACH_CATPROVT100	CATPROVT100		961 | ||||
| picotux1xx		MACH_PICOTUX1XX		PICOTUX1XX		962 | ||||
| picotux2xx		MACH_PICOTUX2XX		PICOTUX2XX		963 | ||||
| dsmg600			MACH_DSMG600		DSMG600			964 | ||||
| empc2			MACH_EMPC2		EMPC2			965 | ||||
| ventura			MACH_VENTURA		VENTURA			966 | ||||
| phidget_sbc		MACH_PHIDGET_SBC	PHIDGET_SBC		967 | ||||
| ij3k			MACH_IJ3K		IJ3K			968 | ||||
| pisgah			MACH_PISGAH		PISGAH			969 | ||||
| omap_fsample		MACH_OMAP_FSAMPLE	OMAP_FSAMPLE		970 | ||||
| sg720			MACH_SG720		SG720			971 | ||||
| redfox			MACH_REDFOX		REDFOX			972 | ||||
| mysh_ep9315_1		MACH_MYSH_EP9315_1	MYSH_EP9315_1		973 | ||||
| tpf106			MACH_TPF106		TPF106			974 | ||||
| at91rm9200kg		MACH_AT91RM9200KG	AT91RM9200KG		975 | ||||
| racemt2			MACH_SLEDB		SLEDB			976 | ||||
| ontrack			MACH_ONTRACK		ONTRACK			977 | ||||
| pm1200			MACH_PM1200		PM1200			978 | ||||
| ess24562		MACH_ESS24XXX		ESS24XXX		979 | ||||
| coremp7			MACH_COREMP7		COREMP7			980 | ||||
| nexcoder_6446		MACH_NEXCODER_6446	NEXCODER_6446		981 | ||||
| stvc8380		MACH_STVC8380		STVC8380		982 | ||||
| teklynx			MACH_TEKLYNX		TEKLYNX			983 | ||||
| carbonado		MACH_CARBONADO		CARBONADO		984 | ||||
| sysmos_mp730		MACH_SYSMOS_MP730	SYSMOS_MP730		985 | ||||
| snapper_cl15		MACH_SNAPPER_CL15	SNAPPER_CL15		986 | ||||
| pgigim			MACH_PGIGIM		PGIGIM			987 | ||||
| ptx9160p2		MACH_PTX9160P2		PTX9160P2		988 | ||||
| dcore1			MACH_DCORE1		DCORE1			989 | ||||
| victorpxa		MACH_VICTORPXA		VICTORPXA		990 | ||||
| mx2dtb			MACH_MX2DTB		MX2DTB			991 | ||||
| pxa_irex_er0100		MACH_PXA_IREX_ER0100	PXA_IREX_ER0100		992 | ||||
| omap_palmz71		MACH_OMAP_PALMZ71	OMAP_PALMZ71		993 | ||||
| bartec_deg		MACH_BARTEC_DEG		BARTEC_DEG		994 | ||||
| hw50251			MACH_HW50251		HW50251			995 | ||||
| ibox			MACH_IBOX		IBOX			996 | ||||
| atlaslh7a404		MACH_ATLASLH7A404	ATLASLH7A404		997 | ||||
| pt2026			MACH_PT2026		PT2026			998 | ||||
| htcalpine		MACH_HTCALPINE		HTCALPINE		999 | ||||
| bartec_vtu		MACH_BARTEC_VTU		BARTEC_VTU		1000 | ||||
| vcoreii			MACH_VCOREII		VCOREII			1001 | ||||
| pdnb3			MACH_PDNB3		PDNB3			1002 | ||||
| htcbeetles		MACH_HTCBEETLES		HTCBEETLES		1003 | ||||
| s3c6400			MACH_S3C6400		S3C6400			1004 | ||||
| s3c2443			MACH_S3C2443		S3C2443			1005 | ||||
| omap_ldk		MACH_OMAP_LDK		OMAP_LDK		1006 | ||||
| smdk2460		MACH_SMDK2460		SMDK2460		1007 | ||||
| smdk2440		MACH_SMDK2440		SMDK2440		1008 | ||||
| smdk2412		MACH_SMDK2412		SMDK2412		1009 | ||||
| webbox			MACH_WEBBOX		WEBBOX			1010 | ||||
| cwwndp			MACH_CWWNDP		CWWNDP			1011 | ||||
| dragon			MACH_DRAGON		DRAGON			1012 | ||||
| opendo_cpu_board	MACH_OPENDO_CPU_BOARD	OPENDO_CPU_BOARD	1013 | ||||
| ccm2200			MACH_CCM2200		CCM2200			1014 | ||||
| etwarm			MACH_ETWARM		ETWARM			1015 | ||||
| m93030			MACH_M93030		M93030			1016 | ||||
| cc7u			MACH_CC7U		CC7U			1017 | ||||
| mtt_ranger		MACH_MTT_RANGER		MTT_RANGER		1018 | ||||
| nexus			MACH_NEXUS		NEXUS			1019 | ||||
| desman			MACH_DESMAN		DESMAN			1020 | ||||
| bkde303			MACH_BKDE303		BKDE303			1021 | ||||
| smdk2413		MACH_SMDK2413		SMDK2413		1022 | ||||
| aml_m7200		MACH_AML_M7200		AML_M7200		1023 | ||||
| aml_m5900		MACH_AML_M5900		AML_M5900		1024 | ||||
| sg640			MACH_SG640		SG640			1025 | ||||
| edg79524		MACH_EDG79524		EDG79524		1026 | ||||
| ai2410			MACH_AI2410		AI2410			1027 | ||||
| ixp465			MACH_IXP465		IXP465			1028 | ||||
| balloon3		MACH_BALLOON3		BALLOON3		1029 | ||||
|  | ||||
| @ -197,7 +197,7 @@ u32 vfp_double_normaliseround(int dd, struct vfp_double *vd, u32 fpscr, u32 exce | ||||
| 			 dd, d, exceptions); | ||||
| 		vfp_put_double(dd, d); | ||||
| 	} | ||||
| 	return exceptions & ~VFP_NAN_FLAG; | ||||
| 	return exceptions; | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  | ||||
| @ -180,7 +180,7 @@ static u32 vfp_emulate_instruction(u32 inst, u32 fpscr, struct pt_regs *regs) | ||||
| 		 * emulate it. | ||||
| 		 */ | ||||
| 	} | ||||
| 	return exceptions; | ||||
| 	return exceptions & ~VFP_NAN_FLAG; | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
| @ -245,7 +245,7 @@ void VFP9_bounce(u32 trigger, u32 fpexc, struct pt_regs *regs) | ||||
| 	 */ | ||||
| 	barrier(); | ||||
| 	trigger = fmrx(FPINST2); | ||||
| 	fpscr = fmrx(FPSCR); | ||||
| 	orig_fpscr = fpscr = fmrx(FPSCR); | ||||
| 
 | ||||
|  emulate: | ||||
| 	exceptions = vfp_emulate_instruction(trigger, fpscr, regs); | ||||
|  | ||||
| @ -203,7 +203,7 @@ u32 vfp_single_normaliseround(int sd, struct vfp_single *vs, u32 fpscr, u32 exce | ||||
| 		vfp_put_float(sd, d); | ||||
| 	} | ||||
| 
 | ||||
| 	return exceptions & ~VFP_NAN_FLAG; | ||||
| 	return exceptions; | ||||
| } | ||||
| 
 | ||||
| /*
 | ||||
|  | ||||
| @ -467,7 +467,7 @@ endchoice | ||||
| 
 | ||||
| choice | ||||
| 	depends on EXPERIMENTAL && !X86_PAE | ||||
| 	prompt "Memory split" | ||||
| 	prompt "Memory split" if EMBEDDED | ||||
| 	default VMSPLIT_3G | ||||
| 	help | ||||
| 	  Select the desired split between kernel and user memory. | ||||
| @ -756,12 +756,12 @@ config PHYSICAL_START | ||||
| 
 | ||||
| config HOTPLUG_CPU | ||||
| 	bool "Support for hot-pluggable CPUs (EXPERIMENTAL)" | ||||
| 	depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER && !X86_PC | ||||
| 	depends on SMP && HOTPLUG && EXPERIMENTAL && !X86_VOYAGER | ||||
| 	---help--- | ||||
| 	  Say Y here to experiment with turning CPUs off and on.  CPUs | ||||
| 	  can be controlled through /sys/devices/system/cpu. | ||||
| 	  Say Y here to experiment with turning CPUs off and on, and to | ||||
| 	  enable suspend on SMP systems. CPUs can be controlled through | ||||
| 	  /sys/devices/system/cpu. | ||||
| 
 | ||||
| 	  Say N. | ||||
| 
 | ||||
| endmenu | ||||
| 
 | ||||
|  | ||||
| @ -81,4 +81,13 @@ config X86_MPPARSE | ||||
| 	depends on X86_LOCAL_APIC && !X86_VISWS | ||||
| 	default y | ||||
| 
 | ||||
| config DOUBLEFAULT | ||||
| 	default y | ||||
| 	bool "Enable doublefault exception handler" if EMBEDDED | ||||
| 	help | ||||
|           This option allows trapping of rare doublefault exceptions that | ||||
|           would otherwise cause a system to silently reboot. Disabling this | ||||
|           option saves about 4k and might cause you much additional grey | ||||
|           hair. | ||||
| 
 | ||||
| endmenu | ||||
|  | ||||
| @ -6,7 +6,7 @@ extra-y := head.o init_task.o vmlinux.lds | ||||
| 
 | ||||
| obj-y	:= process.o semaphore.o signal.o entry.o traps.o irq.o \
 | ||||
| 		ptrace.o time.o ioport.o ldt.o setup.o i8259.o sys_i386.o \
 | ||||
| 		pci-dma.o i386_ksyms.o i387.o dmi_scan.o bootflag.o \
 | ||||
| 		pci-dma.o i386_ksyms.o i387.o bootflag.o \
 | ||||
| 		quirks.o i8237.o topology.o alternative.o | ||||
| 
 | ||||
| obj-y				+= cpu/ | ||||
|  | ||||
| @ -168,7 +168,7 @@ int __init acpi_parse_mcfg(unsigned long phys_addr, unsigned long size) | ||||
| 	unsigned long i; | ||||
| 	int config_size; | ||||
| 
 | ||||
| 	if (!phys_addr || !size || !cpu_has_apic) | ||||
| 	if (!phys_addr || !size) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	mcfg = (struct acpi_table_mcfg *)__acpi_map_table(phys_addr, size); | ||||
| @ -215,7 +215,7 @@ static int __init acpi_parse_madt(unsigned long phys_addr, unsigned long size) | ||||
| { | ||||
| 	struct acpi_table_madt *madt = NULL; | ||||
| 
 | ||||
| 	if (!phys_addr || !size || !cpu_has_apic) | ||||
| 	if (!phys_addr || !size) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	madt = (struct acpi_table_madt *)__acpi_map_table(phys_addr, size); | ||||
|  | ||||
| @ -5,17 +5,34 @@ | ||||
| #include <linux/init.h> | ||||
| #include <linux/kernel.h> | ||||
| #include <linux/pci.h> | ||||
| #include <linux/acpi.h> | ||||
| 
 | ||||
| #include <asm/pci-direct.h> | ||||
| #include <asm/acpi.h> | ||||
| #include <asm/apic.h> | ||||
| 
 | ||||
| #ifdef CONFIG_ACPI | ||||
| 
 | ||||
| static int nvidia_hpet_detected __initdata; | ||||
| 
 | ||||
| static int __init nvidia_hpet_check(unsigned long phys, unsigned long size) | ||||
| { | ||||
| 	nvidia_hpet_detected = 1; | ||||
| 	return 0; | ||||
| } | ||||
| #endif | ||||
| 
 | ||||
| static int __init check_bridge(int vendor, int device) | ||||
| { | ||||
| #ifdef CONFIG_ACPI | ||||
| 	/* According to Nvidia all timer overrides are bogus. Just ignore
 | ||||
| 	   them all. */ | ||||
| 	/* According to Nvidia all timer overrides are bogus unless HPET
 | ||||
| 	   is enabled. */ | ||||
| 	if (vendor == PCI_VENDOR_ID_NVIDIA) { | ||||
| 		acpi_skip_timer_override = 1; | ||||
| 		nvidia_hpet_detected = 0; | ||||
| 		acpi_table_parse(ACPI_HPET, nvidia_hpet_check); | ||||
| 		if (nvidia_hpet_detected == 0) { | ||||
| 			acpi_skip_timer_override = 1; | ||||
| 		} | ||||
| 	} | ||||
| #endif | ||||
| 	if (vendor == PCI_VENDOR_ID_ATI && timer_over_8254 == 1) { | ||||
|  | ||||
| @ -757,10 +757,6 @@ static int __init apic_set_verbosity(char *str) | ||||
| 		apic_verbosity = APIC_DEBUG; | ||||
| 	else if (strcmp("verbose", str) == 0) | ||||
| 		apic_verbosity = APIC_VERBOSE; | ||||
| 	else | ||||
| 		printk(KERN_WARNING "APIC Verbosity level %s not recognised" | ||||
| 				" use apic=verbose or apic=debug\n", str); | ||||
| 
 | ||||
| 	return 1; | ||||
| } | ||||
| 
 | ||||
| @ -1345,6 +1341,14 @@ int __init APIC_init_uniprocessor (void) | ||||
| 
 | ||||
| 	connect_bsp_APIC(); | ||||
| 
 | ||||
| 	/*
 | ||||
| 	 * Hack: In case of kdump, after a crash, kernel might be booting | ||||
| 	 * on a cpu with non-zero lapic id. But boot_cpu_physical_apicid | ||||
| 	 * might be zero if read from MP tables. Get it from LAPIC. | ||||
| 	 */ | ||||
| #ifdef CONFIG_CRASH_DUMP | ||||
| 	boot_cpu_physical_apicid = GET_APIC_ID(apic_read(APIC_ID)); | ||||
| #endif | ||||
| 	phys_cpu_present_map = physid_mask_of_physid(boot_cpu_physical_apicid); | ||||
| 
 | ||||
| 	setup_local_APIC(); | ||||
|  | ||||
| @ -1079,7 +1079,7 @@ static int apm_console_blank(int blank) | ||||
| 			break; | ||||
| 	} | ||||
| 
 | ||||
| 	if (error == APM_NOT_ENGAGED && state != APM_STATE_READY) { | ||||
| 	if (error == APM_NOT_ENGAGED) { | ||||
| 		static int tried; | ||||
| 		int eng_error; | ||||
| 		if (tried++ == 0) { | ||||
|  | ||||
| @ -207,6 +207,8 @@ static void __init init_amd(struct cpuinfo_x86 *c) | ||||
| 		set_bit(X86_FEATURE_K7, c->x86_capability);  | ||||
| 		break; | ||||
| 	} | ||||
| 	if (c->x86 >= 6) | ||||
| 		set_bit(X86_FEATURE_FXSAVE_LEAK, c->x86_capability); | ||||
| 
 | ||||
| 	display_cacheinfo(c); | ||||
| 
 | ||||
|  | ||||
| @ -905,14 +905,17 @@ static int powernowk8_target(struct cpufreq_policy *pol, unsigned targfreq, unsi | ||||
| { | ||||
| 	cpumask_t oldmask = CPU_MASK_ALL; | ||||
| 	struct powernow_k8_data *data = powernow_data[pol->cpu]; | ||||
| 	u32 checkfid = data->currfid; | ||||
| 	u32 checkvid = data->currvid; | ||||
| 	u32 checkfid; | ||||
| 	u32 checkvid; | ||||
| 	unsigned int newstate; | ||||
| 	int ret = -EIO; | ||||
| 
 | ||||
| 	if (!data) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	checkfid = data->currfid; | ||||
| 	checkvid = data->currvid; | ||||
| 
 | ||||
| 	/* only run on specific CPU from here on */ | ||||
| 	oldmask = current->cpus_allowed; | ||||
| 	set_cpus_allowed(current, cpumask_of_cpu(pol->cpu)); | ||||
| @ -1106,9 +1109,6 @@ static unsigned int powernowk8_get (unsigned int cpu) | ||||
| 
 | ||||
| 	data = powernow_data[first_cpu(cpu_core_map[cpu])]; | ||||
| 
 | ||||
| 	if (!data) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
| 	if (!data) | ||||
| 		return -EINVAL; | ||||
| 
 | ||||
|  | ||||
| @ -642,7 +642,7 @@ static void __cpuexit cache_remove_dev(struct sys_device * sys_dev) | ||||
| 	return; | ||||
| } | ||||
| 
 | ||||
| static int __cpuinit cacheinfo_cpu_callback(struct notifier_block *nfb, | ||||
| static int cacheinfo_cpu_callback(struct notifier_block *nfb, | ||||
| 					unsigned long action, void *hcpu) | ||||
| { | ||||
| 	unsigned int cpu = (unsigned long)hcpu; | ||||
|  | ||||
| @ -168,7 +168,7 @@ static int cpuid_class_device_create(int i) | ||||
| 	return err; | ||||
| } | ||||
| 
 | ||||
| static int __devinit cpuid_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | ||||
| static int cpuid_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | ||||
| { | ||||
| 	unsigned int cpu = (unsigned long)hcpu; | ||||
| 
 | ||||
|  | ||||
| @ -2238,6 +2238,8 @@ static inline void unlock_ExtINT_logic(void) | ||||
| 	spin_unlock_irqrestore(&ioapic_lock, flags); | ||||
| } | ||||
| 
 | ||||
| int timer_uses_ioapic_pin_0; | ||||
| 
 | ||||
| /*
 | ||||
|  * This code may look a bit paranoid, but it's supposed to cooperate with | ||||
|  * a wide range of boards and BIOS bugs.  Fortunately only the timer IRQ | ||||
| @ -2274,6 +2276,9 @@ static inline void check_timer(void) | ||||
| 	pin2  = ioapic_i8259.pin; | ||||
| 	apic2 = ioapic_i8259.apic; | ||||
| 
 | ||||
| 	if (pin1 == 0) | ||||
| 		timer_uses_ioapic_pin_0 = 1; | ||||
| 
 | ||||
| 	printk(KERN_INFO "..TIMER: vector=0x%02X apic1=%d pin1=%d apic2=%d pin2=%d\n", | ||||
| 		vector, apic1, pin1, apic2, pin2); | ||||
| 
 | ||||
|  | ||||
| @ -43,7 +43,7 @@ DEFINE_PER_CPU(struct kprobe *, current_kprobe) = NULL; | ||||
| DEFINE_PER_CPU(struct kprobe_ctlblk, kprobe_ctlblk); | ||||
| 
 | ||||
| /* insert a jmp code */ | ||||
| static inline void set_jmp_op(void *from, void *to) | ||||
| static __always_inline void set_jmp_op(void *from, void *to) | ||||
| { | ||||
| 	struct __arch_jmp_op { | ||||
| 		char op; | ||||
| @ -57,7 +57,7 @@ static inline void set_jmp_op(void *from, void *to) | ||||
| /*
 | ||||
|  * returns non-zero if opcodes can be boosted. | ||||
|  */ | ||||
| static inline int can_boost(kprobe_opcode_t opcode) | ||||
| static __always_inline int can_boost(kprobe_opcode_t opcode) | ||||
| { | ||||
| 	switch (opcode & 0xf0 ) { | ||||
| 	case 0x70: | ||||
| @ -88,7 +88,7 @@ static inline int can_boost(kprobe_opcode_t opcode) | ||||
| /*
 | ||||
|  * returns non-zero if opcode modifies the interrupt flag. | ||||
|  */ | ||||
| static inline int is_IF_modifier(kprobe_opcode_t opcode) | ||||
| static int __kprobes is_IF_modifier(kprobe_opcode_t opcode) | ||||
| { | ||||
| 	switch (opcode) { | ||||
| 	case 0xfa:		/* cli */ | ||||
| @ -138,7 +138,7 @@ void __kprobes arch_remove_kprobe(struct kprobe *p) | ||||
| 	mutex_unlock(&kprobe_mutex); | ||||
| } | ||||
| 
 | ||||
| static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | ||||
| static void __kprobes save_previous_kprobe(struct kprobe_ctlblk *kcb) | ||||
| { | ||||
| 	kcb->prev_kprobe.kp = kprobe_running(); | ||||
| 	kcb->prev_kprobe.status = kcb->kprobe_status; | ||||
| @ -146,7 +146,7 @@ static inline void save_previous_kprobe(struct kprobe_ctlblk *kcb) | ||||
| 	kcb->prev_kprobe.saved_eflags = kcb->kprobe_saved_eflags; | ||||
| } | ||||
| 
 | ||||
| static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | ||||
| static void __kprobes restore_previous_kprobe(struct kprobe_ctlblk *kcb) | ||||
| { | ||||
| 	__get_cpu_var(current_kprobe) = kcb->prev_kprobe.kp; | ||||
| 	kcb->kprobe_status = kcb->prev_kprobe.status; | ||||
| @ -154,7 +154,7 @@ static inline void restore_previous_kprobe(struct kprobe_ctlblk *kcb) | ||||
| 	kcb->kprobe_saved_eflags = kcb->prev_kprobe.saved_eflags; | ||||
| } | ||||
| 
 | ||||
| static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | ||||
| static void __kprobes set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | ||||
| 				struct kprobe_ctlblk *kcb) | ||||
| { | ||||
| 	__get_cpu_var(current_kprobe) = p; | ||||
| @ -164,7 +164,7 @@ static inline void set_current_kprobe(struct kprobe *p, struct pt_regs *regs, | ||||
| 		kcb->kprobe_saved_eflags &= ~IF_MASK; | ||||
| } | ||||
| 
 | ||||
| static inline void prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | ||||
| static void __kprobes prepare_singlestep(struct kprobe *p, struct pt_regs *regs) | ||||
| { | ||||
| 	regs->eflags |= TF_MASK; | ||||
| 	regs->eflags &= ~IF_MASK; | ||||
| @ -242,10 +242,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) | ||||
| 			kcb->kprobe_status = KPROBE_REENTER; | ||||
| 			return 1; | ||||
| 		} else { | ||||
| 			if (regs->eflags & VM_MASK) { | ||||
| 			/* We are in virtual-8086 mode. Return 0 */ | ||||
| 				goto no_kprobe; | ||||
| 			} | ||||
| 			if (*addr != BREAKPOINT_INSTRUCTION) { | ||||
| 			/* The breakpoint instruction was removed by
 | ||||
| 			 * another cpu right after we hit, no further | ||||
| @ -265,11 +261,6 @@ static int __kprobes kprobe_handler(struct pt_regs *regs) | ||||
| 
 | ||||
| 	p = get_kprobe(addr); | ||||
| 	if (!p) { | ||||
| 		if (regs->eflags & VM_MASK) { | ||||
| 			/* We are in virtual-8086 mode. Return 0 */ | ||||
| 			goto no_kprobe; | ||||
| 		} | ||||
| 
 | ||||
| 		if (*addr != BREAKPOINT_INSTRUCTION) { | ||||
| 			/*
 | ||||
| 			 * The breakpoint instruction was removed right | ||||
| @ -452,10 +443,11 @@ static void __kprobes resume_execution(struct kprobe *p, | ||||
| 		*tos &= ~(TF_MASK | IF_MASK); | ||||
| 		*tos |= kcb->kprobe_old_eflags; | ||||
| 		break; | ||||
| 	case 0xc3:		/* ret/lret */ | ||||
| 	case 0xcb: | ||||
| 	case 0xc2: | ||||
| 	case 0xc2:		/* iret/ret/lret */ | ||||
| 	case 0xc3: | ||||
| 	case 0xca: | ||||
| 	case 0xcb: | ||||
| 	case 0xcf: | ||||
| 	case 0xea:		/* jmp absolute -- eip is correct */ | ||||
| 		/* eip is already adjusted, no more changes required */ | ||||
| 		p->ainsn.boostable = 1; | ||||
| @ -463,10 +455,13 @@ static void __kprobes resume_execution(struct kprobe *p, | ||||
| 	case 0xe8:		/* call relative - Fix return addr */ | ||||
| 		*tos = orig_eip + (*tos - copy_eip); | ||||
| 		break; | ||||
| 	case 0x9a:		/* call absolute -- same as call absolute, indirect */ | ||||
| 		*tos = orig_eip + (*tos - copy_eip); | ||||
| 		goto no_change; | ||||
| 	case 0xff: | ||||
| 		if ((p->ainsn.insn[1] & 0x30) == 0x10) { | ||||
| 			/* call absolute, indirect */ | ||||
| 			/*
 | ||||
| 			 * call absolute, indirect | ||||
| 			 * Fix return addr; eip is correct. | ||||
| 			 * But this is not boostable | ||||
| 			 */ | ||||
| @ -507,7 +502,7 @@ no_change: | ||||
|  * Interrupts are disabled on entry as trap1 is an interrupt gate and they | ||||
|  * remain disabled thoroughout this function. | ||||
|  */ | ||||
| static inline int post_kprobe_handler(struct pt_regs *regs) | ||||
| static int __kprobes post_kprobe_handler(struct pt_regs *regs) | ||||
| { | ||||
| 	struct kprobe *cur = kprobe_running(); | ||||
| 	struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | ||||
| @ -543,7 +538,7 @@ out: | ||||
| 	return 1; | ||||
| } | ||||
| 
 | ||||
| static inline int kprobe_fault_handler(struct pt_regs *regs, int trapnr) | ||||
| static int __kprobes kprobe_fault_handler(struct pt_regs *regs, int trapnr) | ||||
| { | ||||
| 	struct kprobe *cur = kprobe_running(); | ||||
| 	struct kprobe_ctlblk *kcb = get_kprobe_ctlblk(); | ||||
|  | ||||
| @ -1130,7 +1130,17 @@ int mp_register_gsi (u32 gsi, int triggering, int polarity) | ||||
| 		 */ | ||||
| 		int irq = gsi; | ||||
| 		if (gsi < MAX_GSI_NUM) { | ||||
| 			if (gsi > 15) | ||||
| 			/*
 | ||||
| 			 * Retain the VIA chipset work-around (gsi > 15), but | ||||
| 			 * avoid a problem where the 8254 timer (IRQ0) is setup | ||||
| 			 * via an override (so it's not on pin 0 of the ioapic), | ||||
| 			 * and at the same time, the pin 0 interrupt is a PCI | ||||
| 			 * type.  The gsi > 15 test could cause these two pins | ||||
| 			 * to be shared as IRQ0, and they are not shareable. | ||||
| 			 * So test for this condition, and if necessary, avoid | ||||
| 			 * the pin collision. | ||||
| 			 */ | ||||
| 			if (gsi > 15 || (gsi == 0 && !timer_uses_ioapic_pin_0)) | ||||
| 				gsi = pci_irq++; | ||||
| 			/*
 | ||||
| 			 * Don't assign IRQ used by ACPI SCI | ||||
|  | ||||
| @ -251,7 +251,7 @@ static int msr_class_device_create(int i) | ||||
| 	return err; | ||||
| } | ||||
| 
 | ||||
| static int __devinit msr_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | ||||
| static int msr_class_cpu_callback(struct notifier_block *nfb, unsigned long action, void *hcpu) | ||||
| { | ||||
| 	unsigned int cpu = (unsigned long)hcpu; | ||||
| 
 | ||||
|  | ||||
| @ -671,7 +671,7 @@ int do_syscall_trace(struct pt_regs *regs, int entryexit) | ||||
| 
 | ||||
| 	if (unlikely(current->audit_context)) { | ||||
| 		if (entryexit) | ||||
| 			audit_syscall_exit(current, AUDITSC_RESULT(regs->eax), | ||||
| 			audit_syscall_exit(AUDITSC_RESULT(regs->eax), | ||||
| 						regs->eax); | ||||
| 		/* Debug traps, when using PTRACE_SINGLESTEP, must be sent only
 | ||||
| 		 * on the syscall exit path. Normally, when TIF_SYSCALL_AUDIT is | ||||
| @ -720,14 +720,13 @@ int do_syscall_trace(struct pt_regs *regs, int entryexit) | ||||
| 	ret = is_sysemu; | ||||
| out: | ||||
| 	if (unlikely(current->audit_context) && !entryexit) | ||||
| 		audit_syscall_entry(current, AUDIT_ARCH_I386, regs->orig_eax, | ||||
| 		audit_syscall_entry(AUDIT_ARCH_I386, regs->orig_eax, | ||||
| 				    regs->ebx, regs->ecx, regs->edx, regs->esi); | ||||
| 	if (ret == 0) | ||||
| 		return 0; | ||||
| 
 | ||||
| 	regs->orig_eax = -1; /* force skip of syscall restarting */ | ||||
| 	if (unlikely(current->audit_context)) | ||||
| 		audit_syscall_exit(current, AUDITSC_RESULT(regs->eax), | ||||
| 				regs->eax); | ||||
| 		audit_syscall_exit(AUDITSC_RESULT(regs->eax), regs->eax); | ||||
| 	return 1; | ||||
| } | ||||
|  | ||||
| @ -970,8 +970,10 @@ efi_memory_present_wrapper(unsigned long start, unsigned long end, void *arg) | ||||
|   * not-overlapping, which is the case | ||||
|   */ | ||||
| int __init | ||||
| e820_all_mapped(unsigned long start, unsigned long end, unsigned type) | ||||
| e820_all_mapped(unsigned long s, unsigned long e, unsigned type) | ||||
| { | ||||
| 	u64 start = s; | ||||
| 	u64 end = e; | ||||
| 	int i; | ||||
| 	for (i = 0; i < e820.nr_map; i++) { | ||||
| 		struct e820entry *ei = &e820.map[i]; | ||||
| @ -1318,6 +1320,8 @@ legacy_init_iomem_resources(struct resource *code_resource, struct resource *dat | ||||
| 	probe_roms(); | ||||
| 	for (i = 0; i < e820.nr_map; i++) { | ||||
| 		struct resource *res; | ||||
| 		if (e820.map[i].addr + e820.map[i].size > 0x100000000ULL) | ||||
| 			continue; | ||||
| 		res = kzalloc(sizeof(struct resource), GFP_ATOMIC); | ||||
| 		switch (e820.map[i].type) { | ||||
| 		case E820_RAM:	res->name = "System RAM"; break; | ||||
| @ -1543,15 +1547,18 @@ void __init setup_arch(char **cmdline_p) | ||||
| 	if (efi_enabled) | ||||
| 		efi_map_memmap(); | ||||
| 
 | ||||
| #ifdef CONFIG_X86_IO_APIC | ||||
| 	check_acpi_pci();	/* Checks more than just ACPI actually */ | ||||
| #endif | ||||
| 
 | ||||
| #ifdef CONFIG_ACPI | ||||
| 	/*
 | ||||
| 	 * Parse the ACPI tables for possible boot-time SMP configuration. | ||||
| 	 */ | ||||
| 	acpi_boot_table_init(); | ||||
| #endif | ||||
| 
 | ||||
| #ifdef CONFIG_X86_IO_APIC | ||||
| 	check_acpi_pci();	/* Checks more than just ACPI actually */ | ||||
| #endif | ||||
| 
 | ||||
| #ifdef CONFIG_ACPI | ||||
| 	acpi_boot_init(); | ||||
| 
 | ||||
| #if defined(CONFIG_SMP) && defined(CONFIG_X86_PC) | ||||
|  | ||||
| @ -313,7 +313,9 @@ static void __init synchronize_tsc_bp (void) | ||||
| 			if (tsc_values[i] < avg) | ||||
| 				realdelta = -realdelta; | ||||
| 
 | ||||
| 			printk(KERN_INFO "CPU#%d had %ld usecs TSC skew, fixed it up.\n", i, realdelta); | ||||
| 			if (realdelta > 0) | ||||
| 				printk(KERN_INFO "CPU#%d had %ld usecs TSC " | ||||
| 					"skew, fixed it up.\n", i, realdelta); | ||||
| 		} | ||||
| 
 | ||||
| 		sum += delta; | ||||
|  | ||||
| @ -314,3 +314,5 @@ ENTRY(sys_call_table) | ||||
| 	.long sys_get_robust_list
 | ||||
| 	.long sys_splice
 | ||||
| 	.long sys_sync_file_range
 | ||||
| 	.long sys_tee			/* 315 */ | ||||
| 	.long sys_vmsplice
 | ||||
|  | ||||
| @ -279,7 +279,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | ||||
| { | ||||
| 	struct cpufreq_freqs *freq = data; | ||||
| 
 | ||||
| 	if (val != CPUFREQ_RESUMECHANGE) | ||||
| 	if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE) | ||||
| 		write_seqlock_irq(&xtime_lock); | ||||
| 	if (!ref_freq) { | ||||
| 		if (!freq->old){ | ||||
| @ -312,7 +312,7 @@ time_cpufreq_notifier(struct notifier_block *nb, unsigned long val, | ||||
| 	} | ||||
| 
 | ||||
| end: | ||||
| 	if (val != CPUFREQ_RESUMECHANGE) | ||||
| 	if (val != CPUFREQ_RESUMECHANGE && val != CPUFREQ_SUSPENDCHANGE) | ||||
| 		write_sequnlock_irq(&xtime_lock); | ||||
| 
 | ||||
| 	return 0; | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Loading…
	
		Reference in New Issue
	
	Block a user