Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
This commit is contained in:
commit
ac0c955d50
|
@ -133,10 +133,6 @@ interested in translating it, please email me
|
|||
<para>updates of your driver can take place without recompiling
|
||||
the kernel.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>if you need to keep some parts of your driver closed source,
|
||||
you can do so without violating the GPL license on the kernel.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<sect1 id="how_uio_works">
|
||||
|
|
|
@ -196,7 +196,7 @@ void print_delayacct(struct taskstats *t)
|
|||
"IO %15s%15s\n"
|
||||
" %15llu%15llu\n"
|
||||
"MEM %15s%15s\n"
|
||||
" %15llu%15llu\n"
|
||||
" %15llu%15llu\n",
|
||||
"count", "real total", "virtual total", "delay total",
|
||||
t->cpu_count, t->cpu_run_real_total, t->cpu_run_virtual_total,
|
||||
t->cpu_delay_total,
|
||||
|
|
|
@ -111,21 +111,21 @@ sub tda10045 {
|
|||
}
|
||||
|
||||
sub tda10046 {
|
||||
my $sourcefile = "tt_budget_217g.zip";
|
||||
my $url = "http://www.technotrend.de/new/217g/$sourcefile";
|
||||
my $hash = "6a7e1e2f2644b162ff0502367553c72d";
|
||||
my $outfile = "dvb-fe-tda10046.fw";
|
||||
my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
|
||||
my $sourcefile = "TT_PCI_2.19h_28_11_2006.zip";
|
||||
my $url = "http://technotrend-online.com/download/software/219/$sourcefile";
|
||||
my $hash = "6a7e1e2f2644b162ff0502367553c72d";
|
||||
my $outfile = "dvb-fe-tda10046.fw";
|
||||
my $tmpdir = tempdir(DIR => "/tmp", CLEANUP => 1);
|
||||
|
||||
checkstandard();
|
||||
checkstandard();
|
||||
|
||||
wgetfile($sourcefile, $url);
|
||||
unzip($sourcefile, $tmpdir);
|
||||
extract("$tmpdir/software/OEM/PCI/App/ttlcdacc.dll", 0x3f731, 24478, "$tmpdir/fwtmp");
|
||||
verify("$tmpdir/fwtmp", $hash);
|
||||
copy("$tmpdir/fwtmp", $outfile);
|
||||
wgetfile($sourcefile, $url);
|
||||
unzip($sourcefile, $tmpdir);
|
||||
extract("$tmpdir/TT_PCI_2.19h_28_11_2006/software/OEM/PCI/App/ttlcdacc.dll", 0x65389, 24478, "$tmpdir/fwtmp");
|
||||
verify("$tmpdir/fwtmp", $hash);
|
||||
copy("$tmpdir/fwtmp", $outfile);
|
||||
|
||||
$outfile;
|
||||
$outfile;
|
||||
}
|
||||
|
||||
sub tda10046lifeview {
|
||||
|
|
|
@ -9,14 +9,13 @@ one found in the Dreamcast.
|
|||
Advantages:
|
||||
|
||||
* It provides a nice large console (128 cols + 48 lines with 1024x768)
|
||||
without using tiny, unreadable fonts.
|
||||
without using tiny, unreadable fonts (NOT on the Dreamcast)
|
||||
* You can run XF86_FBDev on top of /dev/fb0
|
||||
* Most important: boot logo :-)
|
||||
|
||||
Disadvantages:
|
||||
|
||||
* Driver is currently limited to the Dreamcast PowerVR 2 implementation
|
||||
at the time of this writing.
|
||||
* Driver is largely untested on non-Dreamcast systems.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
@ -29,11 +28,16 @@ Accepted options:
|
|||
font:X - default font to use. All fonts are supported, including the
|
||||
SUN12x22 font which is very nice at high resolutions.
|
||||
|
||||
mode:X - default video mode. The following video modes are supported:
|
||||
640x240-60, 640x480-60.
|
||||
|
||||
mode:X - default video mode with format [xres]x[yres]-<bpp>@<refresh rate>
|
||||
The following video modes are supported:
|
||||
640x640-16@60, 640x480-24@60, 640x480-32@60. The Dreamcast
|
||||
defaults to 640x480-16@60. At the time of writing the
|
||||
24bpp and 32bpp modes function poorly. Work to fix that is
|
||||
ongoing
|
||||
|
||||
Note: the 640x240 mode is currently broken, and should not be
|
||||
used for any reason. It is only mentioned as a reference.
|
||||
used for any reason. It is only mentioned here as a reference.
|
||||
|
||||
inverse - invert colors on screen (for LCD displays)
|
||||
|
||||
|
@ -52,10 +56,10 @@ output:X - output type. This can be any of the following: pal, ntsc, and
|
|||
X11
|
||||
===
|
||||
|
||||
XF86_FBDev should work, in theory. At the time of this writing it is
|
||||
totally untested and may or may not even portray the beginnings of
|
||||
working. If you end up testing this, please let me know!
|
||||
XF86_FBDev has been shown to work on the Dreamcast in the past - though not yet
|
||||
on any 2.6 series kernel.
|
||||
|
||||
--
|
||||
Paul Mundt <lethal@linuxdc.org>
|
||||
Updated by Adrian McMenamin <adrian@mcmen.demon.co.uk>
|
||||
|
||||
|
|
|
@ -1,3 +1,13 @@
|
|||
---------------------------------------------------------------------------
|
||||
!!!!!!!!!!!!!!!WARNING!!!!!!!!
|
||||
The zero page is a kernel internal data structure, not a stable ABI. It might change
|
||||
without warning and the kernel has no way to detect old version of it.
|
||||
If you're writing some external code like a boot loader you should only use
|
||||
the stable versioned real mode boot protocol described in boot.txt. Otherwise the kernel
|
||||
might break you at any time.
|
||||
!!!!!!!!!!!!!WARNING!!!!!!!!!!!
|
||||
----------------------------------------------------------------------------
|
||||
|
||||
Summary of boot_params layout (kernel point of view)
|
||||
( collected by Hans Lermen and Martin Mares )
|
||||
|
||||
|
|
|
@ -98,6 +98,15 @@ applicable everywhere (see syntax).
|
|||
times, the limit is set to the largest selection.
|
||||
Reverse dependencies can only be used with boolean or tristate
|
||||
symbols.
|
||||
Note:
|
||||
select is evil.... select will by brute force set a symbol
|
||||
equal to 'y' without visiting the dependencies. So abusing
|
||||
select you are able to select a symbol FOO even if FOO depends
|
||||
on BAR that is not set. In general use select only for
|
||||
non-visible symbols (no promts anywhere) and for symbols with
|
||||
no dependencies. That will limit the usefulness but on the
|
||||
other hand avoid the illegal configurations all over. kconfig
|
||||
should one day warn about such things.
|
||||
|
||||
- numerical ranges: "range" <symbol> <symbol> ["if" <expr>]
|
||||
This allows to limit the range of possible input values for int
|
||||
|
|
|
@ -163,6 +163,8 @@ and is between 256 and 4096 characters. It is defined in the file
|
|||
acpi_irq_isa= [HW,ACPI] If irq_balance, mark listed IRQs used by ISA
|
||||
Format: <irq>,<irq>...
|
||||
|
||||
acpi_no_auto_ssdt [HW,ACPI] Disable automatic loading of SSDT
|
||||
|
||||
acpi_os_name= [HW,ACPI] Tell ACPI BIOS the name of the OS
|
||||
Format: To spoof as Windows 98: ="Microsoft Windows"
|
||||
|
||||
|
@ -1820,6 +1822,26 @@ and is between 256 and 4096 characters. It is defined in the file
|
|||
thash_entries= [KNL,NET]
|
||||
Set number of hash buckets for TCP connection
|
||||
|
||||
thermal.act= [HW,ACPI]
|
||||
-1: disable all active trip points in all thermal zones
|
||||
<degrees C>: override all lowest active trip points
|
||||
|
||||
thermal.nocrt= [HW,ACPI]
|
||||
Set to disable actions on ACPI thermal zone
|
||||
critical and hot trip points.
|
||||
|
||||
thermal.off= [HW,ACPI]
|
||||
1: disable ACPI thermal control
|
||||
|
||||
thermal.psv= [HW,ACPI]
|
||||
-1: disable all passive trip points
|
||||
<degrees C>: override all passive trip points to this value
|
||||
|
||||
thermal.tzp= [HW,ACPI]
|
||||
Specify global default ACPI thermal zone polling rate
|
||||
<deci-seconds>: poll all this frequency
|
||||
0: no polling (default)
|
||||
|
||||
time Show timing data prefixed to each printk message line
|
||||
[deprecated, see 'printk.time']
|
||||
|
||||
|
@ -1922,7 +1944,7 @@ and is between 256 and 4096 characters. It is defined in the file
|
|||
See header of drivers/scsi/wd7000.c.
|
||||
|
||||
wdt= [WDT] Watchdog
|
||||
See Documentation/watchdog/watchdog.txt.
|
||||
See Documentation/watchdog/wdt.txt.
|
||||
|
||||
xd= [HW,XT] Original XT pre-IDE (RLL encoded) disks.
|
||||
xd_geo= See header of drivers/block/xd.c.
|
||||
|
|
|
@ -13,7 +13,9 @@ LGUEST_GUEST_TOP := ($(CONFIG_PAGE_OFFSET) - 0x08000000)
|
|||
|
||||
CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -Wl,-T,lguest.lds
|
||||
LDLIBS:=-lz
|
||||
|
||||
# Removing this works for some versions of ld.so (eg. Ubuntu Feisty) and
|
||||
# not others (eg. FC7).
|
||||
LDFLAGS+=-static
|
||||
all: lguest.lds lguest
|
||||
|
||||
# The linker script on x86 is so complex the only way of creating one
|
||||
|
|
|
@ -0,0 +1,322 @@
|
|||
==============
|
||||
Memory Hotplug
|
||||
==============
|
||||
|
||||
Last Updated: Jul 28 2007
|
||||
|
||||
This document is about memory hotplug including how-to-use and current status.
|
||||
Because Memory Hotplug is still under development, contents of this text will
|
||||
be changed often.
|
||||
|
||||
1. Introduction
|
||||
1.1 purpose of memory hotplug
|
||||
1.2. Phases of memory hotplug
|
||||
1.3. Unit of Memory online/offline operation
|
||||
2. Kernel Configuration
|
||||
3. sysfs files for memory hotplug
|
||||
4. Physical memory hot-add phase
|
||||
4.1 Hardware(Firmware) Support
|
||||
4.2 Notify memory hot-add event by hand
|
||||
5. Logical Memory hot-add phase
|
||||
5.1. State of memory
|
||||
5.2. How to online memory
|
||||
6. Logical memory remove
|
||||
6.1 Memory offline and ZONE_MOVABLE
|
||||
6.2. How to offline memory
|
||||
7. Physical memory remove
|
||||
8. Future Work List
|
||||
|
||||
Note(1): x86_64's has special implementation for memory hotplug.
|
||||
This text does not describe it.
|
||||
Note(2): This text assumes that sysfs is mounted at /sys.
|
||||
|
||||
|
||||
---------------
|
||||
1. Introduction
|
||||
---------------
|
||||
|
||||
1.1 purpose of memory hotplug
|
||||
------------
|
||||
Memory Hotplug allows users to increase/decrease the amount of memory.
|
||||
Generally, there are two purposes.
|
||||
|
||||
(A) For changing the amount of memory.
|
||||
This is to allow a feature like capacity on demand.
|
||||
(B) For installing/removing DIMMs or NUMA-nodes physically.
|
||||
This is to exchange DIMMs/NUMA-nodes, reduce power consumption, etc.
|
||||
|
||||
(A) is required by highly virtualized environments and (B) is required by
|
||||
hardware which supports memory power management.
|
||||
|
||||
Linux memory hotplug is designed for both purpose.
|
||||
|
||||
|
||||
1.2. Phases of memory hotplug
|
||||
---------------
|
||||
There are 2 phases in Memory Hotplug.
|
||||
1) Physical Memory Hotplug phase
|
||||
2) Logical Memory Hotplug phase.
|
||||
|
||||
The First phase is to communicate hardware/firmware and make/erase
|
||||
environment for hotplugged memory. Basically, this phase is necessary
|
||||
for the purpose (B), but this is good phase for communication between
|
||||
highly virtualized environments too.
|
||||
|
||||
When memory is hotplugged, the kernel recognizes new memory, makes new memory
|
||||
management tables, and makes sysfs files for new memory's operation.
|
||||
|
||||
If firmware supports notification of connection of new memory to OS,
|
||||
this phase is triggered automatically. ACPI can notify this event. If not,
|
||||
"probe" operation by system administration is used instead.
|
||||
(see Section 4.).
|
||||
|
||||
Logical Memory Hotplug phase is to change memory state into
|
||||
avaiable/unavailable for users. Amount of memory from user's view is
|
||||
changed by this phase. The kernel makes all memory in it as free pages
|
||||
when a memory range is available.
|
||||
|
||||
In this document, this phase is described as online/offline.
|
||||
|
||||
Logical Memory Hotplug phase is triggred by write of sysfs file by system
|
||||
administrator. For the hot-add case, it must be executed after Physical Hotplug
|
||||
phase by hand.
|
||||
(However, if you writes udev's hotplug scripts for memory hotplug, these
|
||||
phases can be execute in seamless way.)
|
||||
|
||||
|
||||
1.3. Unit of Memory online/offline operation
|
||||
------------
|
||||
Memory hotplug uses SPARSEMEM memory model. SPARSEMEM divides the whole memory
|
||||
into chunks of the same size. The chunk is called a "section". The size of
|
||||
a section is architecture dependent. For example, power uses 16MiB, ia64 uses
|
||||
1GiB. The unit of online/offline operation is "one section". (see Section 3.)
|
||||
|
||||
To determine the size of sections, please read this file:
|
||||
|
||||
/sys/devices/system/memory/block_size_bytes
|
||||
|
||||
This file shows the size of sections in byte.
|
||||
|
||||
-----------------------
|
||||
2. Kernel Configuration
|
||||
-----------------------
|
||||
To use memory hotplug feature, kernel must be compiled with following
|
||||
config options.
|
||||
|
||||
- For all memory hotplug
|
||||
Memory model -> Sparse Memory (CONFIG_SPARSEMEM)
|
||||
Allow for memory hot-add (CONFIG_MEMORY_HOTPLUG)
|
||||
|
||||
- To enable memory removal, the followings are also necessary
|
||||
Allow for memory hot remove (CONFIG_MEMORY_HOTREMOVE)
|
||||
Page Migration (CONFIG_MIGRATION)
|
||||
|
||||
- For ACPI memory hotplug, the followings are also necessary
|
||||
Memory hotplug (under ACPI Support menu) (CONFIG_ACPI_HOTPLUG_MEMORY)
|
||||
This option can be kernel module.
|
||||
|
||||
- As a related configuration, if your box has a feature of NUMA-node hotplug
|
||||
via ACPI, then this option is necessary too.
|
||||
ACPI0004,PNP0A05 and PNP0A06 Container Driver (under ACPI Support menu)
|
||||
(CONFIG_ACPI_CONTAINER).
|
||||
This option can be kernel module too.
|
||||
|
||||
--------------------------------
|
||||
3 sysfs files for memory hotplug
|
||||
--------------------------------
|
||||
All sections have their device information under /sys/devices/system/memory as
|
||||
|
||||
/sys/devices/system/memory/memoryXXX
|
||||
(XXX is section id.)
|
||||
|
||||
Now, XXX is defined as start_address_of_section / section_size.
|
||||
|
||||
For example, assume 1GiB section size. A device for a memory starting at
|
||||
0x100000000 is /sys/device/system/memory/memory4
|
||||
(0x100000000 / 1Gib = 4)
|
||||
This device covers address range [0x100000000 ... 0x140000000)
|
||||
|
||||
Under each section, you can see 3 files.
|
||||
|
||||
/sys/devices/system/memory/memoryXXX/phys_index
|
||||
/sys/devices/system/memory/memoryXXX/phys_device
|
||||
/sys/devices/system/memory/memoryXXX/state
|
||||
|
||||
'phys_index' : read-only and contains section id, same as XXX.
|
||||
'state' : read-write
|
||||
at read: contains online/offline state of memory.
|
||||
at write: user can specify "online", "offline" command
|
||||
'phys_device': read-only: designed to show the name of physical memory device.
|
||||
This is not well implemented now.
|
||||
|
||||
NOTE:
|
||||
These directories/files appear after physical memory hotplug phase.
|
||||
|
||||
|
||||
--------------------------------
|
||||
4. Physical memory hot-add phase
|
||||
--------------------------------
|
||||
|
||||
4.1 Hardware(Firmware) Support
|
||||
------------
|
||||
On x86_64/ia64 platform, memory hotplug by ACPI is supported.
|
||||
|
||||
In general, the firmware (ACPI) which supports memory hotplug defines
|
||||
memory class object of _HID "PNP0C80". When a notify is asserted to PNP0C80,
|
||||
Linux's ACPI handler does hot-add memory to the system and calls a hotplug udev
|
||||
script. This will be done automatically.
|
||||
|
||||
But scripts for memory hotplug are not contained in generic udev package(now).
|
||||
You may have to write it by yourself or online/offline memory by hand.
|
||||
Please see "How to online memory", "How to offline memory" in this text.
|
||||
|
||||
If firmware supports NUMA-node hotplug, and defines an object _HID "ACPI0004",
|
||||
"PNP0A05", or "PNP0A06", notification is asserted to it, and ACPI handler
|
||||
calls hotplug code for all of objects which are defined in it.
|
||||
If memory device is found, memory hotplug code will be called.
|
||||
|
||||
|
||||
4.2 Notify memory hot-add event by hand
|
||||
------------
|
||||
In some environments, especially virtualized environment, firmware will not
|
||||
notify memory hotplug event to the kernel. For such environment, "probe"
|
||||
interface is supported. This interface depends on CONFIG_ARCH_MEMORY_PROBE.
|
||||
|
||||
Now, CONFIG_ARCH_MEMORY_PROBE is supported only by powerpc but it does not
|
||||
contain highly architecture codes. Please add config if you need "probe"
|
||||
interface.
|
||||
|
||||
Probe interface is located at
|
||||
/sys/devices/system/memory/probe
|
||||
|
||||
You can tell the physical address of new memory to the kernel by
|
||||
|
||||
% echo start_address_of_new_memory > /sys/devices/system/memory/probe
|
||||
|
||||
Then, [start_address_of_new_memory, start_address_of_new_memory + section_size)
|
||||
memory range is hot-added. In this case, hotplug script is not called (in
|
||||
current implementation). You'll have to online memory by yourself.
|
||||
Please see "How to online memory" in this text.
|
||||
|
||||
|
||||
|
||||
------------------------------
|
||||
5. Logical Memory hot-add phase
|
||||
------------------------------
|
||||
|
||||
5.1. State of memory
|
||||
------------
|
||||
To see (online/offline) state of memory section, read 'state' file.
|
||||
|
||||
% cat /sys/device/system/memory/memoryXXX/state
|
||||
|
||||
|
||||
If the memory section is online, you'll read "online".
|
||||
If the memory section is offline, you'll read "offline".
|
||||
|
||||
|
||||
5.2. How to online memory
|
||||
------------
|
||||
Even if the memory is hot-added, it is not at ready-to-use state.
|
||||
For using newly added memory, you have to "online" the memory section.
|
||||
|
||||
For onlining, you have to write "online" to the section's state file as:
|
||||
|
||||
% echo online > /sys/devices/system/memory/memoryXXX/state
|
||||
|
||||
After this, section memoryXXX's state will be 'online' and the amount of
|
||||
available memory will be increased.
|
||||
|
||||
Currently, newly added memory is added as ZONE_NORMAL (for powerpc, ZONE_DMA).
|
||||
This may be changed in future.
|
||||
|
||||
|
||||
|
||||
------------------------
|
||||
6. Logical memory remove
|
||||
------------------------
|
||||
|
||||
6.1 Memory offline and ZONE_MOVABLE
|
||||
------------
|
||||
Memory offlining is more complicated than memory online. Because memory offline
|
||||
has to make the whole memory section be unused, memory offline can fail if
|
||||
the section includes memory which cannot be freed.
|
||||
|
||||
In general, memory offline can use 2 techniques.
|
||||
|
||||
(1) reclaim and free all memory in the section.
|
||||
(2) migrate all pages in the section.
|
||||
|
||||
In the current implementation, Linux's memory offline uses method (2), freeing
|
||||
all pages in the section by page migration. But not all pages are
|
||||
migratable. Under current Linux, migratable pages are anonymous pages and
|
||||
page caches. For offlining a section by migration, the kernel has to guarantee
|
||||
that the section contains only migratable pages.
|
||||
|
||||
Now, a boot option for making a section which consists of migratable pages is
|
||||
supported. By specifying "kernelcore=" or "movablecore=" boot option, you can
|
||||
create ZONE_MOVABLE...a zone which is just used for movable pages.
|
||||
(See also Documentation/kernel-parameters.txt)
|
||||
|
||||
Assume the system has "TOTAL" amount of memory at boot time, this boot option
|
||||
creates ZONE_MOVABLE as following.
|
||||
|
||||
1) When kernelcore=YYYY boot option is used,
|
||||
Size of memory not for movable pages (not for offline) is YYYY.
|
||||
Size of memory for movable pages (for offline) is TOTAL-YYYY.
|
||||
|
||||
2) When movablecore=ZZZZ boot option is used,
|
||||
Size of memory not for movable pages (not for offline) is TOTAL - ZZZZ.
|
||||
Size of memory for movable pages (for offline) is ZZZZ.
|
||||
|
||||
|
||||
Note) Unfortunately, there is no information to show which section belongs
|
||||
to ZONE_MOVABLE. This is TBD.
|
||||
|
||||
|
||||
6.2. How to offline memory
|
||||
------------
|
||||
You can offline a section by using the same sysfs interface that was used in
|
||||
memory onlining.
|
||||
|
||||
% echo offline > /sys/devices/system/memory/memoryXXX/state
|
||||
|
||||
If offline succeeds, the state of the memory section is changed to be "offline".
|
||||
If it fails, some error core (like -EBUSY) will be returned by the kernel.
|
||||
Even if a section does not belong to ZONE_MOVABLE, you can try to offline it.
|
||||
If it doesn't contain 'unmovable' memory, you'll get success.
|
||||
|
||||
A section under ZONE_MOVABLE is considered to be able to be offlined easily.
|
||||
But under some busy state, it may return -EBUSY. Even if a memory section
|
||||
cannot be offlined due to -EBUSY, you can retry offlining it and may be able to
|
||||
offline it (or not).
|
||||
(For example, a page is referred to by some kernel internal call and released
|
||||
soon.)
|
||||
|
||||
Consideration:
|
||||
Memory hotplug's design direction is to make the possibility of memory offlining
|
||||
higher and to guarantee unplugging memory under any situation. But it needs
|
||||
more work. Returning -EBUSY under some situation may be good because the user
|
||||
can decide to retry more or not by himself. Currently, memory offlining code
|
||||
does some amount of retry with 120 seconds timeout.
|
||||
|
||||
-------------------------
|
||||
7. Physical memory remove
|
||||
-------------------------
|
||||
Need more implementation yet....
|
||||
- Notification completion of remove works by OS to firmware.
|
||||
- Guard from remove if not yet.
|
||||
|
||||
--------------
|
||||
8. Future Work
|
||||
--------------
|
||||
- allowing memory hot-add to ZONE_MOVABLE. maybe we need some switch like
|
||||
sysctl or new control file.
|
||||
- showing memory section and physical device relationship.
|
||||
- showing memory section and node relationship (maybe good for NUMA)
|
||||
- showing memory section is under ZONE_MOVABLE or not
|
||||
- test and make it better memory offlining.
|
||||
- support HugeTLB page migration and offlining.
|
||||
- memmap removing at memory offline.
|
||||
- physical remove memory.
|
||||
|
|
@ -83,7 +83,7 @@ Some implementation details:
|
|||
CFS uses nanosecond granularity accounting and does not rely on any
|
||||
jiffies or other HZ detail. Thus the CFS scheduler has no notion of
|
||||
'timeslices' and has no heuristics whatsoever. There is only one
|
||||
central tunable:
|
||||
central tunable (you have to switch on CONFIG_SCHED_DEBUG):
|
||||
|
||||
/proc/sys/kernel/sched_granularity_ns
|
||||
|
||||
|
|
|
@ -0,0 +1,108 @@
|
|||
This document explains the thinking about the revamped and streamlined
|
||||
nice-levels implementation in the new Linux scheduler.
|
||||
|
||||
Nice levels were always pretty weak under Linux and people continuously
|
||||
pestered us to make nice +19 tasks use up much less CPU time.
|
||||
|
||||
Unfortunately that was not that easy to implement under the old
|
||||
scheduler, (otherwise we'd have done it long ago) because nice level
|
||||
support was historically coupled to timeslice length, and timeslice
|
||||
units were driven by the HZ tick, so the smallest timeslice was 1/HZ.
|
||||
|
||||
In the O(1) scheduler (in 2003) we changed negative nice levels to be
|
||||
much stronger than they were before in 2.4 (and people were happy about
|
||||
that change), and we also intentionally calibrated the linear timeslice
|
||||
rule so that nice +19 level would be _exactly_ 1 jiffy. To better
|
||||
understand it, the timeslice graph went like this (cheesy ASCII art
|
||||
alert!):
|
||||
|
||||
|
||||
A
|
||||
\ | [timeslice length]
|
||||
\ |
|
||||
\ |
|
||||
\ |
|
||||
\ |
|
||||
\|___100msecs
|
||||
|^ . _
|
||||
| ^ . _
|
||||
| ^ . _
|
||||
-*----------------------------------*-----> [nice level]
|
||||
-20 | +19
|
||||
|
|
||||
|
|
||||
|
||||
So that if someone wanted to really renice tasks, +19 would give a much
|
||||
bigger hit than the normal linear rule would do. (The solution of
|
||||
changing the ABI to extend priorities was discarded early on.)
|
||||
|
||||
This approach worked to some degree for some time, but later on with
|
||||
HZ=1000 it caused 1 jiffy to be 1 msec, which meant 0.1% CPU usage which
|
||||
we felt to be a bit excessive. Excessive _not_ because it's too small of
|
||||
a CPU utilization, but because it causes too frequent (once per
|
||||
millisec) rescheduling. (and would thus trash the cache, etc. Remember,
|
||||
this was long ago when hardware was weaker and caches were smaller, and
|
||||
people were running number crunching apps at nice +19.)
|
||||
|
||||
So for HZ=1000 we changed nice +19 to 5msecs, because that felt like the
|
||||
right minimal granularity - and this translates to 5% CPU utilization.
|
||||
But the fundamental HZ-sensitive property for nice+19 still remained,
|
||||
and we never got a single complaint about nice +19 being too _weak_ in
|
||||
terms of CPU utilization, we only got complaints about it (still) being
|
||||
too _strong_ :-)
|
||||
|
||||
To sum it up: we always wanted to make nice levels more consistent, but
|
||||
within the constraints of HZ and jiffies and their nasty design level
|
||||
coupling to timeslices and granularity it was not really viable.
|
||||
|
||||
The second (less frequent but still periodically occuring) complaint
|
||||
about Linux's nice level support was its assymetry around the origo
|
||||
(which you can see demonstrated in the picture above), or more
|
||||
accurately: the fact that nice level behavior depended on the _absolute_
|
||||
nice level as well, while the nice API itself is fundamentally
|
||||
"relative":
|
||||
|
||||
int nice(int inc);
|
||||
|
||||
asmlinkage long sys_nice(int increment)
|
||||
|
||||
(the first one is the glibc API, the second one is the syscall API.)
|
||||
Note that the 'inc' is relative to the current nice level. Tools like
|
||||
bash's "nice" command mirror this relative API.
|
||||
|
||||
With the old scheduler, if you for example started a niced task with +1
|
||||
and another task with +2, the CPU split between the two tasks would
|
||||
depend on the nice level of the parent shell - if it was at nice -10 the
|
||||
CPU split was different than if it was at +5 or +10.
|
||||
|
||||
A third complaint against Linux's nice level support was that negative
|
||||
nice levels were not 'punchy enough', so lots of people had to resort to
|
||||
run audio (and other multimedia) apps under RT priorities such as
|
||||
SCHED_FIFO. But this caused other problems: SCHED_FIFO is not starvation
|
||||
proof, and a buggy SCHED_FIFO app can also lock up the system for good.
|
||||
|
||||
The new scheduler in v2.6.23 addresses all three types of complaints:
|
||||
|
||||
To address the first complaint (of nice levels being not "punchy"
|
||||
enough), the scheduler was decoupled from 'time slice' and HZ concepts
|
||||
(and granularity was made a separate concept from nice levels) and thus
|
||||
it was possible to implement better and more consistent nice +19
|
||||
support: with the new scheduler nice +19 tasks get a HZ-independent
|
||||
1.5%, instead of the variable 3%-5%-9% range they got in the old
|
||||
scheduler.
|
||||
|
||||
To address the second complaint (of nice levels not being consistent),
|
||||
the new scheduler makes nice(1) have the same CPU utilization effect on
|
||||
tasks, regardless of their absolute nice levels. So on the new
|
||||
scheduler, running a nice +10 and a nice 11 task has the same CPU
|
||||
utilization "split" between them as running a nice -5 and a nice -4
|
||||
task. (one will get 55% of the CPU, the other 45%.) That is why nice
|
||||
levels were changed to be "multiplicative" (or exponential) - that way
|
||||
it does not matter which nice level you start out from, the 'relative
|
||||
result' will always be the same.
|
||||
|
||||
The third complaint (of negative nice levels not being "punchy" enough
|
||||
and forcing audio apps to run under the more dangerous SCHED_FIFO
|
||||
scheduling policy) is addressed by the new scheduler almost
|
||||
automatically: stronger negative nice levels are an automatic
|
||||
side-effect of the recalibrated dynamic range of nice levels.
|
|
@ -1,6 +1,6 @@
|
|||
Linux Magic System Request Key Hacks
|
||||
Documentation for sysrq.c
|
||||
Last update: 2007-MAR-14
|
||||
Last update: 2007-AUG-04
|
||||
|
||||
* What is the magic SysRq key?
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
@ -78,7 +78,7 @@ On all - write a character to /proc/sysrq-trigger. e.g.:
|
|||
'g' - Used by kgdb on ppc and sh platforms.
|
||||
|
||||
'h' - Will display help (actually any other key than those listed
|
||||
above will display help. but 'h' is easy to remember :-)
|
||||
here will display help. but 'h' is easy to remember :-)
|
||||
|
||||
'i' - Send a SIGKILL to all processes, except for init.
|
||||
|
||||
|
|
|
@ -105,10 +105,10 @@ The version of thinkpad-acpi's sysfs interface is exported by the driver
|
|||
as a driver attribute (see below).
|
||||
|
||||
Sysfs driver attributes are on the driver's sysfs attribute space,
|
||||
for 2.6.20 this is /sys/bus/platform/drivers/thinkpad-acpi/.
|
||||
for 2.6.20 this is /sys/bus/platform/drivers/thinkpad_acpi/.
|
||||
|
||||
Sysfs device attributes are on the driver's sysfs attribute space,
|
||||
for 2.6.20 this is /sys/devices/platform/thinkpad-acpi/.
|
||||
for 2.6.20 this is /sys/devices/platform/thinkpad_acpi/.
|
||||
|
||||
Driver version
|
||||
--------------
|
||||
|
|
|
@ -0,0 +1,332 @@
|
|||
|
||||
What is Linux Memory Policy?
|
||||
|
||||
In the Linux kernel, "memory policy" determines from which node the kernel will
|
||||
allocate memory in a NUMA system or in an emulated NUMA system. Linux has
|
||||
supported platforms with Non-Uniform Memory Access architectures since 2.4.?.
|
||||
The current memory policy support was added to Linux 2.6 around May 2004. This
|
||||
document attempts to describe the concepts and APIs of the 2.6 memory policy
|
||||
support.
|
||||
|
||||
Memory policies should not be confused with cpusets (Documentation/cpusets.txt)
|
||||
which is an administrative mechanism for restricting the nodes from which
|
||||
memory may be allocated by a set of processes. Memory policies are a
|
||||
programming interface that a NUMA-aware application can take advantage of. When
|
||||
both cpusets and policies are applied to a task, the restrictions of the cpuset
|
||||
takes priority. See "MEMORY POLICIES AND CPUSETS" below for more details.
|
||||
|
||||
MEMORY POLICY CONCEPTS
|
||||
|
||||
Scope of Memory Policies
|
||||
|
||||
The Linux kernel supports _scopes_ of memory policy, described here from
|
||||
most general to most specific:
|
||||
|
||||
System Default Policy: this policy is "hard coded" into the kernel. It
|
||||
is the policy that governs all page allocations that aren't controlled
|
||||
by one of the more specific policy scopes discussed below. When the
|
||||
system is "up and running", the system default policy will use "local
|
||||
allocation" described below. However, during boot up, the system
|
||||
default policy will be set to interleave allocations across all nodes
|
||||
with "sufficient" memory, so as not to overload the initial boot node
|
||||
with boot-time allocations.
|
||||
|
||||
Task/Process Policy: this is an optional, per-task policy. When defined
|
||||
for a specific task, this policy controls all page allocations made by or
|
||||
on behalf of the task that aren't controlled by a more specific scope.
|
||||
If a task does not define a task policy, then all page allocations that
|
||||
would have been controlled by the task policy "fall back" to the System
|
||||
Default Policy.
|
||||
|
||||
The task policy applies to the entire address space of a task. Thus,
|
||||
it is inheritable, and indeed is inherited, across both fork()
|
||||
[clone() w/o the CLONE_VM flag] and exec*(). This allows a parent task
|
||||
to establish the task policy for a child task exec()'d from an
|
||||
executable image that has no awareness of memory policy. See the
|
||||
MEMORY POLICY APIS section, below, for an overview of the system call
|
||||
that a task may use to set/change it's task/process policy.
|
||||
|
||||
In a multi-threaded task, task policies apply only to the thread
|
||||
[Linux kernel task] that installs the policy and any threads
|
||||
subsequently created by that thread. Any sibling threads existing
|
||||
at the time a new task policy is installed retain their current
|
||||
policy.
|
||||
|
||||
A task policy applies only to pages allocated after the policy is
|
||||
installed. Any pages already faulted in by the task when the task
|
||||
changes its task policy remain where they were allocated based on
|
||||
the policy at the time they were allocated.
|
||||
|
||||
VMA Policy: A "VMA" or "Virtual Memory Area" refers to a range of a task's
|
||||
virtual adddress space. A task may define a specific policy for a range
|
||||
of its virtual address space. See the MEMORY POLICIES APIS section,
|
||||
below, for an overview of the mbind() system call used to set a VMA
|
||||
policy.
|
||||
|
||||
A VMA policy will govern the allocation of pages that back this region of
|
||||
the address space. Any regions of the task's address space that don't
|
||||
have an explicit VMA policy will fall back to the task policy, which may
|
||||
itself fall back to the System Default Policy.
|
||||
|
||||
VMA policies have a few complicating details:
|
||||
|
||||
VMA policy applies ONLY to anonymous pages. These include pages
|
||||
allocated for anonymous segments, such as the task stack and heap, and
|
||||
any regions of the address space mmap()ed with the MAP_ANONYMOUS flag.
|
||||
If a VMA policy is applied to a file mapping, it will be ignored if
|
||||
the mapping used the MAP_SHARED flag. If the file mapping used the
|
||||
MAP_PRIVATE flag, the VMA policy will only be applied when an
|
||||
anonymous page is allocated on an attempt to write to the mapping--
|
||||
i.e., at Copy-On-Write.
|
||||
|
||||
VMA policies are shared between all tasks that share a virtual address
|
||||
space--a.k.a. threads--independent of when the policy is installed; and
|
||||
they are inherited across fork(). However, because VMA policies refer
|
||||
to a specific region of a task's address space, and because the address
|
||||
space is discarded and recreated on exec*(), VMA policies are NOT
|
||||
inheritable across exec(). Thus, only NUMA-aware applications may
|
||||
use VMA policies.
|
||||
|
||||
A task may install a new VMA policy on a sub-range of a previously
|
||||
mmap()ed region. When this happens, Linux splits the existing virtual
|
||||
memory area into 2 or 3 VMAs, each with it's own policy.
|
||||
|
||||
By default, VMA policy applies only to pages allocated after the policy
|
||||
is installed. Any pages already faulted into the VMA range remain
|
||||
where they were allocated based on the policy at the time they were
|
||||
allocated. However, since 2.6.16, Linux supports page migration via
|
||||
the mbind() system call, so that page contents can be moved to match
|
||||
a newly installed policy.
|
||||
|
||||
Shared Policy: Conceptually, shared policies apply to "memory objects"
|
||||
mapped shared into one or more tasks' distinct address spaces. An
|
||||
application installs a shared policies the same way as VMA policies--using
|
||||
the mbind() system call specifying a range of virtual addresses that map
|
||||
the shared object. However, unlike VMA policies, which can be considered
|
||||
to be an attribute of a range of a task's address space, shared policies
|
||||
apply directly to the shared object. Thus, all tasks that attach to the
|
||||
object share the policy, and all pages allocated for the shared object,
|
||||
by any task, will obey the shared policy.
|
||||
|
||||
As of 2.6.22, only shared memory segments, created by shmget() or
|
||||
mmap(MAP_ANONYMOUS|MAP_SHARED), support shared policy. When shared
|
||||
policy support was added to Linux, the associated data structures were
|
||||
added to hugetlbfs shmem segments. At the time, hugetlbfs did not
|
||||
support allocation at fault time--a.k.a lazy allocation--so hugetlbfs
|
||||
shmem segments were never "hooked up" to the shared policy support.
|
||||
Although hugetlbfs segments now support lazy allocation, their support
|
||||
for shared policy has not been completed.
|
||||
|
||||
As mentioned above [re: VMA policies], allocations of page cache
|
||||
pages for regular files mmap()ed with MAP_SHARED ignore any VMA
|
||||
policy installed on the virtual address range backed by the shared
|
||||
file mapping. Rather, shared page cache pages, including pages backing
|
||||
private mappings that have not yet been written by the task, follow
|
||||
task policy, if any, else System Default Policy.
|
||||
|
||||
The shared policy infrastructure supports different policies on subset
|
||||
ranges of the shared object. However, Linux still splits the VMA of
|
||||
the task that installs the policy for each range of distinct policy.
|
||||
Thus, different tasks that attach to a shared memory segment can have
|
||||
different VMA configurations mapping that one shared object. This
|
||||
can be seen by examining the /proc/<pid>/numa_maps of tasks sharing
|
||||
a shared memory region, when one task has installed shared policy on
|
||||
one or more ranges of the region.
|
||||
|
||||
Components of Memory Policies
|
||||
|
||||
A Linux memory policy is a tuple consisting of a "mode" and an optional set
|
||||
of nodes. The mode determine the behavior of the policy, while the
|
||||
optional set of nodes can be viewed as the arguments to the behavior.
|
||||
|
||||
Internally, memory policies are implemented by a reference counted
|
||||
structure, struct mempolicy. Details of this structure will be discussed
|
||||
in context, below, as required to explain the behavior.
|
||||
|
||||
Note: in some functions AND in the struct mempolicy itself, the mode
|
||||
is called "policy". However, to avoid confusion with the policy tuple,
|
||||
this document will continue to use the term "mode".
|
||||
|
||||
Linux memory policy supports the following 4 behavioral modes:
|
||||
|
||||
Default Mode--MPOL_DEFAULT: The behavior specified by this mode is
|
||||
context or scope dependent.
|
||||
|
||||
As mentioned in the Policy Scope section above, during normal
|
||||
system operation, the System Default Policy is hard coded to
|
||||
contain the Default mode.
|
||||
|
||||
In this context, default mode means "local" allocation--that is
|
||||
attempt to allocate the page from the node associated with the cpu
|
||||
where the fault occurs. If the "local" node has no memory, or the
|
||||
node's memory can be exhausted [no free pages available], local
|
||||
allocation will "fallback to"--attempt to allocate pages from--
|
||||
"nearby" nodes, in order of increasing "distance".
|
||||
|
||||
Implementation detail -- subject to change: "Fallback" uses
|
||||
a per node list of sibling nodes--called zonelists--built at
|
||||
boot time, or when nodes or memory are added or removed from
|
||||
the system [memory hotplug]. These per node zonelist are
|
||||
constructed with nodes in order of increasing distance based
|
||||
on information provided by the platform firmware.
|
||||
|
||||
When a task/process policy or a shared policy contains the Default
|
||||
mode, this also means "local allocation", as described above.
|
||||
|
||||
In the context of a VMA, Default mode means "fall back to task
|
||||
policy"--which may or may not specify Default mode. Thus, Default
|
||||
mode can not be counted on to mean local allocation when used
|
||||
on a non-shared region of the address space. However, see
|
||||
MPOL_PREFERRED below.
|
||||
|
||||
The Default mode does not use the optional set of nodes.
|
||||
|
||||
MPOL_BIND: This mode specifies that memory must come from the
|
||||
set of nodes specified by the policy.
|
||||
|
||||
The memory policy APIs do not specify an order in which the nodes
|
||||
will be searched. However, unlike "local allocation", the Bind
|
||||
policy does not consider the distance between the nodes. Rather,
|
||||
allocations will fallback to the nodes specified by the policy in
|
||||
order of numeric node id. Like everything in Linux, this is subject
|
||||
to change.
|
||||
|
||||
MPOL_PREFERRED: This mode specifies that the allocation should be
|
||||
attempted from the single node specified in the policy. If that
|
||||
allocation fails, the kernel will search other nodes, exactly as
|
||||
it would for a local allocation that started at the preferred node
|
||||
in increasing distance from the preferred node. "Local" allocation
|
||||
policy can be viewed as a Preferred policy that starts at the node
|
||||
containing the cpu where the allocation takes place.
|
||||
|
||||
Internally, the Preferred policy uses a single node--the
|
||||
preferred_node member of struct mempolicy. A "distinguished
|
||||
value of this preferred_node, currently '-1', is interpreted
|
||||
as "the node containing the cpu where the allocation takes
|
||||
place"--local allocation. This is the way to specify
|
||||
local allocation for a specific range of addresses--i.e. for
|
||||
VMA policies.
|
||||
|
||||
MPOL_INTERLEAVED: This mode specifies that page allocations be
|
||||
interleaved, on a page granularity, across the nodes specified in
|
||||
the policy. This mode also behaves slightly differently, based on
|
||||
the context where it is used:
|
||||
|
||||
For allocation of anonymous pages and shared memory pages,
|
||||
Interleave mode indexes the set of nodes specified by the policy
|
||||
using the page offset of the faulting address into the segment
|
||||
[VMA] containing the address modulo the number of nodes specified
|
||||
by the policy. It then attempts to allocate a page, starting at
|
||||
the selected node, as if the node had been specified by a Preferred
|
||||
policy or had been selected by a local allocation. That is,
|
||||
allocation will follow the per node zonelist.
|
||||
|
||||
For allocation of page cache pages, Interleave mode indexes the set
|
||||
of nodes specified by the policy using a node counter maintained
|
||||
per task. This counter wraps around to the lowest specified node
|
||||
after it reaches the highest specified node. This will tend to
|
||||
spread the pages out over the nodes specified by the policy based
|
||||
on the order in which they are allocated, rather than based on any
|
||||
page offset into an address range or file. During system boot up,
|
||||
the temporary interleaved system default policy works in this
|
||||
mode.
|
||||
|
||||
MEMORY POLICY APIs
|
||||
|
||||
Linux supports 3 system calls for controlling memory policy. These APIS
|
||||
always affect only the calling task, the calling task's address space, or
|
||||
some shared object mapped into the calling task's address space.
|
||||
|
||||
Note: the headers that define these APIs and the parameter data types
|
||||
for user space applications reside in a package that is not part of
|
||||
the Linux kernel. The kernel system call interfaces, with the 'sys_'
|
||||
prefix, are defined in <linux/syscalls.h>; the mode and flag
|
||||
definitions are defined in <linux/mempolicy.h>.
|
||||
|
||||
Set [Task] Memory Policy:
|
||||
|
||||
long set_mempolicy(int mode, const unsigned long *nmask,
|
||||
unsigned long maxnode);
|
||||
|
||||
Set's the calling task's "task/process memory policy" to mode
|
||||
specified by the 'mode' argument and the set of nodes defined
|
||||
by 'nmask'. 'nmask' points to a bit mask of node ids containing
|
||||
at least 'maxnode' ids.
|
||||
|
||||
See the set_mempolicy(2) man page for more details
|
||||
|
||||
|
||||
Get [Task] Memory Policy or Related Information
|
||||
|
||||
long get_mempolicy(int *mode,
|
||||
const unsigned long *nmask, unsigned long maxnode,
|
||||
void *addr, int flags);
|
||||
|
||||
Queries the "task/process memory policy" of the calling task, or
|
||||
the policy or location of a specified virtual address, depending
|
||||
on the 'flags' argument.
|
||||
|
||||
See the get_mempolicy(2) man page for more details
|
||||
|
||||
|
||||
Install VMA/Shared Policy for a Range of Task's Address Space
|
||||
|
||||
long mbind(void *start, unsigned long len, int mode,
|
||||
const unsigned long *nmask, unsigned long maxnode,
|
||||
unsigned flags);
|
||||
|
||||
mbind() installs the policy specified by (mode, nmask, maxnodes) as
|
||||
a VMA policy for the range of the calling task's address space
|
||||
specified by the 'start' and 'len' arguments. Additional actions
|
||||
may be requested via the 'flags' argument.
|
||||
|
||||
See the mbind(2) man page for more details.
|
||||
|
||||
MEMORY POLICY COMMAND LINE INTERFACE
|
||||
|
||||
Although not strictly part of the Linux implementation of memory policy,
|
||||
a command line tool, numactl(8), exists that allows one to:
|
||||
|
||||
+ set the task policy for a specified program via set_mempolicy(2), fork(2) and
|
||||
exec(2)
|
||||
|
||||
+ set the shared policy for a shared memory segment via mbind(2)
|
||||
|
||||
The numactl(8) tool is packages with the run-time version of the library
|
||||
containing the memory policy system call wrappers. Some distributions
|
||||
package the headers and compile-time libraries in a separate development
|
||||
package.
|
||||
|
||||
|
||||
MEMORY POLICIES AND CPUSETS
|
||||
|
||||
Memory policies work within cpusets as described above. For memory policies
|
||||
that require a node or set of nodes, the nodes are restricted to the set of
|
||||
nodes whose memories are allowed by the cpuset constraints. If the
|
||||
intersection of the set of nodes specified for the policy and the set of nodes
|
||||
allowed by the cpuset is the empty set, the policy is considered invalid and
|
||||
cannot be installed.
|
||||
|
||||
The interaction of memory policies and cpusets can be problematic for a
|
||||
couple of reasons:
|
||||
|
||||
1) the memory policy APIs take physical node id's as arguments. However, the
|
||||
memory policy APIs do not provide a way to determine what nodes are valid
|
||||
in the context where the application is running. An application MAY consult
|
||||
the cpuset file system [directly or via an out of tree, and not generally
|
||||
available, libcpuset API] to obtain this information, but then the
|
||||
application must be aware that it is running in a cpuset and use what are
|
||||
intended primarily as administrative APIs.
|
||||
|
||||
However, as long as the policy specifies at least one node that is valid
|
||||
in the controlling cpuset, the policy can be used.
|
||||
|
||||
2) when tasks in two cpusets share access to a memory region, such as shared
|
||||
memory segments created by shmget() of mmap() with the MAP_ANONYMOUS and
|
||||
MAP_SHARED flags, and any of the tasks install shared policy on the region,
|
||||
only nodes whose memories are allowed in both cpusets may be used in the
|
||||
policies. Again, obtaining this information requires "stepping outside"
|
||||
the memory policy APIs, as well as knowing in what cpusets other task might
|
||||
be attaching to the shared region, to use the cpuset information.
|
||||
Furthermore, if the cpusets' allowed memory sets are disjoint, "local"
|
||||
allocation is the only valid policy.
|
|
@ -396,7 +396,7 @@ void report(struct slabinfo *s)
|
|||
if (strcmp(s->name, "*") == 0)
|
||||
return;
|
||||
|
||||
printf("\nSlabcache: %-20s Aliases: %2d Order : %2d Objects: %d\n",
|
||||
printf("\nSlabcache: %-20s Aliases: %2d Order : %2d Objects: %lu\n",
|
||||
s->name, s->aliases, s->order, s->objects);
|
||||
if (s->hwcache_align)
|
||||
printf("** Hardware cacheline aligned\n");
|
||||
|
|
|
@ -0,0 +1,10 @@
|
|||
00-INDEX
|
||||
- this file.
|
||||
pcwd-watchdog.txt
|
||||
- documentation for Berkshire Products PC Watchdog ISA cards.
|
||||
src/
|
||||
- directory holding watchdog related example programs.
|
||||
watchdog-api.txt
|
||||
- description of the Linux Watchdog driver API.
|
||||
wdt.txt
|
||||
- description of the Watchdog Timer Interfaces for Linux.
|
33
MAINTAINERS
33
MAINTAINERS
|
@ -97,6 +97,12 @@ M: philb@gnu.org
|
|||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
3C59X NETWORK DRIVER
|
||||
P: Steffen Klassert
|
||||
M: klassert@mathematik.tu-chemnitz.de
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
3CR990 NETWORK DRIVER
|
||||
P: David Dillow
|
||||
M: dave@thedillows.org
|
||||
|
@ -612,6 +618,15 @@ W: http://sourceforge.net/projects/acpi4asus
|
|||
W: http://xf.iksaif.net/acpi4asus
|
||||
S: Maintained
|
||||
|
||||
ASYNCHRONOUS TRANSFERS/TRANSFORMS API
|
||||
P: Dan Williams
|
||||
M: dan.j.williams@intel.com
|
||||
P: Shannon Nelson
|
||||
M: shannon.nelson@intel.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
W: http://sourceforge.net/projects/xscaleiop
|
||||
S: Supported
|
||||
|
||||
ATA OVER ETHERNET DRIVER
|
||||
P: Ed L. Cashin
|
||||
M: ecashin@coraid.com
|
||||
|
@ -664,7 +679,7 @@ S: Maintained
|
|||
AUDIT SUBSYSTEM
|
||||
P: David Woodhouse
|
||||
M: dwmw2@infradead.org
|
||||
L: linux-audit@redhat.com
|
||||
L: linux-audit@redhat.com (subscribers-only)
|
||||
W: http://people.redhat.com/sgrubb/audit/
|
||||
T: git kernel.org:/pub/scm/linux/kernel/git/dwmw2/audit-2.6.git
|
||||
S: Maintained
|
||||
|
@ -994,7 +1009,7 @@ P: Steve French
|
|||
M: sfrench@samba.org
|
||||
L: linux-cifs-client@lists.samba.org
|
||||
L: samba-technical@lists.samba.org
|
||||
W: http://us1.samba.org/samba/Linux_CIFS_client.html
|
||||
W: http://linux-cifs.samba.org/
|
||||
T: git kernel.org:/pub/scm/linux/kernel/git/sfrench/cifs-2.6.git
|
||||
S: Supported
|
||||
|
||||
|
@ -1277,11 +1292,13 @@ M: tori@unhappy.mine.nu
|
|||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
DMA GENERIC MEMCPY SUBSYSTEM
|
||||
DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
|
||||
P: Shannon Nelson
|
||||
M: shannon.nelson@intel.com
|
||||
P: Dan Williams
|
||||
M: dan.j.williams@intel.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
S: Maintained
|
||||
S: Supported
|
||||
|
||||
DME1737 HARDWARE MONITOR DRIVER
|
||||
P: Juerg Haefliger
|
||||
|
@ -1958,6 +1975,12 @@ M: shannon.nelson@intel.com
|
|||
L: linux-kernel@vger.kernel.org
|
||||
S: Supported
|
||||
|
||||
INTEL IOP-ADMA DMA DRIVER
|
||||
P: Dan Williams
|
||||
M: dan.j.williams@intel.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
S: Supported
|
||||
|
||||
INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT
|
||||
P: Deepak Saxena
|
||||
M: dsaxena@plexity.net
|
||||
|
@ -3429,7 +3452,7 @@ S: Maintained
|
|||
|
||||
TPM DEVICE DRIVER
|
||||
P: Kylene Hall
|
||||
M: kjhall@us.ibm.com
|
||||
M: tpmdd-devel@lists.sourceforge.net
|
||||
W: http://tpmdd.sourceforge.net
|
||||
P: Marcel Selhorst
|
||||
M: tpm@selhorst.net
|
||||
|
|
2
Makefile
2
Makefile
|
@ -1,7 +1,7 @@
|
|||
VERSION = 2
|
||||
PATCHLEVEL = 6
|
||||
SUBLEVEL = 23
|
||||
EXTRAVERSION =-rc1
|
||||
EXTRAVERSION =-rc3
|
||||
NAME = Holy Dancing Manatees, Batman!
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
|
|
@ -270,6 +270,19 @@ titan_dispatch_irqs(u64 mask)
|
|||
/*
|
||||
* Titan Family
|
||||
*/
|
||||
static void __init
|
||||
titan_request_irq(unsigned int irq, irq_handler_t handler,
|
||||
unsigned long irqflags, const char *devname,
|
||||
void *dev_id)
|
||||
{
|
||||
int err;
|
||||
err = request_irq(irq, handler, irqflags, devname, dev_id);
|
||||
if (err) {
|
||||
printk("titan_request_irq for IRQ %d returned %d; ignoring\n",
|
||||
irq, err);
|
||||
}
|
||||
}
|
||||
|
||||
static void __init
|
||||
titan_late_init(void)
|
||||
{
|
||||
|
@ -278,15 +291,15 @@ titan_late_init(void)
|
|||
* all reported to the kernel as machine checks, so the handler
|
||||
* is a nop so it can be called to count the individual events.
|
||||
*/
|
||||
request_irq(63+16, titan_intr_nop, IRQF_DISABLED,
|
||||
titan_request_irq(63+16, titan_intr_nop, IRQF_DISABLED,
|
||||
"CChip Error", NULL);
|
||||
request_irq(62+16, titan_intr_nop, IRQF_DISABLED,
|
||||
titan_request_irq(62+16, titan_intr_nop, IRQF_DISABLED,
|
||||
"PChip 0 H_Error", NULL);
|
||||
request_irq(61+16, titan_intr_nop, IRQF_DISABLED,
|
||||
titan_request_irq(61+16, titan_intr_nop, IRQF_DISABLED,
|
||||
"PChip 1 H_Error", NULL);
|
||||
request_irq(60+16, titan_intr_nop, IRQF_DISABLED,
|
||||
titan_request_irq(60+16, titan_intr_nop, IRQF_DISABLED,
|
||||
"PChip 0 C_Error", NULL);
|
||||
request_irq(59+16, titan_intr_nop, IRQF_DISABLED,
|
||||
titan_request_irq(59+16, titan_intr_nop, IRQF_DISABLED,
|
||||
"PChip 1 C_Error", NULL);
|
||||
|
||||
/*
|
||||
|
@ -345,9 +358,9 @@ privateer_init_pci(void)
|
|||
* Hook a couple of extra err interrupts that the
|
||||
* common titan code won't.
|
||||
*/
|
||||
request_irq(53+16, titan_intr_nop, IRQF_DISABLED,
|
||||
titan_request_irq(53+16, titan_intr_nop, IRQF_DISABLED,
|
||||
"NMI", NULL);
|
||||
request_irq(50+16, titan_intr_nop, IRQF_DISABLED,
|
||||
titan_request_irq(50+16, titan_intr_nop, IRQF_DISABLED,
|
||||
"Temperature Warning", NULL);
|
||||
|
||||
/*
|
||||
|
|
|
@ -1,12 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.20-rc1-git5
|
||||
# Tue Dec 19 21:38:01 2006
|
||||
# Linux kernel version: 2.6.22
|
||||
# Thu Jul 19 15:57:52 2007
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
# CONFIG_GENERIC_GPIO is not set
|
||||
# CONFIG_GENERIC_TIME is not set
|
||||
# CONFIG_GENERIC_CLOCKEVENTS is not set
|
||||
CONFIG_MMU=y
|
||||
# CONFIG_NO_IOPORT is not set
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
|
@ -15,6 +21,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
|||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_VECTORS_BASE=0xffff0000
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
|
@ -32,17 +39,19 @@ CONFIG_LOCALVERSION=""
|
|||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_IPC_NS is not set
|
||||
CONFIG_SYSVIPC_SYSCTL=y
|
||||
CONFIG_POSIX_MQUEUE=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_USER_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_SYSCTL=y
|
||||
|
@ -57,32 +66,30 @@ CONFIG_BUG=y
|
|||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
#
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
CONFIG_MODVERSIONS=y
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_KMOD=y
|
||||
|
||||
#
|
||||
# Block layer
|
||||
#
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_LSF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
|
@ -114,13 +121,15 @@ CONFIG_DEFAULT_IOSCHED="deadline"
|
|||
# CONFIG_ARCH_NETX is not set
|
||||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_IMX is not set
|
||||
CONFIG_ARCH_IOP13XX=y
|
||||
# CONFIG_ARCH_IOP32X is not set
|
||||
# CONFIG_ARCH_IOP33X is not set
|
||||
CONFIG_ARCH_IOP13XX=y
|
||||
# CONFIG_ARCH_IXP4XX is not set
|
||||
# CONFIG_ARCH_IXP2000 is not set
|
||||
# CONFIG_ARCH_IXP23XX is not set
|
||||
# CONFIG_ARCH_IXP2000 is not set
|
||||
# CONFIG_ARCH_IXP4XX is not set
|
||||
# CONFIG_ARCH_L7200 is not set
|
||||
# CONFIG_ARCH_KS8695 is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_PNX4008 is not set
|
||||
# CONFIG_ARCH_PXA is not set
|
||||
# CONFIG_ARCH_RPC is not set
|
||||
|
@ -128,6 +137,7 @@ CONFIG_ARCH_IOP13XX=y
|
|||
# CONFIG_ARCH_S3C2410 is not set
|
||||
# CONFIG_ARCH_SHARK is not set
|
||||
# CONFIG_ARCH_LH7A40X is not set
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
# CONFIG_ARCH_OMAP is not set
|
||||
|
||||
#
|
||||
|
@ -140,6 +150,12 @@ CONFIG_ARCH_IOP13XX=y
|
|||
CONFIG_MACH_IQ81340SC=y
|
||||
CONFIG_MACH_IQ81340MC=y
|
||||
|
||||
#
|
||||
# IOP13XX IMU Support
|
||||
#
|
||||
# CONFIG_IOP_IMU is not set
|
||||
CONFIG_PLAT_IOP=y
|
||||
|
||||
#
|
||||
# Processor Type
|
||||
#
|
||||
|
@ -159,13 +175,16 @@ CONFIG_IO_36=y
|
|||
CONFIG_ARM_THUMB=y
|
||||
# CONFIG_CPU_DCACHE_DISABLE is not set
|
||||
# CONFIG_CPU_BPREDICT_DISABLE is not set
|
||||
# CONFIG_OUTER_CACHE is not set
|
||||
# CONFIG_IWMMXT is not set
|
||||
|
||||
#
|
||||
# Bus support
|
||||
#
|
||||
CONFIG_PCI=y
|
||||
# CONFIG_PCI_MULTITHREAD_PROBE is not set
|
||||
CONFIG_PCI_SYSCALL=y
|
||||
CONFIG_ARCH_SUPPORTS_MSI=y
|
||||
# CONFIG_PCI_MSI is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
|
@ -175,6 +194,7 @@ CONFIG_PCI=y
|
|||
#
|
||||
# Kernel Features
|
||||
#
|
||||
# CONFIG_TICK_ONESHOT is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
CONFIG_HZ=100
|
||||
|
@ -189,6 +209,9 @@ CONFIG_FLAT_NODE_MEM_MAP=y
|
|||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4096
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=1
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
|
||||
#
|
||||
|
@ -198,6 +221,7 @@ CONFIG_ZBOOT_ROM_TEXT=0x0
|
|||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="ip=bootp root=nfs console=ttyS0,115200 nfsroot=,tcp,v3,wsize=8192,rsize=8192"
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
# CONFIG_KEXEC is not set
|
||||
|
||||
#
|
||||
# Floating point emulation
|
||||
|
@ -222,7 +246,6 @@ CONFIG_BINFMT_AOUT=y
|
|||
# Power management options
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_APM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
|
@ -232,14 +255,15 @@ CONFIG_NET=y
|
|||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
# CONFIG_XFRM_SUB_POLICY is not set
|
||||
# CONFIG_XFRM_MIGRATE is not set
|
||||
CONFIG_NET_KEY=y
|
||||
# CONFIG_NET_KEY_MIGRATE is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
|
@ -270,6 +294,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
CONFIG_IPV6=y
|
||||
# CONFIG_IPV6_PRIVACY is not set
|
||||
# CONFIG_IPV6_ROUTER_PREF is not set
|
||||
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
|
||||
# CONFIG_INET6_AH is not set
|
||||
# CONFIG_INET6_ESP is not set
|
||||
# CONFIG_INET6_IPCOMP is not set
|
||||
|
@ -285,20 +310,8 @@ CONFIG_IPV6=y
|
|||
# CONFIG_IPV6_MULTIPLE_TABLES is not set
|
||||
# CONFIG_NETWORK_SECMARK 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
|
||||
|
@ -324,7 +337,17 @@ CONFIG_IPV6=y
|
|||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -337,15 +360,7 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
# CONFIG_MTD_CONCAT is not set
|
||||
|
@ -361,6 +376,7 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y
|
|||
# User Modules And Translation Layers
|
||||
#
|
||||
# CONFIG_MTD_CHAR is not set
|
||||
CONFIG_MTD_BLKDEVS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
# CONFIG_FTL is not set
|
||||
# CONFIG_NFTL is not set
|
||||
|
@ -397,7 +413,6 @@ 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 is not set
|
||||
|
||||
#
|
||||
# Mapping drivers for chip access
|
||||
|
@ -425,42 +440,27 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
|
|||
# CONFIG_MTD_DOC2000 is not set
|
||||
# CONFIG_MTD_DOC2001 is not set
|
||||
# CONFIG_MTD_DOC2001PLUS is not set
|
||||
|
||||
#
|
||||
# NAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_NAND is not set
|
||||
|
||||
#
|
||||
# OneNAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
# UBI - Unsorted block images
|
||||
#
|
||||
# CONFIG_MTD_UBI is not set
|
||||
# CONFIG_PARPORT is not set
|
||||
|
||||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
CONFIG_BLK_DEV=y
|
||||
# CONFIG_BLK_CPQ_DA is not set
|
||||
# CONFIG_BLK_CPQ_CISS_DA is not set
|
||||
# CONFIG_BLK_DEV_DAC960 is not set
|
||||
# CONFIG_BLK_DEV_UMEM is not set
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
# CONFIG_BLK_DEV_LOOP is not set
|
||||
CONFIG_BLK_DEV_NBD=y
|
||||
# CONFIG_BLK_DEV_NBD is not set
|
||||
# CONFIG_BLK_DEV_SX8 is not set
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=2
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
|
@ -469,6 +469,7 @@ CONFIG_BLK_DEV_INITRD=y
|
|||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
# CONFIG_SCSI_TGT is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
CONFIG_SCSI_PROC_FS=y
|
||||
|
@ -490,6 +491,7 @@ CONFIG_CHR_DEV_SG=y
|
|||
CONFIG_SCSI_CONSTANTS=y
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||
CONFIG_SCSI_WAIT_SCAN=m
|
||||
|
||||
#
|
||||
# SCSI Transports
|
||||
|
@ -534,15 +536,7 @@ CONFIG_SCSI_SAS_ATTRS=y
|
|||
# CONFIG_SCSI_NSP32 is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_SRP is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
# CONFIG_ATA is not set
|
||||
|
||||
#
|
||||
# Multi-device support (RAID and LVM)
|
||||
#
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_MD=y
|
||||
# CONFIG_MD_LINEAR is not set
|
||||
|
@ -560,6 +554,7 @@ CONFIG_BLK_DEV_DM=y
|
|||
# CONFIG_DM_MIRROR is not set
|
||||
# CONFIG_DM_ZERO is not set
|
||||
# CONFIG_DM_MULTIPATH is not set
|
||||
# CONFIG_DM_DELAY is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
|
@ -572,39 +567,19 @@ CONFIG_BLK_DEV_DM=y
|
|||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
|
||||
#
|
||||
# I2O device support
|
||||
#
|
||||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NETDEVICES_MULTIQUEUE is not set
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# ARCnet devices
|
||||
#
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
# CONFIG_NET_ETHERNET is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
CONFIG_NETDEV_1000=y
|
||||
# CONFIG_ACENIC is not set
|
||||
# CONFIG_DL2K is not set
|
||||
CONFIG_E1000=y
|
||||
|
@ -617,33 +592,26 @@ CONFIG_E1000_NAPI=y
|
|||
# CONFIG_SIS190 is not set
|
||||
# CONFIG_SKGE is not set
|
||||
# CONFIG_SKY2 is not set
|
||||
# CONFIG_SK98LIN is not set
|
||||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
# CONFIG_QLA3XXX is not set
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
# CONFIG_ATL1 is not set
|
||||
CONFIG_NETDEV_10000=y
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_CHELSIO_T3 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
# CONFIG_NETXEN_NIC is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
# CONFIG_MLX4_CORE is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
#
|
||||
# CONFIG_NET_RADIO is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_FDDI is not set
|
||||
# CONFIG_HIPPI is not set
|
||||
|
@ -654,10 +622,6 @@ CONFIG_E1000_NAPI=y
|
|||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
#
|
||||
# CONFIG_ISDN is not set
|
||||
|
||||
#
|
||||
|
@ -665,6 +629,7 @@ CONFIG_E1000_NAPI=y
|
|||
#
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_INPUT_FF_MEMLESS is not set
|
||||
# CONFIG_INPUT_POLLDEV is not set
|
||||
|
||||
#
|
||||
# Userland interfaces
|
||||
|
@ -684,6 +649,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
|||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
|
@ -721,33 +687,18 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
|
||||
#
|
||||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_NVRAM is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_APPLICOM is not set
|
||||
# CONFIG_DRM is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
CONFIG_DEVPORT=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
# CONFIG_I2C_CHARDEV is not set
|
||||
|
||||
#
|
||||
|
@ -774,25 +725,28 @@ CONFIG_I2C_IOP3XX=y
|
|||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
# CONFIG_I2C_SIMTEC is not set
|
||||
# CONFIG_I2C_SIS5595 is not set
|
||||
# CONFIG_I2C_SIS630 is not set
|
||||
# CONFIG_I2C_SIS96X is not set
|
||||
# CONFIG_I2C_TAOS_EVM is not set
|
||||
# CONFIG_I2C_STUB is not set
|
||||
# CONFIG_I2C_VIA is not set
|
||||
# CONFIG_I2C_VIAPRO is not set
|
||||
# CONFIG_I2C_VOODOO3 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_DS1682 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_MAX6875 is not set
|
||||
# CONFIG_SENSORS_TSL2550 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
|
@ -803,21 +757,15 @@ CONFIG_I2C_IOP3XX=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
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_AD7418 is not set
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
# CONFIG_SENSORS_ADM1029 is not set
|
||||
# CONFIG_SENSORS_ADM1031 is not set
|
||||
# CONFIG_SENSORS_ADM9240 is not set
|
||||
# CONFIG_SENSORS_ASB100 is not set
|
||||
|
@ -840,6 +788,7 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_LM90 is not set
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_MAX6650 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_PC87427 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
|
@ -857,13 +806,17 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
CONFIG_MISC_DEVICES=y
|
||||
# CONFIG_PHANTOM is not set
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
|
||||
#
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
|
@ -881,16 +834,19 @@ CONFIG_HWMON=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
CONFIG_DAB=y
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
|
@ -898,21 +854,15 @@ CONFIG_FIRMWARE_EDID=y
|
|||
#
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
|
@ -926,10 +876,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -938,6 +884,22 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
CONFIG_RTC_LIB=y
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
CONFIG_DMA_ENGINE=y
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
# CONFIG_NET_DMA is not set
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
# CONFIG_INTEL_IOATDMA is not set
|
||||
CONFIG_INTEL_IOP_ADMA=y
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -1004,7 +966,6 @@ CONFIG_ECRYPT_FS=y
|
|||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_JFFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
|
@ -1014,7 +975,7 @@ CONFIG_JFFS2_FS_WRITEBUFFER=y
|
|||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
# CONFIG_JFFS2_RUBIN is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
CONFIG_CRAMFS=y
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
|
@ -1040,6 +1001,7 @@ CONFIG_LOCKD_V4=y
|
|||
CONFIG_EXPORTFS=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_SUNRPC_BIND34 is not set
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
CONFIG_SMB_FS=m
|
||||
|
@ -1053,7 +1015,6 @@ CONFIG_CIFS=m
|
|||
# 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
|
||||
|
@ -1075,6 +1036,7 @@ CONFIG_MSDOS_PARTITION=y
|
|||
# CONFIG_SUN_PARTITION is not set
|
||||
# CONFIG_KARMA_PARTITION is not set
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
# CONFIG_SYSV68_PARTITION is not set
|
||||
|
||||
#
|
||||
# Native Language Support
|
||||
|
@ -1140,7 +1102,6 @@ CONFIG_ENABLE_MUST_CHECK=y
|
|||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
CONFIG_FRAME_POINTER=y
|
||||
CONFIG_DEBUG_USER=y
|
||||
|
@ -1151,10 +1112,10 @@ CONFIG_DEBUG_USER=y
|
|||
CONFIG_KEYS=y
|
||||
CONFIG_KEYS_DEBUG_PROC_KEYS=y
|
||||
# CONFIG_SECURITY is not set
|
||||
|
||||
#
|
||||
# Cryptographic options
|
||||
#
|
||||
CONFIG_XOR_BLOCKS=y
|
||||
CONFIG_ASYNC_CORE=y
|
||||
CONFIG_ASYNC_MEMCPY=y
|
||||
CONFIG_ASYNC_XOR=y
|
||||
CONFIG_CRYPTO=y
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
CONFIG_CRYPTO_BLKCIPHER=y
|
||||
|
@ -1173,8 +1134,11 @@ CONFIG_CRYPTO_TGR192=y
|
|||
CONFIG_CRYPTO_GF128MUL=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_LRW=y
|
||||
# CONFIG_CRYPTO_CRYPTD is not set
|
||||
CONFIG_CRYPTO_DES=y
|
||||
# CONFIG_CRYPTO_FCRYPT is not set
|
||||
CONFIG_CRYPTO_BLOWFISH=y
|
||||
CONFIG_CRYPTO_TWOFISH=y
|
||||
CONFIG_CRYPTO_TWOFISH_COMMON=y
|
||||
|
@ -1189,11 +1153,9 @@ CONFIG_CRYPTO_ANUBIS=y
|
|||
CONFIG_CRYPTO_DEFLATE=y
|
||||
CONFIG_CRYPTO_MICHAEL_MIC=y
|
||||
CONFIG_CRYPTO_CRC32C=y
|
||||
# CONFIG_CRYPTO_CAMELLIA is not set
|
||||
# CONFIG_CRYPTO_TEST is not set
|
||||
|
||||
#
|
||||
# Hardware crypto devices
|
||||
#
|
||||
CONFIG_CRYPTO_HW=y
|
||||
|
||||
#
|
||||
# Library routines
|
||||
|
@ -1201,9 +1163,13 @@ CONFIG_CRYPTO_CRC32C=y
|
|||
CONFIG_BITREVERSE=y
|
||||
CONFIG_CRC_CCITT=y
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_CRC7 is not set
|
||||
CONFIG_LIBCRC32C=y
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_ZLIB_DEFLATE=y
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_IOMAP_COPY=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
|
|
@ -1,12 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.20-rc1-git5
|
||||
# Tue Dec 19 21:37:52 2006
|
||||
# Linux kernel version: 2.6.22
|
||||
# Thu Jul 19 16:00:36 2007
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
# CONFIG_GENERIC_GPIO is not set
|
||||
# CONFIG_GENERIC_TIME is not set
|
||||
# CONFIG_GENERIC_CLOCKEVENTS is not set
|
||||
CONFIG_MMU=y
|
||||
# CONFIG_NO_IOPORT is not set
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
|
@ -15,6 +21,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
|||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_VECTORS_BASE=0xffff0000
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
|
@ -32,16 +39,18 @@ CONFIG_LOCALVERSION=""
|
|||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_IPC_NS is not set
|
||||
CONFIG_SYSVIPC_SYSCTL=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_USER_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
|
@ -57,32 +66,30 @@ CONFIG_BUG=y
|
|||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
#
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
# CONFIG_MODVERSIONS is not set
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_KMOD=y
|
||||
|
||||
#
|
||||
# Block layer
|
||||
#
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_LSF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
|
@ -114,13 +121,15 @@ CONFIG_DEFAULT_IOSCHED="cfq"
|
|||
# CONFIG_ARCH_NETX is not set
|
||||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_IMX is not set
|
||||
# CONFIG_ARCH_IOP13XX is not set
|
||||
CONFIG_ARCH_IOP32X=y
|
||||
# CONFIG_ARCH_IOP33X is not set
|
||||
# CONFIG_ARCH_IOP13XX is not set
|
||||
# CONFIG_ARCH_IXP4XX is not set
|
||||
# CONFIG_ARCH_IXP2000 is not set
|
||||
# CONFIG_ARCH_IXP23XX is not set
|
||||
# CONFIG_ARCH_IXP2000 is not set
|
||||
# CONFIG_ARCH_IXP4XX is not set
|
||||
# CONFIG_ARCH_L7200 is not set
|
||||
# CONFIG_ARCH_KS8695 is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_PNX4008 is not set
|
||||
# CONFIG_ARCH_PXA is not set
|
||||
# CONFIG_ARCH_RPC is not set
|
||||
|
@ -128,6 +137,7 @@ CONFIG_ARCH_IOP32X=y
|
|||
# CONFIG_ARCH_S3C2410 is not set
|
||||
# CONFIG_ARCH_SHARK is not set
|
||||
# CONFIG_ARCH_LH7A40X is not set
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
# CONFIG_ARCH_OMAP is not set
|
||||
|
||||
#
|
||||
|
@ -137,10 +147,12 @@ CONFIG_ARCH_IOP32X=y
|
|||
#
|
||||
# IOP32x Platform Types
|
||||
#
|
||||
CONFIG_MACH_EP80219=y
|
||||
CONFIG_MACH_GLANTANK=y
|
||||
CONFIG_ARCH_IQ80321=y
|
||||
CONFIG_ARCH_IQ31244=y
|
||||
CONFIG_MACH_N2100=y
|
||||
CONFIG_IOP3XX_ATU=y
|
||||
CONFIG_PLAT_IOP=y
|
||||
|
||||
#
|
||||
|
@ -160,6 +172,7 @@ CONFIG_CPU_CP15_MMU=y
|
|||
#
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
# CONFIG_CPU_DCACHE_DISABLE is not set
|
||||
# CONFIG_OUTER_CACHE is not set
|
||||
# CONFIG_IWMMXT is not set
|
||||
CONFIG_XSCALE_PMU=y
|
||||
|
||||
|
@ -167,7 +180,8 @@ CONFIG_XSCALE_PMU=y
|
|||
# Bus support
|
||||
#
|
||||
CONFIG_PCI=y
|
||||
# CONFIG_PCI_MULTITHREAD_PROBE is not set
|
||||
CONFIG_PCI_SYSCALL=y
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
|
@ -178,6 +192,7 @@ CONFIG_PCI=y
|
|||
#
|
||||
# Kernel Features
|
||||
#
|
||||
# CONFIG_TICK_ONESHOT is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
CONFIG_HZ=100
|
||||
|
@ -192,6 +207,9 @@ CONFIG_FLAT_NODE_MEM_MAP=y
|
|||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4096
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=1
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
|
||||
#
|
||||
|
@ -199,8 +217,9 @@ CONFIG_ALIGNMENT_TRAP=y
|
|||
#
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp"
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp cachepolicy=writealloc"
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
# CONFIG_KEXEC is not set
|
||||
|
||||
#
|
||||
# Floating point emulation
|
||||
|
@ -225,7 +244,6 @@ CONFIG_BINFMT_AOUT=y
|
|||
# Power management options
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_APM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
|
@ -235,13 +253,13 @@ CONFIG_NET=y
|
|||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
# CONFIG_XFRM_SUB_POLICY is not set
|
||||
# CONFIG_XFRM_MIGRATE is not set
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
|
@ -273,6 +291,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
CONFIG_IPV6=y
|
||||
# CONFIG_IPV6_PRIVACY is not set
|
||||
# CONFIG_IPV6_ROUTER_PREF is not set
|
||||
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
|
||||
# CONFIG_INET6_AH is not set
|
||||
# CONFIG_INET6_ESP is not set
|
||||
# CONFIG_INET6_IPCOMP is not set
|
||||
|
@ -288,20 +307,8 @@ CONFIG_IPV6=y
|
|||
# CONFIG_IPV6_MULTIPLE_TABLES is not set
|
||||
# CONFIG_NETWORK_SECMARK 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
|
||||
|
@ -327,7 +334,17 @@ CONFIG_IPV6=y
|
|||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -340,16 +357,9 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_DEBUG_DEVRES is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
# CONFIG_MTD_CONCAT is not set
|
||||
|
@ -365,6 +375,7 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y
|
|||
# User Modules And Translation Layers
|
||||
#
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLKDEVS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
# CONFIG_FTL is not set
|
||||
# CONFIG_NFTL is not set
|
||||
|
@ -396,7 +407,6 @@ 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 is not set
|
||||
|
||||
#
|
||||
# Mapping drivers for chip access
|
||||
|
@ -424,29 +434,15 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
|
|||
# CONFIG_MTD_DOC2000 is not set
|
||||
# CONFIG_MTD_DOC2001 is not set
|
||||
# CONFIG_MTD_DOC2001PLUS is not set
|
||||
|
||||
#
|
||||
# NAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_NAND is not set
|
||||
|
||||
#
|
||||
# OneNAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
# UBI - Unsorted block images
|
||||
#
|
||||
# CONFIG_MTD_UBI is not set
|
||||
# CONFIG_PARPORT is not set
|
||||
|
||||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
CONFIG_BLK_DEV=y
|
||||
# CONFIG_BLK_CPQ_DA is not set
|
||||
# CONFIG_BLK_CPQ_CISS_DA is not set
|
||||
# CONFIG_BLK_DEV_DAC960 is not set
|
||||
|
@ -461,13 +457,8 @@ CONFIG_BLK_DEV_RAM=y
|
|||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
|
@ -475,6 +466,7 @@ CONFIG_BLK_DEV_INITRD=y
|
|||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
# CONFIG_SCSI_TGT is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
CONFIG_SCSI_PROC_FS=y
|
||||
|
@ -496,6 +488,7 @@ CONFIG_CHR_DEV_SG=y
|
|||
# CONFIG_SCSI_CONSTANTS is not set
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||
CONFIG_SCSI_WAIT_SCAN=m
|
||||
|
||||
#
|
||||
# SCSI Transports
|
||||
|
@ -541,11 +534,8 @@ CONFIG_CHR_DEV_SG=y
|
|||
# CONFIG_SCSI_NSP32 is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_SRP is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_NONSTANDARD is not set
|
||||
# CONFIG_SATA_AHCI is not set
|
||||
# CONFIG_SATA_SVW is not set
|
||||
# CONFIG_ATA_PIIX is not set
|
||||
|
@ -560,11 +550,13 @@ CONFIG_SATA_SIL=y
|
|||
# CONFIG_SATA_SIS is not set
|
||||
# CONFIG_SATA_ULI is not set
|
||||
# CONFIG_SATA_VIA is not set
|
||||
# CONFIG_SATA_VITESSE is not set
|
||||
CONFIG_SATA_VITESSE=y
|
||||
# CONFIG_SATA_INIC162X is not set
|
||||
# CONFIG_PATA_ALI is not set
|
||||
# CONFIG_PATA_AMD is not set
|
||||
# CONFIG_PATA_ARTOP is not set
|
||||
# CONFIG_PATA_ATIIXP is not set
|
||||
# CONFIG_PATA_CMD640_PCI is not set
|
||||
# CONFIG_PATA_CMD64X is not set
|
||||
# CONFIG_PATA_CS5520 is not set
|
||||
# CONFIG_PATA_CS5530 is not set
|
||||
|
@ -576,6 +568,7 @@ CONFIG_SATA_SIL=y
|
|||
# CONFIG_PATA_HPT3X2N is not set
|
||||
# CONFIG_PATA_HPT3X3 is not set
|
||||
# CONFIG_PATA_IT821X is not set
|
||||
# CONFIG_PATA_IT8213 is not set
|
||||
# CONFIG_PATA_JMICRON is not set
|
||||
# CONFIG_PATA_TRIFLEX is not set
|
||||
# CONFIG_PATA_MARVELL is not set
|
||||
|
@ -595,17 +588,14 @@ CONFIG_SATA_SIL=y
|
|||
# CONFIG_PATA_SIS is not set
|
||||
# CONFIG_PATA_VIA is not set
|
||||
# CONFIG_PATA_WINBOND is not set
|
||||
|
||||
#
|
||||
# Multi-device support (RAID and LVM)
|
||||
#
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_MD=y
|
||||
# CONFIG_MD_LINEAR is not set
|
||||
CONFIG_MD_RAID0=y
|
||||
CONFIG_MD_RAID1=y
|
||||
# CONFIG_MD_RAID10 is not set
|
||||
# CONFIG_MD_RAID456 is not set
|
||||
CONFIG_MD_RAID10=y
|
||||
CONFIG_MD_RAID456=y
|
||||
# CONFIG_MD_RAID5_RESHAPE is not set
|
||||
# CONFIG_MD_MULTIPATH is not set
|
||||
# CONFIG_MD_FAULTY is not set
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
|
@ -615,6 +605,7 @@ CONFIG_BLK_DEV_DM=y
|
|||
# CONFIG_DM_MIRROR is not set
|
||||
# CONFIG_DM_ZERO is not set
|
||||
# CONFIG_DM_MULTIPATH is not set
|
||||
# CONFIG_DM_DELAY is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
|
@ -627,47 +618,27 @@ CONFIG_BLK_DEV_DM=y
|
|||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
|
||||
#
|
||||
# I2O device support
|
||||
#
|
||||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NETDEVICES_MULTIQUEUE is not set
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# ARCnet devices
|
||||
#
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
CONFIG_NET_ETHERNET=y
|
||||
CONFIG_MII=y
|
||||
# CONFIG_AX88796 is not set
|
||||
# CONFIG_HAPPYMEAL is not set
|
||||
# CONFIG_SUNGEM is not set
|
||||
# CONFIG_CASSINI is not set
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
# CONFIG_SMC91X is not set
|
||||
# CONFIG_DM9000 is not set
|
||||
|
||||
#
|
||||
# Tulip family network device support
|
||||
#
|
||||
# CONFIG_NET_TULIP is not set
|
||||
# CONFIG_HP100 is not set
|
||||
CONFIG_NET_PCI=y
|
||||
|
@ -689,10 +660,8 @@ CONFIG_E100=y
|
|||
# CONFIG_SUNDANCE is not set
|
||||
# CONFIG_TLAN is not set
|
||||
# CONFIG_VIA_RHINE is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
# CONFIG_SC92031 is not set
|
||||
CONFIG_NETDEV_1000=y
|
||||
# CONFIG_ACENIC is not set
|
||||
# CONFIG_DL2K is not set
|
||||
CONFIG_E1000=y
|
||||
|
@ -706,34 +675,36 @@ CONFIG_R8169=y
|
|||
# CONFIG_SIS190 is not set
|
||||
# CONFIG_SKGE is not set
|
||||
# CONFIG_SKY2 is not set
|
||||
# CONFIG_SK98LIN is not set
|
||||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
# CONFIG_QLA3XXX is not set
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
# CONFIG_ATL1 is not set
|
||||
CONFIG_NETDEV_10000=y
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_CHELSIO_T3 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
# CONFIG_NETXEN_NIC is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
# CONFIG_MLX4_CORE is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_NET_RADIO is not set
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
# USB Network Adapters
|
||||
#
|
||||
# CONFIG_USB_CATC is not set
|
||||
# CONFIG_USB_KAWETH is not set
|
||||
# CONFIG_USB_PEGASUS is not set
|
||||
# CONFIG_USB_RTL8150 is not set
|
||||
# CONFIG_USB_USBNET_MII is not set
|
||||
# CONFIG_USB_USBNET is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_FDDI is not set
|
||||
# CONFIG_HIPPI is not set
|
||||
|
@ -744,10 +715,6 @@ CONFIG_R8169=y
|
|||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
#
|
||||
# CONFIG_ISDN is not set
|
||||
|
||||
#
|
||||
|
@ -755,6 +722,7 @@ CONFIG_R8169=y
|
|||
#
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_INPUT_FF_MEMLESS is not set
|
||||
# CONFIG_INPUT_POLLDEV is not set
|
||||
|
||||
#
|
||||
# Userland interfaces
|
||||
|
@ -774,6 +742,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
|||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
|
@ -811,33 +780,18 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
|
||||
#
|
||||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_NVRAM is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_APPLICOM is not set
|
||||
# CONFIG_DRM is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
CONFIG_DEVPORT=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
|
||||
#
|
||||
|
@ -864,25 +818,29 @@ CONFIG_I2C_IOP3XX=y
|
|||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
# CONFIG_I2C_SIMTEC is not set
|
||||
# CONFIG_I2C_SIS5595 is not set
|
||||
# CONFIG_I2C_SIS630 is not set
|
||||
# CONFIG_I2C_SIS96X is not set
|
||||
# CONFIG_I2C_TAOS_EVM is not set
|
||||
# CONFIG_I2C_STUB is not set
|
||||
# CONFIG_I2C_TINY_USB is not set
|
||||
# CONFIG_I2C_VIA is not set
|
||||
# CONFIG_I2C_VIAPRO is not set
|
||||
# CONFIG_I2C_VOODOO3 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_DS1682 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_MAX6875 is not set
|
||||
# CONFIG_SENSORS_TSL2550 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
|
@ -893,21 +851,15 @@ CONFIG_I2C_IOP3XX=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
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_AD7418 is not set
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
# CONFIG_SENSORS_ADM1029 is not set
|
||||
# CONFIG_SENSORS_ADM1031 is not set
|
||||
# CONFIG_SENSORS_ADM9240 is not set
|
||||
# CONFIG_SENSORS_ASB100 is not set
|
||||
|
@ -930,6 +882,7 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_LM90 is not set
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_MAX6650 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_PC87427 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
|
@ -947,13 +900,17 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
CONFIG_MISC_DEVICES=y
|
||||
# CONFIG_PHANTOM is not set
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
|
||||
#
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
|
@ -971,17 +928,20 @@ CONFIG_HWMON=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
CONFIG_DAB=y
|
||||
# CONFIG_USB_DABUSB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
|
@ -989,21 +949,26 @@ CONFIG_FIRMWARE_EDID=y
|
|||
#
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
# USB Input Devices
|
||||
#
|
||||
# CONFIG_USB_HID is not set
|
||||
|
||||
#
|
||||
# USB HID Boot Protocol drivers
|
||||
#
|
||||
# CONFIG_USB_KBD is not set
|
||||
# CONFIG_USB_MOUSE is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
|
@ -1014,9 +979,8 @@ CONFIG_USB=y
|
|||
# Miscellaneous USB options
|
||||
#
|
||||
# CONFIG_USB_DEVICEFS is not set
|
||||
# CONFIG_USB_BANDWIDTH is not set
|
||||
CONFIG_USB_DEVICE_CLASS=y
|
||||
# CONFIG_USB_DYNAMIC_MINORS is not set
|
||||
# CONFIG_USB_MULTITHREAD_PROBE is not set
|
||||
# CONFIG_USB_OTG is not set
|
||||
|
||||
#
|
||||
|
@ -1030,6 +994,7 @@ CONFIG_USB_EHCI_TT_NEWSCHED=y
|
|||
# CONFIG_USB_OHCI_HCD is not set
|
||||
CONFIG_USB_UHCI_HCD=y
|
||||
# CONFIG_USB_SL811_HCD is not set
|
||||
# CONFIG_USB_R8A66597_HCD is not set
|
||||
|
||||
#
|
||||
# USB Device Class drivers
|
||||
|
@ -1057,44 +1022,11 @@ CONFIG_USB_STORAGE=y
|
|||
# CONFIG_USB_STORAGE_KARMA is not set
|
||||
# CONFIG_USB_LIBUSUAL is not set
|
||||
|
||||
#
|
||||
# USB Input Devices
|
||||
#
|
||||
# CONFIG_USB_HID is not set
|
||||
|
||||
#
|
||||
# USB HID Boot Protocol drivers
|
||||
#
|
||||
# CONFIG_USB_KBD is not set
|
||||
# CONFIG_USB_MOUSE is not set
|
||||
# CONFIG_USB_AIPTEK is not set
|
||||
# CONFIG_USB_WACOM is not set
|
||||
# CONFIG_USB_ACECAD is not set
|
||||
# CONFIG_USB_KBTAB is not set
|
||||
# CONFIG_USB_POWERMATE 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
|
||||
# CONFIG_USB_ATI_REMOTE2 is not set
|
||||
# CONFIG_USB_KEYSPAN_REMOTE is not set
|
||||
# CONFIG_USB_APPLETOUCH is not set
|
||||
|
||||
#
|
||||
# USB Imaging devices
|
||||
#
|
||||
# CONFIG_USB_MDC800 is not set
|
||||
# CONFIG_USB_MICROTEK is not set
|
||||
|
||||
#
|
||||
# USB Network Adapters
|
||||
#
|
||||
# CONFIG_USB_CATC is not set
|
||||
# CONFIG_USB_KAWETH is not set
|
||||
# CONFIG_USB_PEGASUS is not set
|
||||
# CONFIG_USB_RTL8150 is not set
|
||||
# CONFIG_USB_USBNET_MII is not set
|
||||
# CONFIG_USB_USBNET is not set
|
||||
CONFIG_USB_MON=y
|
||||
|
||||
#
|
||||
|
@ -1116,6 +1048,7 @@ CONFIG_USB_MON=y
|
|||
# CONFIG_USB_RIO500 is not set
|
||||
# CONFIG_USB_LEGOTOWER is not set
|
||||
# CONFIG_USB_LCD is not set
|
||||
# CONFIG_USB_BERRY_CHARGE is not set
|
||||
# CONFIG_USB_LED is not set
|
||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||
# CONFIG_USB_CYTHERM is not set
|
||||
|
@ -1126,6 +1059,7 @@ CONFIG_USB_MON=y
|
|||
# CONFIG_USB_SISUSBVGA is not set
|
||||
# CONFIG_USB_LD is not set
|
||||
# CONFIG_USB_TRANCEVIBRATOR is not set
|
||||
# CONFIG_USB_IOWARRIOR is not set
|
||||
|
||||
#
|
||||
# USB DSL modem support
|
||||
|
@ -1135,10 +1069,6 @@ CONFIG_USB_MON=y
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -1147,6 +1077,22 @@ CONFIG_USB_MON=y
|
|||
CONFIG_RTC_LIB=y
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
CONFIG_DMA_ENGINE=y
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
CONFIG_NET_DMA=y
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
# CONFIG_INTEL_IOATDMA is not set
|
||||
CONFIG_INTEL_IOP_ADMA=y
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -1164,11 +1110,7 @@ CONFIG_FS_MBCACHE=y
|
|||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
CONFIG_XFS_FS=y
|
||||
# CONFIG_XFS_QUOTA is not set
|
||||
CONFIG_XFS_SECURITY=y
|
||||
CONFIG_XFS_POSIX_ACL=y
|
||||
# CONFIG_XFS_RT is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
|
@ -1217,7 +1159,6 @@ CONFIG_ECRYPT_FS=y
|
|||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_JFFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
|
@ -1227,7 +1168,7 @@ CONFIG_JFFS2_FS_WRITEBUFFER=y
|
|||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
# CONFIG_JFFS2_RUBIN is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
CONFIG_CRAMFS=y
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
|
@ -1253,6 +1194,7 @@ CONFIG_LOCKD_V4=y
|
|||
CONFIG_EXPORTFS=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_SUNRPC_BIND34 is not set
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
|
@ -1260,7 +1202,6 @@ 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
|
||||
|
@ -1282,6 +1223,7 @@ CONFIG_MSDOS_PARTITION=y
|
|||
# CONFIG_SUN_PARTITION is not set
|
||||
# CONFIG_KARMA_PARTITION is not set
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
# CONFIG_SYSV68_PARTITION is not set
|
||||
|
||||
#
|
||||
# Native Language Support
|
||||
|
@ -1308,15 +1250,19 @@ CONFIG_MAGIC_SYSRQ=y
|
|||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DEBUG_SHIRQ is not set
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
CONFIG_SCHED_DEBUG=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_TIMER_STATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
|
@ -1327,6 +1273,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
|
|||
CONFIG_FRAME_POINTER=y
|
||||
# CONFIG_FORCED_INLINING is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
CONFIG_DEBUG_USER=y
|
||||
# CONFIG_DEBUG_ERRORS is not set
|
||||
CONFIG_DEBUG_LL=y
|
||||
|
@ -1338,10 +1285,10 @@ CONFIG_DEBUG_LL=y
|
|||
CONFIG_KEYS=y
|
||||
CONFIG_KEYS_DEBUG_PROC_KEYS=y
|
||||
# CONFIG_SECURITY is not set
|
||||
|
||||
#
|
||||
# Cryptographic options
|
||||
#
|
||||
CONFIG_XOR_BLOCKS=y
|
||||
CONFIG_ASYNC_CORE=y
|
||||
CONFIG_ASYNC_MEMCPY=y
|
||||
CONFIG_ASYNC_XOR=y
|
||||
CONFIG_CRYPTO=y
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
CONFIG_CRYPTO_BLKCIPHER=y
|
||||
|
@ -1360,8 +1307,11 @@ CONFIG_CRYPTO_TGR192=y
|
|||
CONFIG_CRYPTO_GF128MUL=y
|
||||
CONFIG_CRYPTO_ECB=y
|
||||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
CONFIG_CRYPTO_LRW=y
|
||||
# CONFIG_CRYPTO_CRYPTD is not set
|
||||
CONFIG_CRYPTO_DES=y
|
||||
# CONFIG_CRYPTO_FCRYPT is not set
|
||||
CONFIG_CRYPTO_BLOWFISH=y
|
||||
CONFIG_CRYPTO_TWOFISH=y
|
||||
CONFIG_CRYPTO_TWOFISH_COMMON=y
|
||||
|
@ -1376,11 +1326,9 @@ CONFIG_CRYPTO_ANUBIS=y
|
|||
CONFIG_CRYPTO_DEFLATE=y
|
||||
CONFIG_CRYPTO_MICHAEL_MIC=y
|
||||
CONFIG_CRYPTO_CRC32C=y
|
||||
# CONFIG_CRYPTO_CAMELLIA is not set
|
||||
# CONFIG_CRYPTO_TEST is not set
|
||||
|
||||
#
|
||||
# Hardware crypto devices
|
||||
#
|
||||
CONFIG_CRYPTO_HW=y
|
||||
|
||||
#
|
||||
# Library routines
|
||||
|
@ -1388,9 +1336,13 @@ CONFIG_CRYPTO_CRC32C=y
|
|||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_CRC7 is not set
|
||||
CONFIG_LIBCRC32C=y
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_ZLIB_DEFLATE=y
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_IOMAP_COPY=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
|
|
@ -1,12 +1,18 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.20-rc1
|
||||
# Sat Dec 16 06:05:34 2006
|
||||
# Linux kernel version: 2.6.22
|
||||
# Thu Jul 19 16:05:59 2007
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_SYS_SUPPORTS_APM_EMULATION=y
|
||||
# CONFIG_GENERIC_GPIO is not set
|
||||
# CONFIG_GENERIC_TIME is not set
|
||||
# CONFIG_GENERIC_CLOCKEVENTS is not set
|
||||
CONFIG_MMU=y
|
||||
# CONFIG_NO_IOPORT is not set
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
CONFIG_HARDIRQS_SW_RESEND=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
|
@ -15,6 +21,7 @@ CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
|||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_ZONE_DMA=y
|
||||
CONFIG_VECTORS_BASE=0xffff0000
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
|
@ -32,16 +39,18 @@ CONFIG_LOCALVERSION=""
|
|||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_IPC_NS is not set
|
||||
CONFIG_SYSVIPC_SYSCTL=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_USER_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
|
@ -57,32 +66,30 @@ CONFIG_BUG=y
|
|||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
#
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
# CONFIG_MODVERSIONS is not set
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_KMOD=y
|
||||
|
||||
#
|
||||
# Block layer
|
||||
#
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_LSF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
|
@ -114,13 +121,15 @@ CONFIG_DEFAULT_IOSCHED="cfq"
|
|||
# CONFIG_ARCH_NETX is not set
|
||||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_IMX is not set
|
||||
# CONFIG_ARCH_IOP13XX is not set
|
||||
# CONFIG_ARCH_IOP32X is not set
|
||||
CONFIG_ARCH_IOP33X=y
|
||||
# CONFIG_ARCH_IOP13XX is not set
|
||||
# CONFIG_ARCH_IXP4XX is not set
|
||||
# CONFIG_ARCH_IXP2000 is not set
|
||||
# CONFIG_ARCH_IXP23XX is not set
|
||||
# CONFIG_ARCH_IXP2000 is not set
|
||||
# CONFIG_ARCH_IXP4XX is not set
|
||||
# CONFIG_ARCH_L7200 is not set
|
||||
# CONFIG_ARCH_KS8695 is not set
|
||||
# CONFIG_ARCH_NS9XXX is not set
|
||||
# CONFIG_ARCH_PNX4008 is not set
|
||||
# CONFIG_ARCH_PXA is not set
|
||||
# CONFIG_ARCH_RPC is not set
|
||||
|
@ -128,7 +137,9 @@ CONFIG_ARCH_IOP33X=y
|
|||
# CONFIG_ARCH_S3C2410 is not set
|
||||
# CONFIG_ARCH_SHARK is not set
|
||||
# CONFIG_ARCH_LH7A40X is not set
|
||||
# CONFIG_ARCH_DAVINCI is not set
|
||||
# CONFIG_ARCH_OMAP is not set
|
||||
CONFIG_IOP3XX_ATU=y
|
||||
|
||||
#
|
||||
# IOP33x Implementation Options
|
||||
|
@ -158,6 +169,7 @@ CONFIG_CPU_CP15_MMU=y
|
|||
#
|
||||
# CONFIG_ARM_THUMB is not set
|
||||
# CONFIG_CPU_DCACHE_DISABLE is not set
|
||||
# CONFIG_OUTER_CACHE is not set
|
||||
# CONFIG_IWMMXT is not set
|
||||
CONFIG_XSCALE_PMU=y
|
||||
|
||||
|
@ -165,7 +177,8 @@ CONFIG_XSCALE_PMU=y
|
|||
# Bus support
|
||||
#
|
||||
CONFIG_PCI=y
|
||||
# CONFIG_PCI_MULTITHREAD_PROBE is not set
|
||||
CONFIG_PCI_SYSCALL=y
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
|
@ -176,6 +189,7 @@ CONFIG_PCI=y
|
|||
#
|
||||
# Kernel Features
|
||||
#
|
||||
# CONFIG_TICK_ONESHOT is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
CONFIG_HZ=100
|
||||
|
@ -190,6 +204,9 @@ CONFIG_FLAT_NODE_MEM_MAP=y
|
|||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4096
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=1
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
|
||||
#
|
||||
|
@ -197,8 +214,9 @@ CONFIG_ALIGNMENT_TRAP=y
|
|||
#
|
||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp"
|
||||
CONFIG_CMDLINE="console=ttyS0,115200 root=/dev/nfs ip=bootp cachepolicy=writealloc"
|
||||
# CONFIG_XIP_KERNEL is not set
|
||||
# CONFIG_KEXEC is not set
|
||||
|
||||
#
|
||||
# Floating point emulation
|
||||
|
@ -223,7 +241,6 @@ CONFIG_BINFMT_AOUT=y
|
|||
# Power management options
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_APM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
|
@ -233,13 +250,13 @@ CONFIG_NET=y
|
|||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
# CONFIG_XFRM_SUB_POLICY is not set
|
||||
# CONFIG_XFRM_MIGRATE is not set
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
|
@ -271,6 +288,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
CONFIG_IPV6=y
|
||||
# CONFIG_IPV6_PRIVACY is not set
|
||||
# CONFIG_IPV6_ROUTER_PREF is not set
|
||||
# CONFIG_IPV6_OPTIMISTIC_DAD is not set
|
||||
# CONFIG_INET6_AH is not set
|
||||
# CONFIG_INET6_ESP is not set
|
||||
# CONFIG_INET6_IPCOMP is not set
|
||||
|
@ -286,20 +304,8 @@ CONFIG_IPV6=y
|
|||
# CONFIG_IPV6_MULTIPLE_TABLES is not set
|
||||
# CONFIG_NETWORK_SECMARK 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
|
||||
|
@ -325,7 +331,17 @@ CONFIG_IPV6=y
|
|||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -338,16 +354,9 @@ CONFIG_STANDALONE=y
|
|||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_DEBUG_DEVRES is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
# CONFIG_MTD_CONCAT is not set
|
||||
|
@ -363,6 +372,7 @@ CONFIG_MTD_REDBOOT_PARTS_READONLY=y
|
|||
# User Modules And Translation Layers
|
||||
#
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLKDEVS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
# CONFIG_FTL is not set
|
||||
# CONFIG_NFTL is not set
|
||||
|
@ -399,7 +409,6 @@ 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 is not set
|
||||
|
||||
#
|
||||
# Mapping drivers for chip access
|
||||
|
@ -427,29 +436,15 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
|
|||
# CONFIG_MTD_DOC2000 is not set
|
||||
# CONFIG_MTD_DOC2001 is not set
|
||||
# CONFIG_MTD_DOC2001PLUS is not set
|
||||
|
||||
#
|
||||
# NAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_NAND is not set
|
||||
|
||||
#
|
||||
# OneNAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
# UBI - Unsorted block images
|
||||
#
|
||||
# CONFIG_MTD_UBI is not set
|
||||
# CONFIG_PARPORT is not set
|
||||
|
||||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
CONFIG_BLK_DEV=y
|
||||
# CONFIG_BLK_CPQ_DA is not set
|
||||
# CONFIG_BLK_CPQ_CISS_DA is not set
|
||||
# CONFIG_BLK_DEV_DAC960 is not set
|
||||
|
@ -462,13 +457,8 @@ CONFIG_BLK_DEV_RAM=y
|
|||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
|
@ -476,6 +466,7 @@ CONFIG_BLK_DEV_INITRD=y
|
|||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
# CONFIG_SCSI_TGT is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
CONFIG_SCSI_PROC_FS=y
|
||||
|
@ -497,6 +488,7 @@ CONFIG_CHR_DEV_SG=y
|
|||
# CONFIG_SCSI_CONSTANTS is not set
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||
CONFIG_SCSI_WAIT_SCAN=m
|
||||
|
||||
#
|
||||
# SCSI Transports
|
||||
|
@ -541,22 +533,15 @@ CONFIG_CHR_DEV_SG=y
|
|||
# CONFIG_SCSI_NSP32 is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_SRP is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
# CONFIG_ATA is not set
|
||||
|
||||
#
|
||||
# Multi-device support (RAID and LVM)
|
||||
#
|
||||
CONFIG_MD=y
|
||||
CONFIG_BLK_DEV_MD=y
|
||||
CONFIG_MD_LINEAR=y
|
||||
CONFIG_MD_RAID0=y
|
||||
CONFIG_MD_RAID1=y
|
||||
# CONFIG_MD_RAID10 is not set
|
||||
# CONFIG_MD_RAID456 is not set
|
||||
CONFIG_MD_RAID456=y
|
||||
# CONFIG_MD_RAID5_RESHAPE is not set
|
||||
# CONFIG_MD_MULTIPATH is not set
|
||||
# CONFIG_MD_FAULTY is not set
|
||||
CONFIG_BLK_DEV_DM=y
|
||||
|
@ -566,6 +551,7 @@ CONFIG_BLK_DEV_DM=y
|
|||
# CONFIG_DM_MIRROR is not set
|
||||
# CONFIG_DM_ZERO is not set
|
||||
# CONFIG_DM_MULTIPATH is not set
|
||||
# CONFIG_DM_DELAY is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
|
@ -578,39 +564,19 @@ CONFIG_BLK_DEV_DM=y
|
|||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
|
||||
#
|
||||
# I2O device support
|
||||
#
|
||||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NETDEVICES_MULTIQUEUE is not set
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# ARCnet devices
|
||||
#
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
# CONFIG_NET_ETHERNET is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
CONFIG_NETDEV_1000=y
|
||||
# CONFIG_ACENIC is not set
|
||||
# CONFIG_DL2K is not set
|
||||
CONFIG_E1000=y
|
||||
|
@ -623,33 +589,26 @@ CONFIG_E1000_NAPI=y
|
|||
# CONFIG_SIS190 is not set
|
||||
# CONFIG_SKGE is not set
|
||||
# CONFIG_SKY2 is not set
|
||||
# CONFIG_SK98LIN is not set
|
||||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
# CONFIG_QLA3XXX is not set
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
# CONFIG_ATL1 is not set
|
||||
CONFIG_NETDEV_10000=y
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_CHELSIO_T3 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
# CONFIG_NETXEN_NIC is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
# CONFIG_MLX4_CORE is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
#
|
||||
# CONFIG_NET_RADIO is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_FDDI is not set
|
||||
# CONFIG_HIPPI is not set
|
||||
|
@ -660,10 +619,6 @@ CONFIG_E1000_NAPI=y
|
|||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
#
|
||||
# CONFIG_ISDN is not set
|
||||
|
||||
#
|
||||
|
@ -671,6 +626,7 @@ CONFIG_E1000_NAPI=y
|
|||
#
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_INPUT_FF_MEMLESS is not set
|
||||
# CONFIG_INPUT_POLLDEV is not set
|
||||
|
||||
#
|
||||
# Userland interfaces
|
||||
|
@ -690,6 +646,7 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
|||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
|
@ -727,33 +684,18 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
|
||||
#
|
||||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_NVRAM is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_APPLICOM is not set
|
||||
# CONFIG_DRM is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
CONFIG_DEVPORT=y
|
||||
CONFIG_I2C=y
|
||||
CONFIG_I2C_BOARDINFO=y
|
||||
CONFIG_I2C_CHARDEV=y
|
||||
|
||||
#
|
||||
|
@ -780,25 +722,28 @@ CONFIG_I2C_IOP3XX=y
|
|||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
# CONFIG_I2C_SIMTEC is not set
|
||||
# CONFIG_I2C_SIS5595 is not set
|
||||
# CONFIG_I2C_SIS630 is not set
|
||||
# CONFIG_I2C_SIS96X is not set
|
||||
# CONFIG_I2C_TAOS_EVM is not set
|
||||
# CONFIG_I2C_STUB is not set
|
||||
# CONFIG_I2C_VIA is not set
|
||||
# CONFIG_I2C_VIAPRO is not set
|
||||
# CONFIG_I2C_VOODOO3 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_DS1682 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_MAX6875 is not set
|
||||
# CONFIG_SENSORS_TSL2550 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
|
@ -809,21 +754,15 @@ CONFIG_I2C_IOP3XX=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
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_AD7418 is not set
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
# CONFIG_SENSORS_ADM1029 is not set
|
||||
# CONFIG_SENSORS_ADM1031 is not set
|
||||
# CONFIG_SENSORS_ADM9240 is not set
|
||||
# CONFIG_SENSORS_ASB100 is not set
|
||||
|
@ -846,6 +785,7 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_LM90 is not set
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_MAX6650 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_PC87427 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
|
@ -863,13 +803,17 @@ CONFIG_HWMON=y
|
|||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
CONFIG_MISC_DEVICES=y
|
||||
# CONFIG_PHANTOM is not set
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
|
||||
#
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
|
@ -887,16 +831,19 @@ CONFIG_HWMON=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
CONFIG_DAB=y
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
|
@ -904,21 +851,15 @@ CONFIG_FIRMWARE_EDID=y
|
|||
#
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
|
@ -932,10 +873,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -944,6 +881,22 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
CONFIG_RTC_LIB=y
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
CONFIG_DMA_ENGINE=y
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
CONFIG_NET_DMA=y
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
# CONFIG_INTEL_IOATDMA is not set
|
||||
CONFIG_INTEL_IOP_ADMA=y
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -961,11 +914,7 @@ CONFIG_FS_MBCACHE=y
|
|||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
CONFIG_XFS_FS=y
|
||||
# CONFIG_XFS_QUOTA is not set
|
||||
CONFIG_XFS_SECURITY=y
|
||||
CONFIG_XFS_POSIX_ACL=y
|
||||
# CONFIG_XFS_RT is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
|
@ -1013,9 +962,8 @@ CONFIG_RAMFS=y
|
|||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_JFFS_FS is not set
|
||||
# CONFIG_JFFS2_FS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
CONFIG_CRAMFS=y
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
|
@ -1041,6 +989,7 @@ CONFIG_LOCKD_V4=y
|
|||
CONFIG_EXPORTFS=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_SUNRPC_BIND34 is not set
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
|
@ -1048,7 +997,6 @@ 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
|
||||
|
@ -1070,6 +1018,7 @@ CONFIG_MSDOS_PARTITION=y
|
|||
# CONFIG_SUN_PARTITION is not set
|
||||
# CONFIG_KARMA_PARTITION is not set
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
# CONFIG_SYSV68_PARTITION is not set
|
||||
|
||||
#
|
||||
# Native Language Support
|
||||
|
@ -1096,15 +1045,19 @@ CONFIG_MAGIC_SYSRQ=y
|
|||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DEBUG_SHIRQ is not set
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
CONFIG_SCHED_DEBUG=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_TIMER_STATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
# CONFIG_DEBUG_MUTEXES is not set
|
||||
# CONFIG_DEBUG_RWSEMS is not set
|
||||
# CONFIG_DEBUG_LOCK_ALLOC is not set
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
# CONFIG_LOCK_STAT is not set
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
|
@ -1115,6 +1068,7 @@ CONFIG_DEBUG_BUGVERBOSE=y
|
|||
CONFIG_FRAME_POINTER=y
|
||||
# CONFIG_FORCED_INLINING is not set
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
CONFIG_DEBUG_USER=y
|
||||
# CONFIG_DEBUG_ERRORS is not set
|
||||
CONFIG_DEBUG_LL=y
|
||||
|
@ -1125,10 +1079,10 @@ CONFIG_DEBUG_LL=y
|
|||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
|
||||
#
|
||||
# Cryptographic options
|
||||
#
|
||||
CONFIG_XOR_BLOCKS=y
|
||||
CONFIG_ASYNC_CORE=y
|
||||
CONFIG_ASYNC_MEMCPY=y
|
||||
CONFIG_ASYNC_XOR=y
|
||||
# CONFIG_CRYPTO is not set
|
||||
|
||||
#
|
||||
|
@ -1136,7 +1090,12 @@ CONFIG_DEBUG_LL=y
|
|||
#
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
# CONFIG_CRC32 is not set
|
||||
# CONFIG_CRC7 is not set
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_IOMAP_COPY=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -15,6 +15,8 @@
|
|||
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <video/atmel_lcdc.h>
|
||||
|
||||
#include <asm/arch/board.h>
|
||||
#include <asm/arch/gpio.h>
|
||||
#include <asm/arch/at91sam9261.h>
|
||||
|
|
|
@ -14,6 +14,8 @@
|
|||
|
||||
#include <linux/platform_device.h>
|
||||
|
||||
#include <video/atmel_lcdc.h>
|
||||
|
||||
#include <asm/arch/board.h>
|
||||
#include <asm/arch/gpio.h>
|
||||
#include <asm/arch/at91sam9263.h>
|
||||
|
|
|
@ -23,24 +23,24 @@
|
|||
#include "generic.h"
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
static int __init micrel_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||
static int micrel_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||
{
|
||||
return KS8695_IRQ_EXTERN0;
|
||||
}
|
||||
|
||||
static struct ks8695_pci_cfg micrel_pci = {
|
||||
static struct ks8695_pci_cfg __initdata micrel_pci = {
|
||||
.mode = KS8695_MODE_MINIPCI,
|
||||
.map_irq = micrel_pci_map_irq,
|
||||
};
|
||||
#endif
|
||||
|
||||
|
||||
static void micrel_init(void)
|
||||
static void __init micrel_init(void)
|
||||
{
|
||||
printk(KERN_INFO "Micrel KS8695 Development Board initializing\n");
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
ks8695_init_pci(&micrel_pci);
|
||||
// ks8695_init_pci(&micrel_pci);
|
||||
#endif
|
||||
|
||||
/* Add devices */
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
config CPU_S3C2442
|
||||
bool
|
||||
depends on ARCH_S3C2420
|
||||
depends on ARCH_S3C2410
|
||||
select S3C2410_CLOCK
|
||||
select S3C2410_GPIO
|
||||
select S3C2410_PM if PM
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
*/
|
||||
#include <linux/clk.h>
|
||||
#include <linux/etherdevice.h>
|
||||
#include <linux/i2c-gpio.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/platform_device.h>
|
||||
|
@ -123,6 +124,19 @@ static struct platform_device ngw_gpio_leds = {
|
|||
}
|
||||
};
|
||||
|
||||
static struct i2c_gpio_platform_data i2c_gpio_data = {
|
||||
.sda_pin = GPIO_PIN_PA(6),
|
||||
.scl_pin = GPIO_PIN_PA(7),
|
||||
};
|
||||
|
||||
static struct platform_device i2c_gpio_device = {
|
||||
.name = "i2c-gpio",
|
||||
.id = 0,
|
||||
.dev = {
|
||||
.platform_data = &i2c_gpio_data,
|
||||
},
|
||||
};
|
||||
|
||||
static int __init atngw100_init(void)
|
||||
{
|
||||
unsigned i;
|
||||
|
@ -147,6 +161,10 @@ static int __init atngw100_init(void)
|
|||
}
|
||||
platform_device_register(&ngw_gpio_leds);
|
||||
|
||||
at32_select_gpio(i2c_gpio_data.sda_pin, 0);
|
||||
at32_select_gpio(i2c_gpio_data.scl_pin, 0);
|
||||
platform_device_register(&i2c_gpio_device);
|
||||
|
||||
return 0;
|
||||
}
|
||||
postcore_initcall(atngw100_init);
|
||||
|
|
|
@ -50,4 +50,30 @@ config BOARD_ATSTK1002_SPI1
|
|||
GPIO lines and accessed through the J1 jumper block. Say "y"
|
||||
here to configure that SPI controller.
|
||||
|
||||
config BOARD_ATSTK1002_J2_LED
|
||||
bool
|
||||
default BOARD_ATSTK1002_J2_LED8 || BOARD_ATSTK1002_J2_RGB
|
||||
|
||||
choice
|
||||
prompt "LEDs connected to J2:"
|
||||
depends on LEDS_GPIO && !BOARD_ATSTK1002_SW4_CUSTOM
|
||||
optional
|
||||
help
|
||||
Select this if you have jumpered the J2 jumper block to the
|
||||
LED0..LED7 amber leds, or to the RGB leds, using a ten-pin
|
||||
IDC cable. A default "heartbeat" trigger is provided, but
|
||||
you can of course override this.
|
||||
|
||||
config BOARD_ATSTK1002_J2_LED8
|
||||
bool "LED0..LED7"
|
||||
help
|
||||
Select this if J2 is jumpered to LED0..LED7 amber leds.
|
||||
|
||||
config BOARD_ATSTK1002_J2_RGB
|
||||
bool "RGB leds"
|
||||
help
|
||||
Select this if J2 is jumpered to the RGB leds.
|
||||
|
||||
endchoice
|
||||
|
||||
endif # stk 1002
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <linux/etherdevice.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/leds.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/string.h>
|
||||
#include <linux/types.h>
|
||||
|
@ -120,6 +121,65 @@ static void __init set_hw_addr(struct platform_device *pdev)
|
|||
clk_put(pclk);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BOARD_ATSTK1002_J2_LED
|
||||
|
||||
static struct gpio_led stk_j2_led[] = {
|
||||
#ifdef CONFIG_BOARD_ATSTK1002_J2_LED8
|
||||
#define LEDSTRING "J2 jumpered to LED8"
|
||||
{ .name = "led0:amber", .gpio = GPIO_PIN_PB( 8), },
|
||||
{ .name = "led1:amber", .gpio = GPIO_PIN_PB( 9), },
|
||||
{ .name = "led2:amber", .gpio = GPIO_PIN_PB(10), },
|
||||
{ .name = "led3:amber", .gpio = GPIO_PIN_PB(13), },
|
||||
{ .name = "led4:amber", .gpio = GPIO_PIN_PB(14), },
|
||||
{ .name = "led5:amber", .gpio = GPIO_PIN_PB(15), },
|
||||
{ .name = "led6:amber", .gpio = GPIO_PIN_PB(16), },
|
||||
{ .name = "led7:amber", .gpio = GPIO_PIN_PB(30),
|
||||
.default_trigger = "heartbeat", },
|
||||
#else /* RGB */
|
||||
#define LEDSTRING "J2 jumpered to RGB LEDs"
|
||||
{ .name = "r1:red", .gpio = GPIO_PIN_PB( 8), },
|
||||
{ .name = "g1:green", .gpio = GPIO_PIN_PB(10), },
|
||||
{ .name = "b1:blue", .gpio = GPIO_PIN_PB(14), },
|
||||
|
||||
{ .name = "r2:red", .gpio = GPIO_PIN_PB( 9),
|
||||
.default_trigger = "heartbeat", },
|
||||
{ .name = "g2:green", .gpio = GPIO_PIN_PB(13), },
|
||||
{ .name = "b2:blue", .gpio = GPIO_PIN_PB(15),
|
||||
.default_trigger = "heartbeat", },
|
||||
/* PB16, PB30 unused */
|
||||
#endif
|
||||
};
|
||||
|
||||
static struct gpio_led_platform_data stk_j2_led_data = {
|
||||
.num_leds = ARRAY_SIZE(stk_j2_led),
|
||||
.leds = stk_j2_led,
|
||||
};
|
||||
|
||||
static struct platform_device stk_j2_led_dev = {
|
||||
.name = "leds-gpio",
|
||||
.id = 2, /* gpio block J2 */
|
||||
.dev = {
|
||||
.platform_data = &stk_j2_led_data,
|
||||
},
|
||||
};
|
||||
|
||||
static void setup_j2_leds(void)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(stk_j2_led); i++)
|
||||
at32_select_gpio(stk_j2_led[i].gpio, AT32_GPIOF_OUTPUT);
|
||||
|
||||
printk("STK1002: " LEDSTRING "\n");
|
||||
platform_device_register(&stk_j2_led_dev);
|
||||
}
|
||||
|
||||
#else
|
||||
static void setup_j2_leds(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
void __init setup_board(void)
|
||||
{
|
||||
#ifdef CONFIG_BOARD_ATSTK1002_SW2_CUSTOM
|
||||
|
@ -185,6 +245,8 @@ static int __init atstk1002_init(void)
|
|||
at32_add_device_ssc(0, ATMEL_SSC_TX);
|
||||
#endif
|
||||
|
||||
setup_j2_leds();
|
||||
|
||||
return 0;
|
||||
}
|
||||
postcore_initcall(atstk1002_init);
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/init_task.h>
|
||||
#include <linux/mqueue.h>
|
||||
#include <linux/fs.h>
|
||||
|
||||
static struct fs_struct init_fs = INIT_FS;
|
||||
static struct files_struct init_files = INIT_FILES;
|
||||
|
|
|
@ -33,6 +33,8 @@
|
|||
#include <linux/user.h>
|
||||
#include <linux/a.out.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
#include <asm/blackfin.h>
|
||||
#include <asm/fixed_code.h>
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#include <linux/syscalls.h>
|
||||
#include <linux/mman.h>
|
||||
#include <linux/file.h>
|
||||
#include <linux/fs.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/ipc.h>
|
||||
#include <linux/unistd.h>
|
||||
|
|
|
@ -31,6 +31,7 @@
|
|||
#include <linux/interrupt.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/kallsyms.h>
|
||||
#include <linux/fs.h>
|
||||
#include <asm/traps.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/blackfin.h>
|
||||
|
|
|
@ -180,8 +180,6 @@ source "drivers/isdn/Kconfig"
|
|||
|
||||
source "drivers/telephony/Kconfig"
|
||||
|
||||
source "drivers/cdrom/Kconfig"
|
||||
|
||||
#
|
||||
# input before char - char/joystick depends on it. As does USB.
|
||||
#
|
||||
|
|
|
@ -548,6 +548,7 @@ config ETRAX_IDE
|
|||
select BLK_DEV_IDEDISK
|
||||
select BLK_DEV_IDECD
|
||||
select BLK_DEV_IDEDMA
|
||||
select IDE_GENERIC
|
||||
help
|
||||
Enable this to get support for ATA/IDE.
|
||||
You can't use parallel ports or SCSI ports
|
||||
|
|
|
@ -592,6 +592,7 @@ config ETRAX_IDE
|
|||
select BLK_DEV_IDEDISK
|
||||
select BLK_DEV_IDECD
|
||||
select BLK_DEV_IDEDMA
|
||||
select IDE_GENERIC
|
||||
help
|
||||
Enables the ETRAX IDE driver.
|
||||
|
||||
|
|
|
@ -1496,6 +1496,7 @@ sys_call_table:
|
|||
.long sys_signalfd
|
||||
.long sys_timerfd
|
||||
.long sys_eventfd
|
||||
.long sys_fallocate
|
||||
|
||||
|
||||
syscall_table_size = (. - sys_call_table)
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
#include <linux/a.out.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/reboot.h>
|
||||
#include <linux/fs.h>
|
||||
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/system.h>
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <linux/mman.h>
|
||||
#include <linux/file.h>
|
||||
#include <linux/utsname.h>
|
||||
#include <linux/fs.h>
|
||||
|
||||
#include <asm/setup.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
|
|
@ -614,10 +614,14 @@ config X86_PAE
|
|||
|
||||
# Common NUMA Features
|
||||
config NUMA
|
||||
bool "Numa Memory Allocation and Scheduler Support"
|
||||
depends on SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI)
|
||||
bool "Numa Memory Allocation and Scheduler Support (EXPERIMENTAL)"
|
||||
depends on SMP && HIGHMEM64G && (X86_NUMAQ || (X86_SUMMIT || X86_GENERICARCH) && ACPI) && EXPERIMENTAL
|
||||
default n if X86_PC
|
||||
default y if (X86_NUMAQ || X86_SUMMIT)
|
||||
help
|
||||
NUMA support for i386. This is currently high experimental
|
||||
and should be only used for kernel development. It might also
|
||||
cause boot failures.
|
||||
|
||||
comment "NUMA (Summit) requires SMP, 64GB highmem support, ACPI"
|
||||
depends on X86_SUMMIT && (!HIGHMEM64G || !ACPI)
|
||||
|
@ -1228,6 +1232,11 @@ menuconfig INSTRUMENTATION
|
|||
bool "Instrumentation Support"
|
||||
depends on EXPERIMENTAL
|
||||
default y
|
||||
---help---
|
||||
Say Y here to get to see options related to performance measurement,
|
||||
debugging, and testing. This option alone does not add any kernel code.
|
||||
|
||||
If you say N, all options in this submenu will be skipped and disabled.
|
||||
|
||||
if INSTRUMENTATION
|
||||
|
||||
|
|
|
@ -51,8 +51,8 @@ cflags-y += -maccumulate-outgoing-args
|
|||
CFLAGS += $(shell if [ $(call cc-version) -lt 0400 ] ; then echo $(call cc-option,-fno-unit-at-a-time); fi ;)
|
||||
|
||||
# do binutils support CFI?
|
||||
cflags-y += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
cflags-y += $(call as-instr,.cfi_startproc\n.cfi_rel_offset esp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
AFLAGS += $(call as-instr,.cfi_startproc\n.cfi_rel_offset esp${comma}0\n.cfi_endproc,-DCONFIG_AS_CFI=1,)
|
||||
|
||||
# is .cfi_signal_frame supported too?
|
||||
cflags-y += $(call as-instr,.cfi_startproc\n.cfi_signal_frame\n.cfi_endproc,-DCONFIG_AS_CFI_SIGNAL_FRAME=1,)
|
||||
|
|
|
@ -19,40 +19,12 @@
|
|||
|
||||
#if defined(CONFIG_EDD) || defined(CONFIG_EDD_MODULE)
|
||||
|
||||
struct edd_dapa {
|
||||
u8 pkt_size;
|
||||
u8 rsvd;
|
||||
u16 sector_cnt;
|
||||
u16 buf_off, buf_seg;
|
||||
u64 lba;
|
||||
u64 buf_lin_addr;
|
||||
};
|
||||
|
||||
/*
|
||||
* Read the MBR (first sector) from a specific device.
|
||||
*/
|
||||
static int read_mbr(u8 devno, void *buf)
|
||||
{
|
||||
struct edd_dapa dapa;
|
||||
u16 ax, bx, cx, dx, si;
|
||||
|
||||
memset(&dapa, 0, sizeof dapa);
|
||||
dapa.pkt_size = sizeof(dapa);
|
||||
dapa.sector_cnt = 1;
|
||||
dapa.buf_off = (size_t)buf;
|
||||
dapa.buf_seg = ds();
|
||||
/* dapa.lba = 0; */
|
||||
|
||||
ax = 0x4200; /* Extended Read */
|
||||
si = (size_t)&dapa;
|
||||
dx = devno;
|
||||
asm("pushfl; stc; int $0x13; setc %%al; popfl"
|
||||
: "+a" (ax), "+S" (si), "+d" (dx)
|
||||
: "m" (dapa)
|
||||
: "ebx", "ecx", "edi", "memory");
|
||||
|
||||
if (!(u8)ax)
|
||||
return 0; /* OK */
|
||||
u16 ax, bx, cx, dx;
|
||||
|
||||
ax = 0x0201; /* Legacy Read, one sector */
|
||||
cx = 0x0001; /* Sector 0-0-1 */
|
||||
|
@ -65,11 +37,10 @@ static int read_mbr(u8 devno, void *buf)
|
|||
return -(u8)ax; /* 0 or -1 */
|
||||
}
|
||||
|
||||
static u32 read_mbr_sig(u8 devno, struct edd_info *ei)
|
||||
static u32 read_mbr_sig(u8 devno, struct edd_info *ei, u32 *mbrsig)
|
||||
{
|
||||
int sector_size;
|
||||
char *mbrbuf_ptr, *mbrbuf_end;
|
||||
u32 mbrsig;
|
||||
u32 buf_base, mbr_base;
|
||||
extern char _end[];
|
||||
|
||||
|
@ -85,15 +56,15 @@ static u32 read_mbr_sig(u8 devno, struct edd_info *ei)
|
|||
|
||||
/* Make sure we actually have space on the heap... */
|
||||
if (!(boot_params.hdr.loadflags & CAN_USE_HEAP))
|
||||
return 0;
|
||||
return -1;
|
||||
if (mbrbuf_end > (char *)(size_t)boot_params.hdr.heap_end_ptr)
|
||||
return 0;
|
||||
return -1;
|
||||
|
||||
if (read_mbr(devno, mbrbuf_ptr))
|
||||
return 0;
|
||||
return -1;
|
||||
|
||||
mbrsig = *(u32 *)&mbrbuf_ptr[EDD_MBR_SIG_OFFSET];
|
||||
return mbrsig;
|
||||
*mbrsig = *(u32 *)&mbrbuf_ptr[EDD_MBR_SIG_OFFSET];
|
||||
return 0;
|
||||
}
|
||||
|
||||
static int get_edd_info(u8 devno, struct edd_info *ei)
|
||||
|
@ -160,6 +131,7 @@ void query_edd(void)
|
|||
int do_edd = 1;
|
||||
int devno;
|
||||
struct edd_info ei, *edp;
|
||||
u32 *mbrptr;
|
||||
|
||||
if (cmdline_find_option("edd", eddarg, sizeof eddarg) > 0) {
|
||||
if (!strcmp(eddarg, "skipmbr") || !strcmp(eddarg, "skip"))
|
||||
|
@ -168,7 +140,8 @@ void query_edd(void)
|
|||
do_edd = 0;
|
||||
}
|
||||
|
||||
edp = (struct edd_info *)boot_params.eddbuf;
|
||||
edp = boot_params.eddbuf;
|
||||
mbrptr = boot_params.edd_mbr_sig_buffer;
|
||||
|
||||
if (!do_edd)
|
||||
return;
|
||||
|
@ -186,11 +159,8 @@ void query_edd(void)
|
|||
boot_params.eddbuf_entries++;
|
||||
}
|
||||
|
||||
if (do_mbr) {
|
||||
u32 mbr_sig;
|
||||
mbr_sig = read_mbr_sig(devno, &ei);
|
||||
boot_params.edd_mbr_sig_buffer[devno-0x80] = mbr_sig;
|
||||
}
|
||||
if (do_mbr && !read_mbr_sig(devno, &ei, mbrptr++))
|
||||
boot_params.edd_mbr_sig_buf_entries = devno-0x80+1;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -61,7 +61,7 @@ static void store_video_mode(void)
|
|||
|
||||
/* Not all BIOSes are clean with respect to the top bit */
|
||||
boot_params.screen_info.orig_video_mode = ax & 0x7f;
|
||||
boot_params.screen_info.orig_video_page = page;
|
||||
boot_params.screen_info.orig_video_page = page >> 8;
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -11,6 +11,8 @@
|
|||
#include <asm/mce.h>
|
||||
#include <asm/nmi.h>
|
||||
|
||||
#define MAX_PATCH_LEN (255-1)
|
||||
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
static int smp_alt_once;
|
||||
|
||||
|
@ -148,7 +150,8 @@ static unsigned char** find_nop_table(void)
|
|||
|
||||
#endif /* CONFIG_X86_64 */
|
||||
|
||||
static void nop_out(void *insns, unsigned int len)
|
||||
/* Use this to add nops to a buffer, then text_poke the whole buffer. */
|
||||
static void add_nops(void *insns, unsigned int len)
|
||||
{
|
||||
unsigned char **noptable = find_nop_table();
|
||||
|
||||
|
@ -156,7 +159,7 @@ static void nop_out(void *insns, unsigned int len)
|
|||
unsigned int noplen = len;
|
||||
if (noplen > ASM_NOP_MAX)
|
||||
noplen = ASM_NOP_MAX;
|
||||
text_poke(insns, noptable[noplen], noplen);
|
||||
memcpy(insns, noptable[noplen], noplen);
|
||||
insns += noplen;
|
||||
len -= noplen;
|
||||
}
|
||||
|
@ -174,15 +177,15 @@ extern u8 *__smp_locks[], *__smp_locks_end[];
|
|||
void apply_alternatives(struct alt_instr *start, struct alt_instr *end)
|
||||
{
|
||||
struct alt_instr *a;
|
||||
u8 *instr;
|
||||
int diff;
|
||||
char insnbuf[MAX_PATCH_LEN];
|
||||
|
||||
DPRINTK("%s: alt table %p -> %p\n", __FUNCTION__, start, end);
|
||||
for (a = start; a < end; a++) {
|
||||
u8 *instr = a->instr;
|
||||
BUG_ON(a->replacementlen > a->instrlen);
|
||||
BUG_ON(a->instrlen > sizeof(insnbuf));
|
||||
if (!boot_cpu_has(a->cpuid))
|
||||
continue;
|
||||
instr = a->instr;
|
||||
#ifdef CONFIG_X86_64
|
||||
/* vsyscall code is not mapped yet. resolve it manually. */
|
||||
if (instr >= (u8 *)VSYSCALL_START && instr < (u8*)VSYSCALL_END) {
|
||||
|
@ -191,9 +194,10 @@ void apply_alternatives(struct alt_instr *start, struct alt_instr *end)
|
|||
__FUNCTION__, a->instr, instr);
|
||||
}
|
||||
#endif
|
||||
memcpy(instr, a->replacement, a->replacementlen);
|
||||
diff = a->instrlen - a->replacementlen;
|
||||
nop_out(instr + a->replacementlen, diff);
|
||||
memcpy(insnbuf, a->replacement, a->replacementlen);
|
||||
add_nops(insnbuf + a->replacementlen,
|
||||
a->instrlen - a->replacementlen);
|
||||
text_poke(instr, insnbuf, a->instrlen);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -215,16 +219,18 @@ static void alternatives_smp_lock(u8 **start, u8 **end, u8 *text, u8 *text_end)
|
|||
static void alternatives_smp_unlock(u8 **start, u8 **end, u8 *text, u8 *text_end)
|
||||
{
|
||||
u8 **ptr;
|
||||
char insn[1];
|
||||
|
||||
if (noreplace_smp)
|
||||
return;
|
||||
|
||||
add_nops(insn, 1);
|
||||
for (ptr = start; ptr < end; ptr++) {
|
||||
if (*ptr < text)
|
||||
continue;
|
||||
if (*ptr > text_end)
|
||||
continue;
|
||||
nop_out(*ptr, 1);
|
||||
text_poke(*ptr, insn, 1);
|
||||
};
|
||||
}
|
||||
|
||||
|
@ -351,6 +357,7 @@ void apply_paravirt(struct paravirt_patch_site *start,
|
|||
struct paravirt_patch_site *end)
|
||||
{
|
||||
struct paravirt_patch_site *p;
|
||||
char insnbuf[MAX_PATCH_LEN];
|
||||
|
||||
if (noreplace_paravirt)
|
||||
return;
|
||||
|
@ -358,13 +365,17 @@ void apply_paravirt(struct paravirt_patch_site *start,
|
|||
for (p = start; p < end; p++) {
|
||||
unsigned int used;
|
||||
|
||||
used = paravirt_ops.patch(p->instrtype, p->clobbers, p->instr,
|
||||
p->len);
|
||||
BUG_ON(p->len > MAX_PATCH_LEN);
|
||||
/* prep the buffer with the original instructions */
|
||||
memcpy(insnbuf, p->instr, p->len);
|
||||
used = paravirt_ops.patch(p->instrtype, p->clobbers, insnbuf,
|
||||
(unsigned long)p->instr, p->len);
|
||||
|
||||
BUG_ON(used > p->len);
|
||||
|
||||
/* Pad the rest with nops */
|
||||
nop_out(p->instr + used, p->len - used);
|
||||
add_nops(insnbuf + used, p->len - used);
|
||||
text_poke(p->instr, insnbuf, p->len);
|
||||
}
|
||||
}
|
||||
extern struct paravirt_patch_site __start_parainstructions[],
|
||||
|
@ -379,7 +390,7 @@ void __init alternative_instructions(void)
|
|||
that might execute the to be patched code.
|
||||
Other CPUs are not running. */
|
||||
stop_nmi();
|
||||
#ifdef CONFIG_MCE
|
||||
#ifdef CONFIG_X86_MCE
|
||||
stop_mce();
|
||||
#endif
|
||||
|
||||
|
@ -417,7 +428,7 @@ void __init alternative_instructions(void)
|
|||
local_irq_restore(flags);
|
||||
|
||||
restart_nmi();
|
||||
#ifdef CONFIG_MCE
|
||||
#ifdef CONFIG_X86_MCE
|
||||
restart_mce();
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -61,8 +61,9 @@ static int enable_local_apic __initdata = 0;
|
|||
|
||||
/* Local APIC timer verification ok */
|
||||
static int local_apic_timer_verify_ok;
|
||||
/* Disable local APIC timer from the kernel commandline or via dmi quirk */
|
||||
static int local_apic_timer_disabled;
|
||||
/* Disable local APIC timer from the kernel commandline or via dmi quirk
|
||||
or using CPU MSR check */
|
||||
int local_apic_timer_disabled;
|
||||
/* Local APIC timer works in C2 */
|
||||
int local_apic_timer_c2_ok;
|
||||
EXPORT_SYMBOL_GPL(local_apic_timer_c2_ok);
|
||||
|
@ -370,12 +371,9 @@ void __init setup_boot_APIC_clock(void)
|
|||
long delta, deltapm;
|
||||
int pm_referenced = 0;
|
||||
|
||||
if (boot_cpu_has(X86_FEATURE_LAPIC_TIMER_BROKEN))
|
||||
local_apic_timer_disabled = 1;
|
||||
|
||||
/*
|
||||
* The local apic timer can be disabled via the kernel
|
||||
* commandline or from the test above. Register the lapic
|
||||
* commandline or from the CPU detection code. Register the lapic
|
||||
* timer as a dummy clock event source on SMP systems, so the
|
||||
* broadcast mechanism is used. On UP systems simply ignore it.
|
||||
*/
|
||||
|
@ -1087,7 +1085,7 @@ static int __init detect_init_APIC (void)
|
|||
if (l & MSR_IA32_APICBASE_ENABLE)
|
||||
mp_lapic_addr = l & MSR_IA32_APICBASE_BASE;
|
||||
|
||||
if (nmi_watchdog != NMI_NONE)
|
||||
if (nmi_watchdog != NMI_NONE && nmi_watchdog != NMI_DISABLED)
|
||||
nmi_watchdog = NMI_LOCAL_APIC;
|
||||
|
||||
printk(KERN_INFO "Found and enabled local APIC!\n");
|
||||
|
|
|
@ -3,6 +3,7 @@
|
|||
#include <linux/mm.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/apic.h>
|
||||
|
||||
#include "cpu.h"
|
||||
|
||||
|
@ -22,6 +23,7 @@
|
|||
extern void vide(void);
|
||||
__asm__(".align 4\nvide: ret");
|
||||
|
||||
#ifdef CONFIG_X86_LOCAL_APIC
|
||||
#define ENABLE_C1E_MASK 0x18000000
|
||||
#define CPUID_PROCESSOR_SIGNATURE 1
|
||||
#define CPUID_XFAM 0x0ff00000
|
||||
|
@ -52,6 +54,7 @@ static __cpuinit int amd_apic_timer_broken(void)
|
|||
}
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int force_mwait __cpuinitdata;
|
||||
|
||||
|
@ -282,8 +285,10 @@ static void __cpuinit init_amd(struct cpuinfo_x86 *c)
|
|||
num_cache_leaves = 3;
|
||||
}
|
||||
|
||||
#ifdef CONFIG_X86_LOCAL_APIC
|
||||
if (amd_apic_timer_broken())
|
||||
set_bit(X86_FEATURE_LAPIC_TIMER_BROKEN, c->x86_capability);
|
||||
local_apic_timer_disabled = 1;
|
||||
#endif
|
||||
|
||||
if (c->x86 == 0x10 && !force_mwait)
|
||||
clear_bit(X86_FEATURE_MWAIT, c->x86_capability);
|
||||
|
|
|
@ -68,7 +68,8 @@ struct acpi_cpufreq_data {
|
|||
};
|
||||
|
||||
static struct acpi_cpufreq_data *drv_data[NR_CPUS];
|
||||
static struct acpi_processor_performance *acpi_perf_data[NR_CPUS];
|
||||
/* acpi_perf_data is a pointer to percpu data. */
|
||||
static struct acpi_processor_performance *acpi_perf_data;
|
||||
|
||||
static struct cpufreq_driver acpi_cpufreq_driver;
|
||||
|
||||
|
@ -508,24 +509,14 @@ acpi_cpufreq_guess_freq(struct acpi_cpufreq_data *data, unsigned int cpu)
|
|||
* do _PDC and _PSD and find out the processor dependency for the
|
||||
* actual init that will happen later...
|
||||
*/
|
||||
static int acpi_cpufreq_early_init(void)
|
||||
static int __init acpi_cpufreq_early_init(void)
|
||||
{
|
||||
struct acpi_processor_performance *data;
|
||||
unsigned int i, j;
|
||||
|
||||
dprintk("acpi_cpufreq_early_init\n");
|
||||
|
||||
for_each_possible_cpu(i) {
|
||||
data = kzalloc(sizeof(struct acpi_processor_performance),
|
||||
GFP_KERNEL);
|
||||
if (!data) {
|
||||
for_each_possible_cpu(j) {
|
||||
kfree(acpi_perf_data[j]);
|
||||
acpi_perf_data[j] = NULL;
|
||||
}
|
||||
return -ENOMEM;
|
||||
}
|
||||
acpi_perf_data[i] = data;
|
||||
acpi_perf_data = alloc_percpu(struct acpi_processor_performance);
|
||||
if (!acpi_perf_data) {
|
||||
dprintk("Memory allocation error for acpi_perf_data.\n");
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/* Do initialization in ACPI core */
|
||||
|
@ -574,14 +565,11 @@ static int acpi_cpufreq_cpu_init(struct cpufreq_policy *policy)
|
|||
|
||||
dprintk("acpi_cpufreq_cpu_init\n");
|
||||
|
||||
if (!acpi_perf_data[cpu])
|
||||
return -ENODEV;
|
||||
|
||||
data = kzalloc(sizeof(struct acpi_cpufreq_data), GFP_KERNEL);
|
||||
if (!data)
|
||||
return -ENOMEM;
|
||||
|
||||
data->acpi_data = acpi_perf_data[cpu];
|
||||
data->acpi_data = percpu_ptr(acpi_perf_data, cpu);
|
||||
drv_data[cpu] = data;
|
||||
|
||||
if (cpu_has(c, X86_FEATURE_CONSTANT_TSC))
|
||||
|
@ -778,24 +766,25 @@ static struct cpufreq_driver acpi_cpufreq_driver = {
|
|||
|
||||
static int __init acpi_cpufreq_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
dprintk("acpi_cpufreq_init\n");
|
||||
|
||||
acpi_cpufreq_early_init();
|
||||
ret = acpi_cpufreq_early_init();
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
return cpufreq_register_driver(&acpi_cpufreq_driver);
|
||||
}
|
||||
|
||||
static void __exit acpi_cpufreq_exit(void)
|
||||
{
|
||||
unsigned int i;
|
||||
dprintk("acpi_cpufreq_exit\n");
|
||||
|
||||
cpufreq_unregister_driver(&acpi_cpufreq_driver);
|
||||
|
||||
for_each_possible_cpu(i) {
|
||||
kfree(acpi_perf_data[i]);
|
||||
acpi_perf_data[i] = NULL;
|
||||
}
|
||||
free_percpu(acpi_perf_data);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
static unsigned long doublefault_stack[DOUBLEFAULT_STACKSIZE];
|
||||
#define STACK_START (unsigned long)(doublefault_stack+DOUBLEFAULT_STACKSIZE)
|
||||
|
||||
#define ptr_ok(x) ((x) > PAGE_OFFSET && (x) < PAGE_OFFSET + 0x1000000)
|
||||
#define ptr_ok(x) ((x) > PAGE_OFFSET && (x) < PAGE_OFFSET + MAXMEM)
|
||||
|
||||
static void doublefault_fn(void)
|
||||
{
|
||||
|
@ -23,23 +23,23 @@ static void doublefault_fn(void)
|
|||
store_gdt(&gdt_desc);
|
||||
gdt = gdt_desc.address;
|
||||
|
||||
printk("double fault, gdt at %08lx [%d bytes]\n", gdt, gdt_desc.size);
|
||||
printk(KERN_EMERG "PANIC: double fault, gdt at %08lx [%d bytes]\n", gdt, gdt_desc.size);
|
||||
|
||||
if (ptr_ok(gdt)) {
|
||||
gdt += GDT_ENTRY_TSS << 3;
|
||||
tss = *(u16 *)(gdt+2);
|
||||
tss += *(u8 *)(gdt+4) << 16;
|
||||
tss += *(u8 *)(gdt+7) << 24;
|
||||
printk("double fault, tss at %08lx\n", tss);
|
||||
printk(KERN_EMERG "double fault, tss at %08lx\n", tss);
|
||||
|
||||
if (ptr_ok(tss)) {
|
||||
struct i386_hw_tss *t = (struct i386_hw_tss *)tss;
|
||||
|
||||
printk("eip = %08lx, esp = %08lx\n", t->eip, t->esp);
|
||||
printk(KERN_EMERG "eip = %08lx, esp = %08lx\n", t->eip, t->esp);
|
||||
|
||||
printk("eax = %08lx, ebx = %08lx, ecx = %08lx, edx = %08lx\n",
|
||||
printk(KERN_EMERG "eax = %08lx, ebx = %08lx, ecx = %08lx, edx = %08lx\n",
|
||||
t->eax, t->ebx, t->ecx, t->edx);
|
||||
printk("esi = %08lx, edi = %08lx\n",
|
||||
printk(KERN_EMERG "esi = %08lx, edi = %08lx\n",
|
||||
t->esi, t->edi);
|
||||
}
|
||||
}
|
||||
|
@ -63,6 +63,7 @@ struct tss_struct doublefault_tss __cacheline_aligned = {
|
|||
.cs = __KERNEL_CS,
|
||||
.ss = __KERNEL_DS,
|
||||
.ds = __USER_DS,
|
||||
.fs = __KERNEL_PERCPU,
|
||||
|
||||
.__cr3 = __pa(swapper_pg_dir)
|
||||
}
|
||||
|
|
|
@ -162,9 +162,7 @@ page_pde_offset = (__PAGE_OFFSET >> 20);
|
|||
* which will be freed later
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_HOTPLUG_CPU
|
||||
.section .text,"ax",@progbits
|
||||
#else
|
||||
#ifndef CONFIG_HOTPLUG_CPU
|
||||
.section .init.text,"ax",@progbits
|
||||
#endif
|
||||
|
||||
|
|
|
@ -1256,12 +1256,15 @@ static struct irq_chip ioapic_chip;
|
|||
static void ioapic_register_intr(int irq, int vector, unsigned long trigger)
|
||||
{
|
||||
if ((trigger == IOAPIC_AUTO && IO_APIC_irq_trigger(irq)) ||
|
||||
trigger == IOAPIC_LEVEL)
|
||||
trigger == IOAPIC_LEVEL) {
|
||||
irq_desc[irq].status |= IRQ_LEVEL;
|
||||
set_irq_chip_and_handler_name(irq, &ioapic_chip,
|
||||
handle_fasteoi_irq, "fasteoi");
|
||||
else
|
||||
} else {
|
||||
irq_desc[irq].status &= ~IRQ_LEVEL;
|
||||
set_irq_chip_and_handler_name(irq, &ioapic_chip,
|
||||
handle_edge_irq, "edge");
|
||||
}
|
||||
set_intr_gate(vector, interrupt[irq]);
|
||||
}
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ static int __init check_nmi_watchdog(void)
|
|||
unsigned int *prev_nmi_count;
|
||||
int cpu;
|
||||
|
||||
if ((nmi_watchdog == NMI_NONE) || (nmi_watchdog == NMI_DEFAULT))
|
||||
if ((nmi_watchdog == NMI_NONE) || (nmi_watchdog == NMI_DISABLED))
|
||||
return 0;
|
||||
|
||||
if (!atomic_read(&nmi_active))
|
||||
|
@ -424,7 +424,7 @@ int proc_nmi_enabled(struct ctl_table *table, int write, struct file *file,
|
|||
if (!!old_state == !!nmi_watchdog_enabled)
|
||||
return 0;
|
||||
|
||||
if (atomic_read(&nmi_active) < 0) {
|
||||
if (atomic_read(&nmi_active) < 0 || nmi_watchdog == NMI_DISABLED) {
|
||||
printk( KERN_WARNING "NMI watchdog is permanently disabled\n");
|
||||
return -EIO;
|
||||
}
|
||||
|
|
|
@ -69,7 +69,8 @@ DEF_NATIVE(read_tsc, "rdtsc");
|
|||
|
||||
DEF_NATIVE(ud2a, "ud2a");
|
||||
|
||||
static unsigned native_patch(u8 type, u16 clobbers, void *insns, unsigned len)
|
||||
static unsigned native_patch(u8 type, u16 clobbers, void *ibuf,
|
||||
unsigned long addr, unsigned len)
|
||||
{
|
||||
const unsigned char *start, *end;
|
||||
unsigned ret;
|
||||
|
@ -90,7 +91,7 @@ static unsigned native_patch(u8 type, u16 clobbers, void *insns, unsigned len)
|
|||
#undef SITE
|
||||
|
||||
patch_site:
|
||||
ret = paravirt_patch_insns(insns, len, start, end);
|
||||
ret = paravirt_patch_insns(ibuf, len, start, end);
|
||||
break;
|
||||
|
||||
case PARAVIRT_PATCH(make_pgd):
|
||||
|
@ -107,7 +108,7 @@ static unsigned native_patch(u8 type, u16 clobbers, void *insns, unsigned len)
|
|||
break;
|
||||
|
||||
default:
|
||||
ret = paravirt_patch_default(type, clobbers, insns, len);
|
||||
ret = paravirt_patch_default(type, clobbers, ibuf, addr, len);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -129,68 +130,67 @@ struct branch {
|
|||
u32 delta;
|
||||
} __attribute__((packed));
|
||||
|
||||
unsigned paravirt_patch_call(void *target, u16 tgt_clobbers,
|
||||
void *site, u16 site_clobbers,
|
||||
unsigned paravirt_patch_call(void *insnbuf,
|
||||
const void *target, u16 tgt_clobbers,
|
||||
unsigned long addr, u16 site_clobbers,
|
||||
unsigned len)
|
||||
{
|
||||
unsigned char *call = site;
|
||||
unsigned long delta = (unsigned long)target - (unsigned long)(call+5);
|
||||
struct branch b;
|
||||
struct branch *b = insnbuf;
|
||||
unsigned long delta = (unsigned long)target - (addr+5);
|
||||
|
||||
if (tgt_clobbers & ~site_clobbers)
|
||||
return len; /* target would clobber too much for this site */
|
||||
if (len < 5)
|
||||
return len; /* call too long for patch site */
|
||||
|
||||
b.opcode = 0xe8; /* call */
|
||||
b.delta = delta;
|
||||
BUILD_BUG_ON(sizeof(b) != 5);
|
||||
text_poke(call, (unsigned char *)&b, 5);
|
||||
b->opcode = 0xe8; /* call */
|
||||
b->delta = delta;
|
||||
BUILD_BUG_ON(sizeof(*b) != 5);
|
||||
|
||||
return 5;
|
||||
}
|
||||
|
||||
unsigned paravirt_patch_jmp(void *target, void *site, unsigned len)
|
||||
unsigned paravirt_patch_jmp(const void *target, void *insnbuf,
|
||||
unsigned long addr, unsigned len)
|
||||
{
|
||||
unsigned char *jmp = site;
|
||||
unsigned long delta = (unsigned long)target - (unsigned long)(jmp+5);
|
||||
struct branch b;
|
||||
struct branch *b = insnbuf;
|
||||
unsigned long delta = (unsigned long)target - (addr+5);
|
||||
|
||||
if (len < 5)
|
||||
return len; /* call too long for patch site */
|
||||
|
||||
b.opcode = 0xe9; /* jmp */
|
||||
b.delta = delta;
|
||||
text_poke(jmp, (unsigned char *)&b, 5);
|
||||
b->opcode = 0xe9; /* jmp */
|
||||
b->delta = delta;
|
||||
|
||||
return 5;
|
||||
}
|
||||
|
||||
unsigned paravirt_patch_default(u8 type, u16 clobbers, void *site, unsigned len)
|
||||
unsigned paravirt_patch_default(u8 type, u16 clobbers, void *insnbuf,
|
||||
unsigned long addr, unsigned len)
|
||||
{
|
||||
void *opfunc = *((void **)¶virt_ops + type);
|
||||
unsigned ret;
|
||||
|
||||
if (opfunc == NULL)
|
||||
/* If there's no function, patch it with a ud2a (BUG) */
|
||||
ret = paravirt_patch_insns(site, len, start_ud2a, end_ud2a);
|
||||
ret = paravirt_patch_insns(insnbuf, len, start_ud2a, end_ud2a);
|
||||
else if (opfunc == paravirt_nop)
|
||||
/* If the operation is a nop, then nop the callsite */
|
||||
ret = paravirt_patch_nop();
|
||||
else if (type == PARAVIRT_PATCH(iret) ||
|
||||
type == PARAVIRT_PATCH(irq_enable_sysexit))
|
||||
/* If operation requires a jmp, then jmp */
|
||||
ret = paravirt_patch_jmp(opfunc, site, len);
|
||||
ret = paravirt_patch_jmp(opfunc, insnbuf, addr, len);
|
||||
else
|
||||
/* Otherwise call the function; assume target could
|
||||
clobber any caller-save reg */
|
||||
ret = paravirt_patch_call(opfunc, CLBR_ANY,
|
||||
site, clobbers, len);
|
||||
ret = paravirt_patch_call(insnbuf, opfunc, CLBR_ANY,
|
||||
addr, clobbers, len);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
unsigned paravirt_patch_insns(void *site, unsigned len,
|
||||
unsigned paravirt_patch_insns(void *insnbuf, unsigned len,
|
||||
const char *start, const char *end)
|
||||
{
|
||||
unsigned insn_len = end - start;
|
||||
|
@ -198,7 +198,7 @@ unsigned paravirt_patch_insns(void *site, unsigned len,
|
|||
if (insn_len > len || start == NULL)
|
||||
insn_len = len;
|
||||
else
|
||||
memcpy(site, start, insn_len);
|
||||
memcpy(insnbuf, start, insn_len);
|
||||
|
||||
return insn_len;
|
||||
}
|
||||
|
|
|
@ -87,12 +87,14 @@ struct vmi_timer_ops vmi_timer_ops;
|
|||
#define IRQ_PATCH_INT_MASK 0
|
||||
#define IRQ_PATCH_DISABLE 5
|
||||
|
||||
static inline void patch_offset(unsigned char *eip, unsigned char *dest)
|
||||
static inline void patch_offset(void *insnbuf,
|
||||
unsigned long eip, unsigned long dest)
|
||||
{
|
||||
*(unsigned long *)(eip+1) = dest-eip-5;
|
||||
*(unsigned long *)(insnbuf+1) = dest-eip-5;
|
||||
}
|
||||
|
||||
static unsigned patch_internal(int call, unsigned len, void *insns)
|
||||
static unsigned patch_internal(int call, unsigned len, void *insnbuf,
|
||||
unsigned long eip)
|
||||
{
|
||||
u64 reloc;
|
||||
struct vmi_relocation_info *const rel = (struct vmi_relocation_info *)&reloc;
|
||||
|
@ -100,14 +102,14 @@ static unsigned patch_internal(int call, unsigned len, void *insns)
|
|||
switch(rel->type) {
|
||||
case VMI_RELOCATION_CALL_REL:
|
||||
BUG_ON(len < 5);
|
||||
*(char *)insns = MNEM_CALL;
|
||||
patch_offset(insns, rel->eip);
|
||||
*(char *)insnbuf = MNEM_CALL;
|
||||
patch_offset(insnbuf, eip, (unsigned long)rel->eip);
|
||||
return 5;
|
||||
|
||||
case VMI_RELOCATION_JUMP_REL:
|
||||
BUG_ON(len < 5);
|
||||
*(char *)insns = MNEM_JMP;
|
||||
patch_offset(insns, rel->eip);
|
||||
*(char *)insnbuf = MNEM_JMP;
|
||||
patch_offset(insnbuf, eip, (unsigned long)rel->eip);
|
||||
return 5;
|
||||
|
||||
case VMI_RELOCATION_NOP:
|
||||
|
@ -128,21 +130,26 @@ static unsigned patch_internal(int call, unsigned len, void *insns)
|
|||
* Apply patch if appropriate, return length of new instruction
|
||||
* sequence. The callee does nop padding for us.
|
||||
*/
|
||||
static unsigned vmi_patch(u8 type, u16 clobbers, void *insns, unsigned len)
|
||||
static unsigned vmi_patch(u8 type, u16 clobbers, void *insns,
|
||||
unsigned long eip, unsigned len)
|
||||
{
|
||||
switch (type) {
|
||||
case PARAVIRT_PATCH(irq_disable):
|
||||
return patch_internal(VMI_CALL_DisableInterrupts, len, insns);
|
||||
return patch_internal(VMI_CALL_DisableInterrupts, len,
|
||||
insns, eip);
|
||||
case PARAVIRT_PATCH(irq_enable):
|
||||
return patch_internal(VMI_CALL_EnableInterrupts, len, insns);
|
||||
return patch_internal(VMI_CALL_EnableInterrupts, len,
|
||||
insns, eip);
|
||||
case PARAVIRT_PATCH(restore_fl):
|
||||
return patch_internal(VMI_CALL_SetInterruptMask, len, insns);
|
||||
return patch_internal(VMI_CALL_SetInterruptMask, len,
|
||||
insns, eip);
|
||||
case PARAVIRT_PATCH(save_fl):
|
||||
return patch_internal(VMI_CALL_GetInterruptMask, len, insns);
|
||||
return patch_internal(VMI_CALL_GetInterruptMask, len,
|
||||
insns, eip);
|
||||
case PARAVIRT_PATCH(iret):
|
||||
return patch_internal(VMI_CALL_IRET, len, insns);
|
||||
return patch_internal(VMI_CALL_IRET, len, insns, eip);
|
||||
case PARAVIRT_PATCH(irq_enable_sysexit):
|
||||
return patch_internal(VMI_CALL_SYSEXIT, len, insns);
|
||||
return patch_internal(VMI_CALL_SYSEXIT, len, insns, eip);
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
|
|
@ -249,9 +249,10 @@ static inline pmd_t *vmalloc_sync_one(pgd_t *pgd, unsigned long address)
|
|||
pmd_k = pmd_offset(pud_k, address);
|
||||
if (!pmd_present(*pmd_k))
|
||||
return NULL;
|
||||
if (!pmd_present(*pmd))
|
||||
if (!pmd_present(*pmd)) {
|
||||
set_pmd(pmd, *pmd_k);
|
||||
else
|
||||
arch_flush_lazy_mmu_mode();
|
||||
} else
|
||||
BUG_ON(pmd_page(*pmd) != pmd_page(*pmd_k));
|
||||
return pmd_k;
|
||||
}
|
||||
|
|
|
@ -82,7 +82,7 @@ static void flush_kernel_map(void *arg)
|
|||
struct page *p;
|
||||
|
||||
/* High level code is not ready for clflush yet */
|
||||
if (cpu_has_clflush) {
|
||||
if (0 && cpu_has_clflush) {
|
||||
list_for_each_entry (p, lh, lru)
|
||||
cache_flush_page(p);
|
||||
} else if (boot_cpu_data.x86_model >= 4)
|
||||
|
|
|
@ -455,3 +455,26 @@ void pcibios_disable_device (struct pci_dev *dev)
|
|||
if (!dev->msi_enabled && pcibios_disable_irq)
|
||||
pcibios_disable_irq(dev);
|
||||
}
|
||||
|
||||
struct pci_bus *pci_scan_bus_with_sysdata(int busno)
|
||||
{
|
||||
struct pci_bus *bus = NULL;
|
||||
struct pci_sysdata *sd;
|
||||
|
||||
/*
|
||||
* Allocate per-root-bus (not per bus) arch-specific data.
|
||||
* TODO: leak; this memory is never freed.
|
||||
* It's arguable whether it's worth the trouble to care.
|
||||
*/
|
||||
sd = kzalloc(sizeof(*sd), GFP_KERNEL);
|
||||
if (!sd) {
|
||||
printk(KERN_ERR "PCI: OOM, skipping PCI bus %02x\n", busno);
|
||||
return NULL;
|
||||
}
|
||||
sd->node = -1;
|
||||
bus = pci_scan_bus(busno, &pci_root_ops, sd);
|
||||
if (!bus)
|
||||
kfree(sd);
|
||||
|
||||
return bus;
|
||||
}
|
||||
|
|
|
@ -25,9 +25,9 @@ static void __devinit pci_fixup_i450nx(struct pci_dev *d)
|
|||
pci_read_config_byte(d, reg++, &subb);
|
||||
DBG("i450NX PXB %d: %02x/%02x/%02x\n", pxb, busno, suba, subb);
|
||||
if (busno)
|
||||
pci_scan_bus(busno, &pci_root_ops, NULL); /* Bus A */
|
||||
pci_scan_bus_with_sysdata(busno); /* Bus A */
|
||||
if (suba < subb)
|
||||
pci_scan_bus(suba+1, &pci_root_ops, NULL); /* Bus B */
|
||||
pci_scan_bus_with_sysdata(suba+1); /* Bus B */
|
||||
}
|
||||
pcibios_last_bus = -1;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ static void __devinit pci_fixup_i450gx(struct pci_dev *d)
|
|||
u8 busno;
|
||||
pci_read_config_byte(d, 0x4a, &busno);
|
||||
printk(KERN_INFO "PCI: i440KX/GX host bridge %s: secondary bus %02x\n", pci_name(d), busno);
|
||||
pci_scan_bus(busno, &pci_root_ops, NULL);
|
||||
pci_scan_bus_with_sysdata(busno);
|
||||
pcibios_last_bus = -1;
|
||||
}
|
||||
DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82454GX, pci_fixup_i450gx);
|
||||
|
|
|
@ -138,8 +138,9 @@ static void __init pirq_peer_trick(void)
|
|||
for(i = 1; i < 256; i++) {
|
||||
if (!busmap[i] || pci_find_bus(0, i))
|
||||
continue;
|
||||
if (pci_scan_bus(i, &pci_root_ops, NULL))
|
||||
printk(KERN_INFO "PCI: Discovered primary peer bus %02x [IRQ]\n", i);
|
||||
if (pci_scan_bus_with_sysdata(i))
|
||||
printk(KERN_INFO "PCI: Discovered primary peer "
|
||||
"bus %02x [IRQ]\n", i);
|
||||
}
|
||||
pcibios_last_bus = -1;
|
||||
}
|
||||
|
|
|
@ -26,7 +26,7 @@ static void __devinit pcibios_fixup_peer_bridges(void)
|
|||
l != 0x0000 && l != 0xffff) {
|
||||
DBG("Found device at %02x:%02x [%04x]\n", n, devfn, l);
|
||||
printk(KERN_INFO "PCI: Discovered peer bus %02x\n", n);
|
||||
pci_scan_bus(n, &pci_root_ops, NULL);
|
||||
pci_scan_bus_with_sysdata(n);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -82,16 +82,15 @@ static int pci_mmcfg_read(unsigned int seg, unsigned int bus,
|
|||
|
||||
switch (len) {
|
||||
case 1:
|
||||
*value = readb(mmcfg_virt_addr + reg);
|
||||
*value = mmio_config_readb(mmcfg_virt_addr + reg);
|
||||
break;
|
||||
case 2:
|
||||
*value = readw(mmcfg_virt_addr + reg);
|
||||
*value = mmio_config_readw(mmcfg_virt_addr + reg);
|
||||
break;
|
||||
case 4:
|
||||
*value = readl(mmcfg_virt_addr + reg);
|
||||
*value = mmio_config_readl(mmcfg_virt_addr + reg);
|
||||
break;
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&pci_config_lock, flags);
|
||||
|
||||
return 0;
|
||||
|
@ -116,16 +115,15 @@ static int pci_mmcfg_write(unsigned int seg, unsigned int bus,
|
|||
|
||||
switch (len) {
|
||||
case 1:
|
||||
writeb(value, mmcfg_virt_addr + reg);
|
||||
mmio_config_writeb(mmcfg_virt_addr + reg, value);
|
||||
break;
|
||||
case 2:
|
||||
writew(value, mmcfg_virt_addr + reg);
|
||||
mmio_config_writew(mmcfg_virt_addr + reg, value);
|
||||
break;
|
||||
case 4:
|
||||
writel(value, mmcfg_virt_addr + reg);
|
||||
mmio_config_writel(mmcfg_virt_addr + reg, value);
|
||||
break;
|
||||
}
|
||||
|
||||
spin_unlock_irqrestore(&pci_config_lock, flags);
|
||||
|
||||
return 0;
|
||||
|
|
|
@ -96,10 +96,14 @@ static void __devinit pci_fixup_i450nx(struct pci_dev *d)
|
|||
pci_read_config_byte(d, reg++, &suba);
|
||||
pci_read_config_byte(d, reg++, &subb);
|
||||
DBG("i450NX PXB %d: %02x/%02x/%02x\n", pxb, busno, suba, subb);
|
||||
if (busno)
|
||||
pci_scan_bus(QUADLOCAL2BUS(quad,busno), &pci_root_ops, NULL); /* Bus A */
|
||||
if (suba < subb)
|
||||
pci_scan_bus(QUADLOCAL2BUS(quad,suba+1), &pci_root_ops, NULL); /* Bus B */
|
||||
if (busno) {
|
||||
/* Bus A */
|
||||
pci_scan_bus_with_sysdata(QUADLOCAL2BUS(quad, busno));
|
||||
}
|
||||
if (suba < subb) {
|
||||
/* Bus B */
|
||||
pci_scan_bus_with_sysdata(QUADLOCAL2BUS(quad, suba+1));
|
||||
}
|
||||
}
|
||||
pcibios_last_bus = -1;
|
||||
}
|
||||
|
@ -123,8 +127,7 @@ static int __init pci_numa_init(void)
|
|||
continue;
|
||||
printk("Scanning PCI bus %d for quad %d\n",
|
||||
QUADLOCAL2BUS(quad,0), quad);
|
||||
pci_scan_bus(QUADLOCAL2BUS(quad,0),
|
||||
&pci_root_ops, NULL);
|
||||
pci_scan_bus_with_sysdata(QUADLOCAL2BUS(quad, 0));
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -104,3 +104,46 @@ extern DECLARE_BITMAP(pci_mmcfg_fallback_slots, 32*PCI_MMCFG_MAX_CHECK_BUS);
|
|||
extern int __init pci_mmcfg_arch_reachable(unsigned int seg, unsigned int bus,
|
||||
unsigned int devfn);
|
||||
extern int __init pci_mmcfg_arch_init(void);
|
||||
|
||||
/*
|
||||
* AMD Fam10h CPUs are buggy, and cannot access MMIO config space
|
||||
* on their northbrige except through the * %eax register. As such, you MUST
|
||||
* NOT use normal IOMEM accesses, you need to only use the magic mmio-config
|
||||
* accessor functions.
|
||||
* In fact just use pci_config_*, nothing else please.
|
||||
*/
|
||||
static inline unsigned char mmio_config_readb(void __iomem *pos)
|
||||
{
|
||||
u8 val;
|
||||
asm volatile("movb (%1),%%al" : "=a" (val) : "r" (pos));
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline unsigned short mmio_config_readw(void __iomem *pos)
|
||||
{
|
||||
u16 val;
|
||||
asm volatile("movw (%1),%%ax" : "=a" (val) : "r" (pos));
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline unsigned int mmio_config_readl(void __iomem *pos)
|
||||
{
|
||||
u32 val;
|
||||
asm volatile("movl (%1),%%eax" : "=a" (val) : "r" (pos));
|
||||
return val;
|
||||
}
|
||||
|
||||
static inline void mmio_config_writeb(void __iomem *pos, u8 val)
|
||||
{
|
||||
asm volatile("movb %%al,(%1)" :: "a" (val), "r" (pos) : "memory");
|
||||
}
|
||||
|
||||
static inline void mmio_config_writew(void __iomem *pos, u16 val)
|
||||
{
|
||||
asm volatile("movw %%ax,(%1)" :: "a" (val), "r" (pos) : "memory");
|
||||
}
|
||||
|
||||
static inline void mmio_config_writel(void __iomem *pos, u32 val)
|
||||
{
|
||||
asm volatile("movl %%eax,(%1)" :: "a" (val), "r" (pos) : "memory");
|
||||
}
|
||||
|
|
|
@ -101,8 +101,8 @@ static int __init pcibios_init(void)
|
|||
"bridge B (PIIX4) bus: %u\n", pci_bus1, pci_bus0);
|
||||
|
||||
raw_pci_ops = &pci_direct_conf1;
|
||||
pci_scan_bus(pci_bus0, &pci_root_ops, NULL);
|
||||
pci_scan_bus(pci_bus1, &pci_root_ops, NULL);
|
||||
pci_scan_bus_with_sysdata(pci_bus0);
|
||||
pci_scan_bus_with_sysdata(pci_bus1);
|
||||
pci_fixup_irqs(visws_swizzle, visws_map_irq);
|
||||
pcibios_resource_survey();
|
||||
return 0;
|
||||
|
|
|
@ -842,7 +842,8 @@ void __init xen_setup_vcpu_info_placement(void)
|
|||
}
|
||||
}
|
||||
|
||||
static unsigned xen_patch(u8 type, u16 clobbers, void *insns, unsigned len)
|
||||
static unsigned xen_patch(u8 type, u16 clobbers, void *insnbuf,
|
||||
unsigned long addr, unsigned len)
|
||||
{
|
||||
char *start, *end, *reloc;
|
||||
unsigned ret;
|
||||
|
@ -869,7 +870,7 @@ static unsigned xen_patch(u8 type, u16 clobbers, void *insns, unsigned len)
|
|||
if (start == NULL || (end-start) > len)
|
||||
goto default_patch;
|
||||
|
||||
ret = paravirt_patch_insns(insns, len, start, end);
|
||||
ret = paravirt_patch_insns(insnbuf, len, start, end);
|
||||
|
||||
/* Note: because reloc is assigned from something that
|
||||
appears to be an array, gcc assumes it's non-null,
|
||||
|
@ -877,8 +878,8 @@ static unsigned xen_patch(u8 type, u16 clobbers, void *insns, unsigned len)
|
|||
end. */
|
||||
if (reloc > start && reloc < end) {
|
||||
int reloc_off = reloc - start;
|
||||
long *relocp = (long *)(insns + reloc_off);
|
||||
long delta = start - (char *)insns;
|
||||
long *relocp = (long *)(insnbuf + reloc_off);
|
||||
long delta = start - (char *)addr;
|
||||
|
||||
*relocp += delta;
|
||||
}
|
||||
|
@ -886,7 +887,8 @@ static unsigned xen_patch(u8 type, u16 clobbers, void *insns, unsigned len)
|
|||
|
||||
default_patch:
|
||||
default:
|
||||
ret = paravirt_patch_default(type, clobbers, insns, len);
|
||||
ret = paravirt_patch_default(type, clobbers, insnbuf,
|
||||
addr, len);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -7,20 +7,20 @@
|
|||
#include <asm/boot.h>
|
||||
#include <xen/interface/elfnote.h>
|
||||
|
||||
.section .init.text
|
||||
.pushsection .init.text
|
||||
ENTRY(startup_xen)
|
||||
movl %esi,xen_start_info
|
||||
cld
|
||||
movl $(init_thread_union+THREAD_SIZE),%esp
|
||||
jmp xen_start_kernel
|
||||
.popsection
|
||||
|
||||
.pushsection ".bss.page_aligned"
|
||||
.pushsection .bss.page_aligned
|
||||
.align PAGE_SIZE_asm
|
||||
ENTRY(hypercall_page)
|
||||
.skip 0x1000
|
||||
.popsection
|
||||
|
||||
.section .text
|
||||
ELFNOTE(Xen, XEN_ELFNOTE_GUEST_OS, .asciz "linux")
|
||||
ELFNOTE(Xen, XEN_ELFNOTE_GUEST_VERSION, .asciz "2.6")
|
||||
ELFNOTE(Xen, XEN_ELFNOTE_XEN_VERSION, .asciz "xen-3.0")
|
||||
|
|
|
@ -327,17 +327,7 @@ config FORCE_CPEI_RETARGET
|
|||
This option it useful to enable this feature on older BIOS's as well.
|
||||
You can also enable this by using boot command line option force_cpei=1.
|
||||
|
||||
config PREEMPT
|
||||
bool "Preemptible Kernel"
|
||||
help
|
||||
This option reduces the latency of the kernel when reacting to
|
||||
real-time or interactive events by allowing a low priority process to
|
||||
be preempted even if it is in kernel mode executing a system call.
|
||||
This allows applications to run more reliably even when the system is
|
||||
under load.
|
||||
|
||||
Say Y here if you are building a kernel for a desktop, embedded
|
||||
or real-time system. Say N if you are unsure.
|
||||
source "kernel/Kconfig.preempt"
|
||||
|
||||
source "mm/Kconfig"
|
||||
|
||||
|
|
|
@ -42,7 +42,7 @@ CONFIG_CC_ALIGN_FUNCTIONS=0
|
|||
CONFIG_CC_ALIGN_LABELS=0
|
||||
CONFIG_CC_ALIGN_LOOPS=0
|
||||
CONFIG_CC_ALIGN_JUMPS=0
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
|
|
@ -43,7 +43,7 @@ CONFIG_CC_ALIGN_FUNCTIONS=0
|
|||
CONFIG_CC_ALIGN_LABELS=0
|
||||
CONFIG_CC_ALIGN_LOOPS=0
|
||||
CONFIG_CC_ALIGN_JUMPS=0
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
|
|
@ -43,7 +43,7 @@ CONFIG_CC_ALIGN_FUNCTIONS=0
|
|||
CONFIG_CC_ALIGN_LABELS=0
|
||||
CONFIG_CC_ALIGN_LOOPS=0
|
||||
CONFIG_CC_ALIGN_JUMPS=0
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
|
|
@ -46,7 +46,7 @@ CONFIG_BASE_FULL=y
|
|||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_SLUB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
|
|
|
@ -53,7 +53,7 @@ CONFIG_TIMERFD=y
|
|||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
|
|
|
@ -48,7 +48,7 @@ CONFIG_BASE_FULL=y
|
|||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_SLUB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
|
|
|
@ -53,8 +53,7 @@ CONFIG_TIMERFD=y
|
|||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
|
|
|
@ -26,6 +26,7 @@ GLOBAL_ENTRY(_start)
|
|||
movl sp = stack_mem+16384-16
|
||||
bsw.1
|
||||
br.call.sptk.many rp=start_bootloader
|
||||
0: nop 0 /* dummy nop to make unwinding work */
|
||||
END(_start)
|
||||
|
||||
/*
|
||||
|
|
|
@ -113,10 +113,8 @@ processor_get_freq (
|
|||
|
||||
saved_mask = current->cpus_allowed;
|
||||
set_cpus_allowed(current, cpumask_of_cpu(cpu));
|
||||
if (smp_processor_id() != cpu) {
|
||||
ret = -EAGAIN;
|
||||
if (smp_processor_id() != cpu)
|
||||
goto migrate_end;
|
||||
}
|
||||
|
||||
/* processor_get_pstate gets the instantaneous frequency */
|
||||
ret = processor_get_pstate(&value);
|
||||
|
@ -125,7 +123,7 @@ processor_get_freq (
|
|||
set_cpus_allowed(current, saved_mask);
|
||||
printk(KERN_WARNING "get performance failed with error %d\n",
|
||||
ret);
|
||||
ret = -EAGAIN;
|
||||
ret = 0;
|
||||
goto migrate_end;
|
||||
}
|
||||
clock_freq = extract_clock(data, value, cpu);
|
||||
|
|
|
@ -33,6 +33,11 @@ void ack_bad_irq(unsigned int irq)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_IA64_GENERIC
|
||||
ia64_vector __ia64_irq_to_vector(int irq)
|
||||
{
|
||||
return irq_cfg[irq].vector;
|
||||
}
|
||||
|
||||
unsigned int __ia64_local_vector_to_irq (ia64_vector vec)
|
||||
{
|
||||
return __get_cpu_var(vector_irq)[vec];
|
||||
|
|
|
@ -2018,22 +2018,26 @@ ia64_mca_late_init(void)
|
|||
|
||||
if (cpe_vector >= 0) {
|
||||
/* If platform supports CPEI, enable the irq. */
|
||||
cpe_poll_enabled = 0;
|
||||
for (irq = 0; irq < NR_IRQS; ++irq)
|
||||
if (irq_to_vector(irq) == cpe_vector) {
|
||||
desc = irq_desc + irq;
|
||||
desc->status |= IRQ_PER_CPU;
|
||||
setup_irq(irq, &mca_cpe_irqaction);
|
||||
ia64_cpe_irq = irq;
|
||||
}
|
||||
ia64_mca_register_cpev(cpe_vector);
|
||||
IA64_MCA_DEBUG("%s: CPEI/P setup and enabled.\n", __FUNCTION__);
|
||||
} else {
|
||||
/* If platform doesn't support CPEI, get the timer going. */
|
||||
if (cpe_poll_enabled) {
|
||||
ia64_mca_cpe_poll(0UL);
|
||||
IA64_MCA_DEBUG("%s: CPEP setup and enabled.\n", __FUNCTION__);
|
||||
irq = local_vector_to_irq(cpe_vector);
|
||||
if (irq > 0) {
|
||||
cpe_poll_enabled = 0;
|
||||
desc = irq_desc + irq;
|
||||
desc->status |= IRQ_PER_CPU;
|
||||
setup_irq(irq, &mca_cpe_irqaction);
|
||||
ia64_cpe_irq = irq;
|
||||
ia64_mca_register_cpev(cpe_vector);
|
||||
IA64_MCA_DEBUG("%s: CPEI/P setup and enabled.\n",
|
||||
__FUNCTION__);
|
||||
return 0;
|
||||
}
|
||||
printk(KERN_ERR "%s: Failed to find irq for CPE "
|
||||
"interrupt handler, vector %d\n",
|
||||
__FUNCTION__, cpe_vector);
|
||||
}
|
||||
/* If platform doesn't support CPEI, get the timer going. */
|
||||
if (cpe_poll_enabled) {
|
||||
ia64_mca_cpe_poll(0UL);
|
||||
IA64_MCA_DEBUG("%s: CPEP setup and enabled.\n", __FUNCTION__);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -198,9 +198,13 @@ default_idle (void)
|
|||
{
|
||||
local_irq_enable();
|
||||
while (!need_resched()) {
|
||||
if (can_do_pal_halt)
|
||||
safe_halt();
|
||||
else
|
||||
if (can_do_pal_halt) {
|
||||
local_irq_disable();
|
||||
if (!need_resched()) {
|
||||
safe_halt();
|
||||
}
|
||||
local_irq_enable();
|
||||
} else
|
||||
cpu_relax();
|
||||
}
|
||||
}
|
||||
|
|
|
@ -951,10 +951,14 @@ access_uarea (struct task_struct *child, unsigned long addr,
|
|||
return 0;
|
||||
|
||||
case PT_CR_IPSR:
|
||||
if (write_access)
|
||||
pt->cr_ipsr = ((*data & IPSR_MASK)
|
||||
if (write_access) {
|
||||
unsigned long tmp = *data;
|
||||
/* psr.ri==3 is a reserved value: SDM 2:25 */
|
||||
if ((tmp & IA64_PSR_RI) == IA64_PSR_RI)
|
||||
tmp &= ~IA64_PSR_RI;
|
||||
pt->cr_ipsr = ((tmp & IPSR_MASK)
|
||||
| (pt->cr_ipsr & ~IPSR_MASK));
|
||||
else
|
||||
} else
|
||||
*data = (pt->cr_ipsr & IPSR_MASK);
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -389,6 +389,13 @@ early_console_setup (char *cmdline)
|
|||
if (!efi_setup_pcdp_console(cmdline))
|
||||
earlycons++;
|
||||
#endif
|
||||
#ifdef CONFIG_HP_SIMSERIAL_CONSOLE
|
||||
{
|
||||
extern struct console hpsim_cons;
|
||||
register_console(&hpsim_cons);
|
||||
earlycons++;
|
||||
}
|
||||
#endif
|
||||
|
||||
return (earlycons) ? 0 : -1;
|
||||
}
|
||||
|
|
|
@ -20,6 +20,8 @@ PHDRS {
|
|||
code PT_LOAD;
|
||||
percpu PT_LOAD;
|
||||
data PT_LOAD;
|
||||
note PT_NOTE;
|
||||
unwind 0x70000001; /* PT_IA_64_UNWIND, but ld doesn't match the name */
|
||||
}
|
||||
SECTIONS
|
||||
{
|
||||
|
@ -62,6 +64,9 @@ SECTIONS
|
|||
|
||||
/* Read-only data */
|
||||
|
||||
NOTES :code :note /* put .notes in text and mark in PT_NOTE */
|
||||
code_continues : {} :code /* switch back to regular program... */
|
||||
|
||||
/* Exception table */
|
||||
. = ALIGN(16);
|
||||
__ex_table : AT(ADDR(__ex_table) - LOAD_OFFSET)
|
||||
|
@ -99,7 +104,8 @@ SECTIONS
|
|||
__start_unwind = .;
|
||||
*(.IA_64.unwind*)
|
||||
__end_unwind = .;
|
||||
}
|
||||
} :code :unwind
|
||||
code_continues2 : {} : code
|
||||
|
||||
RODATA
|
||||
|
||||
|
@ -276,10 +282,6 @@ SECTIONS
|
|||
.debug_typenames 0 : { *(.debug_typenames) }
|
||||
.debug_varnames 0 : { *(.debug_varnames) }
|
||||
/* These must appear regardless of . */
|
||||
/* Discard them for now since Intel SoftSDV cannot handle them.
|
||||
.comment 0 : { *(.comment) }
|
||||
.note 0 : { *(.note) }
|
||||
*/
|
||||
/DISCARD/ : { *(.comment) }
|
||||
/DISCARD/ : { *(.note) }
|
||||
}
|
||||
|
|
|
@ -112,11 +112,17 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re
|
|||
down_read(&mm->mmap_sem);
|
||||
|
||||
vma = find_vma_prev(mm, address, &prev_vma);
|
||||
if (!vma)
|
||||
if (!vma && !prev_vma )
|
||||
goto bad_area;
|
||||
|
||||
/* find_vma_prev() returns vma such that address < vma->vm_end or NULL */
|
||||
if (address < vma->vm_start)
|
||||
/*
|
||||
* find_vma_prev() returns vma such that address < vma->vm_end or NULL
|
||||
*
|
||||
* May find no vma, but could be that the last vm area is the
|
||||
* register backing store that needs to expand upwards, in
|
||||
* this case vma will be null, but prev_vma will ne non-null
|
||||
*/
|
||||
if (( !vma && prev_vma ) || (address < vma->vm_start) )
|
||||
goto check_expansion;
|
||||
|
||||
good_area:
|
||||
|
@ -172,6 +178,8 @@ ia64_do_page_fault (unsigned long address, unsigned long isr, struct pt_regs *re
|
|||
|
||||
check_expansion:
|
||||
if (!(prev_vma && (prev_vma->vm_flags & VM_GROWSUP) && (address == prev_vma->vm_end))) {
|
||||
if (!vma)
|
||||
goto bad_area;
|
||||
if (!(vma->vm_flags & VM_GROWSDOWN))
|
||||
goto bad_area;
|
||||
if (REGION_NUMBER(address) != REGION_NUMBER(vma->vm_start)
|
||||
|
|
|
@ -256,6 +256,13 @@ struct irq_chip irq_type_sn = {
|
|||
.set_affinity = sn_set_affinity_irq
|
||||
};
|
||||
|
||||
ia64_vector sn_irq_to_vector(int irq)
|
||||
{
|
||||
if (irq >= IA64_NUM_VECTORS)
|
||||
return 0;
|
||||
return (ia64_vector)irq;
|
||||
}
|
||||
|
||||
unsigned int sn_local_vector_to_irq(u8 vector)
|
||||
{
|
||||
return (CPU_VECTOR_TO_IRQ(smp_processor_id(), vector));
|
||||
|
@ -398,7 +405,10 @@ sn_call_force_intr_provider(struct sn_irq_info *sn_irq_info)
|
|||
struct sn_pcibus_provider *pci_provider;
|
||||
|
||||
pci_provider = sn_pci_provider[sn_irq_info->irq_bridge_type];
|
||||
if (pci_provider && pci_provider->force_interrupt)
|
||||
|
||||
/* Don't force an interrupt if the irq has been disabled */
|
||||
if (!(irq_desc[sn_irq_info->irq_irq].status & IRQ_DISABLED) &&
|
||||
pci_provider && pci_provider->force_interrupt)
|
||||
(*pci_provider->force_interrupt)(sn_irq_info);
|
||||
}
|
||||
|
||||
|
|
|
@ -62,7 +62,6 @@ EXPORT_SYMBOL(m68k_num_memory);
|
|||
int m68k_realnum_memory;
|
||||
EXPORT_SYMBOL(m68k_realnum_memory);
|
||||
unsigned long m68k_memoffset;
|
||||
EXPORT_SYMBOL(m68k_memoffset);
|
||||
struct mem_info m68k_memory[NUM_MEMINFO];
|
||||
EXPORT_SYMBOL(m68k_memory);
|
||||
|
||||
|
@ -200,7 +199,6 @@ static void __init m68k_parse_bootinfo(const struct bi_record *record)
|
|||
(m68k_num_memory - 1));
|
||||
m68k_num_memory = 1;
|
||||
}
|
||||
m68k_memoffset = m68k_memory[0].addr-PAGE_OFFSET;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
@ -19,6 +19,8 @@ SECTIONS
|
|||
*(.gnu.warning)
|
||||
} :text = 0x4e75
|
||||
|
||||
_etext = .; /* End of text section */
|
||||
|
||||
. = ALIGN(16); /* Exception table */
|
||||
__start___ex_table = .;
|
||||
__ex_table : { *(__ex_table) }
|
||||
|
@ -26,8 +28,6 @@ SECTIONS
|
|||
|
||||
RODATA
|
||||
|
||||
_etext = .; /* End of text section */
|
||||
|
||||
.data : { /* Data */
|
||||
DATA_DATA
|
||||
CONSTRUCTORS
|
||||
|
|
|
@ -210,11 +210,7 @@ void __init paging_init(void)
|
|||
int i;
|
||||
|
||||
#ifdef DEBUG
|
||||
{
|
||||
extern unsigned long availmem;
|
||||
printk ("start of paging_init (%p, %lx)\n",
|
||||
kernel_pg_dir, availmem);
|
||||
}
|
||||
printk ("start of paging_init (%p, %lx)\n", kernel_pg_dir, availmem);
|
||||
#endif
|
||||
|
||||
/* Fix the cache mode in the page descriptors for the 680[46]0. */
|
||||
|
|
|
@ -44,8 +44,18 @@
|
|||
#size-cells = <1>;
|
||||
#interrupt-cells = <2>;
|
||||
device_type = "soc";
|
||||
ranges = <0 e0000000 00100000>;
|
||||
reg = <e0000000 00100000>; // CCSRBAR 1M
|
||||
|
||||
|
||||
ranges = <00001000 e0001000 000ff000
|
||||
80000000 80000000 20000000
|
||||
a0000000 a0000000 10000000
|
||||
b0000000 b0000000 00100000
|
||||
c0000000 c0000000 20000000
|
||||
b0100000 b0100000 00100000
|
||||
e1000000 e1000000 00010000
|
||||
e1010000 e1010000 00010000
|
||||
e1020000 e1020000 00010000>;
|
||||
reg = <e0000000 00001000>; // CCSRBAR 1M
|
||||
bus-frequency = <0>; // Filled out by uboot.
|
||||
|
||||
memory-controller@2000 {
|
||||
|
@ -161,8 +171,8 @@
|
|||
interrupt-parent = <&mpic>;
|
||||
interrupts = <18 2>;
|
||||
bus-range = <0 ff>;
|
||||
ranges = <02000000 0 80000000 80000000 0 10000000
|
||||
01000000 0 00000000 e2000000 0 00800000>;
|
||||
ranges = <02000000 0 c0000000 c0000000 0 20000000
|
||||
01000000 0 00000000 e1000000 0 00010000>;
|
||||
clock-frequency = <3f940aa>;
|
||||
#interrupt-cells = <1>;
|
||||
#size-cells = <2>;
|
||||
|
@ -178,8 +188,8 @@
|
|||
#address-cells = <3>;
|
||||
reg = <9000 1000>;
|
||||
bus-range = <0 ff>;
|
||||
ranges = <02000000 0 90000000 90000000 0 10000000
|
||||
01000000 0 00000000 e3000000 0 00800000>;
|
||||
ranges = <02000000 0 80000000 80000000 0 20000000
|
||||
01000000 0 00000000 e1010000 0 00010000>;
|
||||
clock-frequency = <1fca055>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <1a 2>;
|
||||
|
@ -202,7 +212,7 @@
|
|||
reg = <a000 1000>;
|
||||
bus-range = <0 ff>;
|
||||
ranges = <02000000 0 a0000000 a0000000 0 10000000
|
||||
01000000 0 00000000 e2800000 0 00800000>;
|
||||
01000000 0 00000000 e1020000 0 00010000>;
|
||||
clock-frequency = <1fca055>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <19 2>;
|
||||
|
@ -224,49 +234,29 @@
|
|||
#address-cells = <3>;
|
||||
reg = <b000 1000>;
|
||||
bus-range = <0 ff>;
|
||||
ranges = <02000000 0 b0000000 b0000000 0 10000000
|
||||
01000000 0 00000000 e3800000 0 00800000>;
|
||||
ranges = <02000000 0 b0000000 b0000000 0 00100000
|
||||
01000000 0 00000000 b0100000 0 00100000>;
|
||||
clock-frequency = <1fca055>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <1b 2>;
|
||||
interrupt-map-mask = <f800 0 0 7>;
|
||||
interrupt-map-mask = <fb00 0 0 0>;
|
||||
interrupt-map = <
|
||||
|
||||
// IDSEL 0x1a
|
||||
d000 0 0 1 &i8259 6 2
|
||||
d000 0 0 2 &i8259 3 2
|
||||
d000 0 0 3 &i8259 4 2
|
||||
d000 0 0 4 &i8259 5 2
|
||||
|
||||
// IDSEL 0x1b
|
||||
d800 0 0 1 &i8259 5 2
|
||||
d800 0 0 2 &i8259 0 0
|
||||
d800 0 0 3 &i8259 0 0
|
||||
d800 0 0 4 &i8259 0 0
|
||||
|
||||
// IDSEL 0x1c USB
|
||||
e000 0 0 1 &i8259 9 2
|
||||
e000 0 0 2 &i8259 a 2
|
||||
e000 0 0 3 &i8259 c 2
|
||||
e000 0 0 4 &i8259 7 2
|
||||
e000 0 0 0 &i8259 c 2
|
||||
e100 0 0 0 &i8259 9 2
|
||||
e200 0 0 0 &i8259 a 2
|
||||
e300 0 0 0 &i8259 b 2
|
||||
|
||||
// IDSEL 0x1d Audio
|
||||
e800 0 0 1 &i8259 9 2
|
||||
e800 0 0 2 &i8259 a 2
|
||||
e800 0 0 3 &i8259 b 2
|
||||
e800 0 0 4 &i8259 0 0
|
||||
e800 0 0 0 &i8259 6 2
|
||||
|
||||
// IDSEL 0x1e Legacy
|
||||
f000 0 0 1 &i8259 c 2
|
||||
f000 0 0 2 &i8259 0 0
|
||||
f000 0 0 3 &i8259 0 0
|
||||
f000 0 0 4 &i8259 0 0
|
||||
f000 0 0 0 &i8259 7 2
|
||||
f100 0 0 0 &i8259 7 2
|
||||
|
||||
// IDSEL 0x1f IDE/SATA
|
||||
f800 0 0 1 &i8259 6 2
|
||||
f800 0 0 2 &i8259 0 0
|
||||
f800 0 0 3 &i8259 0 0
|
||||
f800 0 0 4 &i8259 0 0
|
||||
f800 0 0 0 &i8259 e 2
|
||||
f900 0 0 0 &i8259 5 2
|
||||
>;
|
||||
uli1575@0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
|
@ -274,10 +264,10 @@
|
|||
#address-cells = <3>;
|
||||
ranges = <02000000 0 b0000000
|
||||
02000000 0 b0000000
|
||||
0 10000000
|
||||
0 00100000
|
||||
01000000 0 00000000
|
||||
01000000 0 00000000
|
||||
0 00080000>;
|
||||
0 00100000>;
|
||||
|
||||
pci_bridge@0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
|
@ -285,10 +275,10 @@
|
|||
#address-cells = <3>;
|
||||
ranges = <02000000 0 b0000000
|
||||
02000000 0 b0000000
|
||||
0 20000000
|
||||
0 00100000
|
||||
01000000 0 00000000
|
||||
01000000 0 00000000
|
||||
0 00100000>;
|
||||
0 00100000>;
|
||||
|
||||
isa@1e {
|
||||
device_type = "isa";
|
||||
|
@ -296,7 +286,8 @@
|
|||
#size-cells = <1>;
|
||||
#address-cells = <2>;
|
||||
reg = <f000 0 0 0 0>;
|
||||
ranges = <1 0 01000000 0 0
|
||||
ranges = <1 0
|
||||
01000000 0 0
|
||||
00001000>;
|
||||
interrupt-parent = <&i8259>;
|
||||
|
||||
|
@ -312,8 +303,7 @@
|
|||
built-in;
|
||||
compatible = "chrp,iic";
|
||||
interrupts = <9 2>;
|
||||
interrupt-parent =
|
||||
<&mpic>;
|
||||
interrupt-parent = <&mpic>;
|
||||
};
|
||||
|
||||
i8042@60 {
|
||||
|
@ -321,8 +311,7 @@
|
|||
#address-cells = <1>;
|
||||
reg = <1 60 1 1 64 1>;
|
||||
interrupts = <1 3 c 3>;
|
||||
interrupt-parent =
|
||||
<&i8259>;
|
||||
interrupt-parent = <&i8259>;
|
||||
|
||||
keyboard@0 {
|
||||
reg = <0>;
|
||||
|
@ -336,8 +325,7 @@
|
|||
};
|
||||
|
||||
rtc@70 {
|
||||
compatible =
|
||||
"pnpPNP,b00";
|
||||
compatible = "pnpPNP,b00";
|
||||
reg = <1 70 2>;
|
||||
};
|
||||
|
||||
|
|
|
@ -224,98 +224,36 @@
|
|||
clock-frequency = <1fca055>;
|
||||
interrupt-parent = <&mpic>;
|
||||
interrupts = <18 2>;
|
||||
interrupt-map-mask = <f800 0 0 7>;
|
||||
interrupt-map-mask = <fb00 0 0 0>;
|
||||
interrupt-map = <
|
||||
/* IDSEL 0x11 */
|
||||
8800 0 0 1 &i8259 3 2
|
||||
8800 0 0 2 &i8259 4 2
|
||||
8800 0 0 3 &i8259 5 2
|
||||
8800 0 0 4 &i8259 6 2
|
||||
8800 0 0 1 &i8259 9 2
|
||||
8800 0 0 2 &i8259 a 2
|
||||
8800 0 0 3 &i8259 b 2
|
||||
8800 0 0 4 &i8259 c 2
|
||||
|
||||
/* IDSEL 0x12 */
|
||||
9000 0 0 1 &i8259 4 2
|
||||
9000 0 0 2 &i8259 5 2
|
||||
9000 0 0 3 &i8259 6 2
|
||||
9000 0 0 4 &i8259 3 2
|
||||
9000 0 0 1 &i8259 a 2
|
||||
9000 0 0 2 &i8259 b 2
|
||||
9000 0 0 3 &i8259 c 2
|
||||
9000 0 0 4 &i8259 9 2
|
||||
|
||||
/* IDSEL 0x13 */
|
||||
9800 0 0 1 &i8259 0 0
|
||||
9800 0 0 2 &i8259 0 0
|
||||
9800 0 0 3 &i8259 0 0
|
||||
9800 0 0 4 &i8259 0 0
|
||||
// IDSEL 0x1c USB
|
||||
e000 0 0 0 &i8259 c 2
|
||||
e100 0 0 0 &i8259 9 2
|
||||
e200 0 0 0 &i8259 a 2
|
||||
e300 0 0 0 &i8259 b 2
|
||||
|
||||
/* IDSEL 0x14 */
|
||||
a000 0 0 1 &i8259 0 0
|
||||
a000 0 0 2 &i8259 0 0
|
||||
a000 0 0 3 &i8259 0 0
|
||||
a000 0 0 4 &i8259 0 0
|
||||
// IDSEL 0x1d Audio
|
||||
e800 0 0 0 &i8259 6 2
|
||||
|
||||
/* IDSEL 0x15 */
|
||||
a800 0 0 1 &i8259 0 0
|
||||
a800 0 0 2 &i8259 0 0
|
||||
a800 0 0 3 &i8259 0 0
|
||||
a800 0 0 4 &i8259 0 0
|
||||
// IDSEL 0x1e Legacy
|
||||
f000 0 0 0 &i8259 7 2
|
||||
f100 0 0 0 &i8259 7 2
|
||||
|
||||
/* IDSEL 0x16 */
|
||||
b000 0 0 1 &i8259 0 0
|
||||
b000 0 0 2 &i8259 0 0
|
||||
b000 0 0 3 &i8259 0 0
|
||||
b000 0 0 4 &i8259 0 0
|
||||
|
||||
/* IDSEL 0x17 */
|
||||
b800 0 0 1 &i8259 0 0
|
||||
b800 0 0 2 &i8259 0 0
|
||||
b800 0 0 3 &i8259 0 0
|
||||
b800 0 0 4 &i8259 0 0
|
||||
|
||||
/* IDSEL 0x18 */
|
||||
c000 0 0 1 &i8259 0 0
|
||||
c000 0 0 2 &i8259 0 0
|
||||
c000 0 0 3 &i8259 0 0
|
||||
c000 0 0 4 &i8259 0 0
|
||||
|
||||
/* IDSEL 0x19 */
|
||||
c800 0 0 1 &i8259 0 0
|
||||
c800 0 0 2 &i8259 0 0
|
||||
c800 0 0 3 &i8259 0 0
|
||||
c800 0 0 4 &i8259 0 0
|
||||
|
||||
/* IDSEL 0x1a */
|
||||
d000 0 0 1 &i8259 6 2
|
||||
d000 0 0 2 &i8259 3 2
|
||||
d000 0 0 3 &i8259 4 2
|
||||
d000 0 0 4 &i8259 5 2
|
||||
|
||||
|
||||
/* IDSEL 0x1b */
|
||||
d800 0 0 1 &i8259 5 2
|
||||
d800 0 0 2 &i8259 0 0
|
||||
d800 0 0 3 &i8259 0 0
|
||||
d800 0 0 4 &i8259 0 0
|
||||
|
||||
/* IDSEL 0x1c */
|
||||
e000 0 0 1 &i8259 9 2
|
||||
e000 0 0 2 &i8259 a 2
|
||||
e000 0 0 3 &i8259 c 2
|
||||
e000 0 0 4 &i8259 7 2
|
||||
|
||||
/* IDSEL 0x1d */
|
||||
e800 0 0 1 &i8259 9 2
|
||||
e800 0 0 2 &i8259 a 2
|
||||
e800 0 0 3 &i8259 b 2
|
||||
e800 0 0 4 &i8259 0 0
|
||||
|
||||
/* IDSEL 0x1e */
|
||||
f000 0 0 1 &i8259 c 2
|
||||
f000 0 0 2 &i8259 0 0
|
||||
f000 0 0 3 &i8259 0 0
|
||||
f000 0 0 4 &i8259 0 0
|
||||
|
||||
/* IDSEL 0x1f */
|
||||
f800 0 0 1 &i8259 6 2
|
||||
f800 0 0 2 &i8259 0 0
|
||||
f800 0 0 3 &i8259 0 0
|
||||
f800 0 0 4 &i8259 0 0
|
||||
// IDSEL 0x1f IDE/SATA
|
||||
f800 0 0 0 &i8259 e 2
|
||||
f900 0 0 0 &i8259 5 2
|
||||
>;
|
||||
uli1575@0 {
|
||||
reg = <0 0 0 0 0>;
|
||||
|
|
|
@ -134,20 +134,6 @@ static char *ft_next(struct ft_cxt *cxt, char *p, struct ft_atom *ret)
|
|||
#define HDR_SIZE _ALIGN(sizeof(struct boot_param_header), 8)
|
||||
#define EXPAND_INCR 1024 /* alloc this much extra when expanding */
|
||||
|
||||
/* See if the regions are in the standard order and non-overlapping */
|
||||
static int ft_ordered(struct ft_cxt *cxt)
|
||||
{
|
||||
char *p = (char *)cxt->bph + HDR_SIZE;
|
||||
enum ft_rgn_id r;
|
||||
|
||||
for (r = FT_RSVMAP; r <= FT_STRINGS; ++r) {
|
||||
if (p > cxt->rgn[r].start)
|
||||
return 0;
|
||||
p = cxt->rgn[r].start + cxt->rgn[r].size;
|
||||
}
|
||||
return p <= (char *)cxt->bph + cxt->max_size;
|
||||
}
|
||||
|
||||
/* Copy the tree to a newly-allocated region and put things in order */
|
||||
static int ft_reorder(struct ft_cxt *cxt, int nextra)
|
||||
{
|
||||
|
@ -573,10 +559,6 @@ int ft_open(struct ft_cxt *cxt, void *blob, unsigned int max_size,
|
|||
cxt->rgn[FT_STRUCT].size = struct_size(cxt);
|
||||
cxt->rgn[FT_STRINGS].start = blob + be32_to_cpu(bph->off_dt_strings);
|
||||
cxt->rgn[FT_STRINGS].size = be32_to_cpu(bph->dt_strings_size);
|
||||
/* Leave as '0' to force first ft_make_space call to do a ft_reorder
|
||||
* and move dt to an area allocated by realloc.
|
||||
cxt->isordered = ft_ordered(cxt);
|
||||
*/
|
||||
|
||||
cxt->p = cxt->rgn[FT_STRUCT].start;
|
||||
cxt->str_anchor = cxt->rgn[FT_STRINGS].start;
|
||||
|
|
|
@ -1,9 +1,23 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.22-rc6
|
||||
# Tue Jun 26 14:15:19 2007
|
||||
# Linux kernel version: 2.6.23-rc2
|
||||
# Tue Aug 7 19:17:26 2007
|
||||
#
|
||||
CONFIG_PPC64=y
|
||||
|
||||
#
|
||||
# Processor support
|
||||
#
|
||||
# CONFIG_POWER4_ONLY is not set
|
||||
CONFIG_POWER3=y
|
||||
CONFIG_POWER4=y
|
||||
CONFIG_PPC_FPU=y
|
||||
CONFIG_ALTIVEC=y
|
||||
CONFIG_PPC_STD_MMU=y
|
||||
# CONFIG_PPC_MM_SLICES is not set
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_PPC_MERGE=y
|
||||
CONFIG_MMU=y
|
||||
|
@ -15,6 +29,7 @@ CONFIG_ARCH_HAS_ILOG2_U64=y
|
|||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_ARCH_NO_VIRT_TO_BUS=y
|
||||
CONFIG_PPC=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_COMPAT=y
|
||||
|
@ -22,50 +37,32 @@ CONFIG_SYSVIPC_COMPAT=y
|
|||
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
|
||||
CONFIG_ARCH_MAY_HAVE_PC_FDC=y
|
||||
CONFIG_PPC_OF=y
|
||||
CONFIG_OF=y
|
||||
# CONFIG_PPC_UDBG_16550 is not set
|
||||
# CONFIG_GENERIC_TBSYNC is not set
|
||||
CONFIG_AUDIT_ARCH=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
# CONFIG_DEFAULT_UIMAGE is not set
|
||||
|
||||
#
|
||||
# Processor support
|
||||
#
|
||||
# CONFIG_POWER4_ONLY is not set
|
||||
CONFIG_POWER3=y
|
||||
CONFIG_POWER4=y
|
||||
CONFIG_PPC_FPU=y
|
||||
# CONFIG_PPC_DCR_NATIVE is not set
|
||||
# CONFIG_PPC_DCR_MMIO is not set
|
||||
# CONFIG_PPC_OF_PLATFORM_PCI is not set
|
||||
CONFIG_ALTIVEC=y
|
||||
CONFIG_PPC_STD_MMU=y
|
||||
# CONFIG_PPC_MM_SLICES is not set
|
||||
CONFIG_VIRT_CPU_ACCOUNTING=y
|
||||
CONFIG_SMP=y
|
||||
CONFIG_NR_CPUS=2
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
#
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_LOCK_KERNEL=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_LOCK_KERNEL=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
CONFIG_LOCALVERSION=""
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_IPC_NS is not set
|
||||
CONFIG_SYSVIPC_SYSCTL=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_USER_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=17
|
||||
|
@ -100,10 +97,6 @@ CONFIG_SLAB=y
|
|||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
#
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
|
@ -111,12 +104,9 @@ CONFIG_MODULE_UNLOAD=y
|
|||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_KMOD=y
|
||||
CONFIG_STOP_MACHINE=y
|
||||
|
||||
#
|
||||
# Block layer
|
||||
#
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
CONFIG_BLK_DEV_BSG=y
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
|
@ -136,7 +126,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
|
|||
#
|
||||
CONFIG_PPC_MULTIPLATFORM=y
|
||||
# CONFIG_EMBEDDED6xx is not set
|
||||
# CONFIG_APUS is not set
|
||||
# CONFIG_PPC_82xx is not set
|
||||
# CONFIG_PPC_83xx is not set
|
||||
# CONFIG_PPC_86xx is not set
|
||||
# CONFIG_PPC_PSERIES is not set
|
||||
# CONFIG_PPC_ISERIES is not set
|
||||
# CONFIG_PPC_MPC52xx is not set
|
||||
|
@ -223,6 +215,7 @@ CONFIG_MEMORY_HOTPLUG_SPARSE=y
|
|||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_RESOURCES_64BIT=y
|
||||
CONFIG_ZONE_DMA_FLAG=1
|
||||
CONFIG_BOUNCE=y
|
||||
CONFIG_ARCH_MEMORY_PROBE=y
|
||||
# CONFIG_PPC_HAS_HASH_64K is not set
|
||||
# CONFIG_PPC_64K_PAGES is not set
|
||||
|
@ -241,6 +234,7 @@ CONFIG_ZONE_DMA=y
|
|||
CONFIG_GENERIC_ISA_DMA=y
|
||||
# CONFIG_PCI is not set
|
||||
# CONFIG_PCI_DOMAINS is not set
|
||||
# CONFIG_PCI_SYSCALL is not set
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
|
||||
#
|
||||
|
@ -365,6 +359,7 @@ CONFIG_WIRELESS_EXT=y
|
|||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -379,26 +374,11 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||
# CONFIG_DEBUG_DRIVER is not set
|
||||
# CONFIG_DEBUG_DEVRES is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
# CONFIG_MTD is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
#
|
||||
CONFIG_OF_DEVICE=y
|
||||
# CONFIG_PARPORT is not set
|
||||
|
||||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
# CONFIG_PNPACPI is not set
|
||||
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
CONFIG_BLK_DEV=y
|
||||
# CONFIG_BLK_DEV_FD is not set
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
CONFIG_BLK_DEV_LOOP=y
|
||||
|
@ -411,11 +391,8 @@ CONFIG_BLK_DEV_RAM_SIZE=65535
|
|||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_BLINK is not set
|
||||
CONFIG_MISC_DEVICES=y
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
|
@ -423,6 +400,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
|||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
# CONFIG_SCSI_TGT is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
CONFIG_SCSI_PROC_FS=y
|
||||
|
@ -455,37 +433,22 @@ CONFIG_SCSI_WAIT_SCAN=m
|
|||
# CONFIG_SCSI_ISCSI_ATTRS is not set
|
||||
# CONFIG_SCSI_SAS_ATTRS is not set
|
||||
# CONFIG_SCSI_SAS_LIBSAS is not set
|
||||
|
||||
#
|
||||
# SCSI low-level drivers
|
||||
#
|
||||
# CONFIG_ISCSI_TCP is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_LOWLEVEL is not set
|
||||
# CONFIG_ATA is not set
|
||||
|
||||
#
|
||||
# Multi-device support (RAID and LVM)
|
||||
#
|
||||
# CONFIG_MD is not set
|
||||
# CONFIG_MACINTOSH_DRIVERS is not set
|
||||
|
||||
#
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NETDEVICES_MULTIQUEUE is not set
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
# CONFIG_NET_ETHERNET is not set
|
||||
CONFIG_MII=m
|
||||
CONFIG_NETDEV_1000=y
|
||||
CONFIG_NETDEV_10000=y
|
||||
CONFIG_GELIC_NET=y
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
|
||||
#
|
||||
# Wireless LAN
|
||||
|
@ -518,15 +481,7 @@ CONFIG_USB_NET_MCS7830=m
|
|||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
#
|
||||
# CONFIG_ISDN is not set
|
||||
|
||||
#
|
||||
# Telephony Support
|
||||
#
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
#
|
||||
|
@ -604,10 +559,6 @@ CONFIG_VT_HW_CONSOLE_BINDING=y
|
|||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=16
|
||||
|
||||
#
|
||||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
|
@ -616,10 +567,6 @@ CONFIG_GEN_RTC=y
|
|||
# CONFIG_R3964 is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
# CONFIG_HANGCHECK_TIMER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
|
@ -628,11 +575,8 @@ CONFIG_GEN_RTC=y
|
|||
#
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
|
||||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_POWER_SUPPLY is not set
|
||||
# CONFIG_HWMON is not set
|
||||
|
||||
#
|
||||
|
@ -657,6 +601,7 @@ CONFIG_GEN_RTC=y
|
|||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
CONFIG_VIDEO_OUTPUT_CONTROL=m
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
# CONFIG_FB_DDC is not set
|
||||
|
@ -691,11 +636,13 @@ CONFIG_FB_PS3_DEFAULT_SIZE_M=18
|
|||
# CONFIG_VGA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_DETECT_PRIMARY=y
|
||||
CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
|
||||
# CONFIG_FONTS is not set
|
||||
CONFIG_FONT_8x8=y
|
||||
CONFIG_FONT_8x16=y
|
||||
CONFIG_LOGO=y
|
||||
CONFIG_FB_LOGO_EXTRA=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
CONFIG_LOGO_LINUX_CLUT224=y
|
||||
|
@ -709,6 +656,8 @@ CONFIG_SOUND=y
|
|||
# Advanced Linux Sound Architecture
|
||||
#
|
||||
CONFIG_SND=y
|
||||
CONFIG_SND_TIMER=y
|
||||
CONFIG_SND_PCM=y
|
||||
# CONFIG_SND_SEQUENCER is not set
|
||||
# CONFIG_SND_MIXER_OSS is not set
|
||||
# CONFIG_SND_PCM_OSS is not set
|
||||
|
@ -734,6 +683,12 @@ CONFIG_SND_VERBOSE_PROCFS=y
|
|||
# ALSA PowerMac requires I2C
|
||||
#
|
||||
|
||||
#
|
||||
# ALSA PowerPC devices
|
||||
#
|
||||
CONFIG_SND_PS3=y
|
||||
CONFIG_SND_PS3_DEFAULT_START_DELAY=2000
|
||||
|
||||
#
|
||||
# USB devices
|
||||
#
|
||||
|
@ -746,14 +701,15 @@ CONFIG_SND_VERBOSE_PROCFS=y
|
|||
#
|
||||
# CONFIG_SND_SOC is not set
|
||||
|
||||
#
|
||||
# SoC Audio support for SuperH
|
||||
#
|
||||
|
||||
#
|
||||
# Open Sound System
|
||||
#
|
||||
# CONFIG_SOUND_PRIME is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
|
||||
|
@ -770,10 +726,7 @@ CONFIG_USB_HID=m
|
|||
#
|
||||
# CONFIG_USB_KBD is not set
|
||||
# CONFIG_USB_MOUSE is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
CONFIG_USB_SUPPORT=y
|
||||
CONFIG_USB_ARCH_HAS_HCD=y
|
||||
CONFIG_USB_ARCH_HAS_OHCI=y
|
||||
CONFIG_USB_ARCH_HAS_EHCI=y
|
||||
|
@ -803,6 +756,7 @@ CONFIG_USB_OHCI_HCD=y
|
|||
CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
|
||||
CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
||||
# CONFIG_USB_SL811_HCD is not set
|
||||
# CONFIG_USB_R8A66597_HCD is not set
|
||||
|
||||
#
|
||||
# USB Device Class drivers
|
||||
|
@ -879,31 +833,8 @@ CONFIG_USB_MON=y
|
|||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
|
||||
#
|
||||
# LED drivers
|
||||
#
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
|
||||
#
|
||||
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
|
||||
#
|
||||
|
||||
#
|
||||
# Real Time Clock
|
||||
#
|
||||
# CONFIG_EDAC is not set
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
|
@ -919,6 +850,11 @@ CONFIG_USB_MON=y
|
|||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# Userspace I/O
|
||||
#
|
||||
# CONFIG_UIO is not set
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -948,8 +884,8 @@ CONFIG_QUOTA=y
|
|||
CONFIG_QFMT_V2=y
|
||||
CONFIG_QUOTACTL=y
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
CONFIG_AUTOFS4_FS=y
|
||||
CONFIG_AUTOFS_FS=m
|
||||
CONFIG_AUTOFS4_FS=m
|
||||
# CONFIG_FUSE_FS is not set
|
||||
|
||||
#
|
||||
|
@ -1030,7 +966,6 @@ CONFIG_CIFS=m
|
|||
# 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
|
||||
|
@ -1096,6 +1031,7 @@ CONFIG_BITREVERSE=y
|
|||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_CRC7 is not set
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
|
@ -1120,6 +1056,7 @@ CONFIG_MAGIC_SYSRQ=y
|
|||
CONFIG_DEBUG_KERNEL=y
|
||||
# CONFIG_DEBUG_SHIRQ is not set
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
CONFIG_SCHED_DEBUG=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_TIMER_STATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
|
@ -1150,10 +1087,6 @@ CONFIG_IRQSTACKS=y
|
|||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
|
||||
#
|
||||
# Cryptographic options
|
||||
#
|
||||
CONFIG_CRYPTO=y
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
CONFIG_CRYPTO_BLKCIPHER=y
|
||||
|
@ -1191,7 +1124,4 @@ CONFIG_CRYPTO_DES=y
|
|||
# CONFIG_CRYPTO_CRC32C is not set
|
||||
# CONFIG_CRYPTO_CAMELLIA is not set
|
||||
# CONFIG_CRYPTO_TEST is not set
|
||||
|
||||
#
|
||||
# Hardware crypto devices
|
||||
#
|
||||
CONFIG_CRYPTO_HW=y
|
||||
|
|
|
@ -81,6 +81,7 @@ obj-y += iomap.o
|
|||
endif
|
||||
|
||||
ifeq ($(CONFIG_PPC_ISERIES),y)
|
||||
CFLAGS_lparmap.s += -g0
|
||||
extra-y += lparmap.s
|
||||
$(obj)/head_64.o: $(obj)/lparmap.s
|
||||
AFLAGS_head_64.o += -I$(obj)
|
||||
|
|
|
@ -389,8 +389,11 @@ BEGIN_FTR_SECTION
|
|||
ld r9,PACA_SLBSHADOWPTR(r13)
|
||||
li r12,0
|
||||
std r12,SLBSHADOW_STACKESID(r9) /* Clear ESID */
|
||||
eieio
|
||||
std r7,SLBSHADOW_STACKVSID(r9) /* Save VSID */
|
||||
eieio
|
||||
std r0,SLBSHADOW_STACKESID(r9) /* Save ESID */
|
||||
eieio
|
||||
|
||||
slbie r6
|
||||
slbie r6 /* Workaround POWER5 < DD2.1 issue */
|
||||
|
|
|
@ -1672,8 +1672,9 @@ _GLOBAL(__start_initialization_multiplatform)
|
|||
* Are we booted from a PROM Of-type client-interface ?
|
||||
*/
|
||||
cmpldi cr0,r5,0
|
||||
bne .__boot_from_prom /* yes -> prom */
|
||||
|
||||
beq 1f
|
||||
b .__boot_from_prom /* yes -> prom */
|
||||
1:
|
||||
/* Save parameters */
|
||||
mr r31,r3
|
||||
mr r30,r4
|
||||
|
@ -1701,7 +1702,7 @@ _GLOBAL(__start_initialization_multiplatform)
|
|||
bl .__mmu_off
|
||||
b .__after_prom_start
|
||||
|
||||
_STATIC(__boot_from_prom)
|
||||
_INIT_STATIC(__boot_from_prom)
|
||||
/* Save parameters */
|
||||
mr r31,r3
|
||||
mr r30,r4
|
||||
|
@ -1768,9 +1769,10 @@ _STATIC(__after_prom_start)
|
|||
/* the source addr */
|
||||
|
||||
cmpdi r4,0 /* In some cases the loader may */
|
||||
beq .start_here_multiplatform /* have already put us at zero */
|
||||
bne 1f
|
||||
b .start_here_multiplatform /* have already put us at zero */
|
||||
/* so we can skip the copy. */
|
||||
LOAD_REG_IMMEDIATE(r5,copy_to_here) /* # bytes of memory to copy */
|
||||
1: LOAD_REG_IMMEDIATE(r5,copy_to_here) /* # bytes of memory to copy */
|
||||
sub r5,r5,r27
|
||||
|
||||
li r6,0x100 /* Start offset, the first 0x100 */
|
||||
|
@ -1957,7 +1959,7 @@ _GLOBAL(enable_64b_mode)
|
|||
/*
|
||||
* This is where the main kernel code starts.
|
||||
*/
|
||||
_STATIC(start_here_multiplatform)
|
||||
_INIT_STATIC(start_here_multiplatform)
|
||||
/* get a new offset, now that the kernel has moved. */
|
||||
bl .reloc_offset
|
||||
mr r26,r3
|
||||
|
@ -2019,7 +2021,7 @@ _STATIC(start_here_multiplatform)
|
|||
b . /* prevent speculative execution */
|
||||
|
||||
/* This is where all platforms converge execution */
|
||||
_STATIC(start_here_common)
|
||||
_INIT_STATIC(start_here_common)
|
||||
/* relocation is on at this point */
|
||||
|
||||
/* The following code sets up the SP and TOC now that we are */
|
||||
|
|
|
@ -301,9 +301,19 @@ _GLOBAL(_tlbie)
|
|||
mfspr r4,SPRN_MMUCR
|
||||
mfspr r5,SPRN_PID /* Get PID */
|
||||
rlwimi r4,r5,0,24,31 /* Set TID */
|
||||
mtspr SPRN_MMUCR,r4
|
||||
|
||||
/* We have to run the search with interrupts disabled, even critical
|
||||
* and debug interrupts (in fact the only critical exceptions we have
|
||||
* are debug and machine check). Otherwise an interrupt which causes
|
||||
* a TLB miss can clobber the MMUCR between the mtspr and the tlbsx. */
|
||||
mfmsr r5
|
||||
lis r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@ha
|
||||
addi r6,r6,(MSR_EE|MSR_CE|MSR_ME|MSR_DE)@l
|
||||
andc r6,r5,r6
|
||||
mtmsr r6
|
||||
mtspr SPRN_MMUCR,r4
|
||||
tlbsx. r3, 0, r3
|
||||
mtmsr r5
|
||||
bne 10f
|
||||
sync
|
||||
/* There are only 64 TLB entries, so r3 < 64,
|
||||
|
|
|
@ -581,8 +581,11 @@ pcibios_assign_resources(void)
|
|||
if ((r->flags & IORESOURCE_UNSET) && r->end &&
|
||||
(!ppc_md.pcibios_enable_device_hook ||
|
||||
!ppc_md.pcibios_enable_device_hook(dev, 1))) {
|
||||
int rc;
|
||||
|
||||
r->flags &= ~IORESOURCE_UNSET;
|
||||
pci_assign_resource(dev, idx);
|
||||
rc = pci_assign_resource(dev, idx);
|
||||
BUG_ON(rc);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -313,6 +313,7 @@ struct pci_dev *of_create_pci_dev(struct device_node *node,
|
|||
|
||||
dev->current_state = 4; /* unknown power state */
|
||||
dev->error_state = pci_channel_io_normal;
|
||||
dev->dma_mask = 0xffffffff;
|
||||
|
||||
if (!strcmp(type, "pci") || !strcmp(type, "pciex")) {
|
||||
/* a PCI-PCI bridge */
|
||||
|
|
|
@ -212,11 +212,6 @@ int smp_call_function_map(void (*func) (void *info), void *info, int nonatomic,
|
|||
atomic_set(&data.finished, 0);
|
||||
|
||||
spin_lock(&call_lock);
|
||||
/* Must grab online cpu count with preempt disabled, otherwise
|
||||
* it can change. */
|
||||
num_cpus = num_online_cpus() - 1;
|
||||
if (!num_cpus)
|
||||
goto done;
|
||||
|
||||
/* remove 'self' from the map */
|
||||
if (cpu_isset(smp_processor_id(), map))
|
||||
|
@ -224,7 +219,9 @@ int smp_call_function_map(void (*func) (void *info), void *info, int nonatomic,
|
|||
|
||||
/* sanity check the map, remove any non-online processors. */
|
||||
cpus_and(map, map, cpu_online_map);
|
||||
if (cpus_empty(map))
|
||||
|
||||
num_cpus = cpus_weight(map);
|
||||
if (!num_cpus)
|
||||
goto done;
|
||||
|
||||
call_data = &data;
|
||||
|
|
|
@ -299,7 +299,7 @@ static inline int check_io_access(struct pt_regs *regs)
|
|||
#ifndef CONFIG_FSL_BOOKE
|
||||
#define get_mc_reason(regs) ((regs)->dsisr)
|
||||
#else
|
||||
#define get_mc_reason(regs) (mfspr(SPRN_MCSR))
|
||||
#define get_mc_reason(regs) (mfspr(SPRN_MCSR) & MCSR_MASK)
|
||||
#endif
|
||||
#define REASON_FP ESR_FP
|
||||
#define REASON_ILLEGAL (ESR_PIL | ESR_PUO)
|
||||
|
@ -414,8 +414,6 @@ void machine_check_exception(struct pt_regs *regs)
|
|||
printk("Data Cache Push Parity Error\n");
|
||||
if (reason & MCSR_DCPERR)
|
||||
printk("Data Cache Parity Error\n");
|
||||
if (reason & MCSR_GL_CI)
|
||||
printk("Guarded Load or Cache-Inhibited stwcx.\n");
|
||||
if (reason & MCSR_BUS_IAERR)
|
||||
printk("Bus - Instruction Address Error\n");
|
||||
if (reason & MCSR_BUS_RAERR)
|
||||
|
|
|
@ -472,10 +472,12 @@ _GLOBAL(htab_call_hpte_insert1)
|
|||
/* Now try secondary slot */
|
||||
|
||||
/* real page number in r5, PTE RPN value + index */
|
||||
rldicl r5,r31,64-PTE_RPN_SHIFT,PTE_RPN_SHIFT
|
||||
andis. r0,r31,_PAGE_4K_PFN@h
|
||||
srdi r5,r31,PTE_RPN_SHIFT
|
||||
bne- 3f
|
||||
sldi r5,r5,PAGE_SHIFT-HW_PAGE_SHIFT
|
||||
add r5,r5,r25
|
||||
sldi r5,r5,HW_PAGE_SHIFT
|
||||
3: sldi r5,r5,HW_PAGE_SHIFT
|
||||
|
||||
/* Calculate secondary group hash */
|
||||
andc r0,r27,r28
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue