Merge branch 'x86/urgent' into x86/apic

Conflicts:
	arch/x86/mach-default/setup.c

Semantic merge:
	arch/x86/kernel/irqinit_32.c

Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
Ingo Molnar 2009-01-31 17:32:31 +01:00
Родитель a146649bc1 0cd5c3c80a
Коммит 9d45cf9e36
431 изменённых файлов: 5928 добавлений и 2993 удалений

Просмотреть файл

@ -33,10 +33,12 @@ o Gnu make 3.79.1 # make --version
o binutils 2.12 # ld -v o binutils 2.12 # ld -v
o util-linux 2.10o # fdformat --version o util-linux 2.10o # fdformat --version
o module-init-tools 0.9.10 # depmod -V o module-init-tools 0.9.10 # depmod -V
o e2fsprogs 1.29 # tune2fs o e2fsprogs 1.41.4 # e2fsck -V
o jfsutils 1.1.3 # fsck.jfs -V o jfsutils 1.1.3 # fsck.jfs -V
o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs o reiserfsprogs 3.6.3 # reiserfsck -V 2>&1|grep reiserfsprogs
o xfsprogs 2.6.0 # xfs_db -V o xfsprogs 2.6.0 # xfs_db -V
o squashfs-tools 4.0 # mksquashfs -version
o btrfs-progs 0.18 # btrfsck
o pcmciautils 004 # pccardctl -V o pcmciautils 004 # pccardctl -V
o quota-tools 3.09 # quota -V o quota-tools 3.09 # quota -V
o PPP 2.4.0 # pppd --version o PPP 2.4.0 # pppd --version

Просмотреть файл

@ -483,17 +483,25 @@ values. To do the latter, you can stick the following in your .emacs file:
(* (max steps 1) (* (max steps 1)
c-basic-offset))) c-basic-offset)))
(add-hook 'c-mode-common-hook
(lambda ()
;; Add kernel style
(c-add-style
"linux-tabs-only"
'("linux" (c-offsets-alist
(arglist-cont-nonempty
c-lineup-gcc-asm-reg
c-lineup-arglist-tabs-only))))))
(add-hook 'c-mode-hook (add-hook 'c-mode-hook
(lambda () (lambda ()
(let ((filename (buffer-file-name))) (let ((filename (buffer-file-name)))
;; Enable kernel mode for the appropriate files ;; Enable kernel mode for the appropriate files
(when (and filename (when (and filename
(string-match "~/src/linux-trees" filename)) (string-match (expand-file-name "~/src/linux-trees")
filename))
(setq indent-tabs-mode t) (setq indent-tabs-mode t)
(c-set-style "linux") (c-set-style "linux-tabs-only")))))
(c-set-offset 'arglist-cont-nonempty
'(c-lineup-gcc-asm-reg
c-lineup-arglist-tabs-only))))))
This will make emacs go better with the kernel coding style for C This will make emacs go better with the kernel coding style for C
files below ~/src/linux-trees. files below ~/src/linux-trees.

Просмотреть файл

@ -5,7 +5,7 @@
This document describes the DMA API. For a more gentle introduction This document describes the DMA API. For a more gentle introduction
phrased in terms of the pci_ equivalents (and actual examples) see phrased in terms of the pci_ equivalents (and actual examples) see
DMA-mapping.txt Documentation/PCI/PCI-DMA-mapping.txt.
This API is split into two pieces. Part I describes the API and the This API is split into two pieces. Part I describes the API and the
corresponding pci_ API. Part II describes the extensions to the API corresponding pci_ API. Part II describes the extensions to the API

Просмотреть файл

@ -41,6 +41,12 @@ GPL version 2.
</abstract> </abstract>
<revhistory> <revhistory>
<revision>
<revnumber>0.7</revnumber>
<date>2008-12-23</date>
<authorinitials>hjk</authorinitials>
<revremark>Added generic platform drivers and offset attribute.</revremark>
</revision>
<revision> <revision>
<revnumber>0.6</revnumber> <revnumber>0.6</revnumber>
<date>2008-12-05</date> <date>2008-12-05</date>
@ -312,6 +318,16 @@ interested in translating it, please email me
pointed to by addr. pointed to by addr.
</para> </para>
</listitem> </listitem>
<listitem>
<para>
<filename>offset</filename>: The offset, in bytes, that has to be
added to the pointer returned by <function>mmap()</function> to get
to the actual device memory. This is important if the device's memory
is not page aligned. Remember that pointers returned by
<function>mmap()</function> are always page aligned, so it is good
style to always add this offset.
</para>
</listitem>
</itemizedlist> </itemizedlist>
<para> <para>
@ -594,6 +610,78 @@ framework to set up sysfs files for this region. Simply leave it alone.
</para> </para>
</sect1> </sect1>
<sect1 id="using_uio_pdrv">
<title>Using uio_pdrv for platform devices</title>
<para>
In many cases, UIO drivers for platform devices can be handled in a
generic way. In the same place where you define your
<varname>struct platform_device</varname>, you simply also implement
your interrupt handler and fill your
<varname>struct uio_info</varname>. A pointer to this
<varname>struct uio_info</varname> is then used as
<varname>platform_data</varname> for your platform device.
</para>
<para>
You also need to set up an array of <varname>struct resource</varname>
containing addresses and sizes of your memory mappings. This
information is passed to the driver using the
<varname>.resource</varname> and <varname>.num_resources</varname>
elements of <varname>struct platform_device</varname>.
</para>
<para>
You now have to set the <varname>.name</varname> element of
<varname>struct platform_device</varname> to
<varname>"uio_pdrv"</varname> to use the generic UIO platform device
driver. This driver will fill the <varname>mem[]</varname> array
according to the resources given, and register the device.
</para>
<para>
The advantage of this approach is that you only have to edit a file
you need to edit anyway. You do not have to create an extra driver.
</para>
</sect1>
<sect1 id="using_uio_pdrv_genirq">
<title>Using uio_pdrv_genirq for platform devices</title>
<para>
Especially in embedded devices, you frequently find chips where the
irq pin is tied to its own dedicated interrupt line. In such cases,
where you can be really sure the interrupt is not shared, we can take
the concept of <varname>uio_pdrv</varname> one step further and use a
generic interrupt handler. That's what
<varname>uio_pdrv_genirq</varname> does.
</para>
<para>
The setup for this driver is the same as described above for
<varname>uio_pdrv</varname>, except that you do not implement an
interrupt handler. The <varname>.handler</varname> element of
<varname>struct uio_info</varname> must remain
<varname>NULL</varname>. The <varname>.irq_flags</varname> element
must not contain <varname>IRQF_SHARED</varname>.
</para>
<para>
You will set the <varname>.name</varname> element of
<varname>struct platform_device</varname> to
<varname>"uio_pdrv_genirq"</varname> to use this driver.
</para>
<para>
The generic interrupt handler of <varname>uio_pdrv_genirq</varname>
will simply disable the interrupt line using
<function>disable_irq_nosync()</function>. After doing its work,
userspace can reenable the interrupt by writing 0x00000001 to the UIO
device file. The driver already implements an
<function>irq_control()</function> to make this possible, you must not
implement your own.
</para>
<para>
Using <varname>uio_pdrv_genirq</varname> not only saves a few lines of
interrupt handler code. You also do not need to know anything about
the chip's internal registers to create the kernel part of the driver.
All you need to know is the irq number of the pin the chip is
connected to.
</para>
</sect1>
</chapter> </chapter>
<chapter id="userspace_driver" xreflabel="Writing a driver in user space"> <chapter id="userspace_driver" xreflabel="Writing a driver in user space">

Просмотреть файл

@ -1,6 +1,6 @@
[ NOTE: The virt_to_bus() and bus_to_virt() functions have been [ NOTE: The virt_to_bus() and bus_to_virt() functions have been
superseded by the functionality provided by the PCI DMA superseded by the functionality provided by the PCI DMA interface
interface (see Documentation/DMA-mapping.txt). They continue (see Documentation/PCI/PCI-DMA-mapping.txt). They continue
to be documented below for historical purposes, but new code to be documented below for historical purposes, but new code
must not use them. --davidm 00/12/12 ] must not use them. --davidm 00/12/12 ]

Просмотреть файл

@ -186,8 +186,9 @@ a virtual address mapping (unlike the earlier scheme of virtual address
do not have a corresponding kernel virtual address space mapping) and do not have a corresponding kernel virtual address space mapping) and
low-memory pages. low-memory pages.
Note: Please refer to DMA-mapping.txt for a discussion on PCI high mem DMA Note: Please refer to Documentation/PCI/PCI-DMA-mapping.txt for a discussion
aspects and mapping of scatter gather lists, and support for 64 bit PCI. on PCI high mem DMA aspects and mapping of scatter gather lists, and support
for 64 bit PCI.
Special handling is required only for cases where i/o needs to happen on Special handling is required only for cases where i/o needs to happen on
pages at physical memory addresses beyond what the device can support. In these pages at physical memory addresses beyond what the device can support. In these
@ -953,14 +954,14 @@ elevator_allow_merge_fn called whenever the block layer determines
results in some sort of conflict internally, results in some sort of conflict internally,
this hook allows it to do that. this hook allows it to do that.
elevator_dispatch_fn fills the dispatch queue with ready requests. elevator_dispatch_fn* fills the dispatch queue with ready requests.
I/O schedulers are free to postpone requests by I/O schedulers are free to postpone requests by
not filling the dispatch queue unless @force not filling the dispatch queue unless @force
is non-zero. Once dispatched, I/O schedulers is non-zero. Once dispatched, I/O schedulers
are not allowed to manipulate the requests - are not allowed to manipulate the requests -
they belong to generic dispatch queue. they belong to generic dispatch queue.
elevator_add_req_fn called to add a new request into the scheduler elevator_add_req_fn* called to add a new request into the scheduler
elevator_queue_empty_fn returns true if the merge queue is empty. elevator_queue_empty_fn returns true if the merge queue is empty.
Drivers shouldn't use this, but rather check Drivers shouldn't use this, but rather check
@ -990,7 +991,7 @@ elevator_activate_req_fn Called when device driver first sees a request.
elevator_deactivate_req_fn Called when device driver decides to delay elevator_deactivate_req_fn Called when device driver decides to delay
a request by requeueing it. a request by requeueing it.
elevator_init_fn elevator_init_fn*
elevator_exit_fn Allocate and free any elevator specific storage elevator_exit_fn Allocate and free any elevator specific storage
for a queue. for a queue.

Просмотреть файл

@ -0,0 +1,63 @@
Queue sysfs files
=================
This text file will detail the queue files that are located in the sysfs tree
for each block device. Note that stacked devices typically do not export
any settings, since their queue merely functions are a remapping target.
These files are the ones found in the /sys/block/xxx/queue/ directory.
Files denoted with a RO postfix are readonly and the RW postfix means
read-write.
hw_sector_size (RO)
-------------------
This is the hardware sector size of the device, in bytes.
max_hw_sectors_kb (RO)
----------------------
This is the maximum number of kilobytes supported in a single data transfer.
max_sectors_kb (RW)
-------------------
This is the maximum number of kilobytes that the block layer will allow
for a filesystem request. Must be smaller than or equal to the maximum
size allowed by the hardware.
nomerges (RW)
-------------
This enables the user to disable the lookup logic involved with IO merging
requests in the block layer. Merging may still occur through a direct
1-hit cache, since that comes for (almost) free. The IO scheduler will not
waste cycles doing tree/hash lookups for merges if nomerges is 1. Defaults
to 0, enabling all merges.
nr_requests (RW)
----------------
This controls how many requests may be allocated in the block layer for
read or write requests. Note that the total allocated number may be twice
this amount, since it applies only to reads or writes (not the accumulated
sum).
read_ahead_kb (RW)
------------------
Maximum number of kilobytes to read-ahead for filesystems on this block
device.
rq_affinity (RW)
----------------
If this option is enabled, the block layer will migrate request completions
to the CPU that originally submitted the request. For some workloads
this provides a significant reduction in CPU cycles due to caching effects.
scheduler (RW)
--------------
When read, this file will display the current and available IO schedulers
for this block device. The currently active IO scheduler will be enclosed
in [] brackets. Writing an IO scheduler name to this file will switch
control of this block device to that new IO scheduler. Note that writing
an IO scheduler name to this file will attempt to load that IO scheduler
module, if it isn't already present in the system.
Jens Axboe <jens.axboe@oracle.com>, February 2009

Просмотреть файл

@ -1,6 +1,6 @@
Memory Resource Controller(Memcg) Implementation Memo. Memory Resource Controller(Memcg) Implementation Memo.
Last Updated: 2008/12/15 Last Updated: 2009/1/19
Base Kernel Version: based on 2.6.28-rc8-mm. Base Kernel Version: based on 2.6.29-rc2.
Because VM is getting complex (one of reasons is memcg...), memcg's behavior Because VM is getting complex (one of reasons is memcg...), memcg's behavior
is complex. This is a document for memcg's internal behavior. is complex. This is a document for memcg's internal behavior.
@ -340,3 +340,23 @@ Under below explanation, we assume CONFIG_MEM_RES_CTRL_SWAP=y.
# mount -t cgroup none /cgroup -t cpuset,memory,cpu,devices # mount -t cgroup none /cgroup -t cpuset,memory,cpu,devices
and do task move, mkdir, rmdir etc...under this. and do task move, mkdir, rmdir etc...under this.
9.7 swapoff.
Besides management of swap is one of complicated parts of memcg,
call path of swap-in at swapoff is not same as usual swap-in path..
It's worth to be tested explicitly.
For example, test like following is good.
(Shell-A)
# mount -t cgroup none /cgroup -t memory
# mkdir /cgroup/test
# echo 40M > /cgroup/test/memory.limit_in_bytes
# echo 0 > /cgroup/test/tasks
Run malloc(100M) program under this. You'll see 60M of swaps.
(Shell-B)
# move all tasks in /cgroup/test to /cgroup
# /sbin/swapoff -a
# rmdir /test/cgroup
# kill malloc task.
Of course, tmpfs v.s. swapoff test should be tested, too.

Просмотреть файл

@ -2027,6 +2027,34 @@ increase the likelihood of this process being killed by the oom-killer. Valid
values are in the range -16 to +15, plus the special value -17, which disables values are in the range -16 to +15, plus the special value -17, which disables
oom-killing altogether for this process. oom-killing altogether for this process.
The process to be killed in an out-of-memory situation is selected among all others
based on its badness score. This value equals the original memory size of the process
and is then updated according to its CPU time (utime + stime) and the
run time (uptime - start time). The longer it runs the smaller is the score.
Badness score is divided by the square root of the CPU time and then by
the double square root of the run time.
Swapped out tasks are killed first. Half of each child's memory size is added to
the parent's score if they do not share the same memory. Thus forking servers
are the prime candidates to be killed. Having only one 'hungry' child will make
parent less preferable than the child.
/proc/<pid>/oom_score shows process' current badness score.
The following heuristics are then applied:
* if the task was reniced, its score doubles
* superuser or direct hardware access tasks (CAP_SYS_ADMIN, CAP_SYS_RESOURCE
or CAP_SYS_RAWIO) have their score divided by 4
* if oom condition happened in one cpuset and checked task does not belong
to it, its score is divided by 8
* the resulting score is multiplied by two to the power of oom_adj, i.e.
points <<= oom_adj when it is positive and
points >>= -(oom_adj) otherwise
The task with the highest badness score is then selected and its children
are killed, process itself will be killed in an OOM situation when it does
not have children or some of them disabled oom like described above.
2.13 /proc/<pid>/oom_score - Display current oom-killer score 2.13 /proc/<pid>/oom_score - Display current oom-killer score
------------------------------------------------------------- -------------------------------------------------------------

Просмотреть файл

@ -12,11 +12,11 @@ file at first.
================================== ==================================
これは、 これは、
linux-2.6.24/Documentation/stable_kernel_rules.txt linux-2.6.29/Documentation/stable_kernel_rules.txt
の和訳です。 の和訳です。
翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ > 翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
翻訳日: 2007/12/30 翻訳日: 2009/1/14
翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com> 翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
校正者: 武井伸光さん、<takei at webmasters dot gr dot jp> 校正者: 武井伸光さん、<takei at webmasters dot gr dot jp>
かねこさん (Seiji Kaneko) <skaneko at a2 dot mbn dot or dot jp> かねこさん (Seiji Kaneko) <skaneko at a2 dot mbn dot or dot jp>
@ -38,12 +38,15 @@ linux-2.6.24/Documentation/stable_kernel_rules.txt
- ビルドエラー(CONFIG_BROKENになっているものを除く), oops, ハング、デー - ビルドエラー(CONFIG_BROKENになっているものを除く), oops, ハング、デー
タ破壊、現実のセキュリティ問題、その他 "ああ、これはダメだね"という タ破壊、現実のセキュリティ問題、その他 "ああ、これはダメだね"という
ようなものを修正しなければならない。短く言えば、重大な問題。 ようなものを修正しなければならない。短く言えば、重大な問題。
- 新しい device ID とクオークも受け入れられる。
- どのように競合状態が発生するかの説明も一緒に書かれていない限り、 - どのように競合状態が発生するかの説明も一緒に書かれていない限り、
"理論的には競合状態になる"ようなものは不可。 "理論的には競合状態になる"ようなものは不可。
- いかなる些細な修正も含めることはできない。(スペルの修正、空白のクリー - いかなる些細な修正も含めることはできない。(スペルの修正、空白のクリー
ンアップなど) ンアップなど)
- 対応するサブシステムメンテナが受け入れたものでなければならない。
- Documentation/SubmittingPatches の規則に従ったものでなければならない。 - Documentation/SubmittingPatches の規則に従ったものでなければならない。
- パッチ自体か同等の修正が Linus のツリーに既に存在しなければならない。
  Linus のツリーでのコミットID を -stable へのパッチ投稿の際に引用す
ること。
-stable ツリーにパッチを送付する手続き- -stable ツリーにパッチを送付する手続き-
@ -52,8 +55,10 @@ linux-2.6.24/Documentation/stable_kernel_rules.txt
- 送信者はパッチがキューに受け付けられた際には ACK を、却下された場合 - 送信者はパッチがキューに受け付けられた際には ACK を、却下された場合
には NAK を受け取る。この反応は開発者たちのスケジュールによって、数 には NAK を受け取る。この反応は開発者たちのスケジュールによって、数
日かかる場合がある。 日かかる場合がある。
- もし受け取られたら、パッチは他の開発者たちのレビューのために - もし受け取られたら、パッチは他の開発者たちと関連するサブシステムの
-stable キューに追加される。 メンテナーによるレビューのために -stable キューに追加される。
- パッチに stable@kernel.org のアドレスが付加されているときには、それ
が Linus のツリーに入る時に自動的に stable チームに email される。
- セキュリティパッチはこのエイリアス (stable@kernel.org) に送られるべ - セキュリティパッチはこのエイリアス (stable@kernel.org) に送られるべ
きではなく、代わりに security@kernel.org のアドレスに送られる。 きではなく、代わりに security@kernel.org のアドレスに送られる。

Просмотреть файл

@ -937,6 +937,8 @@ and is between 256 and 4096 characters. It is defined in the file
intel_iommu= [DMAR] Intel IOMMU driver (DMAR) option intel_iommu= [DMAR] Intel IOMMU driver (DMAR) option
on
Enable intel iommu driver.
off off
Disable intel iommu driver. Disable intel iommu driver.
igfx_off [Default Off] igfx_off [Default Off]

Просмотреть файл

@ -1,5 +1,5 @@
# This creates the demonstration utility "lguest" which runs a Linux guest. # This creates the demonstration utility "lguest" which runs a Linux guest.
CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include CFLAGS:=-Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE
LDLIBS:=-lz LDLIBS:=-lz
all: lguest all: lguest

Просмотреть файл

@ -2,14 +2,14 @@
IP-Aliasing: IP-Aliasing:
============ ============
IP-aliases are additional IP-addresses/masks hooked up to a base IP-aliases are an obsolete way to manage multiple IP-addresses/masks
interface by adding a colon and a string when running ifconfig. per interface. Newer tools such as iproute2 support multiple
address/prefixes per interface, but aliases are still supported
for backwards compatibility.
An alias is formed by adding a colon and a string when running ifconfig.
This string is usually numeric, but this is not a must. This string is usually numeric, but this is not a must.
IP-Aliases are avail if CONFIG_INET (`standard' IPv4 networking)
is configured in the kernel.
o Alias creation. o Alias creation.
Alias creation is done by 'magic' interface naming: eg. to create a Alias creation is done by 'magic' interface naming: eg. to create a
200.1.1.1 alias for eth0 ... 200.1.1.1 alias for eth0 ...
@ -38,16 +38,3 @@ o Relationship with main device
If the base device is shut down the added aliases will be deleted If the base device is shut down the added aliases will be deleted
too. too.
Contact
-------
Please finger or e-mail me:
Juan Jose Ciarlante <jjciarla@raiz.uncu.edu.ar>
Updated by Erik Schoenfelder <schoenfr@gaertner.DE>
; local variables:
; mode: indented-text
; mode: auto-fill
; end:

Просмотреть файл

@ -0,0 +1,180 @@
MPC5200 Device Tree Bindings
----------------------------
(c) 2006-2009 Secret Lab Technologies Ltd
Grant Likely <grant.likely@secretlab.ca>
Naming conventions
------------------
For mpc5200 on-chip devices, the format for each compatible value is
<chip>-<device>[-<mode>]. The OS should be able to match a device driver
to the device based solely on the compatible value. If two drivers
match on the compatible list; the 'most compatible' driver should be
selected.
The split between the MPC5200 and the MPC5200B leaves a bit of a
conundrum. How should the compatible property be set up to provide
maximum compatibility information; but still accurately describe the
chip? For the MPC5200; the answer is easy. Most of the SoC devices
originally appeared on the MPC5200. Since they didn't exist anywhere
else; the 5200 compatible properties will contain only one item;
"fsl,mpc5200-<device>".
The 5200B is almost the same as the 5200, but not quite. It fixes
silicon bugs and it adds a small number of enhancements. Most of the
devices either provide exactly the same interface as on the 5200. A few
devices have extra functions but still have a backwards compatible mode.
To express this information as completely as possible, 5200B device trees
should have two items in the compatible list:
compatible = "fsl,mpc5200b-<device>","fsl,mpc5200-<device>";
It is *strongly* recommended that 5200B device trees follow this convention
(instead of only listing the base mpc5200 item).
ie. ethernet on mpc5200: compatible = "fsl,mpc5200-fec";
ethernet on mpc5200b: compatible = "fsl,mpc5200b-fec", "fsl,mpc5200-fec";
Modal devices, like PSCs, also append the configured function to the
end of the compatible field. ie. A PSC in i2s mode would specify
"fsl,mpc5200-psc-i2s", not "fsl,mpc5200-i2s". This convention is chosen to
avoid naming conflicts with non-psc devices providing the same
function. For example, "fsl,mpc5200-spi" and "fsl,mpc5200-psc-spi" describe
the mpc5200 simple spi device and a PSC spi mode respectively.
At the time of writing, exact chip may be either 'fsl,mpc5200' or
'fsl,mpc5200b'.
The soc node
------------
This node describes the on chip SOC peripherals. Every mpc5200 based
board will have this node, and as such there is a common naming
convention for SOC devices.
Required properties:
name description
---- -----------
ranges Memory range of the internal memory mapped registers.
Should be <0 [baseaddr] 0xc000>
reg Should be <[baseaddr] 0x100>
compatible mpc5200: "fsl,mpc5200-immr"
mpc5200b: "fsl,mpc5200b-immr"
system-frequency 'fsystem' frequency in Hz; XLB, IPB, USB and PCI
clocks are derived from the fsystem clock.
bus-frequency IPB bus frequency in Hz. Clock rate
used by most of the soc devices.
soc child nodes
---------------
Any on chip SOC devices available to Linux must appear as soc5200 child nodes.
Note: The tables below show the value for the mpc5200. A mpc5200b device
tree should use the "fsl,mpc5200b-<device>","fsl,mpc5200-<device>" form.
Required soc5200 child nodes:
name compatible Description
---- ---------- -----------
cdm@<addr> fsl,mpc5200-cdm Clock Distribution
interrupt-controller@<addr> fsl,mpc5200-pic need an interrupt
controller to boot
bestcomm@<addr> fsl,mpc5200-bestcomm Bestcomm DMA controller
Recommended soc5200 child nodes; populate as needed for your board
name compatible Description
---- ---------- -----------
timer@<addr> fsl,mpc5200-gpt General purpose timers
gpio@<addr> fsl,mpc5200-gpio MPC5200 simple gpio controller
gpio@<addr> fsl,mpc5200-gpio-wkup MPC5200 wakeup gpio controller
rtc@<addr> fsl,mpc5200-rtc Real time clock
mscan@<addr> fsl,mpc5200-mscan CAN bus controller
pci@<addr> fsl,mpc5200-pci PCI bridge
serial@<addr> fsl,mpc5200-psc-uart PSC in serial mode
i2s@<addr> fsl,mpc5200-psc-i2s PSC in i2s mode
ac97@<addr> fsl,mpc5200-psc-ac97 PSC in ac97 mode
spi@<addr> fsl,mpc5200-psc-spi PSC in spi mode
irda@<addr> fsl,mpc5200-psc-irda PSC in IrDA mode
spi@<addr> fsl,mpc5200-spi MPC5200 spi device
ethernet@<addr> fsl,mpc5200-fec MPC5200 ethernet device
ata@<addr> fsl,mpc5200-ata IDE ATA interface
i2c@<addr> fsl,mpc5200-i2c I2C controller
usb@<addr> fsl,mpc5200-ohci,ohci-be USB controller
xlb@<addr> fsl,mpc5200-xlb XLB arbitrator
fsl,mpc5200-gpt nodes
---------------------
On the mpc5200 and 5200b, GPT0 has a watchdog timer function. If the board
design supports the internal wdt, then the device node for GPT0 should
include the empty property 'fsl,has-wdt'.
An mpc5200-gpt can be used as a single line GPIO controller. To do so,
add the following properties to the gpt node:
gpio-controller;
#gpio-cells = <2>;
When referencing the GPIO line from another node, the first cell must always
be zero and the second cell represents the gpio flags and described in the
gpio device tree binding.
An mpc5200-gpt can be used as a single line edge sensitive interrupt
controller. To do so, add the following properties to the gpt node:
interrupt-controller;
#interrupt-cells = <1>;
When referencing the IRQ line from another node, the cell represents the
sense mode; 1 for edge rising, 2 for edge falling.
fsl,mpc5200-psc nodes
---------------------
The PSCs should include a cell-index which is the index of the PSC in
hardware. cell-index is used to determine which shared SoC registers to
use when setting up PSC clocking. cell-index number starts at '0'. ie:
PSC1 has 'cell-index = <0>'
PSC4 has 'cell-index = <3>'
PSC in i2s mode: The mpc5200 and mpc5200b PSCs are not compatible when in
i2s mode. An 'mpc5200b-psc-i2s' node cannot include 'mpc5200-psc-i2s' in the
compatible field.
fsl,mpc5200-gpio and fsl,mpc5200-gpio-wkup nodes
------------------------------------------------
Each GPIO controller node should have the empty property gpio-controller and
#gpio-cells set to 2. First cell is the GPIO number which is interpreted
according to the bit numbers in the GPIO control registers. The second cell
is for flags which is currently unused.
fsl,mpc5200-fec nodes
---------------------
The FEC node can specify one of the following properties to configure
the MII link:
- fsl,7-wire-mode - An empty property that specifies the link uses 7-wire
mode instead of MII
- current-speed - Specifies that the MII should be configured for a fixed
speed. This property should contain two cells. The
first cell specifies the speed in Mbps and the second
should be '0' for half duplex and '1' for full duplex
- phy-handle - Contains a phandle to an Ethernet PHY.
Interrupt controller (fsl,mpc5200-pic) node
-------------------------------------------
The mpc5200 pic binding splits hardware IRQ numbers into two levels. The
split reflects the layout of the PIC hardware itself, which groups
interrupts into one of three groups; CRIT, MAIN or PERP. Also, the
Bestcomm dma engine has it's own set of interrupt sources which are
cascaded off of peripheral interrupt 0, which the driver interprets as a
fourth group, SDMA.
The interrupts property for device nodes using the mpc5200 pic consists
of three cells; <L1 L2 level>
L1 := [CRIT=0, MAIN=1, PERP=2, SDMA=3]
L2 := interrupt number; directly mapped from the value in the
"ICTL PerStat, MainStat, CritStat Encoded Register"
level := [LEVEL_HIGH=0, EDGE_RISING=1, EDGE_FALLING=2, LEVEL_LOW=3]
For external IRQs, use the following interrupt property values (how to
specify external interrupts is a frequently asked question):
External interrupts:
external irq0: interrupts = <0 0 n>;
external irq1: interrupts = <1 1 n>;
external irq2: interrupts = <1 2 n>;
external irq3: interrupts = <1 3 n>;
'n' is sense (0: level high, 1: edge rising, 2: edge falling 3: level low)

Просмотреть файл

@ -1,277 +0,0 @@
MPC5200 Device Tree Bindings
----------------------------
(c) 2006-2007 Secret Lab Technologies Ltd
Grant Likely <grant.likely at secretlab.ca>
********** DRAFT ***********
* WARNING: Do not depend on the stability of these bindings just yet.
* The MPC5200 device tree conventions are still in flux
* Keep an eye on the linuxppc-dev mailing list for more details
********** DRAFT ***********
I - Introduction
================
Boards supported by the arch/powerpc architecture require device tree be
passed by the boot loader to the kernel at boot time. The device tree
describes what devices are present on the board and how they are
connected. The device tree can either be passed as a binary blob (as
described in Documentation/powerpc/booting-without-of.txt), or passed
by Open Firmware (IEEE 1275) compatible firmware using an OF compatible
client interface API.
This document specifies the requirements on the device-tree for mpc5200
based boards. These requirements are above and beyond the details
specified in either the Open Firmware spec or booting-without-of.txt
All new mpc5200-based boards are expected to match this document. In
cases where this document is not sufficient to support a new board port,
this document should be updated as part of adding the new board support.
II - Philosophy
===============
The core of this document is naming convention. The whole point of
defining this convention is to reduce or eliminate the number of
special cases required to support a 5200 board. If all 5200 boards
follow the same convention, then generic 5200 support code will work
rather than coding special cases for each new board.
This section tries to capture the thought process behind why the naming
convention is what it is.
1. names
---------
There is strong convention/requirements already established for children
of the root node. 'cpus' describes the processor cores, 'memory'
describes memory, and 'chosen' provides boot configuration. Other nodes
are added to describe devices attached to the processor local bus.
Following convention already established with other system-on-chip
processors, 5200 device trees should use the name 'soc5200' for the
parent node of on chip devices, and the root node should be its parent.
Child nodes are typically named after the configured function. ie.
the FEC node is named 'ethernet', and a PSC in uart mode is named 'serial'.
2. device_type property
-----------------------
similar to the node name convention above; the device_type reflects the
configured function of a device. ie. 'serial' for a uart and 'spi' for
an spi controller. However, while node names *should* reflect the
configured function, device_type *must* match the configured function
exactly.
3. compatible property
----------------------
Since device_type isn't enough to match devices to drivers, there also
needs to be a naming convention for the compatible property. Compatible
is an list of device descriptions sorted from specific to generic. For
the mpc5200, the required format for each compatible value is
<chip>-<device>[-<mode>]. The OS should be able to match a device driver
to the device based solely on the compatible value. If two drivers
match on the compatible list; the 'most compatible' driver should be
selected.
The split between the MPC5200 and the MPC5200B leaves a bit of a
conundrum. How should the compatible property be set up to provide
maximum compatibility information; but still accurately describe the
chip? For the MPC5200; the answer is easy. Most of the SoC devices
originally appeared on the MPC5200. Since they didn't exist anywhere
else; the 5200 compatible properties will contain only one item;
"mpc5200-<device>".
The 5200B is almost the same as the 5200, but not quite. It fixes
silicon bugs and it adds a small number of enhancements. Most of the
devices either provide exactly the same interface as on the 5200. A few
devices have extra functions but still have a backwards compatible mode.
To express this information as completely as possible, 5200B device trees
should have two items in the compatible list;
"mpc5200b-<device>\0mpc5200-<device>". It is *strongly* recommended
that 5200B device trees follow this convention (instead of only listing
the base mpc5200 item).
If another chip appear on the market with one of the mpc5200 SoC
devices, then the compatible list should include mpc5200-<device>.
ie. ethernet on mpc5200: compatible = "mpc5200-ethernet"
ethernet on mpc5200b: compatible = "mpc5200b-ethernet\0mpc5200-ethernet"
Modal devices, like PSCs, also append the configured function to the
end of the compatible field. ie. A PSC in i2s mode would specify
"mpc5200-psc-i2s", not "mpc5200-i2s". This convention is chosen to
avoid naming conflicts with non-psc devices providing the same
function. For example, "mpc5200-spi" and "mpc5200-psc-spi" describe
the mpc5200 simple spi device and a PSC spi mode respectively.
If the soc device is more generic and present on other SOCs, the
compatible property can specify the more generic device type also.
ie. mscan: compatible = "mpc5200-mscan\0fsl,mscan";
At the time of writing, exact chip may be either 'mpc5200' or
'mpc5200b'.
Device drivers should always try to match as generically as possible.
III - Structure
===============
The device tree for an mpc5200 board follows the structure defined in
booting-without-of.txt with the following additional notes:
0) the root node
----------------
Typical root description node; see booting-without-of
1) The cpus node
----------------
The cpus node follows the basic layout described in booting-without-of.
The bus-frequency property holds the XLB bus frequency
The clock-frequency property holds the core frequency
2) The memory node
------------------
Typical memory description node; see booting-without-of.
3) The soc5200 node
-------------------
This node describes the on chip SOC peripherals. Every mpc5200 based
board will have this node, and as such there is a common naming
convention for SOC devices.
Required properties:
name type description
---- ---- -----------
device_type string must be "soc"
ranges int should be <0 baseaddr baseaddr+10000>
reg int must be <baseaddr 10000>
compatible string mpc5200: "mpc5200-soc"
mpc5200b: "mpc5200b-soc\0mpc5200-soc"
system-frequency int Fsystem frequency; source of all
other clocks.
bus-frequency int IPB bus frequency in HZ. Clock rate
used by most of the soc devices.
#interrupt-cells int must be <3>.
Recommended properties:
name type description
---- ---- -----------
model string Exact model of the chip;
ie: model="fsl,mpc5200"
revision string Silicon revision of chip
ie: revision="M08A"
The 'model' and 'revision' properties are *strongly* recommended. Having
them presence acts as a bit of a safety net for working around as yet
undiscovered bugs on one version of silicon. For example, device drivers
can use the model and revision properties to decide if a bug fix should
be turned on.
4) soc5200 child nodes
----------------------
Any on chip SOC devices available to Linux must appear as soc5200 child nodes.
Note: The tables below show the value for the mpc5200. A mpc5200b device
tree should use the "mpc5200b-<device>\0mpc5200-<device> form.
Required soc5200 child nodes:
name device_type compatible Description
---- ----------- ---------- -----------
cdm@<addr> cdm mpc5200-cmd Clock Distribution
pic@<addr> interrupt-controller mpc5200-pic need an interrupt
controller to boot
bestcomm@<addr> dma-controller mpc5200-bestcomm 5200 pic also requires
the bestcomm device
Recommended soc5200 child nodes; populate as needed for your board
name device_type compatible Description
---- ----------- ---------- -----------
gpt@<addr> gpt fsl,mpc5200-gpt General purpose timers
gpt@<addr> gpt fsl,mpc5200-gpt-gpio General purpose
timers in GPIO mode
gpio@<addr> fsl,mpc5200-gpio MPC5200 simple gpio
controller
gpio@<addr> fsl,mpc5200-gpio-wkup MPC5200 wakeup gpio
controller
rtc@<addr> rtc mpc5200-rtc Real time clock
mscan@<addr> mscan mpc5200-mscan CAN bus controller
pci@<addr> pci mpc5200-pci PCI bridge
serial@<addr> serial mpc5200-psc-uart PSC in serial mode
i2s@<addr> sound mpc5200-psc-i2s PSC in i2s mode
ac97@<addr> sound mpc5200-psc-ac97 PSC in ac97 mode
spi@<addr> spi mpc5200-psc-spi PSC in spi mode
irda@<addr> irda mpc5200-psc-irda PSC in IrDA mode
spi@<addr> spi mpc5200-spi MPC5200 spi device
ethernet@<addr> network mpc5200-fec MPC5200 ethernet device
ata@<addr> ata mpc5200-ata IDE ATA interface
i2c@<addr> i2c mpc5200-i2c I2C controller
usb@<addr> usb-ohci-be mpc5200-ohci,ohci-be USB controller
xlb@<addr> xlb mpc5200-xlb XLB arbitrator
Important child node properties
name type description
---- ---- -----------
cell-index int When multiple devices are present, is the
index of the device in the hardware (ie. There
are 6 PSC on the 5200 numbered PSC1 to PSC6)
PSC1 has 'cell-index = <0>'
PSC4 has 'cell-index = <3>'
5) General Purpose Timer nodes (child of soc5200 node)
On the mpc5200 and 5200b, GPT0 has a watchdog timer function. If the board
design supports the internal wdt, then the device node for GPT0 should
include the empty property 'fsl,has-wdt'.
6) PSC nodes (child of soc5200 node)
PSC nodes can define the optional 'port-number' property to force assignment
order of serial ports. For example, PSC5 might be physically connected to
the port labeled 'COM1' and PSC1 wired to 'COM1'. In this case, PSC5 would
have a "port-number = <0>" property, and PSC1 would have "port-number = <1>".
PSC in i2s mode: The mpc5200 and mpc5200b PSCs are not compatible when in
i2s mode. An 'mpc5200b-psc-i2s' node cannot include 'mpc5200-psc-i2s' in the
compatible field.
7) GPIO controller nodes
Each GPIO controller node should have the empty property gpio-controller and
#gpio-cells set to 2. First cell is the GPIO number which is interpreted
according to the bit numbers in the GPIO control registers. The second cell
is for flags which is currently unsused.
8) FEC nodes
The FEC node can specify one of the following properties to configure
the MII link:
"fsl,7-wire-mode" - An empty property that specifies the link uses 7-wire
mode instead of MII
"current-speed" - Specifies that the MII should be configured for a fixed
speed. This property should contain two cells. The
first cell specifies the speed in Mbps and the second
should be '0' for half duplex and '1' for full duplex
"phy-handle" - Contains a phandle to an Ethernet PHY.
IV - Extra Notes
================
1. Interrupt mapping
--------------------
The mpc5200 pic driver splits hardware IRQ numbers into two levels. The
split reflects the layout of the PIC hardware itself, which groups
interrupts into one of three groups; CRIT, MAIN or PERP. Also, the
Bestcomm dma engine has it's own set of interrupt sources which are
cascaded off of peripheral interrupt 0, which the driver interprets as a
fourth group, SDMA.
The interrupts property for device nodes using the mpc5200 pic consists
of three cells; <L1 L2 level>
L1 := [CRIT=0, MAIN=1, PERP=2, SDMA=3]
L2 := interrupt number; directly mapped from the value in the
"ICTL PerStat, MainStat, CritStat Encoded Register"
level := [LEVEL_HIGH=0, EDGE_RISING=1, EDGE_FALLING=2, LEVEL_LOW=3]
2. Shared registers
-------------------
Some SoC devices share registers between them. ie. the i2c devices use
a single clock control register, and almost all device are affected by
the port_config register. Devices which need to manipulate shared regs
should look to the parent SoC node. The soc node is responsible
for arbitrating all shared register access.

Просмотреть файл

@ -6,8 +6,9 @@ in the kernel usb programming guide (kerneldoc, from the source code).
API OVERVIEW API OVERVIEW
The big picture is that USB drivers can continue to ignore most DMA issues, The big picture is that USB drivers can continue to ignore most DMA issues,
though they still must provide DMA-ready buffers (see DMA-mapping.txt). though they still must provide DMA-ready buffers (see
That's how they've worked through the 2.4 (and earlier) kernels. Documentation/PCI/PCI-DMA-mapping.txt). That's how they've worked through
the 2.4 (and earlier) kernels.
OR: they can now be DMA-aware. OR: they can now be DMA-aware.
@ -62,8 +63,8 @@ and effects like cache-trashing can impose subtle penalties.
force a consistent memory access ordering by using memory barriers. It's force a consistent memory access ordering by using memory barriers. It's
not using a streaming DMA mapping, so it's good for small transfers on not using a streaming DMA mapping, so it's good for small transfers on
systems where the I/O would otherwise thrash an IOMMU mapping. (See systems where the I/O would otherwise thrash an IOMMU mapping. (See
Documentation/DMA-mapping.txt for definitions of "coherent" and "streaming" Documentation/PCI/PCI-DMA-mapping.txt for definitions of "coherent" and
DMA mappings.) "streaming" DMA mappings.)
Asking for 1/Nth of a page (as well as asking for N pages) is reasonably Asking for 1/Nth of a page (as well as asking for N pages) is reasonably
space-efficient. space-efficient.
@ -93,7 +94,7 @@ WORKING WITH EXISTING BUFFERS
Existing buffers aren't usable for DMA without first being mapped into the Existing buffers aren't usable for DMA without first being mapped into the
DMA address space of the device. However, most buffers passed to your DMA address space of the device. However, most buffers passed to your
driver can safely be used with such DMA mapping. (See the first section driver can safely be used with such DMA mapping. (See the first section
of DMA-mapping.txt, titled "What memory is DMA-able?") of Documentation/PCI/PCI-DMA-mapping.txt, titled "What memory is DMA-able?")
- When you're using scatterlists, you can map everything at once. On some - When you're using scatterlists, you can map everything at once. On some
systems, this kicks in an IOMMU and turns the scatterlists into single systems, this kicks in an IOMMU and turns the scatterlists into single

Просмотреть файл

@ -4,12 +4,21 @@
* *
* Compile with: * Compile with:
* gcc -s -Wall -Wstrict-prototypes v4lgrab.c -o v4lgrab * gcc -s -Wall -Wstrict-prototypes v4lgrab.c -o v4lgrab
* Use as: * Use as:
* v4lgrab >image.ppm * v4lgrab >image.ppm
* *
* Copyright (C) 1998-05-03, Phil Blundell <philb@gnu.org> * Copyright (C) 1998-05-03, Phil Blundell <philb@gnu.org>
* Copied from http://www.tazenda.demon.co.uk/phil/vgrabber.c * Copied from http://www.tazenda.demon.co.uk/phil/vgrabber.c
* with minor modifications (Dave Forrest, drf5n@virginia.edu). * with minor modifications (Dave Forrest, drf5n@virginia.edu).
*
*
* For some cameras you may need to pre-load libv4l to perform
* the necessary decompression, e.g.:
*
* export LD_PRELOAD=/usr/lib/libv4l/v4l1compat.so
* ./v4lgrab >image.ppm
*
* see http://hansdegoede.livejournal.com/3636.html for details.
* *
*/ */
@ -24,7 +33,7 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/videodev.h> #include <linux/videodev.h>
#define FILE "/dev/video0" #define VIDEO_DEV "/dev/video0"
/* Stole this from tvset.c */ /* Stole this from tvset.c */
@ -90,7 +99,7 @@ int get_brightness_adj(unsigned char *image, long size, int *brightness) {
int main(int argc, char ** argv) int main(int argc, char ** argv)
{ {
int fd = open(FILE, O_RDONLY), f; int fd = open(VIDEO_DEV, O_RDONLY), f;
struct video_capability cap; struct video_capability cap;
struct video_window win; struct video_window win;
struct video_picture vpic; struct video_picture vpic;
@ -100,13 +109,13 @@ int main(int argc, char ** argv)
unsigned int i, src_depth; unsigned int i, src_depth;
if (fd < 0) { if (fd < 0) {
perror(FILE); perror(VIDEO_DEV);
exit(1); exit(1);
} }
if (ioctl(fd, VIDIOCGCAP, &cap) < 0) { if (ioctl(fd, VIDIOCGCAP, &cap) < 0) {
perror("VIDIOGCAP"); perror("VIDIOGCAP");
fprintf(stderr, "(" FILE " not a video4linux device?)\n"); fprintf(stderr, "(" VIDEO_DEV " not a video4linux device?)\n");
close(fd); close(fd);
exit(1); exit(1);
} }

Просмотреть файл

@ -2836,8 +2836,6 @@ S: Maintained
MAC80211 MAC80211
P: Johannes Berg P: Johannes Berg
M: johannes@sipsolutions.net M: johannes@sipsolutions.net
P: Michael Wu
M: flamingice@sourmilk.net
L: linux-wireless@vger.kernel.org L: linux-wireless@vger.kernel.org
W: http://linuxwireless.org/ W: http://linuxwireless.org/
T: git kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.git T: git kernel.org:/pub/scm/linux/kernel/git/linville/wireless-2.6.git
@ -4843,6 +4841,7 @@ P: Ingo Molnar
M: mingo@redhat.com M: mingo@redhat.com
P: H. Peter Anvin P: H. Peter Anvin
M: hpa@zytor.com M: hpa@zytor.com
M: x86@kernel.org
L: linux-kernel@vger.kernel.org L: linux-kernel@vger.kernel.org
T: git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git T: git://git.kernel.org/pub/scm/linux/kernel/git/x86/linux-2.6-x86.git
S: Maintained S: Maintained

Просмотреть файл

@ -8,6 +8,7 @@ config ALPHA
select HAVE_AOUT select HAVE_AOUT
select HAVE_IDE select HAVE_IDE
select HAVE_OPROFILE select HAVE_OPROFILE
select HAVE_SYSCALL_WRAPPERS
help help
The Alpha is a 64-bit general-purpose processor designed and The Alpha is a 64-bit general-purpose processor designed and
marketed by the Digital Equipment Corporation of blessed memory, marketed by the Digital Equipment Corporation of blessed memory,

Просмотреть файл

@ -8,17 +8,12 @@
/* ??? Would be nice to use .gprel32 here, but we can't be sure that the /* ??? Would be nice to use .gprel32 here, but we can't be sure that the
function loaded the GP, so this could fail in modules. */ function loaded the GP, so this could fail in modules. */
static inline void ATTRIB_NORET __BUG(const char *file, int line) #define BUG() { \
{ __asm__ __volatile__( \
__asm__ __volatile__( "call_pal %0 # bugchk\n\t" \
"call_pal %0 # bugchk\n\t" ".long %1\n\t.8byte %2" \
".long %1\n\t.8byte %2" : : "i"(PAL_bugchk), "i"(__LINE__), "i"(__FILE__)); \
: : "i" (PAL_bugchk), "i"(line), "i"(file)); for ( ; ; ); }
for ( ; ; )
;
}
#define BUG() __BUG(__FILE__, __LINE__)
#define HAVE_ARCH_BUG #define HAVE_ARCH_BUG
#endif #endif

Просмотреть файл

@ -29,6 +29,8 @@
#else /* no PCI - no IOMMU. */ #else /* no PCI - no IOMMU. */
#include <asm/io.h> /* for virt_to_phys() */
struct scatterlist; struct scatterlist;
void *dma_alloc_coherent(struct device *dev, size_t size, void *dma_alloc_coherent(struct device *dev, size_t size,
dma_addr_t *dma_handle, gfp_t gfp); dma_addr_t *dma_handle, gfp_t gfp);

Просмотреть файл

@ -933,7 +933,7 @@ sys_execve:
osf_sigprocmask: osf_sigprocmask:
.prologue 0 .prologue 0
mov $sp, $18 mov $sp, $18
jmp $31, do_osf_sigprocmask jmp $31, sys_osf_sigprocmask
.end osf_sigprocmask .end osf_sigprocmask
.align 4 .align 4

Просмотреть файл

@ -54,8 +54,7 @@ extern int do_pipe(int *);
* identical to OSF as we don't return 0 on success, but doing otherwise * identical to OSF as we don't return 0 on success, but doing otherwise
* would require changes to libc. Hopefully this is good enough. * would require changes to libc. Hopefully this is good enough.
*/ */
asmlinkage unsigned long SYSCALL_DEFINE1(osf_brk, unsigned long, brk)
osf_brk(unsigned long brk)
{ {
unsigned long retval = sys_brk(brk); unsigned long retval = sys_brk(brk);
if (brk && brk != retval) if (brk && brk != retval)
@ -66,9 +65,9 @@ osf_brk(unsigned long brk)
/* /*
* This is pure guess-work.. * This is pure guess-work..
*/ */
asmlinkage int SYSCALL_DEFINE4(osf_set_program_attributes, unsigned long, text_start,
osf_set_program_attributes(unsigned long text_start, unsigned long text_len, unsigned long, text_len, unsigned long, bss_start,
unsigned long bss_start, unsigned long bss_len) unsigned long, bss_len)
{ {
struct mm_struct *mm; struct mm_struct *mm;
@ -146,9 +145,9 @@ Efault:
return -EFAULT; return -EFAULT;
} }
asmlinkage int SYSCALL_DEFINE4(osf_getdirentries, unsigned int, fd,
osf_getdirentries(unsigned int fd, struct osf_dirent __user *dirent, struct osf_dirent __user *, dirent, unsigned int, count,
unsigned int count, long __user *basep) long __user *, basep)
{ {
int error; int error;
struct file *file; struct file *file;
@ -177,9 +176,9 @@ osf_getdirentries(unsigned int fd, struct osf_dirent __user *dirent,
#undef NAME_OFFSET #undef NAME_OFFSET
asmlinkage unsigned long SYSCALL_DEFINE6(osf_mmap, unsigned long, addr, unsigned long, len,
osf_mmap(unsigned long addr, unsigned long len, unsigned long prot, unsigned long, prot, unsigned long, flags, unsigned long, fd,
unsigned long flags, unsigned long fd, unsigned long off) unsigned long, off)
{ {
struct file *file = NULL; struct file *file = NULL;
unsigned long ret = -EBADF; unsigned long ret = -EBADF;
@ -254,8 +253,8 @@ do_osf_statfs(struct dentry * dentry, struct osf_statfs __user *buffer,
return error; return error;
} }
asmlinkage int SYSCALL_DEFINE3(osf_statfs, char __user *, pathname,
osf_statfs(char __user *pathname, struct osf_statfs __user *buffer, unsigned long bufsiz) struct osf_statfs __user *, buffer, unsigned long, bufsiz)
{ {
struct path path; struct path path;
int retval; int retval;
@ -268,8 +267,8 @@ osf_statfs(char __user *pathname, struct osf_statfs __user *buffer, unsigned lon
return retval; return retval;
} }
asmlinkage int SYSCALL_DEFINE3(osf_fstatfs, unsigned long, fd,
osf_fstatfs(unsigned long fd, struct osf_statfs __user *buffer, unsigned long bufsiz) struct osf_statfs __user *, buffer, unsigned long, bufsiz)
{ {
struct file *file; struct file *file;
int retval; int retval;
@ -368,8 +367,8 @@ osf_procfs_mount(char *dirname, struct procfs_args __user *args, int flags)
return do_mount("", dirname, "proc", flags, NULL); return do_mount("", dirname, "proc", flags, NULL);
} }
asmlinkage int SYSCALL_DEFINE4(osf_mount, unsigned long, typenr, char __user *, path,
osf_mount(unsigned long typenr, char __user *path, int flag, void __user *data) int, flag, void __user *, data)
{ {
int retval = -EINVAL; int retval = -EINVAL;
char *name; char *name;
@ -399,8 +398,7 @@ osf_mount(unsigned long typenr, char __user *path, int flag, void __user *data)
return retval; return retval;
} }
asmlinkage int SYSCALL_DEFINE1(osf_utsname, char __user *, name)
osf_utsname(char __user *name)
{ {
int error; int error;
@ -423,14 +421,12 @@ osf_utsname(char __user *name)
return error; return error;
} }
asmlinkage unsigned long SYSCALL_DEFINE0(getpagesize)
sys_getpagesize(void)
{ {
return PAGE_SIZE; return PAGE_SIZE;
} }
asmlinkage unsigned long SYSCALL_DEFINE0(getdtablesize)
sys_getdtablesize(void)
{ {
return sysctl_nr_open; return sysctl_nr_open;
} }
@ -438,8 +434,7 @@ sys_getdtablesize(void)
/* /*
* For compatibility with OSF/1 only. Use utsname(2) instead. * For compatibility with OSF/1 only. Use utsname(2) instead.
*/ */
asmlinkage int SYSCALL_DEFINE2(osf_getdomainname, char __user *, name, int, namelen)
osf_getdomainname(char __user *name, int namelen)
{ {
unsigned len; unsigned len;
int i; int i;
@ -527,8 +522,8 @@ enum pl_code {
PL_DEL = 5, PL_FDEL = 6 PL_DEL = 5, PL_FDEL = 6
}; };
asmlinkage long SYSCALL_DEFINE2(osf_proplist_syscall, enum pl_code, code,
osf_proplist_syscall(enum pl_code code, union pl_args __user *args) union pl_args __user *, args)
{ {
long error; long error;
int __user *min_buf_size_ptr; int __user *min_buf_size_ptr;
@ -567,8 +562,8 @@ osf_proplist_syscall(enum pl_code code, union pl_args __user *args)
return error; return error;
} }
asmlinkage int SYSCALL_DEFINE2(osf_sigstack, struct sigstack __user *, uss,
osf_sigstack(struct sigstack __user *uss, struct sigstack __user *uoss) struct sigstack __user *, uoss)
{ {
unsigned long usp = rdusp(); unsigned long usp = rdusp();
unsigned long oss_sp = current->sas_ss_sp + current->sas_ss_size; unsigned long oss_sp = current->sas_ss_sp + current->sas_ss_size;
@ -608,8 +603,7 @@ osf_sigstack(struct sigstack __user *uss, struct sigstack __user *uoss)
return error; return error;
} }
asmlinkage long SYSCALL_DEFINE3(osf_sysinfo, int, command, char __user *, buf, long, count)
osf_sysinfo(int command, char __user *buf, long count)
{ {
char *sysinfo_table[] = { char *sysinfo_table[] = {
utsname()->sysname, utsname()->sysname,
@ -647,9 +641,8 @@ osf_sysinfo(int command, char __user *buf, long count)
return err; return err;
} }
asmlinkage unsigned long SYSCALL_DEFINE5(osf_getsysinfo, unsigned long, op, void __user *, buffer,
osf_getsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes, unsigned long, nbytes, int __user *, start, void __user *, arg)
int __user *start, void __user *arg)
{ {
unsigned long w; unsigned long w;
struct percpu_struct *cpu; struct percpu_struct *cpu;
@ -705,9 +698,8 @@ osf_getsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes,
return -EOPNOTSUPP; return -EOPNOTSUPP;
} }
asmlinkage unsigned long SYSCALL_DEFINE5(osf_setsysinfo, unsigned long, op, void __user *, buffer,
osf_setsysinfo(unsigned long op, void __user *buffer, unsigned long nbytes, unsigned long, nbytes, int __user *, start, void __user *, arg)
int __user *start, void __user *arg)
{ {
switch (op) { switch (op) {
case SSI_IEEE_FP_CONTROL: { case SSI_IEEE_FP_CONTROL: {
@ -880,8 +872,8 @@ jiffies_to_timeval32(unsigned long jiffies, struct timeval32 *value)
value->tv_sec = jiffies / HZ; value->tv_sec = jiffies / HZ;
} }
asmlinkage int SYSCALL_DEFINE2(osf_gettimeofday, struct timeval32 __user *, tv,
osf_gettimeofday(struct timeval32 __user *tv, struct timezone __user *tz) struct timezone __user *, tz)
{ {
if (tv) { if (tv) {
struct timeval ktv; struct timeval ktv;
@ -896,8 +888,8 @@ osf_gettimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
return 0; return 0;
} }
asmlinkage int SYSCALL_DEFINE2(osf_settimeofday, struct timeval32 __user *, tv,
osf_settimeofday(struct timeval32 __user *tv, struct timezone __user *tz) struct timezone __user *, tz)
{ {
struct timespec kts; struct timespec kts;
struct timezone ktz; struct timezone ktz;
@ -916,8 +908,7 @@ osf_settimeofday(struct timeval32 __user *tv, struct timezone __user *tz)
return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL); return do_sys_settimeofday(tv ? &kts : NULL, tz ? &ktz : NULL);
} }
asmlinkage int SYSCALL_DEFINE2(osf_getitimer, int, which, struct itimerval32 __user *, it)
osf_getitimer(int which, struct itimerval32 __user *it)
{ {
struct itimerval kit; struct itimerval kit;
int error; int error;
@ -929,8 +920,8 @@ osf_getitimer(int which, struct itimerval32 __user *it)
return error; return error;
} }
asmlinkage int SYSCALL_DEFINE3(osf_setitimer, int, which, struct itimerval32 __user *, in,
osf_setitimer(int which, struct itimerval32 __user *in, struct itimerval32 __user *out) struct itimerval32 __user *, out)
{ {
struct itimerval kin, kout; struct itimerval kin, kout;
int error; int error;
@ -952,8 +943,8 @@ osf_setitimer(int which, struct itimerval32 __user *in, struct itimerval32 __use
} }
asmlinkage int SYSCALL_DEFINE2(osf_utimes, char __user *, filename,
osf_utimes(char __user *filename, struct timeval32 __user *tvs) struct timeval32 __user *, tvs)
{ {
struct timespec tv[2]; struct timespec tv[2];
@ -979,9 +970,8 @@ osf_utimes(char __user *filename, struct timeval32 __user *tvs)
#define MAX_SELECT_SECONDS \ #define MAX_SELECT_SECONDS \
((unsigned long) (MAX_SCHEDULE_TIMEOUT / HZ)-1) ((unsigned long) (MAX_SCHEDULE_TIMEOUT / HZ)-1)
asmlinkage int SYSCALL_DEFINE5(osf_select, int, n, fd_set __user *, inp, fd_set __user *, outp,
osf_select(int n, fd_set __user *inp, fd_set __user *outp, fd_set __user *exp, fd_set __user *, exp, struct timeval32 __user *, tvp)
struct timeval32 __user *tvp)
{ {
struct timespec end_time, *to = NULL; struct timespec end_time, *to = NULL;
if (tvp) { if (tvp) {
@ -1026,8 +1016,7 @@ struct rusage32 {
long ru_nivcsw; /* involuntary " */ long ru_nivcsw; /* involuntary " */
}; };
asmlinkage int SYSCALL_DEFINE2(osf_getrusage, int, who, struct rusage32 __user *, ru)
osf_getrusage(int who, struct rusage32 __user *ru)
{ {
struct rusage32 r; struct rusage32 r;
@ -1053,9 +1042,8 @@ osf_getrusage(int who, struct rusage32 __user *ru)
return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0; return copy_to_user(ru, &r, sizeof(r)) ? -EFAULT : 0;
} }
asmlinkage long SYSCALL_DEFINE4(osf_wait4, pid_t, pid, int __user *, ustatus, int, options,
osf_wait4(pid_t pid, int __user *ustatus, int options, struct rusage32 __user *, ur)
struct rusage32 __user *ur)
{ {
struct rusage r; struct rusage r;
long ret, err; long ret, err;
@ -1101,8 +1089,8 @@ osf_wait4(pid_t pid, int __user *ustatus, int options,
* seems to be a timeval pointer, and I suspect the second * seems to be a timeval pointer, and I suspect the second
* one is the time remaining.. Ho humm.. No documentation. * one is the time remaining.. Ho humm.. No documentation.
*/ */
asmlinkage int SYSCALL_DEFINE2(osf_usleep_thread, struct timeval32 __user *, sleep,
osf_usleep_thread(struct timeval32 __user *sleep, struct timeval32 __user *remain) struct timeval32 __user *, remain)
{ {
struct timeval tmp; struct timeval tmp;
unsigned long ticks; unsigned long ticks;
@ -1155,8 +1143,7 @@ struct timex32 {
int :32; int :32; int :32; int :32; int :32; int :32; int :32; int :32;
}; };
asmlinkage int SYSCALL_DEFINE1(old_adjtimex, struct timex32 __user *, txc_p)
sys_old_adjtimex(struct timex32 __user *txc_p)
{ {
struct timex txc; struct timex txc;
int ret; int ret;
@ -1267,8 +1254,8 @@ osf_fix_iov_len(const struct iovec __user *iov, unsigned long count)
return 0; return 0;
} }
asmlinkage ssize_t SYSCALL_DEFINE3(osf_readv, unsigned long, fd,
osf_readv(unsigned long fd, const struct iovec __user * vector, unsigned long count) const struct iovec __user *, vector, unsigned long, count)
{ {
if (unlikely(personality(current->personality) == PER_OSF4)) if (unlikely(personality(current->personality) == PER_OSF4))
if (osf_fix_iov_len(vector, count)) if (osf_fix_iov_len(vector, count))
@ -1276,8 +1263,8 @@ osf_readv(unsigned long fd, const struct iovec __user * vector, unsigned long co
return sys_readv(fd, vector, count); return sys_readv(fd, vector, count);
} }
asmlinkage ssize_t SYSCALL_DEFINE3(osf_writev, unsigned long, fd,
osf_writev(unsigned long fd, const struct iovec __user * vector, unsigned long count) const struct iovec __user *, vector, unsigned long, count)
{ {
if (unlikely(personality(current->personality) == PER_OSF4)) if (unlikely(personality(current->personality) == PER_OSF4))
if (osf_fix_iov_len(vector, count)) if (osf_fix_iov_len(vector, count))

Просмотреть файл

@ -109,7 +109,8 @@ sys_pciconfig_write(unsigned long bus, unsigned long dfn,
/* Stubs for the routines in pci_iommu.c: */ /* Stubs for the routines in pci_iommu.c: */
void * void *
pci_alloc_consistent(struct pci_dev *pdev, size_t size, dma_addr_t *dma_addrp) __pci_alloc_consistent(struct pci_dev *pdev, size_t size,
dma_addr_t *dma_addrp, gfp_t gfp)
{ {
return NULL; return NULL;
} }

Просмотреть файл

@ -19,6 +19,7 @@
#include <linux/tty.h> #include <linux/tty.h>
#include <linux/binfmts.h> #include <linux/binfmts.h>
#include <linux/bitops.h> #include <linux/bitops.h>
#include <linux/syscalls.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#include <asm/sigcontext.h> #include <asm/sigcontext.h>
@ -51,8 +52,8 @@ static void do_signal(struct pt_regs *, struct switch_stack *,
* Note that we don't need to acquire the kernel lock for SMP * Note that we don't need to acquire the kernel lock for SMP
* operation, as all of this is local to this thread. * operation, as all of this is local to this thread.
*/ */
asmlinkage unsigned long SYSCALL_DEFINE3(osf_sigprocmask, int, how, unsigned long, newmask,
do_osf_sigprocmask(int how, unsigned long newmask, struct pt_regs *regs) struct pt_regs *, regs)
{ {
unsigned long oldmask = -EINVAL; unsigned long oldmask = -EINVAL;
@ -81,9 +82,9 @@ do_osf_sigprocmask(int how, unsigned long newmask, struct pt_regs *regs)
return oldmask; return oldmask;
} }
asmlinkage int SYSCALL_DEFINE3(osf_sigaction, int, sig,
osf_sigaction(int sig, const struct osf_sigaction __user *act, const struct osf_sigaction __user *, act,
struct osf_sigaction __user *oact) struct osf_sigaction __user *, oact)
{ {
struct k_sigaction new_ka, old_ka; struct k_sigaction new_ka, old_ka;
int ret; int ret;
@ -112,10 +113,9 @@ osf_sigaction(int sig, const struct osf_sigaction __user *act,
return ret; return ret;
} }
asmlinkage long SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
sys_rt_sigaction(int sig, const struct sigaction __user *act, struct sigaction __user *, oact,
struct sigaction __user *oact, size_t, sigsetsize, void __user *, restorer)
size_t sigsetsize, void __user *restorer)
{ {
struct k_sigaction new_ka, old_ka; struct k_sigaction new_ka, old_ka;
int ret; int ret;

Просмотреть файл

@ -120,8 +120,9 @@ void __cpuinit
smp_callin(void) smp_callin(void)
{ {
int cpuid = hard_smp_processor_id(); int cpuid = hard_smp_processor_id();
cpumask_t mask = cpu_online_map;
if (cpu_test_and_set(cpuid, cpu_online_map)) { if (cpu_test_and_set(cpuid, mask)) {
printk("??, cpu 0x%x already present??\n", cpuid); printk("??, cpu 0x%x already present??\n", cpuid);
BUG(); BUG();
} }

Просмотреть файл

@ -17,7 +17,7 @@ sys_call_table:
.quad sys_write .quad sys_write
.quad alpha_ni_syscall /* 5 */ .quad alpha_ni_syscall /* 5 */
.quad sys_close .quad sys_close
.quad osf_wait4 .quad sys_osf_wait4
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad sys_link .quad sys_link
.quad sys_unlink /* 10 */ .quad sys_unlink /* 10 */
@ -27,11 +27,11 @@ sys_call_table:
.quad sys_mknod .quad sys_mknod
.quad sys_chmod /* 15 */ .quad sys_chmod /* 15 */
.quad sys_chown .quad sys_chown
.quad osf_brk .quad sys_osf_brk
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad sys_lseek .quad sys_lseek
.quad sys_getxpid /* 20 */ .quad sys_getxpid /* 20 */
.quad osf_mount .quad sys_osf_mount
.quad sys_umount .quad sys_umount
.quad sys_setuid .quad sys_setuid
.quad sys_getxuid .quad sys_getxuid
@ -53,7 +53,7 @@ sys_call_table:
.quad alpha_ni_syscall /* 40 */ .quad alpha_ni_syscall /* 40 */
.quad sys_dup .quad sys_dup
.quad sys_alpha_pipe .quad sys_alpha_pipe
.quad osf_set_program_attributes .quad sys_osf_set_program_attributes
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad sys_open /* 45 */ .quad sys_open /* 45 */
.quad alpha_ni_syscall .quad alpha_ni_syscall
@ -81,7 +81,7 @@ sys_call_table:
.quad sys_newlstat .quad sys_newlstat
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall /* 70 */ .quad alpha_ni_syscall /* 70 */
.quad osf_mmap .quad sys_osf_mmap
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad sys_munmap .quad sys_munmap
.quad sys_mprotect .quad sys_mprotect
@ -94,17 +94,17 @@ sys_call_table:
.quad sys_setgroups /* 80 */ .quad sys_setgroups /* 80 */
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad sys_setpgid .quad sys_setpgid
.quad osf_setitimer .quad sys_osf_setitimer
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall /* 85 */ .quad alpha_ni_syscall /* 85 */
.quad osf_getitimer .quad sys_osf_getitimer
.quad sys_gethostname .quad sys_gethostname
.quad sys_sethostname .quad sys_sethostname
.quad sys_getdtablesize .quad sys_getdtablesize
.quad sys_dup2 /* 90 */ .quad sys_dup2 /* 90 */
.quad sys_newfstat .quad sys_newfstat
.quad sys_fcntl .quad sys_fcntl
.quad osf_select .quad sys_osf_select
.quad sys_poll .quad sys_poll
.quad sys_fsync /* 95 */ .quad sys_fsync /* 95 */
.quad sys_setpriority .quad sys_setpriority
@ -123,22 +123,22 @@ sys_call_table:
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall /* 110 */ .quad alpha_ni_syscall /* 110 */
.quad sys_sigsuspend .quad sys_sigsuspend
.quad osf_sigstack .quad sys_osf_sigstack
.quad sys_recvmsg .quad sys_recvmsg
.quad sys_sendmsg .quad sys_sendmsg
.quad alpha_ni_syscall /* 115 */ .quad alpha_ni_syscall /* 115 */
.quad osf_gettimeofday .quad sys_osf_gettimeofday
.quad osf_getrusage .quad sys_osf_getrusage
.quad sys_getsockopt .quad sys_getsockopt
.quad alpha_ni_syscall .quad alpha_ni_syscall
#ifdef CONFIG_OSF4_COMPAT #ifdef CONFIG_OSF4_COMPAT
.quad osf_readv /* 120 */ .quad sys_osf_readv /* 120 */
.quad osf_writev .quad sys_osf_writev
#else #else
.quad sys_readv /* 120 */ .quad sys_readv /* 120 */
.quad sys_writev .quad sys_writev
#endif #endif
.quad osf_settimeofday .quad sys_osf_settimeofday
.quad sys_fchown .quad sys_fchown
.quad sys_fchmod .quad sys_fchmod
.quad sys_recvfrom /* 125 */ .quad sys_recvfrom /* 125 */
@ -154,7 +154,7 @@ sys_call_table:
.quad sys_socketpair /* 135 */ .quad sys_socketpair /* 135 */
.quad sys_mkdir .quad sys_mkdir
.quad sys_rmdir .quad sys_rmdir
.quad osf_utimes .quad sys_osf_utimes
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall /* 140 */ .quad alpha_ni_syscall /* 140 */
.quad sys_getpeername .quad sys_getpeername
@ -172,16 +172,16 @@ sys_call_table:
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall /* 155 */ .quad alpha_ni_syscall /* 155 */
.quad osf_sigaction .quad sys_osf_sigaction
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad osf_getdirentries .quad sys_osf_getdirentries
.quad osf_statfs /* 160 */ .quad sys_osf_statfs /* 160 */
.quad osf_fstatfs .quad sys_osf_fstatfs
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad osf_getdomainname /* 165 */ .quad sys_osf_getdomainname /* 165 */
.quad sys_setdomainname .quad sys_setdomainname
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
@ -224,7 +224,7 @@ sys_call_table:
.quad sys_semctl .quad sys_semctl
.quad sys_semget /* 205 */ .quad sys_semget /* 205 */
.quad sys_semop .quad sys_semop
.quad osf_utsname .quad sys_osf_utsname
.quad sys_lchown .quad sys_lchown
.quad sys_shmat .quad sys_shmat
.quad sys_shmctl /* 210 */ .quad sys_shmctl /* 210 */
@ -258,23 +258,23 @@ sys_call_table:
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall /* 240 */ .quad alpha_ni_syscall /* 240 */
.quad osf_sysinfo .quad sys_osf_sysinfo
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad osf_proplist_syscall .quad sys_osf_proplist_syscall
.quad alpha_ni_syscall /* 245 */ .quad alpha_ni_syscall /* 245 */
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall /* 250 */ .quad alpha_ni_syscall /* 250 */
.quad osf_usleep_thread .quad sys_osf_usleep_thread
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad sys_sysfs .quad sys_sysfs
.quad alpha_ni_syscall /* 255 */ .quad alpha_ni_syscall /* 255 */
.quad osf_getsysinfo .quad sys_osf_getsysinfo
.quad osf_setsysinfo .quad sys_osf_setsysinfo
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall .quad alpha_ni_syscall
.quad alpha_ni_syscall /* 260 */ .quad alpha_ni_syscall /* 260 */

Просмотреть файл

@ -0,0 +1,36 @@
#ifndef ASMARM_ARCH_MMC_H
#define ASMARM_ARCH_MMC_H
#include <linux/mmc/host.h>
struct device;
/* board specific SDHC data, optional.
* If not present, a writable card with 3,3V is assumed.
*/
struct imxmmc_platform_data {
/* Return values for the get_ro callback should be:
* 0 for a read/write card
* 1 for a read-only card
* -ENOSYS when not supported (equal to NULL callback)
* or a negative errno value when something bad happened
*/
int (*get_ro)(struct device *);
/* board specific hook to (de)initialize the SD slot.
* The board code can call 'handler' on a card detection
* change giving data as argument.
*/
int (*init)(struct device *dev, irq_handler_t handler, void *data);
void (*exit)(struct device *dev, void *data);
/* available voltages. If not given, assume
* MMC_VDD_32_33 | MMC_VDD_33_34
*/
unsigned int ocr_avail;
/* adjust slot voltage */
void (*setpower)(struct device *, unsigned int vdd);
};
#endif

Просмотреть файл

@ -906,7 +906,7 @@ sba_mark_invalid(struct ioc *ioc, dma_addr_t iova, size_t byte_cnt)
* @dir: R/W or both. * @dir: R/W or both.
* @attrs: optional dma attributes * @attrs: optional dma attributes
* *
* See Documentation/DMA-mapping.txt * See Documentation/PCI/PCI-DMA-mapping.txt
*/ */
dma_addr_t dma_addr_t
sba_map_single_attrs(struct device *dev, void *addr, size_t size, int dir, sba_map_single_attrs(struct device *dev, void *addr, size_t size, int dir,
@ -1024,7 +1024,7 @@ sba_mark_clean(struct ioc *ioc, dma_addr_t iova, size_t size)
* @dir: R/W or both. * @dir: R/W or both.
* @attrs: optional dma attributes * @attrs: optional dma attributes
* *
* See Documentation/DMA-mapping.txt * See Documentation/PCI/PCI-DMA-mapping.txt
*/ */
void sba_unmap_single_attrs(struct device *dev, dma_addr_t iova, size_t size, void sba_unmap_single_attrs(struct device *dev, dma_addr_t iova, size_t size,
int dir, struct dma_attrs *attrs) int dir, struct dma_attrs *attrs)
@ -1102,7 +1102,7 @@ EXPORT_SYMBOL(sba_unmap_single_attrs);
* @size: number of bytes mapped in driver buffer. * @size: number of bytes mapped in driver buffer.
* @dma_handle: IOVA of new buffer. * @dma_handle: IOVA of new buffer.
* *
* See Documentation/DMA-mapping.txt * See Documentation/PCI/PCI-DMA-mapping.txt
*/ */
void * void *
sba_alloc_coherent (struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flags) sba_alloc_coherent (struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flags)
@ -1165,7 +1165,7 @@ sba_alloc_coherent (struct device *dev, size_t size, dma_addr_t *dma_handle, gfp
* @vaddr: virtual address IOVA of "consistent" buffer. * @vaddr: virtual address IOVA of "consistent" buffer.
* @dma_handler: IO virtual address of "consistent" buffer. * @dma_handler: IO virtual address of "consistent" buffer.
* *
* See Documentation/DMA-mapping.txt * See Documentation/PCI/PCI-DMA-mapping.txt
*/ */
void sba_free_coherent (struct device *dev, size_t size, void *vaddr, dma_addr_t dma_handle) void sba_free_coherent (struct device *dev, size_t size, void *vaddr, dma_addr_t dma_handle)
{ {
@ -1420,7 +1420,7 @@ sba_coalesce_chunks(struct ioc *ioc, struct device *dev,
* @dir: R/W or both. * @dir: R/W or both.
* @attrs: optional dma attributes * @attrs: optional dma attributes
* *
* See Documentation/DMA-mapping.txt * See Documentation/PCI/PCI-DMA-mapping.txt
*/ */
int sba_map_sg_attrs(struct device *dev, struct scatterlist *sglist, int nents, int sba_map_sg_attrs(struct device *dev, struct scatterlist *sglist, int nents,
int dir, struct dma_attrs *attrs) int dir, struct dma_attrs *attrs)
@ -1512,7 +1512,7 @@ EXPORT_SYMBOL(sba_map_sg_attrs);
* @dir: R/W or both. * @dir: R/W or both.
* @attrs: optional dma attributes * @attrs: optional dma attributes
* *
* See Documentation/DMA-mapping.txt * See Documentation/PCI/PCI-DMA-mapping.txt
*/ */
void sba_unmap_sg_attrs(struct device *dev, struct scatterlist *sglist, void sba_unmap_sg_attrs(struct device *dev, struct scatterlist *sglist,
int nents, int dir, struct dma_attrs *attrs) int nents, int dir, struct dma_attrs *attrs)

Просмотреть файл

@ -351,7 +351,7 @@ config SGI_IP27
select ARC64 select ARC64
select BOOT_ELF64 select BOOT_ELF64
select DEFAULT_SGI_PARTITION select DEFAULT_SGI_PARTITION
select DMA_IP27 select DMA_COHERENT
select SYS_HAS_EARLY_PRINTK select SYS_HAS_EARLY_PRINTK
select HW_HAS_PCI select HW_HAS_PCI
select NR_CPUS_DEFAULT_64 select NR_CPUS_DEFAULT_64
@ -761,9 +761,6 @@ config CFE
config DMA_COHERENT config DMA_COHERENT
bool bool
config DMA_IP27
bool
config DMA_NONCOHERENT config DMA_NONCOHERENT
bool bool
select DMA_NEED_PCI_MAP_STATE select DMA_NEED_PCI_MAP_STATE
@ -1368,7 +1365,7 @@ config CPU_SUPPORTS_64BIT_KERNEL
# #
config HARDWARE_WATCHPOINTS config HARDWARE_WATCHPOINTS
bool bool
default y if CPU_MIPS32 || CPU_MIPS64 default y if CPU_MIPSR1 || CPU_MIPSR2
menu "Kernel type" menu "Kernel type"

Просмотреть файл

@ -89,7 +89,7 @@ static struct clock_event_device au1x_rtcmatch2_clockdev = {
.irq = AU1000_RTC_MATCH2_INT, .irq = AU1000_RTC_MATCH2_INT,
.set_next_event = au1x_rtcmatch2_set_next_event, .set_next_event = au1x_rtcmatch2_set_next_event,
.set_mode = au1x_rtcmatch2_set_mode, .set_mode = au1x_rtcmatch2_set_mode,
.cpumask = CPU_MASK_ALL, .cpumask = CPU_MASK_ALL_PTR,
}; };
static struct irqaction au1x_rtcmatch2_irqaction = { static struct irqaction au1x_rtcmatch2_irqaction = {

Просмотреть файл

@ -15,13 +15,11 @@
#include <linux/serial.h> #include <linux/serial.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/string.h> /* for memset */ #include <linux/string.h> /* for memset */
#include <linux/serial.h>
#include <linux/tty.h> #include <linux/tty.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/platform_device.h> #include <linux/platform_device.h>
#include <linux/serial_core.h> #include <linux/serial_core.h>
#include <linux/serial_8250.h> #include <linux/serial_8250.h>
#include <linux/string.h>
#include <asm/processor.h> #include <asm/processor.h>
#include <asm/reboot.h> #include <asm/reboot.h>

Просмотреть файл

@ -53,7 +53,7 @@ CONFIG_GENERIC_TIME=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
CONFIG_ARC=y CONFIG_ARC=y
CONFIG_DMA_IP27=y CONFIG_DMA_COHERENT=y
CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK=y
CONFIG_SYS_HAS_EARLY_PRINTK=y CONFIG_SYS_HAS_EARLY_PRINTK=y
# CONFIG_NO_IOPORT is not set # CONFIG_NO_IOPORT is not set

Просмотреть файл

@ -50,7 +50,7 @@
static __inline__ void atomic_add(int i, atomic_t * v) static __inline__ void atomic_add(int i, atomic_t * v)
{ {
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -62,7 +62,7 @@ static __inline__ void atomic_add(int i, atomic_t * v)
: "=&r" (temp), "=m" (v->counter) : "=&r" (temp), "=m" (v->counter)
: "Ir" (i), "m" (v->counter)); : "Ir" (i), "m" (v->counter));
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -95,7 +95,7 @@ static __inline__ void atomic_add(int i, atomic_t * v)
static __inline__ void atomic_sub(int i, atomic_t * v) static __inline__ void atomic_sub(int i, atomic_t * v)
{ {
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -107,7 +107,7 @@ static __inline__ void atomic_sub(int i, atomic_t * v)
: "=&r" (temp), "=m" (v->counter) : "=&r" (temp), "=m" (v->counter)
: "Ir" (i), "m" (v->counter)); : "Ir" (i), "m" (v->counter));
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -135,12 +135,12 @@ static __inline__ void atomic_sub(int i, atomic_t * v)
*/ */
static __inline__ int atomic_add_return(int i, atomic_t * v) static __inline__ int atomic_add_return(int i, atomic_t * v)
{ {
unsigned long result; int result;
smp_llsc_mb(); smp_llsc_mb();
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -154,7 +154,7 @@ static __inline__ int atomic_add_return(int i, atomic_t * v)
: "Ir" (i), "m" (v->counter) : "Ir" (i), "m" (v->counter)
: "memory"); : "memory");
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -187,12 +187,12 @@ static __inline__ int atomic_add_return(int i, atomic_t * v)
static __inline__ int atomic_sub_return(int i, atomic_t * v) static __inline__ int atomic_sub_return(int i, atomic_t * v)
{ {
unsigned long result; int result;
smp_llsc_mb(); smp_llsc_mb();
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -206,7 +206,7 @@ static __inline__ int atomic_sub_return(int i, atomic_t * v)
: "Ir" (i), "m" (v->counter) : "Ir" (i), "m" (v->counter)
: "memory"); : "memory");
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -247,12 +247,12 @@ static __inline__ int atomic_sub_return(int i, atomic_t * v)
*/ */
static __inline__ int atomic_sub_if_positive(int i, atomic_t * v) static __inline__ int atomic_sub_if_positive(int i, atomic_t * v)
{ {
unsigned long result; int result;
smp_llsc_mb(); smp_llsc_mb();
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -270,7 +270,7 @@ static __inline__ int atomic_sub_if_positive(int i, atomic_t * v)
: "Ir" (i), "m" (v->counter) : "Ir" (i), "m" (v->counter)
: "memory"); : "memory");
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; int temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -429,7 +429,7 @@ static __inline__ int atomic_add_unless(atomic_t *v, int a, int u)
static __inline__ void atomic64_add(long i, atomic64_t * v) static __inline__ void atomic64_add(long i, atomic64_t * v)
{ {
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -441,7 +441,7 @@ static __inline__ void atomic64_add(long i, atomic64_t * v)
: "=&r" (temp), "=m" (v->counter) : "=&r" (temp), "=m" (v->counter)
: "Ir" (i), "m" (v->counter)); : "Ir" (i), "m" (v->counter));
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -474,7 +474,7 @@ static __inline__ void atomic64_add(long i, atomic64_t * v)
static __inline__ void atomic64_sub(long i, atomic64_t * v) static __inline__ void atomic64_sub(long i, atomic64_t * v)
{ {
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -486,7 +486,7 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v)
: "=&r" (temp), "=m" (v->counter) : "=&r" (temp), "=m" (v->counter)
: "Ir" (i), "m" (v->counter)); : "Ir" (i), "m" (v->counter));
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -514,12 +514,12 @@ static __inline__ void atomic64_sub(long i, atomic64_t * v)
*/ */
static __inline__ long atomic64_add_return(long i, atomic64_t * v) static __inline__ long atomic64_add_return(long i, atomic64_t * v)
{ {
unsigned long result; long result;
smp_llsc_mb(); smp_llsc_mb();
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -533,7 +533,7 @@ static __inline__ long atomic64_add_return(long i, atomic64_t * v)
: "Ir" (i), "m" (v->counter) : "Ir" (i), "m" (v->counter)
: "memory"); : "memory");
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -566,12 +566,12 @@ static __inline__ long atomic64_add_return(long i, atomic64_t * v)
static __inline__ long atomic64_sub_return(long i, atomic64_t * v) static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
{ {
unsigned long result; long result;
smp_llsc_mb(); smp_llsc_mb();
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -585,7 +585,7 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
: "Ir" (i), "m" (v->counter) : "Ir" (i), "m" (v->counter)
: "memory"); : "memory");
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -626,12 +626,12 @@ static __inline__ long atomic64_sub_return(long i, atomic64_t * v)
*/ */
static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v) static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v)
{ {
unsigned long result; long result;
smp_llsc_mb(); smp_llsc_mb();
if (cpu_has_llsc && R10000_LLSC_WAR) { if (cpu_has_llsc && R10000_LLSC_WAR) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"
@ -649,7 +649,7 @@ static __inline__ long atomic64_sub_if_positive(long i, atomic64_t * v)
: "Ir" (i), "m" (v->counter) : "Ir" (i), "m" (v->counter)
: "memory"); : "memory");
} else if (cpu_has_llsc) { } else if (cpu_has_llsc) {
unsigned long temp; long temp;
__asm__ __volatile__( __asm__ __volatile__(
" .set mips3 \n" " .set mips3 \n"

Просмотреть файл

@ -80,11 +80,8 @@ struct rb532_gpio_reg {
/* Compact Flash GPIO pin */ /* Compact Flash GPIO pin */
#define CF_GPIO_NUM 13 #define CF_GPIO_NUM 13
extern void set_434_reg(unsigned reg_offs, unsigned bit, unsigned len, unsigned val);
extern unsigned get_434_reg(unsigned reg_offs);
extern void set_latch_u5(unsigned char or_mask, unsigned char nand_mask);
extern unsigned char get_latch_u5(void);
extern void rb532_gpio_set_ilevel(int bit, unsigned gpio); extern void rb532_gpio_set_ilevel(int bit, unsigned gpio);
extern void rb532_gpio_set_istat(int bit, unsigned gpio); extern void rb532_gpio_set_istat(int bit, unsigned gpio);
extern void rb532_gpio_set_func(unsigned gpio);
#endif /* _RC32434_GPIO_H_ */ #endif /* _RC32434_GPIO_H_ */

Просмотреть файл

@ -30,4 +30,7 @@
#define ETH0_RX_OVR_IRQ (GROUP3_IRQ_BASE + 9) #define ETH0_RX_OVR_IRQ (GROUP3_IRQ_BASE + 9)
#define ETH0_TX_UND_IRQ (GROUP3_IRQ_BASE + 10) #define ETH0_TX_UND_IRQ (GROUP3_IRQ_BASE + 10)
#define GPIO_MAPPED_IRQ_BASE GROUP4_IRQ_BASE
#define GPIO_MAPPED_IRQ_GROUP 4
#endif /* __ASM_RC32434_IRQ_H */ #endif /* __ASM_RC32434_IRQ_H */

Просмотреть файл

@ -83,4 +83,7 @@ struct mpmc_device {
void __iomem *base; void __iomem *base;
}; };
extern void set_latch_u5(unsigned char or_mask, unsigned char nand_mask);
extern unsigned char get_latch_u5(void);
#endif /* __ASM_RC32434_RB_H */ #endif /* __ASM_RC32434_RB_H */

Просмотреть файл

@ -105,7 +105,7 @@ struct pt_watch_regs {
enum pt_watch_style style; enum pt_watch_style style;
union { union {
struct mips32_watch_regs mips32; struct mips32_watch_regs mips32;
struct mips32_watch_regs mips64; struct mips64_watch_regs mips64;
}; };
}; };

Просмотреть файл

@ -9,6 +9,7 @@
#ifndef _ASM_TERMIOS_H #ifndef _ASM_TERMIOS_H
#define _ASM_TERMIOS_H #define _ASM_TERMIOS_H
#include <linux/errno.h>
#include <asm/termbits.h> #include <asm/termbits.h>
#include <asm/ioctls.h> #include <asm/ioctls.h>
@ -94,38 +95,81 @@ struct termio {
/* /*
* Translate a "termio" structure into a "termios". Ugh. * Translate a "termio" structure into a "termios". Ugh.
*/ */
#define user_termio_to_kernel_termios(termios, termio) \ static inline int user_termio_to_kernel_termios(struct ktermios *termios,
({ \ struct termio __user *termio)
unsigned short tmp; \ {
get_user(tmp, &(termio)->c_iflag); \ unsigned short iflag, oflag, cflag, lflag;
(termios)->c_iflag = (0xffff0000 & ((termios)->c_iflag)) | tmp; \ unsigned int err;
get_user(tmp, &(termio)->c_oflag); \
(termios)->c_oflag = (0xffff0000 & ((termios)->c_oflag)) | tmp; \ if (!access_ok(VERIFY_READ, termio, sizeof(struct termio)))
get_user(tmp, &(termio)->c_cflag); \ return -EFAULT;
(termios)->c_cflag = (0xffff0000 & ((termios)->c_cflag)) | tmp; \
get_user(tmp, &(termio)->c_lflag); \ err = __get_user(iflag, &termio->c_iflag);
(termios)->c_lflag = (0xffff0000 & ((termios)->c_lflag)) | tmp; \ termios->c_iflag = (termios->c_iflag & 0xffff0000) | iflag;
get_user((termios)->c_line, &(termio)->c_line); \ err |=__get_user(oflag, &termio->c_oflag);
copy_from_user((termios)->c_cc, (termio)->c_cc, NCC); \ termios->c_oflag = (termios->c_oflag & 0xffff0000) | oflag;
}) err |=__get_user(cflag, &termio->c_cflag);
termios->c_cflag = (termios->c_cflag & 0xffff0000) | cflag;
err |=__get_user(lflag, &termio->c_lflag);
termios->c_lflag = (termios->c_lflag & 0xffff0000) | lflag;
err |=__get_user(termios->c_line, &termio->c_line);
if (err)
return -EFAULT;
if (__copy_from_user(termios->c_cc, termio->c_cc, NCC))
return -EFAULT;
return 0;
}
/* /*
* Translate a "termios" structure into a "termio". Ugh. * Translate a "termios" structure into a "termio". Ugh.
*/ */
#define kernel_termios_to_user_termio(termio, termios) \ static inline int kernel_termios_to_user_termio(struct termio __user *termio,
({ \ struct ktermios *termios)
put_user((termios)->c_iflag, &(termio)->c_iflag); \ {
put_user((termios)->c_oflag, &(termio)->c_oflag); \ int err;
put_user((termios)->c_cflag, &(termio)->c_cflag); \
put_user((termios)->c_lflag, &(termio)->c_lflag); \
put_user((termios)->c_line, &(termio)->c_line); \
copy_to_user((termio)->c_cc, (termios)->c_cc, NCC); \
})
#define user_termios_to_kernel_termios(k, u) copy_from_user(k, u, sizeof(struct termios2)) if (!access_ok(VERIFY_WRITE, termio, sizeof(struct termio)))
#define kernel_termios_to_user_termios(u, k) copy_to_user(u, k, sizeof(struct termios2)) return -EFAULT;
#define user_termios_to_kernel_termios_1(k, u) copy_from_user(k, u, sizeof(struct termios))
#define kernel_termios_to_user_termios_1(u, k) copy_to_user(u, k, sizeof(struct termios)) err = __put_user(termios->c_iflag, &termio->c_iflag);
err |= __put_user(termios->c_oflag, &termio->c_oflag);
err |= __put_user(termios->c_cflag, &termio->c_cflag);
err |= __put_user(termios->c_lflag, &termio->c_lflag);
err |= __put_user(termios->c_line, &termio->c_line);
if (err)
return -EFAULT;
if (__copy_to_user(termio->c_cc, termios->c_cc, NCC))
return -EFAULT;
return 0;
}
static inline int user_termios_to_kernel_termios(struct ktermios __user *k,
struct termios2 *u)
{
return copy_from_user(k, u, sizeof(struct termios2)) ? -EFAULT : 0;
}
static inline int kernel_termios_to_user_termios(struct termios2 __user *u,
struct ktermios *k)
{
return copy_to_user(u, k, sizeof(struct termios2)) ? -EFAULT : 0;
}
static inline int user_termios_to_kernel_termios_1(struct ktermios *k,
struct termios __user *u)
{
return copy_from_user(k, u, sizeof(struct termios)) ? -EFAULT : 0;
}
static inline int kernel_termios_to_user_termios_1(struct termios __user *u,
struct ktermios *k)
{
return copy_to_user(u, k, sizeof(struct termios)) ? -EFAULT : 0;
}
#endif /* defined(__KERNEL__) */ #endif /* defined(__KERNEL__) */

Просмотреть файл

@ -541,5 +541,6 @@ void tx4939_irq_init(void);
int tx4939_irq(void); int tx4939_irq(void);
void tx4939_mtd_init(int ch); void tx4939_mtd_init(int ch);
void tx4939_ata_init(void); void tx4939_ata_init(void);
void tx4939_rtc_init(void);
#endif /* __ASM_TXX9_TX4939_H */ #endif /* __ASM_TXX9_TX4939_H */

Просмотреть файл

@ -458,7 +458,11 @@ NESTED(nmi_handler, PT_SIZE, sp)
BUILD_HANDLER fpe fpe fpe silent /* #15 */ BUILD_HANDLER fpe fpe fpe silent /* #15 */
BUILD_HANDLER mdmx mdmx sti silent /* #22 */ BUILD_HANDLER mdmx mdmx sti silent /* #22 */
#ifdef CONFIG_HARDWARE_WATCHPOINTS #ifdef CONFIG_HARDWARE_WATCHPOINTS
BUILD_HANDLER watch watch sti silent /* #23 */ /*
* For watch, interrupts will be enabled after the watch
* registers are read.
*/
BUILD_HANDLER watch watch cli silent /* #23 */
#else #else
BUILD_HANDLER watch watch sti verbose /* #23 */ BUILD_HANDLER watch watch sti verbose /* #23 */
#endif #endif

Просмотреть файл

@ -79,7 +79,8 @@ asmlinkage long mipsmt_sys_sched_setaffinity(pid_t pid, unsigned int len,
euid = current_euid(); euid = current_euid();
retval = -EPERM; retval = -EPERM;
if (euid != p->euid && euid != p->uid && !capable(CAP_SYS_NICE)) { if (euid != p->cred->euid && euid != p->cred->uid &&
!capable(CAP_SYS_NICE)) {
read_unlock(&tasklist_lock); read_unlock(&tasklist_lock);
goto out_unlock; goto out_unlock;
} }

Просмотреть файл

@ -944,6 +944,9 @@ asmlinkage void do_mdmx(struct pt_regs *regs)
force_sig(SIGILL, current); force_sig(SIGILL, current);
} }
/*
* Called with interrupts disabled.
*/
asmlinkage void do_watch(struct pt_regs *regs) asmlinkage void do_watch(struct pt_regs *regs)
{ {
u32 cause; u32 cause;
@ -963,9 +966,12 @@ asmlinkage void do_watch(struct pt_regs *regs)
*/ */
if (test_tsk_thread_flag(current, TIF_LOAD_WATCH)) { if (test_tsk_thread_flag(current, TIF_LOAD_WATCH)) {
mips_read_watch_registers(); mips_read_watch_registers();
local_irq_enable();
force_sig(SIGTRAP, current); force_sig(SIGTRAP, current);
} else } else {
mips_clear_watch_registers(); mips_clear_watch_registers();
local_irq_enable();
}
} }
asmlinkage void do_mcheck(struct pt_regs *regs) asmlinkage void do_mcheck(struct pt_regs *regs)
@ -1582,7 +1588,11 @@ void __init set_handler(unsigned long offset, void *addr, unsigned long size)
static char panic_null_cerr[] __cpuinitdata = static char panic_null_cerr[] __cpuinitdata =
"Trying to set NULL cache error exception handler"; "Trying to set NULL cache error exception handler";
/* Install uncached CPU exception handler */ /*
* Install uncached CPU exception handler.
* This is suitable only for the cache error exception which is the only
* exception handler that is being run uncached.
*/
void __cpuinit set_uncached_handler(unsigned long offset, void *addr, void __cpuinit set_uncached_handler(unsigned long offset, void *addr,
unsigned long size) unsigned long size)
{ {
@ -1593,7 +1603,7 @@ void __cpuinit set_uncached_handler(unsigned long offset, void *addr,
unsigned long uncached_ebase = TO_UNCAC(ebase); unsigned long uncached_ebase = TO_UNCAC(ebase);
#endif #endif
if (cpu_has_mips_r2) if (cpu_has_mips_r2)
ebase += (read_c0_ebase() & 0x3ffff000); uncached_ebase += (read_c0_ebase() & 0x3ffff000);
if (!addr) if (!addr)
panic(panic_null_cerr); panic(panic_null_cerr);

Просмотреть файл

@ -21,7 +21,7 @@
* end of memory on some systems. It's also a seriously bad idea on non * end of memory on some systems. It's also a seriously bad idea on non
* dma-coherent systems. * dma-coherent systems.
*/ */
#if !defined(CONFIG_DMA_COHERENT) || !defined(CONFIG_DMA_IP27) #ifdef CONFIG_DMA_NONCOHERENT
#undef CONFIG_CPU_HAS_PREFETCH #undef CONFIG_CPU_HAS_PREFETCH
#endif #endif
#ifdef CONFIG_MIPS_MALTA #ifdef CONFIG_MIPS_MALTA

Просмотреть файл

@ -21,7 +21,7 @@
* end of memory on some systems. It's also a seriously bad idea on non * end of memory on some systems. It's also a seriously bad idea on non
* dma-coherent systems. * dma-coherent systems.
*/ */
#if !defined(CONFIG_DMA_COHERENT) || !defined(CONFIG_DMA_IP27) #ifdef CONFIG_DMA_NONCOHERENT
#undef CONFIG_CPU_HAS_PREFETCH #undef CONFIG_CPU_HAS_PREFETCH
#endif #endif
#ifdef CONFIG_MIPS_MALTA #ifdef CONFIG_MIPS_MALTA

Просмотреть файл

@ -618,15 +618,35 @@ static void r4k_dma_cache_inv(unsigned long addr, unsigned long size)
if (cpu_has_inclusive_pcaches) { if (cpu_has_inclusive_pcaches) {
if (size >= scache_size) if (size >= scache_size)
r4k_blast_scache(); r4k_blast_scache();
else else {
unsigned long lsize = cpu_scache_line_size();
unsigned long almask = ~(lsize - 1);
/*
* There is no clearly documented alignment requirement
* for the cache instruction on MIPS processors and
* some processors, among them the RM5200 and RM7000
* QED processors will throw an address error for cache
* hit ops with insufficient alignment. Solved by
* aligning the address to cache line size.
*/
cache_op(Hit_Writeback_Inv_SD, addr & almask);
cache_op(Hit_Writeback_Inv_SD,
(addr + size - 1) & almask);
blast_inv_scache_range(addr, addr + size); blast_inv_scache_range(addr, addr + size);
}
return; return;
} }
if (cpu_has_safe_index_cacheops && size >= dcache_size) { if (cpu_has_safe_index_cacheops && size >= dcache_size) {
r4k_blast_dcache(); r4k_blast_dcache();
} else { } else {
unsigned long lsize = cpu_dcache_line_size();
unsigned long almask = ~(lsize - 1);
R4600_HIT_CACHEOP_WAR_IMPL; R4600_HIT_CACHEOP_WAR_IMPL;
cache_op(Hit_Writeback_Inv_D, addr & almask);
cache_op(Hit_Writeback_Inv_D, (addr + size - 1) & almask);
blast_inv_dcache_range(addr, addr + size); blast_inv_dcache_range(addr, addr + size);
} }

Просмотреть файл

@ -97,7 +97,6 @@ good_area:
goto bad_area; goto bad_area;
} }
survive:
/* /*
* If for any reason at all we couldn't handle the fault, * If for any reason at all we couldn't handle the fault,
* make sure we exit gracefully rather than endlessly redo * make sure we exit gracefully rather than endlessly redo
@ -167,21 +166,13 @@ no_context:
field, regs->regs[31]); field, regs->regs[31]);
die("Oops", regs); die("Oops", regs);
/*
* We ran out of memory, or some other thing happened to us that made
* us unable to handle the page fault gracefully.
*/
out_of_memory: out_of_memory:
up_read(&mm->mmap_sem); /*
if (is_global_init(tsk)) { * We ran out of memory, call the OOM killer, and return the userspace
yield(); * (which will retry the fault, or kill us if we got oom-killed).
down_read(&mm->mmap_sem); */
goto survive; pagefault_out_of_memory();
} return;
printk("VM: killing process %s\n", tsk->comm);
if (user_mode(regs))
do_group_exit(SIGKILL);
goto no_context;
do_sigbus: do_sigbus:
up_read(&mm->mmap_sem); up_read(&mm->mmap_sem);

Просмотреть файл

@ -205,6 +205,8 @@ static int __init rc32434_pcibridge_init(void)
static int __init rc32434_pci_init(void) static int __init rc32434_pci_init(void)
{ {
void __iomem *io_map_base;
pr_info("PCI: Initializing PCI\n"); pr_info("PCI: Initializing PCI\n");
ioport_resource.start = rc32434_res_pci_io1.start; ioport_resource.start = rc32434_res_pci_io1.start;
@ -212,6 +214,15 @@ static int __init rc32434_pci_init(void)
rc32434_pcibridge_init(); rc32434_pcibridge_init();
io_map_base = ioremap(rc32434_res_pci_io1.start,
rc32434_res_pci_io1.end - rc32434_res_pci_io1.start + 1);
if (!io_map_base)
return -ENOMEM;
rc32434_controller.io_map_base =
(unsigned long)io_map_base - rc32434_res_pci_io1.start;
register_pci_controller(&rc32434_controller); register_pci_controller(&rc32434_controller);
rc32434_sync(); rc32434_sync();

Просмотреть файл

@ -24,6 +24,7 @@
#include <linux/mtd/partitions.h> #include <linux/mtd/partitions.h>
#include <linux/gpio_keys.h> #include <linux/gpio_keys.h>
#include <linux/input.h> #include <linux/input.h>
#include <linux/serial_8250.h>
#include <asm/bootinfo.h> #include <asm/bootinfo.h>
@ -39,6 +40,29 @@
#define ETH0_RX_DMA_ADDR (DMA0_BASE_ADDR + 0 * DMA_CHAN_OFFSET) #define ETH0_RX_DMA_ADDR (DMA0_BASE_ADDR + 0 * DMA_CHAN_OFFSET)
#define ETH0_TX_DMA_ADDR (DMA0_BASE_ADDR + 1 * DMA_CHAN_OFFSET) #define ETH0_TX_DMA_ADDR (DMA0_BASE_ADDR + 1 * DMA_CHAN_OFFSET)
extern unsigned int idt_cpu_freq;
static struct mpmc_device dev3;
void set_latch_u5(unsigned char or_mask, unsigned char nand_mask)
{
unsigned long flags;
spin_lock_irqsave(&dev3.lock, flags);
dev3.state = (dev3.state | or_mask) & ~nand_mask;
writeb(dev3.state, dev3.base);
spin_unlock_irqrestore(&dev3.lock, flags);
}
EXPORT_SYMBOL(set_latch_u5);
unsigned char get_latch_u5(void)
{
return dev3.state;
}
EXPORT_SYMBOL(get_latch_u5);
static struct resource korina_dev0_res[] = { static struct resource korina_dev0_res[] = {
{ {
.name = "korina_regs", .name = "korina_regs",
@ -86,7 +110,7 @@ static struct korina_device korina_dev0_data = {
static struct platform_device korina_dev0 = { static struct platform_device korina_dev0 = {
.id = -1, .id = -1,
.name = "korina", .name = "korina",
.dev.platform_data = &korina_dev0_data, .dev.driver_data = &korina_dev0_data,
.resource = korina_dev0_res, .resource = korina_dev0_res,
.num_resources = ARRAY_SIZE(korina_dev0_res), .num_resources = ARRAY_SIZE(korina_dev0_res),
}; };
@ -214,12 +238,32 @@ static struct platform_device rb532_wdt = {
.num_resources = ARRAY_SIZE(rb532_wdt_res), .num_resources = ARRAY_SIZE(rb532_wdt_res),
}; };
static struct plat_serial8250_port rb532_uart_res[] = {
{
.membase = (char *)KSEG1ADDR(REGBASE + UART0BASE),
.irq = UART0_IRQ,
.regshift = 2,
.iotype = UPIO_MEM,
.flags = UPF_BOOT_AUTOCONF,
},
{
.flags = 0,
}
};
static struct platform_device rb532_uart = {
.name = "serial8250",
.id = PLAT8250_DEV_PLATFORM,
.dev.platform_data = &rb532_uart_res,
};
static struct platform_device *rb532_devs[] = { static struct platform_device *rb532_devs[] = {
&korina_dev0, &korina_dev0,
&nand_slot0, &nand_slot0,
&cf_slot0, &cf_slot0,
&rb532_led, &rb532_led,
&rb532_button, &rb532_button,
&rb532_uart,
&rb532_wdt &rb532_wdt
}; };
@ -291,9 +335,20 @@ static int __init plat_setup_devices(void)
nand_slot0_res[0].start = readl(IDT434_REG_BASE + DEV2BASE); nand_slot0_res[0].start = readl(IDT434_REG_BASE + DEV2BASE);
nand_slot0_res[0].end = nand_slot0_res[0].start + 0x1000; nand_slot0_res[0].end = nand_slot0_res[0].start + 0x1000;
/* Read and map device controller 3 */
dev3.base = ioremap_nocache(readl(IDT434_REG_BASE + DEV3BASE), 1);
if (!dev3.base) {
printk(KERN_ERR "rb532: cannot remap device controller 3\n");
return -ENXIO;
}
/* Initialise the NAND device */ /* Initialise the NAND device */
rb532_nand_setup(); rb532_nand_setup();
/* set the uart clock to the current cpu frequency */
rb532_uart_res[0].uartclk = idt_cpu_freq;
return platform_add_devices(rb532_devs, ARRAY_SIZE(rb532_devs)); return platform_add_devices(rb532_devs, ARRAY_SIZE(rb532_devs));
} }

Просмотреть файл

@ -41,8 +41,6 @@ struct rb532_gpio_chip {
void __iomem *regbase; void __iomem *regbase;
}; };
struct mpmc_device dev3;
static struct resource rb532_gpio_reg0_res[] = { static struct resource rb532_gpio_reg0_res[] = {
{ {
.name = "gpio_reg0", .name = "gpio_reg0",
@ -52,61 +50,6 @@ static struct resource rb532_gpio_reg0_res[] = {
} }
}; };
static struct resource rb532_dev3_ctl_res[] = {
{
.name = "dev3_ctl",
.start = REGBASE + DEV3BASE,
.end = REGBASE + DEV3BASE + sizeof(struct dev_reg) - 1,
.flags = IORESOURCE_MEM,
}
};
void set_434_reg(unsigned reg_offs, unsigned bit, unsigned len, unsigned val)
{
unsigned long flags;
unsigned data;
unsigned i = 0;
spin_lock_irqsave(&dev3.lock, flags);
data = readl(IDT434_REG_BASE + reg_offs);
for (i = 0; i != len; ++i) {
if (val & (1 << i))
data |= (1 << (i + bit));
else
data &= ~(1 << (i + bit));
}
writel(data, (IDT434_REG_BASE + reg_offs));
spin_unlock_irqrestore(&dev3.lock, flags);
}
EXPORT_SYMBOL(set_434_reg);
unsigned get_434_reg(unsigned reg_offs)
{
return readl(IDT434_REG_BASE + reg_offs);
}
EXPORT_SYMBOL(get_434_reg);
void set_latch_u5(unsigned char or_mask, unsigned char nand_mask)
{
unsigned long flags;
spin_lock_irqsave(&dev3.lock, flags);
dev3.state = (dev3.state | or_mask) & ~nand_mask;
writel(dev3.state, &dev3.base);
spin_unlock_irqrestore(&dev3.lock, flags);
}
EXPORT_SYMBOL(set_latch_u5);
unsigned char get_latch_u5(void)
{
return dev3.state;
}
EXPORT_SYMBOL(get_latch_u5);
/* rb532_set_bit - sanely set a bit /* rb532_set_bit - sanely set a bit
* *
* bitval: new value for the bit * bitval: new value for the bit
@ -119,13 +62,11 @@ static inline void rb532_set_bit(unsigned bitval,
unsigned long flags; unsigned long flags;
u32 val; u32 val;
bitval = !!bitval; /* map parameter to {0,1} */
local_irq_save(flags); local_irq_save(flags);
val = readl(ioaddr); val = readl(ioaddr);
val &= ~( ~bitval << offset ); /* unset bit if bitval == 0 */ val &= ~(!bitval << offset); /* unset bit if bitval == 0 */
val |= ( bitval << offset ); /* set bit if bitval == 1 */ val |= (!!bitval << offset); /* set bit if bitval == 1 */
writel(val, ioaddr); writel(val, ioaddr);
local_irq_restore(flags); local_irq_restore(flags);
@ -171,8 +112,8 @@ static int rb532_gpio_direction_input(struct gpio_chip *chip, unsigned offset)
gpch = container_of(chip, struct rb532_gpio_chip, chip); gpch = container_of(chip, struct rb532_gpio_chip, chip);
if (rb532_get_bit(offset, gpch->regbase + GPIOFUNC)) /* disable alternate function in case it's set */
return 1; /* alternate function, GPIOCFG is ignored */ rb532_set_bit(0, offset, gpch->regbase + GPIOFUNC);
rb532_set_bit(0, offset, gpch->regbase + GPIOCFG); rb532_set_bit(0, offset, gpch->regbase + GPIOCFG);
return 0; return 0;
@ -188,8 +129,8 @@ static int rb532_gpio_direction_output(struct gpio_chip *chip,
gpch = container_of(chip, struct rb532_gpio_chip, chip); gpch = container_of(chip, struct rb532_gpio_chip, chip);
if (rb532_get_bit(offset, gpch->regbase + GPIOFUNC)) /* disable alternate function in case it's set */
return 1; /* alternate function, GPIOCFG is ignored */ rb532_set_bit(0, offset, gpch->regbase + GPIOFUNC);
/* set the initial output value */ /* set the initial output value */
rb532_set_bit(value, offset, gpch->regbase + GPIOD); rb532_set_bit(value, offset, gpch->regbase + GPIOD);
@ -233,10 +174,11 @@ EXPORT_SYMBOL(rb532_gpio_set_istat);
/* /*
* Configure GPIO alternate function * Configure GPIO alternate function
*/ */
static void rb532_gpio_set_func(int bit, unsigned gpio) void rb532_gpio_set_func(unsigned gpio)
{ {
rb532_set_bit(bit, gpio, rb532_gpio_chip->regbase + GPIOFUNC); rb532_set_bit(1, gpio, rb532_gpio_chip->regbase + GPIOFUNC);
} }
EXPORT_SYMBOL(rb532_gpio_set_func);
int __init rb532_gpio_init(void) int __init rb532_gpio_init(void)
{ {
@ -253,20 +195,6 @@ int __init rb532_gpio_init(void)
/* Register our GPIO chip */ /* Register our GPIO chip */
gpiochip_add(&rb532_gpio_chip->chip); gpiochip_add(&rb532_gpio_chip->chip);
r = rb532_dev3_ctl_res;
dev3.base = ioremap_nocache(r->start, r->end - r->start);
if (!dev3.base) {
printk(KERN_ERR "rb532: cannot remap device controller 3\n");
return -ENXIO;
}
/* configure CF_GPIO_NUM as CFRDY IRQ source */
rb532_gpio_set_func(0, CF_GPIO_NUM);
rb532_gpio_direction_input(&rb532_gpio_chip->chip, CF_GPIO_NUM);
rb532_gpio_set_ilevel(1, CF_GPIO_NUM);
rb532_gpio_set_istat(0, CF_GPIO_NUM);
return 0; return 0;
} }
arch_initcall(rb532_gpio_init); arch_initcall(rb532_gpio_init);

Просмотреть файл

@ -46,6 +46,7 @@
#include <asm/system.h> #include <asm/system.h>
#include <asm/mach-rc32434/irq.h> #include <asm/mach-rc32434/irq.h>
#include <asm/mach-rc32434/gpio.h>
struct intr_group { struct intr_group {
u32 mask; /* mask of valid bits in pending/mask registers */ u32 mask; /* mask of valid bits in pending/mask registers */
@ -150,6 +151,9 @@ static void rb532_disable_irq(unsigned int irq_nr)
mask |= intr_bit; mask |= intr_bit;
WRITE_MASK(addr, mask); WRITE_MASK(addr, mask);
if (group == GPIO_MAPPED_IRQ_GROUP)
rb532_gpio_set_istat(0, irq_nr - GPIO_MAPPED_IRQ_BASE);
/* /*
* if there are no more interrupts enabled in this * if there are no more interrupts enabled in this
* group, disable corresponding IP * group, disable corresponding IP
@ -165,12 +169,35 @@ static void rb532_mask_and_ack_irq(unsigned int irq_nr)
ack_local_irq(group_to_ip(irq_to_group(irq_nr))); ack_local_irq(group_to_ip(irq_to_group(irq_nr)));
} }
static int rb532_set_type(unsigned int irq_nr, unsigned type)
{
int gpio = irq_nr - GPIO_MAPPED_IRQ_BASE;
int group = irq_to_group(irq_nr);
if (group != GPIO_MAPPED_IRQ_GROUP)
return (type == IRQ_TYPE_LEVEL_HIGH) ? 0 : -EINVAL;
switch (type) {
case IRQ_TYPE_LEVEL_HIGH:
rb532_gpio_set_ilevel(1, gpio);
break;
case IRQ_TYPE_LEVEL_LOW:
rb532_gpio_set_ilevel(0, gpio);
break;
default:
return -EINVAL;
}
return 0;
}
static struct irq_chip rc32434_irq_type = { static struct irq_chip rc32434_irq_type = {
.name = "RB532", .name = "RB532",
.ack = rb532_disable_irq, .ack = rb532_disable_irq,
.mask = rb532_disable_irq, .mask = rb532_disable_irq,
.mask_ack = rb532_mask_and_ack_irq, .mask_ack = rb532_mask_and_ack_irq,
.unmask = rb532_enable_irq, .unmask = rb532_enable_irq,
.set_type = rb532_set_type,
}; };
void __init arch_init_irq(void) void __init arch_init_irq(void)

Просмотреть файл

@ -36,7 +36,7 @@
extern unsigned int idt_cpu_freq; extern unsigned int idt_cpu_freq;
static struct uart_port rb532_uart = { static struct uart_port rb532_uart = {
.type = PORT_16550A, .flags = UPF_BOOT_AUTOCONF,
.line = 0, .line = 0,
.irq = UART0_IRQ, .irq = UART0_IRQ,
.iotype = UPIO_MEM, .iotype = UPIO_MEM,

Просмотреть файл

@ -435,6 +435,28 @@ void __init tx4939_ata_init(void)
platform_device_register(&ata1_dev); platform_device_register(&ata1_dev);
} }
void __init tx4939_rtc_init(void)
{
static struct resource res[] = {
{
.start = TX4939_RTC_REG & 0xfffffffffULL,
.end = (TX4939_RTC_REG & 0xfffffffffULL) + 0x100 - 1,
.flags = IORESOURCE_MEM,
}, {
.start = TXX9_IRQ_BASE + TX4939_IR_RTC,
.flags = IORESOURCE_IRQ,
},
};
static struct platform_device rtc_dev = {
.name = "tx4939rtc",
.id = -1,
.num_resources = ARRAY_SIZE(res),
.resource = res,
};
platform_device_register(&rtc_dev);
}
static void __init tx4939_stop_unused_modules(void) static void __init tx4939_stop_unused_modules(void)
{ {
__u64 pcfg, rst = 0, ckd = 0; __u64 pcfg, rst = 0, ckd = 0;

Просмотреть файл

@ -336,6 +336,7 @@ static void __init rbtx4939_device_init(void)
rbtx4939_led_setup(); rbtx4939_led_setup();
tx4939_wdt_init(); tx4939_wdt_init();
tx4939_ata_init(); tx4939_ata_init();
tx4939_rtc_init();
} }
static void __init rbtx4939_setup(void) static void __init rbtx4939_setup(void)

Просмотреть файл

@ -5,7 +5,7 @@
#include <asm/cacheflush.h> #include <asm/cacheflush.h>
#include <asm/scatterlist.h> #include <asm/scatterlist.h>
/* See Documentation/DMA-mapping.txt */ /* See Documentation/PCI/PCI-DMA-mapping.txt */
struct hppa_dma_ops { struct hppa_dma_ops {
int (*dma_supported)(struct device *dev, u64 mask); int (*dma_supported)(struct device *dev, u64 mask);
void *(*alloc_consistent)(struct device *dev, size_t size, dma_addr_t *iova, gfp_t flag); void *(*alloc_consistent)(struct device *dev, size_t size, dma_addr_t *iova, gfp_t flag);

Просмотреть файл

@ -2,7 +2,7 @@
** PARISC 1.1 Dynamic DMA mapping support. ** PARISC 1.1 Dynamic DMA mapping support.
** This implementation is for PA-RISC platforms that do not support ** This implementation is for PA-RISC platforms that do not support
** I/O TLBs (aka DMA address translation hardware). ** I/O TLBs (aka DMA address translation hardware).
** See Documentation/DMA-mapping.txt for interface definitions. ** See Documentation/PCI/PCI-DMA-mapping.txt for interface definitions.
** **
** (c) Copyright 1999,2000 Hewlett-Packard Company ** (c) Copyright 1999,2000 Hewlett-Packard Company
** (c) Copyright 2000 Grant Grundler ** (c) Copyright 2000 Grant Grundler

Просмотреть файл

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.28-rc4 # Linux kernel version: 2.6.29-rc2
# Thu Nov 13 02:12:40 2008 # Mon Jan 26 21:41:58 2009
# #
# CONFIG_PPC64 is not set # CONFIG_PPC64 is not set
@ -43,7 +43,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_PPC=y CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y CONFIG_PPC_OF=y
CONFIG_OF=y CONFIG_OF=y
@ -71,14 +71,23 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set # CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set # CONFIG_AUDIT is not set
#
# RCU Subsystem
#
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set # CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set # CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set # CONFIG_CGROUP_SCHED is not set
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set # CONFIG_RELAY is not set
@ -110,7 +119,6 @@ CONFIG_SLUB_DEBUG=y
CONFIG_SLUB=y CONFIG_SLUB=y
# CONFIG_SLOB is not set # CONFIG_SLOB is not set
# CONFIG_PROFILING is not set # CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_IOREMAP_PROT=y
@ -121,13 +129,11 @@ CONFIG_HAVE_CLK=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0 CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set # CONFIG_MODULES is not set
CONFIG_BLOCK=y CONFIG_BLOCK=y
# CONFIG_LBD is not set # CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set # CONFIG_BLK_DEV_INTEGRITY is not set
@ -143,7 +149,6 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set # CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory" CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y
# CONFIG_FREEZER is not set # CONFIG_FREEZER is not set
# #
@ -182,9 +187,8 @@ CONFIG_PPC_MPC5200_SIMPLE=y
# CONFIG_TAU is not set # CONFIG_TAU is not set
# CONFIG_FSL_ULI1575 is not set # CONFIG_FSL_ULI1575 is not set
CONFIG_PPC_BESTCOMM=y CONFIG_PPC_BESTCOMM=y
# CONFIG_PPC_BESTCOMM_ATA is not set
CONFIG_PPC_BESTCOMM_FEC=y CONFIG_PPC_BESTCOMM_FEC=y
# CONFIG_PPC_BESTCOMM_GEN_BD is not set # CONFIG_SIMPLE_GPIO is not set
# #
# Kernel options # Kernel options
@ -211,6 +215,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_HAS_WALK_MEMORY=y CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
# CONFIG_KEXEC is not set # CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y
@ -222,12 +227,14 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y CONFIG_MIGRATION=y
# CONFIG_RESOURCES_64BIT is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set # CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1 CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y CONFIG_UNEVICTABLE_LRU=y
CONFIG_PPC_4K_PAGES=y
# CONFIG_PPC_16K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_PROC_DEVICETREE=y CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set # CONFIG_CMDLINE_BOOL is not set
@ -268,6 +275,7 @@ CONFIG_NET=y
# #
# Networking options # Networking options
# #
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y CONFIG_UNIX=y
@ -324,6 +332,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_ECONET is not set # CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set # CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# #
# Network testing # Network testing
@ -336,6 +345,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_AF_RXRPC is not set # CONFIG_AF_RXRPC is not set
# CONFIG_PHONET is not set # CONFIG_PHONET is not set
# CONFIG_WIRELESS is not set # CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set # CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set # CONFIG_NET_9P is not set
@ -426,6 +436,12 @@ CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_NAND is not set # CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set # CONFIG_MTD_ONENAND is not set
#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_QINFO_PROBE is not set
# #
# UBI - Unsorted block images # UBI - Unsorted block images
# #
@ -514,6 +530,9 @@ CONFIG_LXT_PHY=y
# CONFIG_BROADCOM_PHY is not set # CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set # CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set # CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_FIXED_PHY is not set # CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y CONFIG_NET_ETHERNET=y
@ -538,6 +557,10 @@ CONFIG_FEC_MPC52xx_MDIO=y
# CONFIG_WLAN_80211 is not set # CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set # CONFIG_IWLWIFI_LEDS is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# #
# USB Network Adapters # USB Network Adapters
# #
@ -588,8 +611,10 @@ CONFIG_SERIAL_MPC52xx=y
CONFIG_SERIAL_MPC52xx_CONSOLE=y CONFIG_SERIAL_MPC52xx_CONSOLE=y
CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=57600 CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=57600
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_HVC_UDBG is not set
# CONFIG_IPMI_HANDLER is not set # CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set # CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set # CONFIG_NVRAM is not set
@ -629,8 +654,6 @@ CONFIG_I2C_MPC=y
# Miscellaneous I2C Chip support # Miscellaneous I2C Chip support
# #
# CONFIG_DS1682 is not set # CONFIG_DS1682 is not set
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set # CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCA9539 is not set
@ -675,10 +698,12 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_MFD_CORE is not set # CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set # CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_PASIC3 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_TMIO is not set # CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set # CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_REGULATOR is not set # CONFIG_REGULATOR is not set
# #
@ -736,6 +761,7 @@ CONFIG_USB_DEVICEFS=y
# USB Host Controller Drivers # USB Host Controller Drivers
# #
# CONFIG_USB_C67X00_HCD is not set # CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set # CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD=y
@ -760,18 +786,17 @@ CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
# CONFIG_USB_TMC is not set # CONFIG_USB_TMC is not set
# #
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
# #
# #
# may also be needed; see USB_STORAGE Help for more information # see USB_STORAGE Help for more information
# #
CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set # CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_SDDR55 is not set
@ -817,6 +842,10 @@ CONFIG_USB_STORAGE=y
# CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_VST is not set # CONFIG_USB_VST is not set
# CONFIG_USB_GADGET is not set # CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_MMC is not set # CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set # CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set # CONFIG_NEW_LEDS is not set
@ -826,7 +855,6 @@ CONFIG_USB_STORAGE=y
# CONFIG_DMADEVICES is not set # CONFIG_DMADEVICES is not set
# CONFIG_UIO is not set # CONFIG_UIO is not set
# CONFIG_STAGING is not set # CONFIG_STAGING is not set
CONFIG_STAGING_EXCLUDE_BUILD=y
# #
# File systems # File systems
@ -847,6 +875,7 @@ CONFIG_FS_MBCACHE=y
CONFIG_FILE_LOCKING=y CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set # CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set # CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
CONFIG_DNOTIFY=y CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y CONFIG_INOTIFY_USER=y
@ -883,10 +912,7 @@ CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set # CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
@ -906,6 +932,7 @@ CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set # CONFIG_JFFS2_RUBIN is not set
CONFIG_CRAMFS=y CONFIG_CRAMFS=y
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set # CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set # CONFIG_OMFS_FS is not set
@ -1002,6 +1029,7 @@ CONFIG_NLS_ISO8859_1=y
# Library routines # Library routines
# #
CONFIG_BITREVERSE=y CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set # CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set # CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set # CONFIG_CRC_T10DIF is not set
@ -1053,6 +1081,7 @@ CONFIG_SCHED_DEBUG=y
# CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set
@ -1061,6 +1090,8 @@ CONFIG_SCHED_DEBUG=y
# CONFIG_FAULT_INJECTION is not set # CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set # CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
# #
# Tracers # Tracers
@ -1069,11 +1100,13 @@ CONFIG_HAVE_FUNCTION_TRACER=y
# CONFIG_SCHED_TRACER is not set # CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER is not set # CONFIG_CONTEXT_SWITCH_TRACER is not set
# CONFIG_BOOT_TRACER is not set # CONFIG_BOOT_TRACER is not set
# CONFIG_TRACE_BRANCH_PROFILING is not set
# CONFIG_STACK_TRACER is not set # CONFIG_STACK_TRACER is not set
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set # CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_SAMPLES is not set # CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set # CONFIG_KGDB is not set
CONFIG_PRINT_STACK_DEPTH=64
# CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_DEBUG_PAGEALLOC is not set
@ -1100,11 +1133,15 @@ CONFIG_CRYPTO=y
# #
# CONFIG_CRYPTO_FIPS is not set # CONFIG_CRYPTO_FIPS is not set
CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_GF128MUL is not set # CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_CRYPTD is not set # CONFIG_CRYPTO_CRYPTD is not set

Просмотреть файл

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.28-rc4 # Linux kernel version: 2.6.29-rc2
# Thu Nov 13 02:10:16 2008 # Mon Jan 26 21:41:14 2009
# #
# CONFIG_PPC64 is not set # CONFIG_PPC64 is not set
@ -43,7 +43,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_PPC=y CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y CONFIG_PPC_OF=y
CONFIG_OF=y CONFIG_OF=y
@ -72,14 +72,23 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set # CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set # CONFIG_AUDIT is not set
#
# RCU Subsystem
#
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set # CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y CONFIG_GROUP_SCHED=y
# CONFIG_FAIR_GROUP_SCHED is not set # CONFIG_FAIR_GROUP_SCHED is not set
# CONFIG_RT_GROUP_SCHED is not set # CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set # CONFIG_CGROUP_SCHED is not set
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set # CONFIG_RELAY is not set
@ -112,7 +121,6 @@ CONFIG_SLUB_DEBUG=y
CONFIG_SLUB=y CONFIG_SLUB=y
# CONFIG_SLOB is not set # CONFIG_SLOB is not set
# CONFIG_PROFILING is not set # CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_IOREMAP_PROT=y
@ -123,7 +131,6 @@ CONFIG_HAVE_CLK=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0 CONFIG_BASE_SMALL=0
CONFIG_MODULES=y CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_LOAD is not set
@ -131,11 +138,9 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set # CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y CONFIG_BLOCK=y
# CONFIG_LBD is not set # CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set # CONFIG_BLK_DEV_INTEGRITY is not set
@ -151,7 +156,6 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set # CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory" CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y
CONFIG_FREEZER=y CONFIG_FREEZER=y
# #
@ -192,7 +196,7 @@ CONFIG_PPC_LITE5200=y
CONFIG_PPC_BESTCOMM=y CONFIG_PPC_BESTCOMM=y
CONFIG_PPC_BESTCOMM_ATA=y CONFIG_PPC_BESTCOMM_ATA=y
CONFIG_PPC_BESTCOMM_FEC=y CONFIG_PPC_BESTCOMM_FEC=y
CONFIG_PPC_BESTCOMM_GEN_BD=y # CONFIG_SIMPLE_GPIO is not set
# #
# Kernel options # Kernel options
@ -220,6 +224,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_HAS_WALK_MEMORY=y CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
# CONFIG_KEXEC is not set # CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y
@ -231,12 +236,14 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y CONFIG_MIGRATION=y
# CONFIG_RESOURCES_64BIT is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set # CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1 CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y CONFIG_UNEVICTABLE_LRU=y
CONFIG_PPC_4K_PAGES=y
# CONFIG_PPC_16K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_PROC_DEVICETREE=y CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set # CONFIG_CMDLINE_BOOL is not set
@ -264,6 +271,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set # CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY=y CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set # CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCCARD is not set # CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set # CONFIG_HOTPLUG_PCI is not set
# CONFIG_HAS_RAPIDIO is not set # CONFIG_HAS_RAPIDIO is not set
@ -286,6 +294,7 @@ CONFIG_NET=y
# #
# Networking options # Networking options
# #
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y CONFIG_UNIX=y
@ -342,6 +351,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_ECONET is not set # CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set # CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# #
# Network testing # Network testing
@ -354,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_AF_RXRPC is not set # CONFIG_AF_RXRPC is not set
# CONFIG_PHONET is not set # CONFIG_PHONET is not set
# CONFIG_WIRELESS is not set # CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set # CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set # CONFIG_NET_9P is not set
@ -396,13 +407,19 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
# CONFIG_BLK_DEV_HD is not set # CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y CONFIG_MISC_DEVICES=y
# CONFIG_PHANTOM is not set # CONFIG_PHANTOM is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_SGI_IOC4 is not set # CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set # CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set # CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set # CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set # CONFIG_HP_ILO is not set
# CONFIG_C2PORT is not set # CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_EEPROM_93CX6 is not set
CONFIG_HAVE_IDE=y CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set # CONFIG_IDE is not set
@ -445,6 +462,7 @@ CONFIG_SCSI_WAIT_SCAN=m
# CONFIG_SCSI_SRP_ATTRS is not set # CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_TCP is not set
# CONFIG_SCSI_CXGB3_ISCSI is not set
# CONFIG_BLK_DEV_3W_XXXX_RAID is not set # CONFIG_BLK_DEV_3W_XXXX_RAID is not set
# CONFIG_SCSI_3W_9XXX is not set # CONFIG_SCSI_3W_9XXX is not set
# CONFIG_SCSI_ACARD is not set # CONFIG_SCSI_ACARD is not set
@ -461,6 +479,8 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_MEGARAID_SAS is not set # CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set # CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_LIBFC is not set
# CONFIG_FCOE is not set
# CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set # CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set
@ -580,6 +600,9 @@ CONFIG_LXT_PHY=y
# CONFIG_BROADCOM_PHY is not set # CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set # CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set # CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_FIXED_PHY is not set # CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y CONFIG_NET_ETHERNET=y
@ -626,6 +649,7 @@ CONFIG_NETDEV_1000=y
# CONFIG_JME is not set # CONFIG_JME is not set
CONFIG_NETDEV_10000=y CONFIG_NETDEV_10000=y
# CONFIG_CHELSIO_T1 is not set # CONFIG_CHELSIO_T1 is not set
CONFIG_CHELSIO_T3_DEPENDS=y
# CONFIG_CHELSIO_T3 is not set # CONFIG_CHELSIO_T3 is not set
# CONFIG_ENIC is not set # CONFIG_ENIC is not set
# CONFIG_IXGBE is not set # CONFIG_IXGBE is not set
@ -648,6 +672,10 @@ CONFIG_NETDEV_10000=y
# CONFIG_WLAN_PRE80211 is not set # CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set # CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set # CONFIG_IWLWIFI_LEDS is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set # CONFIG_WAN is not set
# CONFIG_FDDI is not set # CONFIG_FDDI is not set
# CONFIG_HIPPI is not set # CONFIG_HIPPI is not set
@ -695,8 +723,10 @@ CONFIG_SERIAL_MPC52xx_CONSOLE=y
CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
# CONFIG_SERIAL_JSM is not set # CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_HVC_UDBG is not set
# CONFIG_IPMI_HANDLER is not set # CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set # CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set # CONFIG_NVRAM is not set
@ -762,8 +792,6 @@ CONFIG_I2C_MPC=y
# Miscellaneous I2C Chip support # Miscellaneous I2C Chip support
# #
# CONFIG_DS1682 is not set # CONFIG_DS1682 is not set
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set # CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCA9539 is not set
@ -796,10 +824,12 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_MFD_CORE is not set # CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set # CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_PASIC3 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_TMIO is not set # CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set # CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_REGULATOR is not set # CONFIG_REGULATOR is not set
# #
@ -846,9 +876,13 @@ CONFIG_USB_ARCH_HAS_EHCI=y
# #
# #
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
# #
# CONFIG_USB_GADGET is not set # CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_UWB is not set # CONFIG_UWB is not set
# CONFIG_MMC is not set # CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set # CONFIG_MEMSTICK is not set
@ -860,7 +894,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
# CONFIG_DMADEVICES is not set # CONFIG_DMADEVICES is not set
# CONFIG_UIO is not set # CONFIG_UIO is not set
# CONFIG_STAGING is not set # CONFIG_STAGING is not set
CONFIG_STAGING_EXCLUDE_BUILD=y
# #
# File systems # File systems
@ -881,6 +914,7 @@ CONFIG_FS_MBCACHE=y
CONFIG_FILE_LOCKING=y CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set # CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set # CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
CONFIG_DNOTIFY=y CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y CONFIG_INOTIFY_USER=y
@ -914,10 +948,7 @@ CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set # CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
@ -926,6 +957,7 @@ CONFIG_TMPFS=y
# CONFIG_BFS_FS is not set # CONFIG_BFS_FS is not set
# CONFIG_EFS_FS is not set # CONFIG_EFS_FS is not set
# CONFIG_CRAMFS is not set # CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set # CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set # CONFIG_OMFS_FS is not set
@ -967,6 +999,7 @@ CONFIG_MSDOS_PARTITION=y
# Library routines # Library routines
# #
CONFIG_BITREVERSE=y CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set # CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set # CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set # CONFIG_CRC_T10DIF is not set
@ -1016,6 +1049,7 @@ CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set
@ -1024,6 +1058,8 @@ CONFIG_DEBUG_INFO=y
# CONFIG_FAULT_INJECTION is not set # CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set # CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
# #
# Tracers # Tracers
@ -1032,11 +1068,13 @@ CONFIG_HAVE_FUNCTION_TRACER=y
# CONFIG_SCHED_TRACER is not set # CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER is not set # CONFIG_CONTEXT_SWITCH_TRACER is not set
# CONFIG_BOOT_TRACER is not set # CONFIG_BOOT_TRACER is not set
# CONFIG_TRACE_BRANCH_PROFILING is not set
# CONFIG_STACK_TRACER is not set # CONFIG_STACK_TRACER is not set
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set # CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_SAMPLES is not set # CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set # CONFIG_KGDB is not set
CONFIG_PRINT_STACK_DEPTH=64
# CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_DEBUG_PAGEALLOC is not set
@ -1063,11 +1101,15 @@ CONFIG_CRYPTO=y
# #
# CONFIG_CRYPTO_FIPS is not set # CONFIG_CRYPTO_FIPS is not set
CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_GF128MUL is not set # CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_CRYPTD is not set # CONFIG_CRYPTO_CRYPTD is not set

Просмотреть файл

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.28-rc4 # Linux kernel version: 2.6.29-rc2
# Thu Nov 13 02:11:02 2008 # Mon Jan 26 21:42:29 2009
# #
# CONFIG_PPC64 is not set # CONFIG_PPC64 is not set
@ -43,7 +43,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_PPC=y CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y CONFIG_PPC_OF=y
CONFIG_OF=y CONFIG_OF=y
@ -71,14 +71,23 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set # CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set # CONFIG_AUDIT is not set
#
# RCU Subsystem
#
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set # CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set # CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set # CONFIG_CGROUP_SCHED is not set
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set # CONFIG_RELAY is not set
@ -110,7 +119,6 @@ CONFIG_SLUB_DEBUG=y
CONFIG_SLUB=y CONFIG_SLUB=y
# CONFIG_SLOB is not set # CONFIG_SLOB is not set
# CONFIG_PROFILING is not set # CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_IOREMAP_PROT=y
@ -121,13 +129,11 @@ CONFIG_HAVE_CLK=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0 CONFIG_BASE_SMALL=0
# CONFIG_MODULES is not set # CONFIG_MODULES is not set
CONFIG_BLOCK=y CONFIG_BLOCK=y
# CONFIG_LBD is not set # CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set # CONFIG_BLK_DEV_INTEGRITY is not set
@ -143,7 +149,6 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set # CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory" CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y
# CONFIG_FREEZER is not set # CONFIG_FREEZER is not set
# #
@ -182,9 +187,9 @@ CONFIG_PPC_MPC5200_SIMPLE=y
# CONFIG_TAU is not set # CONFIG_TAU is not set
# CONFIG_FSL_ULI1575 is not set # CONFIG_FSL_ULI1575 is not set
CONFIG_PPC_BESTCOMM=y CONFIG_PPC_BESTCOMM=y
# CONFIG_PPC_BESTCOMM_ATA is not set CONFIG_PPC_BESTCOMM_ATA=y
CONFIG_PPC_BESTCOMM_FEC=y CONFIG_PPC_BESTCOMM_FEC=y
# CONFIG_PPC_BESTCOMM_GEN_BD is not set # CONFIG_SIMPLE_GPIO is not set
# #
# Kernel options # Kernel options
@ -211,6 +216,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_HAS_WALK_MEMORY=y CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
# CONFIG_KEXEC is not set # CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y
@ -222,12 +228,14 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y CONFIG_MIGRATION=y
# CONFIG_RESOURCES_64BIT is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set # CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1 CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y CONFIG_UNEVICTABLE_LRU=y
CONFIG_PPC_4K_PAGES=y
# CONFIG_PPC_16K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_PROC_DEVICETREE=y CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set # CONFIG_CMDLINE_BOOL is not set
@ -268,6 +276,7 @@ CONFIG_NET=y
# #
# Networking options # Networking options
# #
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y CONFIG_UNIX=y
@ -324,6 +333,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_ECONET is not set # CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set # CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# #
# Network testing # Network testing
@ -336,6 +346,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_AF_RXRPC is not set # CONFIG_AF_RXRPC is not set
# CONFIG_PHONET is not set # CONFIG_PHONET is not set
# CONFIG_WIRELESS is not set # CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set # CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set # CONFIG_NET_9P is not set
@ -426,6 +437,12 @@ CONFIG_MTD_ROM=y
# CONFIG_MTD_NAND is not set # CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set # CONFIG_MTD_ONENAND is not set
#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_QINFO_PROBE is not set
# #
# UBI - Unsorted block images # UBI - Unsorted block images
# #
@ -447,10 +464,16 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
# CONFIG_ATA_OVER_ETH is not set # CONFIG_ATA_OVER_ETH is not set
# CONFIG_BLK_DEV_HD is not set # CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y CONFIG_MISC_DEVICES=y
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_ICS932S401 is not set # CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set # CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_C2PORT is not set # CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
CONFIG_EEPROM_LEGACY=y
# CONFIG_EEPROM_93CX6 is not set
CONFIG_HAVE_IDE=y CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set # CONFIG_IDE is not set
@ -492,6 +515,7 @@ CONFIG_CHR_DEV_SG=y
# CONFIG_SCSI_SRP_ATTRS is not set # CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_TCP is not set
# CONFIG_LIBFC is not set
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_DH is not set # CONFIG_SCSI_DH is not set
CONFIG_ATA=y CONFIG_ATA=y
@ -525,6 +549,9 @@ CONFIG_SMSC_PHY=y
CONFIG_BROADCOM_PHY=y CONFIG_BROADCOM_PHY=y
CONFIG_ICPLUS_PHY=y CONFIG_ICPLUS_PHY=y
# CONFIG_REALTEK_PHY is not set # CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_FIXED_PHY is not set # CONFIG_FIXED_PHY is not set
CONFIG_MDIO_BITBANG=y CONFIG_MDIO_BITBANG=y
CONFIG_NET_ETHERNET=y CONFIG_NET_ETHERNET=y
@ -548,6 +575,10 @@ CONFIG_FEC_MPC52xx_MDIO=y
# CONFIG_WLAN_PRE80211 is not set # CONFIG_WLAN_PRE80211 is not set
# CONFIG_WLAN_80211 is not set # CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set # CONFIG_IWLWIFI_LEDS is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# CONFIG_WAN is not set # CONFIG_WAN is not set
# CONFIG_PPP is not set # CONFIG_PPP is not set
# CONFIG_SLIP is not set # CONFIG_SLIP is not set
@ -590,8 +621,10 @@ CONFIG_SERIAL_MPC52xx=y
CONFIG_SERIAL_MPC52xx_CONSOLE=y CONFIG_SERIAL_MPC52xx_CONSOLE=y
CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_HVC_UDBG is not set
# CONFIG_IPMI_HANDLER is not set # CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set # CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set # CONFIG_NVRAM is not set
@ -629,8 +662,6 @@ CONFIG_I2C_MPC=y
# Miscellaneous I2C Chip support # Miscellaneous I2C Chip support
# #
# CONFIG_DS1682 is not set # CONFIG_DS1682 is not set
# CONFIG_EEPROM_AT24 is not set
CONFIG_EEPROM_LEGACY=y
# CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set # CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCA9539 is not set
@ -659,6 +690,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_ADT7462 is not set # CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set # CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7473 is not set # CONFIG_SENSORS_ADT7473 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set # CONFIG_SENSORS_F71805F is not set
@ -678,6 +710,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set # CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_MAX1619 is not set # CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87360 is not set
@ -721,10 +754,12 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_MFD_CORE is not set # CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set # CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_PASIC3 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_TMIO is not set # CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set # CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_REGULATOR is not set # CONFIG_REGULATOR is not set
# #
@ -835,7 +870,6 @@ CONFIG_RTC_DRV_DS1307=y
# CONFIG_DMADEVICES is not set # CONFIG_DMADEVICES is not set
# CONFIG_UIO is not set # CONFIG_UIO is not set
# CONFIG_STAGING is not set # CONFIG_STAGING is not set
CONFIG_STAGING_EXCLUDE_BUILD=y
# #
# File systems # File systems
@ -856,6 +890,7 @@ CONFIG_FS_MBCACHE=y
CONFIG_FILE_LOCKING=y CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set # CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set # CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
CONFIG_DNOTIFY=y CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y CONFIG_INOTIFY_USER=y
@ -892,10 +927,7 @@ CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set # CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
@ -915,6 +947,7 @@ CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set # CONFIG_JFFS2_RUBIN is not set
CONFIG_CRAMFS=y CONFIG_CRAMFS=y
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set # CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set # CONFIG_OMFS_FS is not set
@ -1011,6 +1044,7 @@ CONFIG_NLS_ISO8859_1=y
# Library routines # Library routines
# #
CONFIG_BITREVERSE=y CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set # CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set # CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set # CONFIG_CRC_T10DIF is not set
@ -1062,6 +1096,7 @@ CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set
@ -1070,6 +1105,8 @@ CONFIG_DEBUG_INFO=y
# CONFIG_FAULT_INJECTION is not set # CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set # CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
# #
# Tracers # Tracers
@ -1078,11 +1115,13 @@ CONFIG_HAVE_FUNCTION_TRACER=y
# CONFIG_SCHED_TRACER is not set # CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER is not set # CONFIG_CONTEXT_SWITCH_TRACER is not set
# CONFIG_BOOT_TRACER is not set # CONFIG_BOOT_TRACER is not set
# CONFIG_TRACE_BRANCH_PROFILING is not set
# CONFIG_STACK_TRACER is not set # CONFIG_STACK_TRACER is not set
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set # CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_SAMPLES is not set # CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set # CONFIG_KGDB is not set
CONFIG_PRINT_STACK_DEPTH=64
# CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_DEBUG_PAGEALLOC is not set
@ -1109,11 +1148,15 @@ CONFIG_CRYPTO=y
# #
# CONFIG_CRYPTO_FIPS is not set # CONFIG_CRYPTO_FIPS is not set
CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_GF128MUL is not set # CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_CRYPTD is not set # CONFIG_CRYPTO_CRYPTD is not set

Просмотреть файл

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.28-rc4 # Linux kernel version: 2.6.29-rc2
# Thu Nov 13 02:13:16 2008 # Mon Jan 26 21:41:33 2009
# #
# CONFIG_PPC64 is not set # CONFIG_PPC64 is not set
@ -43,7 +43,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_PPC=y CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y CONFIG_PPC_OF=y
CONFIG_OF=y CONFIG_OF=y
@ -72,15 +72,24 @@ CONFIG_POSIX_MQUEUE=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set # CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set # CONFIG_AUDIT is not set
#
# RCU Subsystem
#
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
CONFIG_IKCONFIG=y CONFIG_IKCONFIG=y
CONFIG_IKCONFIG_PROC=y CONFIG_IKCONFIG_PROC=y
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set # CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set # CONFIG_CGROUP_SCHED is not set
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set # CONFIG_RELAY is not set
@ -112,7 +121,6 @@ CONFIG_SLAB=y
# CONFIG_SLUB is not set # CONFIG_SLUB is not set
# CONFIG_SLOB is not set # CONFIG_SLOB is not set
# CONFIG_PROFILING is not set # CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPROFILE=y
# CONFIG_KPROBES is not set # CONFIG_KPROBES is not set
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
@ -124,7 +132,6 @@ CONFIG_HAVE_CLK=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0 CONFIG_BASE_SMALL=0
CONFIG_MODULES=y CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_LOAD is not set
@ -132,11 +139,9 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set # CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y CONFIG_BLOCK=y
# CONFIG_LBD is not set # CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set # CONFIG_BLK_DEV_INTEGRITY is not set
@ -152,7 +157,6 @@ CONFIG_IOSCHED_NOOP=y
# CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_CFQ is not set
CONFIG_DEFAULT_NOOP=y CONFIG_DEFAULT_NOOP=y
CONFIG_DEFAULT_IOSCHED="noop" CONFIG_DEFAULT_IOSCHED="noop"
CONFIG_CLASSIC_RCU=y
# CONFIG_FREEZER is not set # CONFIG_FREEZER is not set
# #
@ -191,9 +195,9 @@ CONFIG_PPC_MPC5200_SIMPLE=y
# CONFIG_TAU is not set # CONFIG_TAU is not set
# CONFIG_FSL_ULI1575 is not set # CONFIG_FSL_ULI1575 is not set
CONFIG_PPC_BESTCOMM=y CONFIG_PPC_BESTCOMM=y
CONFIG_PPC_BESTCOMM_ATA=y CONFIG_PPC_BESTCOMM_ATA=m
CONFIG_PPC_BESTCOMM_FEC=y CONFIG_PPC_BESTCOMM_FEC=y
CONFIG_PPC_BESTCOMM_GEN_BD=y # CONFIG_SIMPLE_GPIO is not set
# #
# Kernel options # Kernel options
@ -212,7 +216,6 @@ CONFIG_SCHED_HRTICK=y
# CONFIG_PREEMPT_NONE is not set # CONFIG_PREEMPT_NONE is not set
# CONFIG_PREEMPT_VOLUNTARY is not set # CONFIG_PREEMPT_VOLUNTARY is not set
CONFIG_PREEMPT=y CONFIG_PREEMPT=y
# CONFIG_PREEMPT_RCU is not set
CONFIG_BINFMT_ELF=y CONFIG_BINFMT_ELF=y
# CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set # CONFIG_CORE_DUMP_DEFAULT_ELF_HEADERS is not set
# CONFIG_HAVE_AOUT is not set # CONFIG_HAVE_AOUT is not set
@ -222,6 +225,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_HAS_WALK_MEMORY=y CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
# CONFIG_KEXEC is not set # CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y
@ -233,12 +237,14 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y CONFIG_MIGRATION=y
# CONFIG_RESOURCES_64BIT is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set # CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1 CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y CONFIG_UNEVICTABLE_LRU=y
CONFIG_PPC_4K_PAGES=y
# CONFIG_PPC_16K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_PROC_DEVICETREE=y CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set # CONFIG_CMDLINE_BOOL is not set
@ -261,6 +267,7 @@ CONFIG_PCI_SYSCALL=y
CONFIG_ARCH_SUPPORTS_MSI=y CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set # CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY=y CONFIG_PCI_LEGACY=y
# CONFIG_PCI_STUB is not set
# CONFIG_PCCARD is not set # CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set # CONFIG_HOTPLUG_PCI is not set
# CONFIG_HAS_RAPIDIO is not set # CONFIG_HAS_RAPIDIO is not set
@ -283,6 +290,7 @@ CONFIG_NET=y
# #
# Networking options # Networking options
# #
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y CONFIG_UNIX=y
@ -333,6 +341,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_ECONET is not set # CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set # CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# #
# Network testing # Network testing
@ -345,6 +354,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_AF_RXRPC is not set # CONFIG_AF_RXRPC is not set
# CONFIG_PHONET is not set # CONFIG_PHONET is not set
# CONFIG_WIRELESS is not set # CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set # CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set # CONFIG_NET_9P is not set
@ -365,6 +375,7 @@ CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set # CONFIG_MTD_DEBUG is not set
# CONFIG_MTD_CONCAT is not set # CONFIG_MTD_CONCAT is not set
CONFIG_MTD_PARTITIONS=y CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_OF_PARTS is not set # CONFIG_MTD_OF_PARTS is not set
@ -413,9 +424,7 @@ CONFIG_MTD_CFI_UTIL=y
# #
# CONFIG_MTD_COMPLEX_MAPPINGS is not set # CONFIG_MTD_COMPLEX_MAPPINGS is not set
CONFIG_MTD_PHYSMAP=y CONFIG_MTD_PHYSMAP=y
CONFIG_MTD_PHYSMAP_START=0x0 # CONFIG_MTD_PHYSMAP_COMPAT is not set
CONFIG_MTD_PHYSMAP_LEN=0x0
CONFIG_MTD_PHYSMAP_BANKWIDTH=1
# CONFIG_MTD_PHYSMAP_OF is not set # CONFIG_MTD_PHYSMAP_OF is not set
# CONFIG_MTD_INTEL_VR_NOR is not set # CONFIG_MTD_INTEL_VR_NOR is not set
# CONFIG_MTD_PLATRAM is not set # CONFIG_MTD_PLATRAM is not set
@ -438,6 +447,12 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=1
# CONFIG_MTD_NAND is not set # CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set # CONFIG_MTD_ONENAND is not set
#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_QINFO_PROBE is not set
# #
# UBI - Unsorted block images # UBI - Unsorted block images
# #
@ -587,6 +602,9 @@ CONFIG_PHYLIB=y
# CONFIG_BROADCOM_PHY is not set # CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set # CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set # CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_FIXED_PHY is not set # CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y CONFIG_NET_ETHERNET=y
@ -620,6 +638,10 @@ CONFIG_FEC_MPC52xx_MDIO=y
# CONFIG_WLAN_80211 is not set # CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set # CONFIG_IWLWIFI_LEDS is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# #
# USB Network Adapters # USB Network Adapters
# #
@ -675,7 +697,9 @@ CONFIG_SERIAL_MPC52xx_CONSOLE=y
CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=9600 CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=9600
# CONFIG_SERIAL_JSM is not set # CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
# CONFIG_LEGACY_PTYS is not set # CONFIG_LEGACY_PTYS is not set
# CONFIG_HVC_UDBG is not set
# CONFIG_IPMI_HANDLER is not set # CONFIG_IPMI_HANDLER is not set
CONFIG_HW_RANDOM=y CONFIG_HW_RANDOM=y
# CONFIG_NVRAM is not set # CONFIG_NVRAM is not set
@ -740,8 +764,6 @@ CONFIG_I2C_MPC=y
# Miscellaneous I2C Chip support # Miscellaneous I2C Chip support
# #
# CONFIG_DS1682 is not set # CONFIG_DS1682 is not set
# CONFIG_EEPROM_AT24 is not set
CONFIG_EEPROM_LEGACY=m
# CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set # CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCA9539 is not set
@ -774,10 +796,12 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_MFD_CORE is not set # CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set # CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_PASIC3 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_TMIO is not set # CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set # CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_REGULATOR is not set # CONFIG_REGULATOR is not set
# #
@ -837,6 +861,7 @@ CONFIG_USB_DEVICEFS=y
# #
# CONFIG_USB_C67X00_HCD is not set # CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_EHCI_HCD is not set # CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set # CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_OHCI_HCD=m CONFIG_USB_OHCI_HCD=m
@ -864,18 +889,17 @@ CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
# CONFIG_USB_TMC is not set # CONFIG_USB_TMC is not set
# #
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
# #
# #
# may also be needed; see USB_STORAGE Help for more information # see USB_STORAGE Help for more information
# #
CONFIG_USB_STORAGE=m CONFIG_USB_STORAGE=m
# CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set # CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_SDDR55 is not set
@ -921,6 +945,10 @@ CONFIG_USB_STORAGE=m
# CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_VST is not set # CONFIG_USB_VST is not set
# CONFIG_USB_GADGET is not set # CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_UWB is not set # CONFIG_UWB is not set
# CONFIG_MMC is not set # CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set # CONFIG_MEMSTICK is not set
@ -983,7 +1011,6 @@ CONFIG_RTC_DRV_PCF8563=m
# CONFIG_DMADEVICES is not set # CONFIG_DMADEVICES is not set
# CONFIG_UIO is not set # CONFIG_UIO is not set
# CONFIG_STAGING is not set # CONFIG_STAGING is not set
CONFIG_STAGING_EXCLUDE_BUILD=y
# #
# File systems # File systems
@ -1004,6 +1031,7 @@ CONFIG_FS_MBCACHE=m
CONFIG_FILE_LOCKING=y CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set # CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set # CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
# CONFIG_DNOTIFY is not set # CONFIG_DNOTIFY is not set
# CONFIG_INOTIFY is not set # CONFIG_INOTIFY is not set
# CONFIG_QUOTA is not set # CONFIG_QUOTA is not set
@ -1039,10 +1067,7 @@ CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set # CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
@ -1062,6 +1087,7 @@ CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set # CONFIG_JFFS2_RUBIN is not set
# CONFIG_CRAMFS is not set # CONFIG_CRAMFS is not set
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set # CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set # CONFIG_OMFS_FS is not set
@ -1141,6 +1167,7 @@ CONFIG_NLS_ISO8859_1=y
# Library routines # Library routines
# #
CONFIG_BITREVERSE=y CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set # CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set # CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set # CONFIG_CRC_T10DIF is not set
@ -1173,6 +1200,8 @@ CONFIG_FRAME_WARN=1024
# CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set
# CONFIG_LATENCYTOP is not set # CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
# #
# Tracers # Tracers
@ -1180,6 +1209,7 @@ CONFIG_HAVE_FUNCTION_TRACER=y
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set # CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_SAMPLES is not set # CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_KGDB=y
CONFIG_PRINT_STACK_DEPTH=64
# CONFIG_IRQSTACKS is not set # CONFIG_IRQSTACKS is not set
# CONFIG_BOOTX_TEXT is not set # CONFIG_BOOTX_TEXT is not set
# CONFIG_PPC_EARLY_DEBUG is not set # CONFIG_PPC_EARLY_DEBUG is not set

Просмотреть файл

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.28-rc4 # Linux kernel version: 2.6.29-rc2
# Thu Nov 13 02:09:30 2008 # Mon Jan 26 21:42:58 2009
# #
# CONFIG_PPC64 is not set # CONFIG_PPC64 is not set
@ -43,7 +43,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_PPC=y CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y CONFIG_PPC_OF=y
CONFIG_OF=y CONFIG_OF=y
@ -71,14 +71,23 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set # CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set # CONFIG_AUDIT is not set
#
# RCU Subsystem
#
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set # CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
CONFIG_GROUP_SCHED=y CONFIG_GROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y CONFIG_FAIR_GROUP_SCHED=y
# CONFIG_RT_GROUP_SCHED is not set # CONFIG_RT_GROUP_SCHED is not set
CONFIG_USER_SCHED=y CONFIG_USER_SCHED=y
# CONFIG_CGROUP_SCHED is not set # CONFIG_CGROUP_SCHED is not set
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set # CONFIG_RELAY is not set
@ -110,7 +119,6 @@ CONFIG_SLUB_DEBUG=y
CONFIG_SLUB=y CONFIG_SLUB=y
# CONFIG_SLOB is not set # CONFIG_SLOB is not set
# CONFIG_PROFILING is not set # CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_IOREMAP_PROT=y
@ -121,7 +129,6 @@ CONFIG_HAVE_CLK=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0 CONFIG_BASE_SMALL=0
CONFIG_MODULES=y CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_LOAD is not set
@ -129,11 +136,9 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set
CONFIG_MODVERSIONS=y CONFIG_MODVERSIONS=y
# CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y CONFIG_BLOCK=y
# CONFIG_LBD is not set # CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set # CONFIG_BLK_DEV_INTEGRITY is not set
@ -149,7 +154,6 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set # CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory" CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y
# CONFIG_FREEZER is not set # CONFIG_FREEZER is not set
# #
@ -188,9 +192,9 @@ CONFIG_PPC_MPC5200_BUGFIX=y
# CONFIG_TAU is not set # CONFIG_TAU is not set
# CONFIG_FSL_ULI1575 is not set # CONFIG_FSL_ULI1575 is not set
CONFIG_PPC_BESTCOMM=y CONFIG_PPC_BESTCOMM=y
# CONFIG_PPC_BESTCOMM_ATA is not set CONFIG_PPC_BESTCOMM_ATA=y
CONFIG_PPC_BESTCOMM_FEC=y CONFIG_PPC_BESTCOMM_FEC=y
# CONFIG_PPC_BESTCOMM_GEN_BD is not set # CONFIG_SIMPLE_GPIO is not set
# #
# Kernel options # Kernel options
@ -217,6 +221,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_HAS_WALK_MEMORY=y CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
# CONFIG_KEXEC is not set # CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y
@ -228,12 +233,14 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y CONFIG_MIGRATION=y
# CONFIG_RESOURCES_64BIT is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set # CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1 CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y CONFIG_UNEVICTABLE_LRU=y
CONFIG_PPC_4K_PAGES=y
# CONFIG_PPC_16K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_PROC_DEVICETREE=y CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set # CONFIG_CMDLINE_BOOL is not set
@ -274,6 +281,7 @@ CONFIG_NET=y
# #
# Networking options # Networking options
# #
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y CONFIG_UNIX=y
@ -330,6 +338,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_ECONET is not set # CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set # CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# #
# Network testing # Network testing
@ -342,6 +351,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_AF_RXRPC is not set # CONFIG_AF_RXRPC is not set
# CONFIG_PHONET is not set # CONFIG_PHONET is not set
# CONFIG_WIRELESS is not set # CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set # CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set # CONFIG_NET_9P is not set
@ -364,6 +374,7 @@ CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set # CONFIG_MTD_DEBUG is not set
CONFIG_MTD_CONCAT=y CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_OF_PARTS is not set # CONFIG_MTD_OF_PARTS is not set
@ -432,6 +443,12 @@ CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_NAND is not set # CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set # CONFIG_MTD_ONENAND is not set
#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_QINFO_PROBE is not set
# #
# UBI - Unsorted block images # UBI - Unsorted block images
# #
@ -496,6 +513,7 @@ CONFIG_SCSI_WAIT_SCAN=m
# CONFIG_SCSI_SRP_ATTRS is not set # CONFIG_SCSI_SRP_ATTRS is not set
CONFIG_SCSI_LOWLEVEL=y CONFIG_SCSI_LOWLEVEL=y
# CONFIG_ISCSI_TCP is not set # CONFIG_ISCSI_TCP is not set
# CONFIG_LIBFC is not set
# CONFIG_SCSI_DEBUG is not set # CONFIG_SCSI_DEBUG is not set
# CONFIG_SCSI_DH is not set # CONFIG_SCSI_DH is not set
CONFIG_ATA=y CONFIG_ATA=y
@ -530,6 +548,9 @@ CONFIG_LXT_PHY=y
# CONFIG_BROADCOM_PHY is not set # CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set # CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set # CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_FIXED_PHY is not set # CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y CONFIG_NET_ETHERNET=y
@ -554,6 +575,10 @@ CONFIG_FEC_MPC52xx_MDIO=y
# CONFIG_WLAN_80211 is not set # CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set # CONFIG_IWLWIFI_LEDS is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# #
# USB Network Adapters # USB Network Adapters
# #
@ -604,8 +629,10 @@ CONFIG_SERIAL_MPC52xx=y
CONFIG_SERIAL_MPC52xx_CONSOLE=y CONFIG_SERIAL_MPC52xx_CONSOLE=y
CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_HVC_UDBG is not set
# CONFIG_IPMI_HANDLER is not set # CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set # CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set # CONFIG_NVRAM is not set
@ -645,8 +672,6 @@ CONFIG_I2C_MPC=y
# Miscellaneous I2C Chip support # Miscellaneous I2C Chip support
# #
# CONFIG_DS1682 is not set # CONFIG_DS1682 is not set
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set # CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCA9539 is not set
@ -675,6 +700,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_ADT7462 is not set # CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set # CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7473 is not set # CONFIG_SENSORS_ADT7473 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_F71805F is not set # CONFIG_SENSORS_F71805F is not set
@ -694,6 +720,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set # CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_MAX1619 is not set # CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87360 is not set
@ -742,10 +769,12 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_MFD_CORE is not set # CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set # CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_PASIC3 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_TMIO is not set # CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set # CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_REGULATOR is not set # CONFIG_REGULATOR is not set
# #
@ -803,6 +832,7 @@ CONFIG_USB_MON=y
# USB Host Controller Drivers # USB Host Controller Drivers
# #
# CONFIG_USB_C67X00_HCD is not set # CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set # CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD=y
@ -827,18 +857,17 @@ CONFIG_USB_OHCI_BIG_ENDIAN_MMIO=y
# CONFIG_USB_TMC is not set # CONFIG_USB_TMC is not set
# #
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
# #
# #
# may also be needed; see USB_STORAGE Help for more information # see USB_STORAGE Help for more information
# #
CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set # CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_SDDR55 is not set
@ -884,6 +913,10 @@ CONFIG_USB_STORAGE=y
# CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_VST is not set # CONFIG_USB_VST is not set
# CONFIG_USB_GADGET is not set # CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_MMC is not set # CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set # CONFIG_MEMSTICK is not set
# CONFIG_NEW_LEDS is not set # CONFIG_NEW_LEDS is not set
@ -947,7 +980,6 @@ CONFIG_RTC_DRV_DS1307=y
# CONFIG_DMADEVICES is not set # CONFIG_DMADEVICES is not set
# CONFIG_UIO is not set # CONFIG_UIO is not set
# CONFIG_STAGING is not set # CONFIG_STAGING is not set
CONFIG_STAGING_EXCLUDE_BUILD=y
# #
# File systems # File systems
@ -968,6 +1000,7 @@ CONFIG_FS_MBCACHE=y
CONFIG_FILE_LOCKING=y CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set # CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set # CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
CONFIG_DNOTIFY=y CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y CONFIG_INOTIFY_USER=y
@ -1004,10 +1037,7 @@ CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set # CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
@ -1027,6 +1057,7 @@ CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set # CONFIG_JFFS2_RUBIN is not set
CONFIG_CRAMFS=y CONFIG_CRAMFS=y
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set # CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set # CONFIG_OMFS_FS is not set
@ -1123,6 +1154,7 @@ CONFIG_NLS_ISO8859_1=y
# Library routines # Library routines
# #
CONFIG_BITREVERSE=y CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set # CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set # CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set # CONFIG_CRC_T10DIF is not set
@ -1174,6 +1206,7 @@ CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set
@ -1182,6 +1215,8 @@ CONFIG_DEBUG_INFO=y
# CONFIG_FAULT_INJECTION is not set # CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set # CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
# #
# Tracers # Tracers
@ -1190,11 +1225,13 @@ CONFIG_HAVE_FUNCTION_TRACER=y
# CONFIG_SCHED_TRACER is not set # CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER is not set # CONFIG_CONTEXT_SWITCH_TRACER is not set
# CONFIG_BOOT_TRACER is not set # CONFIG_BOOT_TRACER is not set
# CONFIG_TRACE_BRANCH_PROFILING is not set
# CONFIG_STACK_TRACER is not set # CONFIG_STACK_TRACER is not set
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set # CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_SAMPLES is not set # CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set # CONFIG_KGDB is not set
CONFIG_PRINT_STACK_DEPTH=64
# CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_DEBUG_PAGEALLOC is not set
@ -1221,11 +1258,15 @@ CONFIG_CRYPTO=y
# #
# CONFIG_CRYPTO_FIPS is not set # CONFIG_CRYPTO_FIPS is not set
CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_GF128MUL is not set # CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_CRYPTD is not set # CONFIG_CRYPTO_CRYPTD is not set

Просмотреть файл

@ -1,7 +1,7 @@
# #
# Automatically generated make config: don't edit # Automatically generated make config: don't edit
# Linux kernel version: 2.6.28-rc4 # Linux kernel version: 2.6.29-rc2
# Thu Nov 13 02:09:07 2008 # Mon Jan 26 21:40:44 2009
# #
# CONFIG_PPC64 is not set # CONFIG_PPC64 is not set
@ -43,7 +43,7 @@ CONFIG_GENERIC_FIND_NEXT_BIT=y
CONFIG_PPC=y CONFIG_PPC=y
CONFIG_EARLY_PRINTK=y CONFIG_EARLY_PRINTK=y
CONFIG_GENERIC_NVRAM=y CONFIG_GENERIC_NVRAM=y
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y CONFIG_SCHED_OMIT_FRAME_POINTER=y
CONFIG_ARCH_MAY_HAVE_PC_FDC=y CONFIG_ARCH_MAY_HAVE_PC_FDC=y
CONFIG_PPC_OF=y CONFIG_PPC_OF=y
CONFIG_OF=y CONFIG_OF=y
@ -72,10 +72,19 @@ CONFIG_SYSVIPC_SYSCTL=y
# CONFIG_BSD_PROCESS_ACCT is not set # CONFIG_BSD_PROCESS_ACCT is not set
# CONFIG_TASKSTATS is not set # CONFIG_TASKSTATS is not set
# CONFIG_AUDIT is not set # CONFIG_AUDIT is not set
#
# RCU Subsystem
#
CONFIG_CLASSIC_RCU=y
# CONFIG_TREE_RCU is not set
# CONFIG_PREEMPT_RCU is not set
# CONFIG_TREE_RCU_TRACE is not set
# CONFIG_PREEMPT_RCU_TRACE is not set
# CONFIG_IKCONFIG is not set # CONFIG_IKCONFIG is not set
CONFIG_LOG_BUF_SHIFT=14 CONFIG_LOG_BUF_SHIFT=14
# CONFIG_CGROUPS is not set
# CONFIG_GROUP_SCHED is not set # CONFIG_GROUP_SCHED is not set
# CONFIG_CGROUPS is not set
CONFIG_SYSFS_DEPRECATED=y CONFIG_SYSFS_DEPRECATED=y
CONFIG_SYSFS_DEPRECATED_V2=y CONFIG_SYSFS_DEPRECATED_V2=y
# CONFIG_RELAY is not set # CONFIG_RELAY is not set
@ -108,7 +117,6 @@ CONFIG_SLUB_DEBUG=y
CONFIG_SLUB=y CONFIG_SLUB=y
# CONFIG_SLOB is not set # CONFIG_SLOB is not set
# CONFIG_PROFILING is not set # CONFIG_PROFILING is not set
# CONFIG_MARKERS is not set
CONFIG_HAVE_OPROFILE=y CONFIG_HAVE_OPROFILE=y
CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS=y
CONFIG_HAVE_IOREMAP_PROT=y CONFIG_HAVE_IOREMAP_PROT=y
@ -119,7 +127,6 @@ CONFIG_HAVE_CLK=y
# CONFIG_HAVE_GENERIC_DMA_COHERENT is not set # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set
CONFIG_SLABINFO=y CONFIG_SLABINFO=y
CONFIG_RT_MUTEXES=y CONFIG_RT_MUTEXES=y
# CONFIG_TINY_SHMEM is not set
CONFIG_BASE_SMALL=0 CONFIG_BASE_SMALL=0
CONFIG_MODULES=y CONFIG_MODULES=y
# CONFIG_MODULE_FORCE_LOAD is not set # CONFIG_MODULE_FORCE_LOAD is not set
@ -127,11 +134,9 @@ CONFIG_MODULE_UNLOAD=y
# CONFIG_MODULE_FORCE_UNLOAD is not set # CONFIG_MODULE_FORCE_UNLOAD is not set
# CONFIG_MODVERSIONS is not set # CONFIG_MODVERSIONS is not set
# CONFIG_MODULE_SRCVERSION_ALL is not set # CONFIG_MODULE_SRCVERSION_ALL is not set
CONFIG_KMOD=y
CONFIG_BLOCK=y CONFIG_BLOCK=y
# CONFIG_LBD is not set # CONFIG_LBD is not set
# CONFIG_BLK_DEV_IO_TRACE is not set # CONFIG_BLK_DEV_IO_TRACE is not set
# CONFIG_LSF is not set
# CONFIG_BLK_DEV_BSG is not set # CONFIG_BLK_DEV_BSG is not set
# CONFIG_BLK_DEV_INTEGRITY is not set # CONFIG_BLK_DEV_INTEGRITY is not set
@ -147,7 +152,6 @@ CONFIG_DEFAULT_AS=y
# CONFIG_DEFAULT_CFQ is not set # CONFIG_DEFAULT_CFQ is not set
# CONFIG_DEFAULT_NOOP is not set # CONFIG_DEFAULT_NOOP is not set
CONFIG_DEFAULT_IOSCHED="anticipatory" CONFIG_DEFAULT_IOSCHED="anticipatory"
CONFIG_CLASSIC_RCU=y
CONFIG_FREEZER=y CONFIG_FREEZER=y
# #
@ -192,7 +196,7 @@ CONFIG_RTAS_PROC=y
CONFIG_PPC_BESTCOMM=y CONFIG_PPC_BESTCOMM=y
CONFIG_PPC_BESTCOMM_ATA=y CONFIG_PPC_BESTCOMM_ATA=y
CONFIG_PPC_BESTCOMM_FEC=y CONFIG_PPC_BESTCOMM_FEC=y
CONFIG_PPC_BESTCOMM_GEN_BD=y # CONFIG_SIMPLE_GPIO is not set
# #
# Kernel options # Kernel options
@ -220,6 +224,7 @@ CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
CONFIG_ARCH_HAS_WALK_MEMORY=y CONFIG_ARCH_HAS_WALK_MEMORY=y
CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y CONFIG_ARCH_ENABLE_MEMORY_HOTREMOVE=y
# CONFIG_KEXEC is not set # CONFIG_KEXEC is not set
# CONFIG_CRASH_DUMP is not set
CONFIG_ARCH_FLATMEM_ENABLE=y CONFIG_ARCH_FLATMEM_ENABLE=y
CONFIG_ARCH_POPULATES_NODE_MAP=y CONFIG_ARCH_POPULATES_NODE_MAP=y
CONFIG_SELECT_MEMORY_MODEL=y CONFIG_SELECT_MEMORY_MODEL=y
@ -231,12 +236,14 @@ CONFIG_FLAT_NODE_MEM_MAP=y
CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_PAGEFLAGS_EXTENDED=y
CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_SPLIT_PTLOCK_CPUS=4
CONFIG_MIGRATION=y CONFIG_MIGRATION=y
# CONFIG_RESOURCES_64BIT is not set
# CONFIG_PHYS_ADDR_T_64BIT is not set # CONFIG_PHYS_ADDR_T_64BIT is not set
CONFIG_ZONE_DMA_FLAG=1 CONFIG_ZONE_DMA_FLAG=1
CONFIG_BOUNCE=y CONFIG_BOUNCE=y
CONFIG_VIRT_TO_BUS=y CONFIG_VIRT_TO_BUS=y
CONFIG_UNEVICTABLE_LRU=y CONFIG_UNEVICTABLE_LRU=y
CONFIG_PPC_4K_PAGES=y
# CONFIG_PPC_16K_PAGES is not set
# CONFIG_PPC_64K_PAGES is not set
CONFIG_FORCE_MAX_ZONEORDER=11 CONFIG_FORCE_MAX_ZONEORDER=11
CONFIG_PROC_DEVICETREE=y CONFIG_PROC_DEVICETREE=y
# CONFIG_CMDLINE_BOOL is not set # CONFIG_CMDLINE_BOOL is not set
@ -264,6 +271,7 @@ CONFIG_ARCH_SUPPORTS_MSI=y
# CONFIG_PCI_MSI is not set # CONFIG_PCI_MSI is not set
CONFIG_PCI_LEGACY=y CONFIG_PCI_LEGACY=y
# CONFIG_PCI_DEBUG is not set # CONFIG_PCI_DEBUG is not set
# CONFIG_PCI_STUB is not set
# CONFIG_PCCARD is not set # CONFIG_PCCARD is not set
# CONFIG_HOTPLUG_PCI is not set # CONFIG_HOTPLUG_PCI is not set
# CONFIG_HAS_RAPIDIO is not set # CONFIG_HAS_RAPIDIO is not set
@ -286,6 +294,7 @@ CONFIG_NET=y
# #
# Networking options # Networking options
# #
CONFIG_COMPAT_NET_DEV_OPS=y
CONFIG_PACKET=y CONFIG_PACKET=y
# CONFIG_PACKET_MMAP is not set # CONFIG_PACKET_MMAP is not set
CONFIG_UNIX=y CONFIG_UNIX=y
@ -342,6 +351,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_ECONET is not set # CONFIG_ECONET is not set
# CONFIG_WAN_ROUTER is not set # CONFIG_WAN_ROUTER is not set
# CONFIG_NET_SCHED is not set # CONFIG_NET_SCHED is not set
# CONFIG_DCB is not set
# #
# Network testing # Network testing
@ -354,6 +364,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
# CONFIG_AF_RXRPC is not set # CONFIG_AF_RXRPC is not set
# CONFIG_PHONET is not set # CONFIG_PHONET is not set
# CONFIG_WIRELESS is not set # CONFIG_WIRELESS is not set
# CONFIG_WIMAX is not set
# CONFIG_RFKILL is not set # CONFIG_RFKILL is not set
# CONFIG_NET_9P is not set # CONFIG_NET_9P is not set
@ -376,6 +387,7 @@ CONFIG_MTD=y
# CONFIG_MTD_DEBUG is not set # CONFIG_MTD_DEBUG is not set
CONFIG_MTD_CONCAT=y CONFIG_MTD_CONCAT=y
CONFIG_MTD_PARTITIONS=y CONFIG_MTD_PARTITIONS=y
# CONFIG_MTD_TESTS is not set
# CONFIG_MTD_REDBOOT_PARTS is not set # CONFIG_MTD_REDBOOT_PARTS is not set
CONFIG_MTD_CMDLINE_PARTS=y CONFIG_MTD_CMDLINE_PARTS=y
# CONFIG_MTD_OF_PARTS is not set # CONFIG_MTD_OF_PARTS is not set
@ -446,6 +458,12 @@ CONFIG_MTD_PHYSMAP_OF=y
# CONFIG_MTD_NAND is not set # CONFIG_MTD_NAND is not set
# CONFIG_MTD_ONENAND is not set # CONFIG_MTD_ONENAND is not set
#
# LPDDR flash memory drivers
#
# CONFIG_MTD_LPDDR is not set
# CONFIG_MTD_QINFO_PROBE is not set
# #
# UBI - Unsorted block images # UBI - Unsorted block images
# #
@ -474,13 +492,19 @@ CONFIG_BLK_DEV_RAM_SIZE=32768
# CONFIG_BLK_DEV_HD is not set # CONFIG_BLK_DEV_HD is not set
CONFIG_MISC_DEVICES=y CONFIG_MISC_DEVICES=y
# CONFIG_PHANTOM is not set # CONFIG_PHANTOM is not set
# CONFIG_EEPROM_93CX6 is not set
# CONFIG_SGI_IOC4 is not set # CONFIG_SGI_IOC4 is not set
# CONFIG_TIFM_CORE is not set # CONFIG_TIFM_CORE is not set
# CONFIG_ICS932S401 is not set # CONFIG_ICS932S401 is not set
# CONFIG_ENCLOSURE_SERVICES is not set # CONFIG_ENCLOSURE_SERVICES is not set
# CONFIG_HP_ILO is not set # CONFIG_HP_ILO is not set
# CONFIG_C2PORT is not set # CONFIG_C2PORT is not set
#
# EEPROM support
#
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_EEPROM_93CX6 is not set
CONFIG_HAVE_IDE=y CONFIG_HAVE_IDE=y
# CONFIG_IDE is not set # CONFIG_IDE is not set
@ -539,6 +563,8 @@ CONFIG_SCSI_LOWLEVEL=y
# CONFIG_MEGARAID_SAS is not set # CONFIG_MEGARAID_SAS is not set
# CONFIG_SCSI_HPTIOP is not set # CONFIG_SCSI_HPTIOP is not set
# CONFIG_SCSI_BUSLOGIC is not set # CONFIG_SCSI_BUSLOGIC is not set
# CONFIG_LIBFC is not set
# CONFIG_FCOE is not set
# CONFIG_SCSI_DMX3191D is not set # CONFIG_SCSI_DMX3191D is not set
# CONFIG_SCSI_EATA is not set # CONFIG_SCSI_EATA is not set
# CONFIG_SCSI_FUTURE_DOMAIN is not set # CONFIG_SCSI_FUTURE_DOMAIN is not set
@ -659,6 +685,9 @@ CONFIG_PHYLIB=y
# CONFIG_BROADCOM_PHY is not set # CONFIG_BROADCOM_PHY is not set
# CONFIG_ICPLUS_PHY is not set # CONFIG_ICPLUS_PHY is not set
# CONFIG_REALTEK_PHY is not set # CONFIG_REALTEK_PHY is not set
# CONFIG_NATIONAL_PHY is not set
# CONFIG_STE10XP is not set
# CONFIG_LSI_ET1011C_PHY is not set
# CONFIG_FIXED_PHY is not set # CONFIG_FIXED_PHY is not set
# CONFIG_MDIO_BITBANG is not set # CONFIG_MDIO_BITBANG is not set
CONFIG_NET_ETHERNET=y CONFIG_NET_ETHERNET=y
@ -692,6 +721,10 @@ CONFIG_FEC_MPC52xx_MDIO=y
# CONFIG_WLAN_80211 is not set # CONFIG_WLAN_80211 is not set
# CONFIG_IWLWIFI_LEDS is not set # CONFIG_IWLWIFI_LEDS is not set
#
# Enable WiMAX (Networking options) to see the WiMAX drivers
#
# #
# USB Network Adapters # USB Network Adapters
# #
@ -774,9 +807,11 @@ CONFIG_SERIAL_MPC52xx_CONSOLE=y
CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200 CONFIG_SERIAL_MPC52xx_CONSOLE_BAUD=115200
# CONFIG_SERIAL_JSM is not set # CONFIG_SERIAL_JSM is not set
CONFIG_UNIX98_PTYS=y CONFIG_UNIX98_PTYS=y
# CONFIG_DEVPTS_MULTIPLE_INSTANCES is not set
CONFIG_LEGACY_PTYS=y CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256 CONFIG_LEGACY_PTY_COUNT=256
# CONFIG_HVC_RTAS is not set # CONFIG_HVC_RTAS is not set
# CONFIG_HVC_UDBG is not set
# CONFIG_IPMI_HANDLER is not set # CONFIG_IPMI_HANDLER is not set
# CONFIG_HW_RANDOM is not set # CONFIG_HW_RANDOM is not set
# CONFIG_NVRAM is not set # CONFIG_NVRAM is not set
@ -844,8 +879,6 @@ CONFIG_I2C_MPC=y
# Miscellaneous I2C Chip support # Miscellaneous I2C Chip support
# #
# CONFIG_DS1682 is not set # CONFIG_DS1682 is not set
# CONFIG_EEPROM_AT24 is not set
# CONFIG_EEPROM_LEGACY is not set
# CONFIG_SENSORS_PCF8574 is not set # CONFIG_SENSORS_PCF8574 is not set
# CONFIG_PCF8575 is not set # CONFIG_PCF8575 is not set
# CONFIG_SENSORS_PCA9539 is not set # CONFIG_SENSORS_PCA9539 is not set
@ -874,6 +907,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_ADT7462 is not set # CONFIG_SENSORS_ADT7462 is not set
# CONFIG_SENSORS_ADT7470 is not set # CONFIG_SENSORS_ADT7470 is not set
# CONFIG_SENSORS_ADT7473 is not set # CONFIG_SENSORS_ADT7473 is not set
# CONFIG_SENSORS_ADT7475 is not set
# CONFIG_SENSORS_ATXP1 is not set # CONFIG_SENSORS_ATXP1 is not set
# CONFIG_SENSORS_DS1621 is not set # CONFIG_SENSORS_DS1621 is not set
# CONFIG_SENSORS_I5K_AMB is not set # CONFIG_SENSORS_I5K_AMB is not set
@ -894,6 +928,7 @@ CONFIG_HWMON=y
# CONFIG_SENSORS_LM90 is not set # CONFIG_SENSORS_LM90 is not set
# CONFIG_SENSORS_LM92 is not set # CONFIG_SENSORS_LM92 is not set
# CONFIG_SENSORS_LM93 is not set # CONFIG_SENSORS_LM93 is not set
# CONFIG_SENSORS_LTC4245 is not set
# CONFIG_SENSORS_MAX1619 is not set # CONFIG_SENSORS_MAX1619 is not set
# CONFIG_SENSORS_MAX6650 is not set # CONFIG_SENSORS_MAX6650 is not set
# CONFIG_SENSORS_PC87360 is not set # CONFIG_SENSORS_PC87360 is not set
@ -953,10 +988,12 @@ CONFIG_SSB_POSSIBLE=y
# CONFIG_MFD_CORE is not set # CONFIG_MFD_CORE is not set
# CONFIG_MFD_SM501 is not set # CONFIG_MFD_SM501 is not set
# CONFIG_HTC_PASIC3 is not set # CONFIG_HTC_PASIC3 is not set
# CONFIG_TWL4030_CORE is not set
# CONFIG_MFD_TMIO is not set # CONFIG_MFD_TMIO is not set
# CONFIG_PMIC_DA903X is not set # CONFIG_PMIC_DA903X is not set
# CONFIG_MFD_WM8400 is not set # CONFIG_MFD_WM8400 is not set
# CONFIG_MFD_WM8350_I2C is not set # CONFIG_MFD_WM8350_I2C is not set
# CONFIG_MFD_PCF50633 is not set
# CONFIG_REGULATOR is not set # CONFIG_REGULATOR is not set
# #
@ -1051,7 +1088,7 @@ CONFIG_LCD_CLASS_DEVICE=m
# CONFIG_LCD_ILI9320 is not set # CONFIG_LCD_ILI9320 is not set
# CONFIG_LCD_PLATFORM is not set # CONFIG_LCD_PLATFORM is not set
CONFIG_BACKLIGHT_CLASS_DEVICE=y CONFIG_BACKLIGHT_CLASS_DEVICE=y
# CONFIG_BACKLIGHT_CORGI is not set CONFIG_BACKLIGHT_GENERIC=y
# #
# Display device support # Display device support
@ -1093,21 +1130,22 @@ CONFIG_HID_COMPAT=y
CONFIG_HID_A4TECH=y CONFIG_HID_A4TECH=y
# CONFIG_HID_APPLE is not set # CONFIG_HID_APPLE is not set
CONFIG_HID_BELKIN=y CONFIG_HID_BELKIN=y
CONFIG_HID_BRIGHT=y
CONFIG_HID_CHERRY=y CONFIG_HID_CHERRY=y
# CONFIG_HID_CHICONY is not set # CONFIG_HID_CHICONY is not set
CONFIG_HID_CYPRESS=y CONFIG_HID_CYPRESS=y
CONFIG_HID_DELL=y
CONFIG_HID_EZKEY=y CONFIG_HID_EZKEY=y
# CONFIG_HID_GYRATION is not set # CONFIG_HID_GYRATION is not set
# CONFIG_HID_LOGITECH is not set # CONFIG_HID_LOGITECH is not set
# CONFIG_HID_MICROSOFT is not set # CONFIG_HID_MICROSOFT is not set
# CONFIG_HID_MONTEREY is not set # CONFIG_HID_MONTEREY is not set
# CONFIG_HID_NTRIG is not set
# CONFIG_HID_PANTHERLORD is not set # CONFIG_HID_PANTHERLORD is not set
# CONFIG_HID_PETALYNX is not set # CONFIG_HID_PETALYNX is not set
# CONFIG_HID_SAMSUNG is not set # CONFIG_HID_SAMSUNG is not set
# CONFIG_HID_SONY is not set # CONFIG_HID_SONY is not set
# CONFIG_HID_SUNPLUS is not set # CONFIG_HID_SUNPLUS is not set
# CONFIG_GREENASIA_FF is not set
# CONFIG_HID_TOPSEED is not set
# CONFIG_THRUSTMASTER_FF is not set # CONFIG_THRUSTMASTER_FF is not set
# CONFIG_ZEROPLUS_FF is not set # CONFIG_ZEROPLUS_FF is not set
CONFIG_USB_SUPPORT=y CONFIG_USB_SUPPORT=y
@ -1137,6 +1175,7 @@ CONFIG_USB_MON=y
# #
# CONFIG_USB_C67X00_HCD is not set # CONFIG_USB_C67X00_HCD is not set
# CONFIG_USB_EHCI_HCD is not set # CONFIG_USB_EHCI_HCD is not set
# CONFIG_USB_OXU210HP_HCD is not set
# CONFIG_USB_ISP116X_HCD is not set # CONFIG_USB_ISP116X_HCD is not set
# CONFIG_USB_ISP1760_HCD is not set # CONFIG_USB_ISP1760_HCD is not set
CONFIG_USB_OHCI_HCD=y CONFIG_USB_OHCI_HCD=y
@ -1164,18 +1203,17 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
# CONFIG_USB_TMC is not set # CONFIG_USB_TMC is not set
# #
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' # NOTE: USB_STORAGE depends on SCSI but BLK_DEV_SD may also be needed;
# #
# #
# may also be needed; see USB_STORAGE Help for more information # see USB_STORAGE Help for more information
# #
CONFIG_USB_STORAGE=y CONFIG_USB_STORAGE=y
# CONFIG_USB_STORAGE_DEBUG is not set # CONFIG_USB_STORAGE_DEBUG is not set
# CONFIG_USB_STORAGE_DATAFAB is not set # CONFIG_USB_STORAGE_DATAFAB is not set
# CONFIG_USB_STORAGE_FREECOM is not set # CONFIG_USB_STORAGE_FREECOM is not set
# CONFIG_USB_STORAGE_ISD200 is not set # CONFIG_USB_STORAGE_ISD200 is not set
# CONFIG_USB_STORAGE_DPCM is not set
# CONFIG_USB_STORAGE_USBAT is not set # CONFIG_USB_STORAGE_USBAT is not set
# CONFIG_USB_STORAGE_SDDR09 is not set # CONFIG_USB_STORAGE_SDDR09 is not set
# CONFIG_USB_STORAGE_SDDR55 is not set # CONFIG_USB_STORAGE_SDDR55 is not set
@ -1222,6 +1260,10 @@ CONFIG_USB_STORAGE=y
# CONFIG_USB_ISIGHTFW is not set # CONFIG_USB_ISIGHTFW is not set
# CONFIG_USB_VST is not set # CONFIG_USB_VST is not set
# CONFIG_USB_GADGET is not set # CONFIG_USB_GADGET is not set
#
# OTG and related infrastructure
#
# CONFIG_UWB is not set # CONFIG_UWB is not set
# CONFIG_MMC is not set # CONFIG_MMC is not set
# CONFIG_MEMSTICK is not set # CONFIG_MEMSTICK is not set
@ -1243,7 +1285,6 @@ CONFIG_NEW_LEDS=y
# CONFIG_DMADEVICES is not set # CONFIG_DMADEVICES is not set
# CONFIG_UIO is not set # CONFIG_UIO is not set
# CONFIG_STAGING is not set # CONFIG_STAGING is not set
CONFIG_STAGING_EXCLUDE_BUILD=y
# #
# File systems # File systems
@ -1264,6 +1305,7 @@ CONFIG_FS_MBCACHE=y
CONFIG_FILE_LOCKING=y CONFIG_FILE_LOCKING=y
# CONFIG_XFS_FS is not set # CONFIG_XFS_FS is not set
# CONFIG_OCFS2_FS is not set # CONFIG_OCFS2_FS is not set
# CONFIG_BTRFS_FS is not set
CONFIG_DNOTIFY=y CONFIG_DNOTIFY=y
CONFIG_INOTIFY=y CONFIG_INOTIFY=y
CONFIG_INOTIFY_USER=y CONFIG_INOTIFY_USER=y
@ -1300,10 +1342,7 @@ CONFIG_TMPFS=y
# CONFIG_TMPFS_POSIX_ACL is not set # CONFIG_TMPFS_POSIX_ACL is not set
# CONFIG_HUGETLB_PAGE is not set # CONFIG_HUGETLB_PAGE is not set
# CONFIG_CONFIGFS_FS is not set # CONFIG_CONFIGFS_FS is not set
CONFIG_MISC_FILESYSTEMS=y
#
# Miscellaneous filesystems
#
# CONFIG_ADFS_FS is not set # CONFIG_ADFS_FS is not set
# CONFIG_AFFS_FS is not set # CONFIG_AFFS_FS is not set
# CONFIG_HFS_FS is not set # CONFIG_HFS_FS is not set
@ -1323,6 +1362,7 @@ CONFIG_JFFS2_ZLIB=y
CONFIG_JFFS2_RTIME=y CONFIG_JFFS2_RTIME=y
# CONFIG_JFFS2_RUBIN is not set # CONFIG_JFFS2_RUBIN is not set
CONFIG_CRAMFS=y CONFIG_CRAMFS=y
# CONFIG_SQUASHFS is not set
# CONFIG_VXFS_FS is not set # CONFIG_VXFS_FS is not set
# CONFIG_MINIX_FS is not set # CONFIG_MINIX_FS is not set
# CONFIG_OMFS_FS is not set # CONFIG_OMFS_FS is not set
@ -1403,6 +1443,7 @@ CONFIG_NLS_ISO8859_1=y
# Library routines # Library routines
# #
CONFIG_BITREVERSE=y CONFIG_BITREVERSE=y
CONFIG_GENERIC_FIND_LAST_BIT=y
# CONFIG_CRC_CCITT is not set # CONFIG_CRC_CCITT is not set
# CONFIG_CRC16 is not set # CONFIG_CRC16 is not set
# CONFIG_CRC_T10DIF is not set # CONFIG_CRC_T10DIF is not set
@ -1454,6 +1495,7 @@ CONFIG_DEBUG_INFO=y
# CONFIG_DEBUG_MEMORY_INIT is not set # CONFIG_DEBUG_MEMORY_INIT is not set
# CONFIG_DEBUG_LIST is not set # CONFIG_DEBUG_LIST is not set
# CONFIG_DEBUG_SG is not set # CONFIG_DEBUG_SG is not set
# CONFIG_DEBUG_NOTIFIERS is not set
# CONFIG_BOOT_PRINTK_DELAY is not set # CONFIG_BOOT_PRINTK_DELAY is not set
# CONFIG_RCU_TORTURE_TEST is not set # CONFIG_RCU_TORTURE_TEST is not set
# CONFIG_RCU_CPU_STALL_DETECTOR is not set # CONFIG_RCU_CPU_STALL_DETECTOR is not set
@ -1462,6 +1504,8 @@ CONFIG_DEBUG_INFO=y
# CONFIG_FAULT_INJECTION is not set # CONFIG_FAULT_INJECTION is not set
# CONFIG_LATENCYTOP is not set # CONFIG_LATENCYTOP is not set
CONFIG_HAVE_FUNCTION_TRACER=y CONFIG_HAVE_FUNCTION_TRACER=y
CONFIG_HAVE_DYNAMIC_FTRACE=y
CONFIG_HAVE_FTRACE_MCOUNT_RECORD=y
# #
# Tracers # Tracers
@ -1470,11 +1514,13 @@ CONFIG_HAVE_FUNCTION_TRACER=y
# CONFIG_SCHED_TRACER is not set # CONFIG_SCHED_TRACER is not set
# CONFIG_CONTEXT_SWITCH_TRACER is not set # CONFIG_CONTEXT_SWITCH_TRACER is not set
# CONFIG_BOOT_TRACER is not set # CONFIG_BOOT_TRACER is not set
# CONFIG_TRACE_BRANCH_PROFILING is not set
# CONFIG_STACK_TRACER is not set # CONFIG_STACK_TRACER is not set
# CONFIG_DYNAMIC_PRINTK_DEBUG is not set # CONFIG_DYNAMIC_PRINTK_DEBUG is not set
# CONFIG_SAMPLES is not set # CONFIG_SAMPLES is not set
CONFIG_HAVE_ARCH_KGDB=y CONFIG_HAVE_ARCH_KGDB=y
# CONFIG_KGDB is not set # CONFIG_KGDB is not set
CONFIG_PRINT_STACK_DEPTH=64
# CONFIG_DEBUG_STACKOVERFLOW is not set # CONFIG_DEBUG_STACKOVERFLOW is not set
# CONFIG_DEBUG_STACK_USAGE is not set # CONFIG_DEBUG_STACK_USAGE is not set
# CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_DEBUG_PAGEALLOC is not set
@ -1501,11 +1547,15 @@ CONFIG_CRYPTO=y
# #
# CONFIG_CRYPTO_FIPS is not set # CONFIG_CRYPTO_FIPS is not set
CONFIG_CRYPTO_ALGAPI=y CONFIG_CRYPTO_ALGAPI=y
CONFIG_CRYPTO_AEAD=y CONFIG_CRYPTO_ALGAPI2=y
CONFIG_CRYPTO_AEAD2=y
CONFIG_CRYPTO_BLKCIPHER=y CONFIG_CRYPTO_BLKCIPHER=y
CONFIG_CRYPTO_BLKCIPHER2=y
CONFIG_CRYPTO_HASH=y CONFIG_CRYPTO_HASH=y
CONFIG_CRYPTO_RNG=y CONFIG_CRYPTO_HASH2=y
CONFIG_CRYPTO_RNG2=y
CONFIG_CRYPTO_MANAGER=y CONFIG_CRYPTO_MANAGER=y
CONFIG_CRYPTO_MANAGER2=y
# CONFIG_CRYPTO_GF128MUL is not set # CONFIG_CRYPTO_GF128MUL is not set
# CONFIG_CRYPTO_NULL is not set # CONFIG_CRYPTO_NULL is not set
# CONFIG_CRYPTO_CRYPTD is not set # CONFIG_CRYPTO_CRYPTD is not set

Просмотреть файл

@ -16,8 +16,6 @@
* 2 of the License, or (at your option) any later version. * 2 of the License, or (at your option) any later version.
*/ */
#define DEBUG
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/pci.h> #include <linux/pci.h>
#include <linux/string.h> #include <linux/string.h>
@ -258,7 +256,8 @@ int pci_read_irq_line(struct pci_dev *pci_dev)
} else { } else {
pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n", pr_debug(" Got one, spec %d cells (0x%08x 0x%08x...) on %s\n",
oirq.size, oirq.specifier[0], oirq.specifier[1], oirq.size, oirq.specifier[0], oirq.specifier[1],
oirq.controller->full_name); oirq.controller ? oirq.controller->full_name :
"<default>");
virq = irq_create_of_mapping(oirq.controller, oirq.specifier, virq = irq_create_of_mapping(oirq.controller, oirq.specifier,
oirq.size); oirq.size);

Просмотреть файл

@ -19,14 +19,6 @@
#include <linux/kernel.h> #include <linux/kernel.h>
/* ======================================================================== */
/* PCI windows config */
/* ======================================================================== */
#define MPC52xx_PCI_TARGET_IO 0xf0000000
#define MPC52xx_PCI_TARGET_MEM 0x00000000
/* ======================================================================== */ /* ======================================================================== */
/* Structures mapping & Defines for PCI Unit */ /* Structures mapping & Defines for PCI Unit */
/* ======================================================================== */ /* ======================================================================== */
@ -244,7 +236,7 @@ static struct pci_ops mpc52xx_pci_ops = {
static void __init static void __init
mpc52xx_pci_setup(struct pci_controller *hose, mpc52xx_pci_setup(struct pci_controller *hose,
struct mpc52xx_pci __iomem *pci_regs) struct mpc52xx_pci __iomem *pci_regs, phys_addr_t pci_phys)
{ {
struct resource *res; struct resource *res;
u32 tmp; u32 tmp;
@ -314,10 +306,14 @@ mpc52xx_pci_setup(struct pci_controller *hose,
/* Set all the IWCR fields at once; they're in the same reg */ /* Set all the IWCR fields at once; they're in the same reg */
out_be32(&pci_regs->iwcr, MPC52xx_PCI_IWCR_PACK(iwcr0, iwcr1, iwcr2)); out_be32(&pci_regs->iwcr, MPC52xx_PCI_IWCR_PACK(iwcr0, iwcr1, iwcr2));
out_be32(&pci_regs->tbatr0, /* Map IMMR onto PCI bus */
MPC52xx_PCI_TBATR_ENABLE | MPC52xx_PCI_TARGET_IO ); pci_phys &= 0xfffc0000; /* bar0 has only 14 significant bits */
out_be32(&pci_regs->tbatr1, out_be32(&pci_regs->tbatr0, MPC52xx_PCI_TBATR_ENABLE | pci_phys);
MPC52xx_PCI_TBATR_ENABLE | MPC52xx_PCI_TARGET_MEM ); out_be32(&pci_regs->bar0, PCI_BASE_ADDRESS_MEM_PREFETCH | pci_phys);
/* Map memory onto PCI bus */
out_be32(&pci_regs->tbatr1, MPC52xx_PCI_TBATR_ENABLE);
out_be32(&pci_regs->bar1, PCI_BASE_ADDRESS_MEM_PREFETCH);
out_be32(&pci_regs->tcr, MPC52xx_PCI_TCR_LD | MPC52xx_PCI_TCR_WCT8); out_be32(&pci_regs->tcr, MPC52xx_PCI_TCR_LD | MPC52xx_PCI_TCR_WCT8);
@ -414,7 +410,7 @@ mpc52xx_add_bridge(struct device_node *node)
/* Finish setting up PCI using values obtained by /* Finish setting up PCI using values obtained by
* pci_proces_bridge_OF_ranges */ * pci_proces_bridge_OF_ranges */
mpc52xx_pci_setup(hose, pci_regs); mpc52xx_pci_setup(hose, pci_regs, rsrc.start);
return 0; return 0;
} }

Просмотреть файл

@ -1783,6 +1783,17 @@ config DMAR
and include PCI device scope covered by these DMA and include PCI device scope covered by these DMA
remapping devices. remapping devices.
config DMAR_DEFAULT_ON
def_bool n
prompt "Enable DMA Remapping Devices by default"
depends on DMAR
help
Selecting this option will enable a DMAR device at boot time if
one is found. If this option is not selected, DMAR support can
be enabled by passing intel_iommu=on to the kernel. It is
recommended you say N here while the DMAR code remains
experimental.
config DMAR_GFX_WA config DMAR_GFX_WA
def_bool y def_bool y
prompt "Support for Graphics workaround" prompt "Support for Graphics workaround"

Просмотреть файл

@ -167,9 +167,9 @@ config MK7
config MK8 config MK8
bool "Opteron/Athlon64/Hammer/K8" bool "Opteron/Athlon64/Hammer/K8"
help help
Select this for an AMD Opteron or Athlon64 Hammer-family processor. Enables Select this for an AMD Opteron or Athlon64 Hammer-family processor.
use of some extended instructions, and passes appropriate optimization Enables use of some extended instructions, and passes appropriate
flags to GCC. optimization flags to GCC.
config MCRUSOE config MCRUSOE
bool "Crusoe" bool "Crusoe"
@ -256,9 +256,11 @@ config MPSC
config MCORE2 config MCORE2
bool "Core 2/newer Xeon" bool "Core 2/newer Xeon"
help help
Select this for Intel Core 2 and newer Core 2 Xeons (Xeon 51xx and 53xx)
CPUs. You can distinguish newer from older Xeons by the CPU family Select this for Intel Core 2 and newer Core 2 Xeons (Xeon 51xx and
in /proc/cpuinfo. Newer ones have 6 and older ones 15 (not a typo) 53xx) CPUs. You can distinguish newer from older Xeons by the CPU
family in /proc/cpuinfo. Newer ones have 6 and older ones 15
(not a typo)
config GENERIC_CPU config GENERIC_CPU
bool "Generic-x86-64" bool "Generic-x86-64"
@ -318,14 +320,14 @@ config X86_PPRO_FENCE
bool "PentiumPro memory ordering errata workaround" bool "PentiumPro memory ordering errata workaround"
depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 || MGEODEGX1 depends on M686 || M586MMX || M586TSC || M586 || M486 || M386 || MGEODEGX1
help help
Old PentiumPro multiprocessor systems had errata that could cause memory Old PentiumPro multiprocessor systems had errata that could cause
operations to violate the x86 ordering standard in rare cases. Enabling this memory operations to violate the x86 ordering standard in rare cases.
option will attempt to work around some (but not all) occurances of Enabling this option will attempt to work around some (but not all)
this problem, at the cost of much heavier spinlock and memory barrier occurances of this problem, at the cost of much heavier spinlock and
operations. memory barrier operations.
If unsure, say n here. Even distro kernels should think twice before enabling If unsure, say n here. Even distro kernels should think twice before
this: there are few systems, and an unlikely bug. enabling this: there are few systems, and an unlikely bug.
config X86_F00F_BUG config X86_F00F_BUG
def_bool y def_bool y

Просмотреть файл

@ -2,8 +2,8 @@
#define _ASM_X86_DMA_MAPPING_H #define _ASM_X86_DMA_MAPPING_H
/* /*
* IOMMU interface. See Documentation/DMA-mapping.txt and DMA-API.txt for * IOMMU interface. See Documentation/PCI/PCI-DMA-mapping.txt and
* documentation. * Documentation/DMA-API.txt for documentation.
*/ */
#include <linux/scatterlist.h> #include <linux/scatterlist.h>

Просмотреть файл

@ -49,6 +49,7 @@
#define E820_RESERVED_KERN 128 #define E820_RESERVED_KERN 128
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#include <linux/types.h>
struct e820entry { struct e820entry {
__u64 addr; /* start of memory segment */ __u64 addr; /* start of memory segment */
__u64 size; /* size of memory segment */ __u64 size; /* size of memory segment */

Просмотреть файл

@ -6,7 +6,7 @@
* *
*/ */
#include <asm/types.h> #include <linux/types.h>
#include <linux/ioctl.h> #include <linux/ioctl.h>
/* Architectural interrupt line count. */ /* Architectural interrupt line count. */

Просмотреть файл

@ -3,8 +3,8 @@
#ifdef __x86_64__ #ifdef __x86_64__
#include <linux/types.h>
#include <asm/ioctls.h> #include <asm/ioctls.h>
#include <asm/types.h>
/* /*
* Machine Check support for x86 * Machine Check support for x86
@ -115,8 +115,6 @@ extern int mce_notify_user(void);
#endif /* !CONFIG_X86_32 */ #endif /* !CONFIG_X86_32 */
#ifdef CONFIG_X86_MCE #ifdef CONFIG_X86_MCE
extern void mcheck_init(struct cpuinfo_x86 *c); extern void mcheck_init(struct cpuinfo_x86 *c);
#else #else
@ -126,5 +124,4 @@ extern void stop_mce(void);
extern void restart_mce(void); extern void restart_mce(void);
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#endif /* _ASM_X86_MCE_H */ #endif /* _ASM_X86_MCE_H */

Просмотреть файл

@ -23,6 +23,7 @@
#ifndef _ASM_X86_MTRR_H #ifndef _ASM_X86_MTRR_H
#define _ASM_X86_MTRR_H #define _ASM_X86_MTRR_H
#include <linux/types.h>
#include <linux/ioctl.h> #include <linux/ioctl.h>
#include <linux/errno.h> #include <linux/errno.h>

Просмотреть файл

@ -316,16 +316,30 @@ static inline pte_t pte_mkspecial(pte_t pte)
extern pteval_t __supported_pte_mask; extern pteval_t __supported_pte_mask;
/*
* Mask out unsupported bits in a present pgprot. Non-present pgprots
* can use those bits for other purposes, so leave them be.
*/
static inline pgprotval_t massage_pgprot(pgprot_t pgprot)
{
pgprotval_t protval = pgprot_val(pgprot);
if (protval & _PAGE_PRESENT)
protval &= __supported_pte_mask;
return protval;
}
static inline pte_t pfn_pte(unsigned long page_nr, pgprot_t pgprot) static inline pte_t pfn_pte(unsigned long page_nr, pgprot_t pgprot)
{ {
return __pte((((phys_addr_t)page_nr << PAGE_SHIFT) | return __pte(((phys_addr_t)page_nr << PAGE_SHIFT) |
pgprot_val(pgprot)) & __supported_pte_mask); massage_pgprot(pgprot));
} }
static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot) static inline pmd_t pfn_pmd(unsigned long page_nr, pgprot_t pgprot)
{ {
return __pmd((((phys_addr_t)page_nr << PAGE_SHIFT) | return __pmd(((phys_addr_t)page_nr << PAGE_SHIFT) |
pgprot_val(pgprot)) & __supported_pte_mask); massage_pgprot(pgprot));
} }
static inline pte_t pte_modify(pte_t pte, pgprot_t newprot) static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
@ -337,7 +351,7 @@ static inline pte_t pte_modify(pte_t pte, pgprot_t newprot)
* the newprot (if present): * the newprot (if present):
*/ */
val &= _PAGE_CHG_MASK; val &= _PAGE_CHG_MASK;
val |= pgprot_val(newprot) & (~_PAGE_CHG_MASK) & __supported_pte_mask; val |= massage_pgprot(newprot) & ~_PAGE_CHG_MASK;
return __pte(val); return __pte(val);
} }
@ -353,7 +367,7 @@ static inline pgprot_t pgprot_modify(pgprot_t oldprot, pgprot_t newprot)
#define pte_pgprot(x) __pgprot(pte_flags(x) & PTE_FLAGS_MASK) #define pte_pgprot(x) __pgprot(pte_flags(x) & PTE_FLAGS_MASK)
#define canon_pgprot(p) __pgprot(pgprot_val(p) & __supported_pte_mask) #define canon_pgprot(p) __pgprot(massage_pgprot(p))
static inline int is_new_memtype_allowed(unsigned long flags, static inline int is_new_memtype_allowed(unsigned long flags,
unsigned long new_flags) unsigned long new_flags)

Просмотреть файл

@ -83,7 +83,7 @@
#ifdef CONFIG_X86_PTRACE_BTS #ifdef CONFIG_X86_PTRACE_BTS
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#include <asm/types.h> #include <linux/types.h>
/* configuration/status structure used in PTRACE_BTS_CONFIG and /* configuration/status structure used in PTRACE_BTS_CONFIG and
PTRACE_BTS_STATUS commands. PTRACE_BTS_STATUS commands.

Просмотреть файл

@ -2,7 +2,7 @@
#define _ASM_X86_SIGCONTEXT_H #define _ASM_X86_SIGCONTEXT_H
#include <linux/compiler.h> #include <linux/compiler.h>
#include <asm/types.h> #include <linux/types.h>
#define FP_XSTATE_MAGIC1 0x46505853U #define FP_XSTATE_MAGIC1 0x46505853U
#define FP_XSTATE_MAGIC2 0x46505845U #define FP_XSTATE_MAGIC2 0x46505845U

Просмотреть файл

@ -1,7 +1,7 @@
#ifndef _ASM_X86_SWAB_H #ifndef _ASM_X86_SWAB_H
#define _ASM_X86_SWAB_H #define _ASM_X86_SWAB_H
#include <asm/types.h> #include <linux/types.h>
#include <linux/compiler.h> #include <linux/compiler.h>
static inline __attribute_const__ __u32 __arch_swab32(__u32 val) static inline __attribute_const__ __u32 __arch_swab32(__u32 val)

Просмотреть файл

@ -137,7 +137,7 @@ static inline pte_t mfn_pte(unsigned long page_nr, pgprot_t pgprot)
pte_t pte; pte_t pte;
pte.pte = ((phys_addr_t)page_nr << PAGE_SHIFT) | pte.pte = ((phys_addr_t)page_nr << PAGE_SHIFT) |
(pgprot_val(pgprot) & __supported_pte_mask); massage_pgprot(pgprot);
return pte; return pte;
} }

Просмотреть файл

@ -1461,7 +1461,7 @@ static int __init detect_init_APIC(void)
switch (boot_cpu_data.x86_vendor) { switch (boot_cpu_data.x86_vendor) {
case X86_VENDOR_AMD: case X86_VENDOR_AMD:
if ((boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model > 1) || if ((boot_cpu_data.x86 == 6 && boot_cpu_data.x86_model > 1) ||
(boot_cpu_data.x86 == 15)) (boot_cpu_data.x86 >= 15))
break; break;
goto no_apic; goto no_apic;
case X86_VENDOR_INTEL: case X86_VENDOR_INTEL:

Просмотреть файл

@ -36,8 +36,11 @@ static struct _cache_table cache_table[] __cpuinitdata =
{ {
{ 0x06, LVL_1_INST, 8 }, /* 4-way set assoc, 32 byte line size */ { 0x06, LVL_1_INST, 8 }, /* 4-way set assoc, 32 byte line size */
{ 0x08, LVL_1_INST, 16 }, /* 4-way set assoc, 32 byte line size */ { 0x08, LVL_1_INST, 16 }, /* 4-way set assoc, 32 byte line size */
{ 0x09, LVL_1_INST, 32 }, /* 4-way set assoc, 64 byte line size */
{ 0x0a, LVL_1_DATA, 8 }, /* 2 way set assoc, 32 byte line size */ { 0x0a, LVL_1_DATA, 8 }, /* 2 way set assoc, 32 byte line size */
{ 0x0c, LVL_1_DATA, 16 }, /* 4-way set assoc, 32 byte line size */ { 0x0c, LVL_1_DATA, 16 }, /* 4-way set assoc, 32 byte line size */
{ 0x0d, LVL_1_DATA, 16 }, /* 4-way set assoc, 64 byte line size */
{ 0x21, LVL_2, 256 }, /* 8-way set assoc, 64 byte line size */
{ 0x22, LVL_3, 512 }, /* 4-way set assoc, sectored cache, 64 byte line size */ { 0x22, LVL_3, 512 }, /* 4-way set assoc, sectored cache, 64 byte line size */
{ 0x23, LVL_3, 1024 }, /* 8-way set assoc, sectored cache, 64 byte line size */ { 0x23, LVL_3, 1024 }, /* 8-way set assoc, sectored cache, 64 byte line size */
{ 0x25, LVL_3, 2048 }, /* 8-way set assoc, sectored cache, 64 byte line size */ { 0x25, LVL_3, 2048 }, /* 8-way set assoc, sectored cache, 64 byte line size */
@ -85,6 +88,18 @@ static struct _cache_table cache_table[] __cpuinitdata =
{ 0x85, LVL_2, 2048 }, /* 8-way set assoc, 32 byte line size */ { 0x85, LVL_2, 2048 }, /* 8-way set assoc, 32 byte line size */
{ 0x86, LVL_2, 512 }, /* 4-way set assoc, 64 byte line size */ { 0x86, LVL_2, 512 }, /* 4-way set assoc, 64 byte line size */
{ 0x87, LVL_2, 1024 }, /* 8-way set assoc, 64 byte line size */ { 0x87, LVL_2, 1024 }, /* 8-way set assoc, 64 byte line size */
{ 0xd0, LVL_3, 512 }, /* 4-way set assoc, 64 byte line size */
{ 0xd1, LVL_3, 1024 }, /* 4-way set assoc, 64 byte line size */
{ 0xd2, LVL_3, 2048 }, /* 4-way set assoc, 64 byte line size */
{ 0xd6, LVL_3, 1024 }, /* 8-way set assoc, 64 byte line size */
{ 0xd7, LVL_3, 2038 }, /* 8-way set assoc, 64 byte line size */
{ 0xd8, LVL_3, 4096 }, /* 12-way set assoc, 64 byte line size */
{ 0xdc, LVL_3, 2048 }, /* 12-way set assoc, 64 byte line size */
{ 0xdd, LVL_3, 4096 }, /* 12-way set assoc, 64 byte line size */
{ 0xde, LVL_3, 8192 }, /* 12-way set assoc, 64 byte line size */
{ 0xe2, LVL_3, 2048 }, /* 16-way set assoc, 64 byte line size */
{ 0xe3, LVL_3, 4096 }, /* 16-way set assoc, 64 byte line size */
{ 0xe4, LVL_3, 8192 }, /* 16-way set assoc, 64 byte line size */
{ 0x00, 0, 0} { 0x00, 0, 0}
}; };

Просмотреть файл

@ -1594,8 +1594,7 @@ int __init mtrr_trim_uncached_memory(unsigned long end_pfn)
/* kvm/qemu doesn't have mtrr set right, don't trim them all */ /* kvm/qemu doesn't have mtrr set right, don't trim them all */
if (!highest_pfn) { if (!highest_pfn) {
WARN(!kvm_para_available(), KERN_WARNING printk(KERN_INFO "CPU MTRRs all blank - virtualized system.\n");
"WARNING: strange, CPU MTRRs all blank?\n");
return 0; return 0;
} }

Просмотреть файл

@ -15,8 +15,8 @@
* - buffer allocation (memory accounting) * - buffer allocation (memory accounting)
* *
* *
* Copyright (C) 2007-2008 Intel Corporation. * Copyright (C) 2007-2009 Intel Corporation.
* Markus Metzger <markus.t.metzger@intel.com>, 2007-2008 * Markus Metzger <markus.t.metzger@intel.com>, 2007-2009
*/ */
@ -890,7 +890,7 @@ int ds_set_pebs_reset(struct pebs_tracer *tracer, u64 value)
} }
static const struct ds_configuration ds_cfg_netburst = { static const struct ds_configuration ds_cfg_netburst = {
.name = "netburst", .name = "Netburst",
.ctl[dsf_bts] = (1 << 2) | (1 << 3), .ctl[dsf_bts] = (1 << 2) | (1 << 3),
.ctl[dsf_bts_kernel] = (1 << 5), .ctl[dsf_bts_kernel] = (1 << 5),
.ctl[dsf_bts_user] = (1 << 6), .ctl[dsf_bts_user] = (1 << 6),
@ -904,7 +904,7 @@ static const struct ds_configuration ds_cfg_netburst = {
#endif #endif
}; };
static const struct ds_configuration ds_cfg_pentium_m = { static const struct ds_configuration ds_cfg_pentium_m = {
.name = "pentium m", .name = "Pentium M",
.ctl[dsf_bts] = (1 << 6) | (1 << 7), .ctl[dsf_bts] = (1 << 6) | (1 << 7),
.sizeof_field = sizeof(long), .sizeof_field = sizeof(long),
@ -915,8 +915,8 @@ static const struct ds_configuration ds_cfg_pentium_m = {
.sizeof_rec[ds_pebs] = sizeof(long) * 18, .sizeof_rec[ds_pebs] = sizeof(long) * 18,
#endif #endif
}; };
static const struct ds_configuration ds_cfg_core2 = { static const struct ds_configuration ds_cfg_core2_atom = {
.name = "core 2", .name = "Core 2/Atom",
.ctl[dsf_bts] = (1 << 6) | (1 << 7), .ctl[dsf_bts] = (1 << 6) | (1 << 7),
.ctl[dsf_bts_kernel] = (1 << 9), .ctl[dsf_bts_kernel] = (1 << 9),
.ctl[dsf_bts_user] = (1 << 10), .ctl[dsf_bts_user] = (1 << 10),
@ -949,19 +949,22 @@ void __cpuinit ds_init_intel(struct cpuinfo_x86 *c)
switch (c->x86) { switch (c->x86) {
case 0x6: case 0x6:
switch (c->x86_model) { switch (c->x86_model) {
case 0 ... 0xC: case 0x9:
/* sorry, don't know about them */ case 0xd: /* Pentium M */
break;
case 0xD:
case 0xE: /* Pentium M */
ds_configure(&ds_cfg_pentium_m); ds_configure(&ds_cfg_pentium_m);
break; break;
default: /* Core2, Atom, ... */ case 0xf:
ds_configure(&ds_cfg_core2); case 0x17: /* Core2 */
case 0x1c: /* Atom */
ds_configure(&ds_cfg_core2_atom);
break;
case 0x1a: /* i7 */
default:
/* sorry, don't know about them */
break; break;
} }
break; break;
case 0xF: case 0xf:
switch (c->x86_model) { switch (c->x86_model) {
case 0x0: case 0x0:
case 0x1: case 0x1:

Просмотреть файл

@ -347,6 +347,7 @@ ENTRY(save_args)
popq_cfi %rax /* move return address... */ popq_cfi %rax /* move return address... */
mov PER_CPU_VAR(irq_stack_ptr),%rsp mov PER_CPU_VAR(irq_stack_ptr),%rsp
EMPTY_FRAME 0 EMPTY_FRAME 0
pushq_cfi %rbp /* backlink for unwinder */
pushq_cfi %rax /* ... to the new stack */ pushq_cfi %rax /* ... to the new stack */
/* /*
* We entered an interrupt context - irqs are off: * We entered an interrupt context - irqs are off:

Просмотреть файл

@ -2524,14 +2524,15 @@ static void irq_complete_move(struct irq_desc **descp)
vector = ~get_irq_regs()->orig_ax; vector = ~get_irq_regs()->orig_ax;
me = smp_processor_id(); me = smp_processor_id();
if (vector == cfg->vector && cpumask_test_cpu(me, cfg->domain)) {
#ifdef CONFIG_NUMA_MIGRATE_IRQ_DESC #ifdef CONFIG_NUMA_MIGRATE_IRQ_DESC
*descp = desc = move_irq_desc(desc, me); *descp = desc = move_irq_desc(desc, me);
/* get the new one */ /* get the new one */
cfg = desc->chip_data; cfg = desc->chip_data;
#endif #endif
if (vector == cfg->vector && cpumask_test_cpu(me, cfg->domain))
send_cleanup_vector(cfg); send_cleanup_vector(cfg);
}
} }
#else #else
static inline void irq_complete_move(struct irq_desc **descp) {} static inline void irq_complete_move(struct irq_desc **descp) {}

Просмотреть файл

@ -5,7 +5,7 @@
* This allows to use PCI devices that only support 32bit addresses on systems * This allows to use PCI devices that only support 32bit addresses on systems
* with more than 4GB. * with more than 4GB.
* *
* See Documentation/DMA-mapping.txt for the interface specification. * See Documentation/PCI/PCI-DMA-mapping.txt for the interface specification.
* *
* Copyright 2002 Andi Kleen, SuSE Labs. * Copyright 2002 Andi Kleen, SuSE Labs.
* Subject to the GNU General Public License v2 only. * Subject to the GNU General Public License v2 only.

Просмотреть файл

@ -41,6 +41,7 @@
#include <linux/uaccess.h> #include <linux/uaccess.h>
#include <linux/io.h> #include <linux/io.h>
#include <linux/ftrace.h> #include <linux/ftrace.h>
#include <linux/dmi.h>
#include <asm/pgtable.h> #include <asm/pgtable.h>
#include <asm/system.h> #include <asm/system.h>
@ -168,14 +169,18 @@ void __show_regs(struct pt_regs *regs, int all)
unsigned long d0, d1, d2, d3, d6, d7; unsigned long d0, d1, d2, d3, d6, d7;
unsigned int fsindex, gsindex; unsigned int fsindex, gsindex;
unsigned int ds, cs, es; unsigned int ds, cs, es;
const char *board;
printk("\n"); printk("\n");
print_modules(); print_modules();
printk(KERN_INFO "Pid: %d, comm: %.20s %s %s %.*s\n", board = dmi_get_system_info(DMI_PRODUCT_NAME);
if (!board)
board = "";
printk(KERN_INFO "Pid: %d, comm: %.20s %s %s %.*s %s\n",
current->pid, current->comm, print_tainted(), current->pid, current->comm, print_tainted(),
init_utsname()->release, init_utsname()->release,
(int)strcspn(init_utsname()->version, " "), (int)strcspn(init_utsname()->version, " "),
init_utsname()->version); init_utsname()->version, board);
printk(KERN_INFO "RIP: %04lx:[<%016lx>] ", regs->cs & 0xffff, regs->ip); printk(KERN_INFO "RIP: %04lx:[<%016lx>] ", regs->cs & 0xffff, regs->ip);
printk_address(regs->ip, 1); printk_address(regs->ip, 1);
printk(KERN_INFO "RSP: %04lx:%016lx EFLAGS: %08lx\n", regs->ss, printk(KERN_INFO "RSP: %04lx:%016lx EFLAGS: %08lx\n", regs->ss,

Просмотреть файл

@ -620,7 +620,7 @@ struct x86_quirks *x86_quirks __initdata = &default_x86_quirks;
static int __init dmi_low_memory_corruption(const struct dmi_system_id *d) static int __init dmi_low_memory_corruption(const struct dmi_system_id *d)
{ {
printk(KERN_NOTICE printk(KERN_NOTICE
"%s detected: BIOS may corrupt low RAM, working it around.\n", "%s detected: BIOS may corrupt low RAM, working around it.\n",
d->ident); d->ident);
e820_update_range(0, 0x10000, E820_RAM, E820_RESERVED); e820_update_range(0, 0x10000, E820_RAM, E820_RESERVED);

Просмотреть файл

@ -931,7 +931,7 @@ static void lguest_restart(char *reason)
* that we can fit comfortably. * that we can fit comfortably.
* *
* First we need assembly templates of each of the patchable Guest operations, * First we need assembly templates of each of the patchable Guest operations,
* and these are in lguest_asm.S. */ * and these are in i386_head.S. */
/*G:060 We construct a table from the assembler templates: */ /*G:060 We construct a table from the assembler templates: */
static const struct lguest_insns static const struct lguest_insns
@ -1093,7 +1093,7 @@ __init void lguest_init(void)
acpi_ht = 0; acpi_ht = 0;
#endif #endif
/* We set the perferred console to "hvc". This is the "hypervisor /* We set the preferred console to "hvc". This is the "hypervisor
* virtual console" driver written by the PowerPC people, which we also * virtual console" driver written by the PowerPC people, which we also
* adapted for lguest's use. */ * adapted for lguest's use. */
add_preferred_console("hvc", 0, NULL); add_preferred_console("hvc", 0, NULL);

Просмотреть файл

@ -34,13 +34,23 @@ void __init intr_init_hook(void)
setup_irq(2, &irq2); setup_irq(2, &irq2);
} }
void __init pre_setup_arch_hook(void) static void voyager_disable_tsc(void)
{ {
/* Voyagers run their CPUs from independent clocks, so disable /* Voyagers run their CPUs from independent clocks, so disable
* the TSC code because we can't sync them */ * the TSC code because we can't sync them */
setup_clear_cpu_cap(X86_FEATURE_TSC); setup_clear_cpu_cap(X86_FEATURE_TSC);
} }
void __init pre_setup_arch_hook(void)
{
voyager_disable_tsc();
}
void __init pre_time_init_hook(void)
{
voyager_disable_tsc();
}
void __init trap_init_hook(void) void __init trap_init_hook(void)
{ {
} }

Просмотреть файл

@ -81,7 +81,7 @@ static void enable_local_vic_irq(unsigned int irq);
static void disable_local_vic_irq(unsigned int irq); static void disable_local_vic_irq(unsigned int irq);
static void before_handle_vic_irq(unsigned int irq); static void before_handle_vic_irq(unsigned int irq);
static void after_handle_vic_irq(unsigned int irq); static void after_handle_vic_irq(unsigned int irq);
static void set_vic_irq_affinity(unsigned int irq, cpumask_t mask); static void set_vic_irq_affinity(unsigned int irq, const struct cpumask *mask);
static void ack_vic_irq(unsigned int irq); static void ack_vic_irq(unsigned int irq);
static void vic_enable_cpi(void); static void vic_enable_cpi(void);
static void do_boot_cpu(__u8 cpuid); static void do_boot_cpu(__u8 cpuid);
@ -211,8 +211,6 @@ static __u32 cpu_booted_map;
static cpumask_t smp_commenced_mask = CPU_MASK_NONE; static cpumask_t smp_commenced_mask = CPU_MASK_NONE;
/* This is for the new dynamic CPU boot code */ /* This is for the new dynamic CPU boot code */
cpumask_t cpu_callin_map = CPU_MASK_NONE;
cpumask_t cpu_callout_map = CPU_MASK_NONE;
/* The per processor IRQ masks (these are usually kept in sync) */ /* The per processor IRQ masks (these are usually kept in sync) */
static __u16 vic_irq_mask[NR_CPUS] __cacheline_aligned; static __u16 vic_irq_mask[NR_CPUS] __cacheline_aligned;
@ -378,7 +376,7 @@ void __init find_smp_config(void)
cpus_addr(phys_cpu_present_map)[0] |= cpus_addr(phys_cpu_present_map)[0] |=
voyager_extended_cmos_read(VOYAGER_PROCESSOR_PRESENT_MASK + voyager_extended_cmos_read(VOYAGER_PROCESSOR_PRESENT_MASK +
3) << 24; 3) << 24;
cpu_possible_map = phys_cpu_present_map; init_cpu_possible(&phys_cpu_present_map);
printk("VOYAGER SMP: phys_cpu_present_map = 0x%lx\n", printk("VOYAGER SMP: phys_cpu_present_map = 0x%lx\n",
cpus_addr(phys_cpu_present_map)[0]); cpus_addr(phys_cpu_present_map)[0]);
/* Here we set up the VIC to enable SMP */ /* Here we set up the VIC to enable SMP */
@ -1598,16 +1596,16 @@ static void after_handle_vic_irq(unsigned int irq)
* change the mask and then do an interrupt enable CPI to re-enable on * change the mask and then do an interrupt enable CPI to re-enable on
* the selected processors */ * the selected processors */
void set_vic_irq_affinity(unsigned int irq, cpumask_t mask) void set_vic_irq_affinity(unsigned int irq, const struct cpumask *mask)
{ {
/* Only extended processors handle interrupts */ /* Only extended processors handle interrupts */
unsigned long real_mask; unsigned long real_mask;
unsigned long irq_mask = 1 << irq; unsigned long irq_mask = 1 << irq;
int cpu; int cpu;
real_mask = cpus_addr(mask)[0] & voyager_extended_vic_processors; real_mask = cpus_addr(*mask)[0] & voyager_extended_vic_processors;
if (cpus_addr(mask)[0] == 0) if (cpus_addr(*mask)[0] == 0)
/* can't have no CPUs to accept the interrupt -- extremely /* can't have no CPUs to accept the interrupt -- extremely
* bad things will happen */ * bad things will happen */
return; return;
@ -1748,10 +1746,11 @@ static void __cpuinit voyager_smp_prepare_boot_cpu(void)
{ {
switch_to_new_gdt(); switch_to_new_gdt();
cpu_set(smp_processor_id(), cpu_online_map); cpu_online_map = cpumask_of_cpu(smp_processor_id());
cpu_set(smp_processor_id(), cpu_callout_map); cpu_callout_map = cpumask_of_cpu(smp_processor_id());
cpu_set(smp_processor_id(), cpu_possible_map); cpu_callin_map = CPU_MASK_NONE;
cpu_set(smp_processor_id(), cpu_present_map); cpu_present_map = cpumask_of_cpu(smp_processor_id());
} }
static int __cpuinit voyager_cpu_up(unsigned int cpu) static int __cpuinit voyager_cpu_up(unsigned int cpu)
@ -1780,9 +1779,9 @@ void __init smp_setup_processor_id(void)
current_thread_info()->cpu = hard_smp_processor_id(); current_thread_info()->cpu = hard_smp_processor_id();
} }
static void voyager_send_call_func(cpumask_t callmask) static void voyager_send_call_func(const struct cpumask *callmask)
{ {
__u32 mask = cpus_addr(callmask)[0] & ~(1 << smp_processor_id()); __u32 mask = cpus_addr(*callmask)[0] & ~(1 << smp_processor_id());
send_CPI(mask, VIC_CALL_FUNCTION_CPI); send_CPI(mask, VIC_CALL_FUNCTION_CPI);
} }

Просмотреть файл

@ -572,6 +572,7 @@ static __init int intel_router_probe(struct irq_router *r, struct pci_dev *route
case PCI_DEVICE_ID_INTEL_ICH7_1: case PCI_DEVICE_ID_INTEL_ICH7_1:
case PCI_DEVICE_ID_INTEL_ICH7_30: case PCI_DEVICE_ID_INTEL_ICH7_30:
case PCI_DEVICE_ID_INTEL_ICH7_31: case PCI_DEVICE_ID_INTEL_ICH7_31:
case PCI_DEVICE_ID_INTEL_TGP_LPC:
case PCI_DEVICE_ID_INTEL_ESB2_0: case PCI_DEVICE_ID_INTEL_ESB2_0:
case PCI_DEVICE_ID_INTEL_ICH8_0: case PCI_DEVICE_ID_INTEL_ICH8_0:
case PCI_DEVICE_ID_INTEL_ICH8_1: case PCI_DEVICE_ID_INTEL_ICH8_1:

Просмотреть файл

@ -19,8 +19,10 @@ DECLARE_PER_CPU(unsigned long, xen_mc_irq_flags);
paired with xen_mc_issue() */ paired with xen_mc_issue() */
static inline void xen_mc_batch(void) static inline void xen_mc_batch(void)
{ {
unsigned long flags;
/* need to disable interrupts until this entry is complete */ /* need to disable interrupts until this entry is complete */
local_irq_save(__get_cpu_var(xen_mc_irq_flags)); local_irq_save(flags);
__get_cpu_var(xen_mc_irq_flags) = flags;
} }
static inline struct multicall_space xen_mc_entry(size_t args) static inline struct multicall_space xen_mc_entry(size_t args)

Просмотреть файл

@ -302,7 +302,7 @@ static void bio_end_empty_barrier(struct bio *bio, int err)
* Description: * Description:
* Issue a flush for the block device in question. Caller can supply * Issue a flush for the block device in question. Caller can supply
* room for storing the error offset in case of a flush error, if they * room for storing the error offset in case of a flush error, if they
* wish to. Caller must run wait_for_completion() on its own. * wish to.
*/ */
int blkdev_issue_flush(struct block_device *bdev, sector_t *error_sector) int blkdev_issue_flush(struct block_device *bdev, sector_t *error_sector)
{ {

Просмотреть файл

@ -64,11 +64,12 @@ static struct workqueue_struct *kblockd_workqueue;
static void drive_stat_acct(struct request *rq, int new_io) static void drive_stat_acct(struct request *rq, int new_io)
{ {
struct gendisk *disk = rq->rq_disk;
struct hd_struct *part; struct hd_struct *part;
int rw = rq_data_dir(rq); int rw = rq_data_dir(rq);
int cpu; int cpu;
if (!blk_fs_request(rq) || !rq->rq_disk) if (!blk_fs_request(rq) || !disk || !blk_do_io_stat(disk->queue))
return; return;
cpu = part_stat_lock(); cpu = part_stat_lock();
@ -599,8 +600,7 @@ blk_init_queue_node(request_fn_proc *rfn, spinlock_t *lock, int node_id)
q->request_fn = rfn; q->request_fn = rfn;
q->prep_rq_fn = NULL; q->prep_rq_fn = NULL;
q->unplug_fn = generic_unplug_device; q->unplug_fn = generic_unplug_device;
q->queue_flags = (1 << QUEUE_FLAG_CLUSTER | q->queue_flags = QUEUE_FLAG_DEFAULT;
1 << QUEUE_FLAG_STACKABLE);
q->queue_lock = lock; q->queue_lock = lock;
blk_queue_segment_boundary(q, BLK_SEG_BOUNDARY_MASK); blk_queue_segment_boundary(q, BLK_SEG_BOUNDARY_MASK);
@ -1125,6 +1125,8 @@ void init_request_from_bio(struct request *req, struct bio *bio)
if (bio_sync(bio)) if (bio_sync(bio))
req->cmd_flags |= REQ_RW_SYNC; req->cmd_flags |= REQ_RW_SYNC;
if (bio_unplug(bio))
req->cmd_flags |= REQ_UNPLUG;
if (bio_rw_meta(bio)) if (bio_rw_meta(bio))
req->cmd_flags |= REQ_RW_META; req->cmd_flags |= REQ_RW_META;
@ -1141,6 +1143,7 @@ static int __make_request(struct request_queue *q, struct bio *bio)
int el_ret, nr_sectors; int el_ret, nr_sectors;
const unsigned short prio = bio_prio(bio); const unsigned short prio = bio_prio(bio);
const int sync = bio_sync(bio); const int sync = bio_sync(bio);
const int unplug = bio_unplug(bio);
int rw_flags; int rw_flags;
nr_sectors = bio_sectors(bio); nr_sectors = bio_sectors(bio);
@ -1244,7 +1247,7 @@ get_rq:
blk_plug_device(q); blk_plug_device(q);
add_request(q, req); add_request(q, req);
out: out:
if (sync || blk_queue_nonrot(q)) if (unplug || blk_queue_nonrot(q))
__generic_unplug_device(q); __generic_unplug_device(q);
spin_unlock_irq(q->queue_lock); spin_unlock_irq(q->queue_lock);
return 0; return 0;
@ -1448,6 +1451,11 @@ static inline void __generic_make_request(struct bio *bio)
err = -EOPNOTSUPP; err = -EOPNOTSUPP;
goto end_io; goto end_io;
} }
if (bio_barrier(bio) && bio_has_data(bio) &&
(q->next_ordered == QUEUE_ORDERED_NONE)) {
err = -EOPNOTSUPP;
goto end_io;
}
ret = q->make_request_fn(q, bio); ret = q->make_request_fn(q, bio);
} while (ret); } while (ret);
@ -1655,6 +1663,55 @@ void blkdev_dequeue_request(struct request *req)
} }
EXPORT_SYMBOL(blkdev_dequeue_request); EXPORT_SYMBOL(blkdev_dequeue_request);
static void blk_account_io_completion(struct request *req, unsigned int bytes)
{
struct gendisk *disk = req->rq_disk;
if (!disk || !blk_do_io_stat(disk->queue))
return;
if (blk_fs_request(req)) {
const int rw = rq_data_dir(req);
struct hd_struct *part;
int cpu;
cpu = part_stat_lock();
part = disk_map_sector_rcu(req->rq_disk, req->sector);
part_stat_add(cpu, part, sectors[rw], bytes >> 9);
part_stat_unlock();
}
}
static void blk_account_io_done(struct request *req)
{
struct gendisk *disk = req->rq_disk;
if (!disk || !blk_do_io_stat(disk->queue))
return;
/*
* Account IO completion. bar_rq isn't accounted as a normal
* IO on queueing nor completion. Accounting the containing
* request is enough.
*/
if (blk_fs_request(req) && req != &req->q->bar_rq) {
unsigned long duration = jiffies - req->start_time;
const int rw = rq_data_dir(req);
struct hd_struct *part;
int cpu;
cpu = part_stat_lock();
part = disk_map_sector_rcu(disk, req->sector);
part_stat_inc(cpu, part, ios[rw]);
part_stat_add(cpu, part, ticks[rw], duration);
part_round_stats(cpu, part);
part_dec_in_flight(part);
part_stat_unlock();
}
}
/** /**
* __end_that_request_first - end I/O on a request * __end_that_request_first - end I/O on a request
* @req: the request being processed * @req: the request being processed
@ -1690,16 +1747,7 @@ static int __end_that_request_first(struct request *req, int error,
(unsigned long long)req->sector); (unsigned long long)req->sector);
} }
if (blk_fs_request(req) && req->rq_disk) { blk_account_io_completion(req, nr_bytes);
const int rw = rq_data_dir(req);
struct hd_struct *part;
int cpu;
cpu = part_stat_lock();
part = disk_map_sector_rcu(req->rq_disk, req->sector);
part_stat_add(cpu, part, sectors[rw], nr_bytes >> 9);
part_stat_unlock();
}
total_bytes = bio_nbytes = 0; total_bytes = bio_nbytes = 0;
while ((bio = req->bio) != NULL) { while ((bio = req->bio) != NULL) {
@ -1779,8 +1827,6 @@ static int __end_that_request_first(struct request *req, int error,
*/ */
static void end_that_request_last(struct request *req, int error) static void end_that_request_last(struct request *req, int error)
{ {
struct gendisk *disk = req->rq_disk;
if (blk_rq_tagged(req)) if (blk_rq_tagged(req))
blk_queue_end_tag(req->q, req); blk_queue_end_tag(req->q, req);
@ -1792,27 +1838,7 @@ static void end_that_request_last(struct request *req, int error)
blk_delete_timer(req); blk_delete_timer(req);
/* blk_account_io_done(req);
* Account IO completion. bar_rq isn't accounted as a normal
* IO on queueing nor completion. Accounting the containing
* request is enough.
*/
if (disk && blk_fs_request(req) && req != &req->q->bar_rq) {
unsigned long duration = jiffies - req->start_time;
const int rw = rq_data_dir(req);
struct hd_struct *part;
int cpu;
cpu = part_stat_lock();
part = disk_map_sector_rcu(disk, req->sector);
part_stat_inc(cpu, part, ios[rw]);
part_stat_add(cpu, part, ticks[rw], duration);
part_round_stats(cpu, part);
part_dec_in_flight(part);
part_stat_unlock();
}
if (req->end_io) if (req->end_io)
req->end_io(req, error); req->end_io(req, error);

Просмотреть файл

@ -309,24 +309,24 @@ static struct kobj_type integrity_ktype = {
/** /**
* blk_integrity_register - Register a gendisk as being integrity-capable * blk_integrity_register - Register a gendisk as being integrity-capable
* @disk: struct gendisk pointer to make integrity-aware * @disk: struct gendisk pointer to make integrity-aware
* @template: integrity profile * @template: optional integrity profile to register
* *
* Description: When a device needs to advertise itself as being able * Description: When a device needs to advertise itself as being able
* to send/receive integrity metadata it must use this function to * to send/receive integrity metadata it must use this function to
* register the capability with the block layer. The template is a * register the capability with the block layer. The template is a
* blk_integrity struct with values appropriate for the underlying * blk_integrity struct with values appropriate for the underlying
* hardware. See Documentation/block/data-integrity.txt. * hardware. If template is NULL the new profile is allocated but
* not filled out. See Documentation/block/data-integrity.txt.
*/ */
int blk_integrity_register(struct gendisk *disk, struct blk_integrity *template) int blk_integrity_register(struct gendisk *disk, struct blk_integrity *template)
{ {
struct blk_integrity *bi; struct blk_integrity *bi;
BUG_ON(disk == NULL); BUG_ON(disk == NULL);
BUG_ON(template == NULL);
if (disk->integrity == NULL) { if (disk->integrity == NULL) {
bi = kmem_cache_alloc(integrity_cachep, bi = kmem_cache_alloc(integrity_cachep,
GFP_KERNEL | __GFP_ZERO); GFP_KERNEL | __GFP_ZERO);
if (!bi) if (!bi)
return -1; return -1;
@ -346,13 +346,16 @@ int blk_integrity_register(struct gendisk *disk, struct blk_integrity *template)
bi = disk->integrity; bi = disk->integrity;
/* Use the provided profile as template */ /* Use the provided profile as template */
bi->name = template->name; if (template != NULL) {
bi->generate_fn = template->generate_fn; bi->name = template->name;
bi->verify_fn = template->verify_fn; bi->generate_fn = template->generate_fn;
bi->tuple_size = template->tuple_size; bi->verify_fn = template->verify_fn;
bi->set_tag_fn = template->set_tag_fn; bi->tuple_size = template->tuple_size;
bi->get_tag_fn = template->get_tag_fn; bi->set_tag_fn = template->set_tag_fn;
bi->tag_size = template->tag_size; bi->get_tag_fn = template->get_tag_fn;
bi->tag_size = template->tag_size;
} else
bi->name = "unsupported";
return 0; return 0;
} }

Просмотреть файл

@ -130,6 +130,27 @@ static ssize_t queue_max_hw_sectors_show(struct request_queue *q, char *page)
return queue_var_show(max_hw_sectors_kb, (page)); return queue_var_show(max_hw_sectors_kb, (page));
} }
static ssize_t queue_nonrot_show(struct request_queue *q, char *page)
{
return queue_var_show(!blk_queue_nonrot(q), page);
}
static ssize_t queue_nonrot_store(struct request_queue *q, const char *page,
size_t count)
{
unsigned long nm;
ssize_t ret = queue_var_store(&nm, page, count);
spin_lock_irq(q->queue_lock);
if (nm)
queue_flag_clear(QUEUE_FLAG_NONROT, q);
else
queue_flag_set(QUEUE_FLAG_NONROT, q);
spin_unlock_irq(q->queue_lock);
return ret;
}
static ssize_t queue_nomerges_show(struct request_queue *q, char *page) static ssize_t queue_nomerges_show(struct request_queue *q, char *page)
{ {
return queue_var_show(blk_queue_nomerges(q), page); return queue_var_show(blk_queue_nomerges(q), page);
@ -146,8 +167,8 @@ static ssize_t queue_nomerges_store(struct request_queue *q, const char *page,
queue_flag_set(QUEUE_FLAG_NOMERGES, q); queue_flag_set(QUEUE_FLAG_NOMERGES, q);
else else
queue_flag_clear(QUEUE_FLAG_NOMERGES, q); queue_flag_clear(QUEUE_FLAG_NOMERGES, q);
spin_unlock_irq(q->queue_lock); spin_unlock_irq(q->queue_lock);
return ret; return ret;
} }
@ -176,6 +197,27 @@ queue_rq_affinity_store(struct request_queue *q, const char *page, size_t count)
return ret; return ret;
} }
static ssize_t queue_iostats_show(struct request_queue *q, char *page)
{
return queue_var_show(blk_queue_io_stat(q), page);
}
static ssize_t queue_iostats_store(struct request_queue *q, const char *page,
size_t count)
{
unsigned long stats;
ssize_t ret = queue_var_store(&stats, page, count);
spin_lock_irq(q->queue_lock);
if (stats)
queue_flag_set(QUEUE_FLAG_IO_STAT, q);
else
queue_flag_clear(QUEUE_FLAG_IO_STAT, q);
spin_unlock_irq(q->queue_lock);
return ret;
}
static struct queue_sysfs_entry queue_requests_entry = { static struct queue_sysfs_entry queue_requests_entry = {
.attr = {.name = "nr_requests", .mode = S_IRUGO | S_IWUSR }, .attr = {.name = "nr_requests", .mode = S_IRUGO | S_IWUSR },
.show = queue_requests_show, .show = queue_requests_show,
@ -210,6 +252,12 @@ static struct queue_sysfs_entry queue_hw_sector_size_entry = {
.show = queue_hw_sector_size_show, .show = queue_hw_sector_size_show,
}; };
static struct queue_sysfs_entry queue_nonrot_entry = {
.attr = {.name = "rotational", .mode = S_IRUGO | S_IWUSR },
.show = queue_nonrot_show,
.store = queue_nonrot_store,
};
static struct queue_sysfs_entry queue_nomerges_entry = { static struct queue_sysfs_entry queue_nomerges_entry = {
.attr = {.name = "nomerges", .mode = S_IRUGO | S_IWUSR }, .attr = {.name = "nomerges", .mode = S_IRUGO | S_IWUSR },
.show = queue_nomerges_show, .show = queue_nomerges_show,
@ -222,6 +270,12 @@ static struct queue_sysfs_entry queue_rq_affinity_entry = {
.store = queue_rq_affinity_store, .store = queue_rq_affinity_store,
}; };
static struct queue_sysfs_entry queue_iostats_entry = {
.attr = {.name = "iostats", .mode = S_IRUGO | S_IWUSR },
.show = queue_iostats_show,
.store = queue_iostats_store,
};
static struct attribute *default_attrs[] = { static struct attribute *default_attrs[] = {
&queue_requests_entry.attr, &queue_requests_entry.attr,
&queue_ra_entry.attr, &queue_ra_entry.attr,
@ -229,8 +283,10 @@ static struct attribute *default_attrs[] = {
&queue_max_sectors_entry.attr, &queue_max_sectors_entry.attr,
&queue_iosched_entry.attr, &queue_iosched_entry.attr,
&queue_hw_sector_size_entry.attr, &queue_hw_sector_size_entry.attr,
&queue_nonrot_entry.attr,
&queue_nomerges_entry.attr, &queue_nomerges_entry.attr,
&queue_rq_affinity_entry.attr, &queue_rq_affinity_entry.attr,
&queue_iostats_entry.attr,
NULL, NULL,
}; };

Просмотреть файл

@ -108,4 +108,12 @@ static inline int blk_cpu_to_group(int cpu)
#endif #endif
} }
static inline int blk_do_io_stat(struct request_queue *q)
{
if (q)
return blk_queue_io_stat(q);
return 0;
}
#endif #endif

Просмотреть файл

@ -187,59 +187,12 @@ static void __blk_add_trace(struct blk_trace *bt, sector_t sector, int bytes,
static struct dentry *blk_tree_root; static struct dentry *blk_tree_root;
static DEFINE_MUTEX(blk_tree_mutex); static DEFINE_MUTEX(blk_tree_mutex);
static unsigned int root_users;
static inline void blk_remove_root(void)
{
if (blk_tree_root) {
debugfs_remove(blk_tree_root);
blk_tree_root = NULL;
}
}
static void blk_remove_tree(struct dentry *dir)
{
mutex_lock(&blk_tree_mutex);
debugfs_remove(dir);
if (--root_users == 0)
blk_remove_root();
mutex_unlock(&blk_tree_mutex);
}
static struct dentry *blk_create_tree(const char *blk_name)
{
struct dentry *dir = NULL;
int created = 0;
mutex_lock(&blk_tree_mutex);
if (!blk_tree_root) {
blk_tree_root = debugfs_create_dir("block", NULL);
if (!blk_tree_root)
goto err;
created = 1;
}
dir = debugfs_create_dir(blk_name, blk_tree_root);
if (dir)
root_users++;
else {
/* Delete root only if we created it */
if (created)
blk_remove_root();
}
err:
mutex_unlock(&blk_tree_mutex);
return dir;
}
static void blk_trace_cleanup(struct blk_trace *bt) static void blk_trace_cleanup(struct blk_trace *bt)
{ {
relay_close(bt->rchan);
debugfs_remove(bt->msg_file); debugfs_remove(bt->msg_file);
debugfs_remove(bt->dropped_file); debugfs_remove(bt->dropped_file);
blk_remove_tree(bt->dir); relay_close(bt->rchan);
free_percpu(bt->sequence); free_percpu(bt->sequence);
free_percpu(bt->msg_data); free_percpu(bt->msg_data);
kfree(bt); kfree(bt);
@ -346,7 +299,18 @@ static int blk_subbuf_start_callback(struct rchan_buf *buf, void *subbuf,
static int blk_remove_buf_file_callback(struct dentry *dentry) static int blk_remove_buf_file_callback(struct dentry *dentry)
{ {
struct dentry *parent = dentry->d_parent;
debugfs_remove(dentry); debugfs_remove(dentry);
/*
* this will fail for all but the last file, but that is ok. what we
* care about is the top level buts->name directory going away, when
* the last trace file is gone. Then we don't have to rmdir() that
* manually on trace stop, so it nicely solves the issue with
* force killing of running traces.
*/
debugfs_remove(parent);
return 0; return 0;
} }
@ -404,7 +368,15 @@ int do_blk_trace_setup(struct request_queue *q, char *name, dev_t dev,
goto err; goto err;
ret = -ENOENT; ret = -ENOENT;
dir = blk_create_tree(buts->name);
if (!blk_tree_root) {
blk_tree_root = debugfs_create_dir("block", NULL);
if (!blk_tree_root)
return -ENOMEM;
}
dir = debugfs_create_dir(buts->name, blk_tree_root);
if (!dir) if (!dir)
goto err; goto err;
@ -458,8 +430,6 @@ probe_err:
atomic_dec(&blk_probes_ref); atomic_dec(&blk_probes_ref);
mutex_unlock(&blk_probe_mutex); mutex_unlock(&blk_probe_mutex);
err: err:
if (dir)
blk_remove_tree(dir);
if (bt) { if (bt) {
if (bt->msg_file) if (bt->msg_file)
debugfs_remove(bt->msg_file); debugfs_remove(bt->msg_file);

Просмотреть файл

@ -84,6 +84,11 @@ struct cfq_data {
*/ */
struct cfq_rb_root service_tree; struct cfq_rb_root service_tree;
unsigned int busy_queues; unsigned int busy_queues;
/*
* Used to track any pending rt requests so we can pre-empt current
* non-RT cfqq in service when this value is non-zero.
*/
unsigned int busy_rt_queues;
int rq_in_driver; int rq_in_driver;
int sync_flight; int sync_flight;
@ -562,6 +567,8 @@ static void cfq_add_cfqq_rr(struct cfq_data *cfqd, struct cfq_queue *cfqq)
BUG_ON(cfq_cfqq_on_rr(cfqq)); BUG_ON(cfq_cfqq_on_rr(cfqq));
cfq_mark_cfqq_on_rr(cfqq); cfq_mark_cfqq_on_rr(cfqq);
cfqd->busy_queues++; cfqd->busy_queues++;
if (cfq_class_rt(cfqq))
cfqd->busy_rt_queues++;
cfq_resort_rr_list(cfqd, cfqq); cfq_resort_rr_list(cfqd, cfqq);
} }
@ -581,6 +588,8 @@ static void cfq_del_cfqq_rr(struct cfq_data *cfqd, struct cfq_queue *cfqq)
BUG_ON(!cfqd->busy_queues); BUG_ON(!cfqd->busy_queues);
cfqd->busy_queues--; cfqd->busy_queues--;
if (cfq_class_rt(cfqq))
cfqd->busy_rt_queues--;
} }
/* /*
@ -1004,6 +1013,20 @@ static struct cfq_queue *cfq_select_queue(struct cfq_data *cfqd)
if (cfq_slice_used(cfqq)) if (cfq_slice_used(cfqq))
goto expire; goto expire;
/*
* If we have a RT cfqq waiting, then we pre-empt the current non-rt
* cfqq.
*/
if (!cfq_class_rt(cfqq) && cfqd->busy_rt_queues) {
/*
* We simulate this as cfqq timed out so that it gets to bank
* the remaining of its time slice.
*/
cfq_log_cfqq(cfqd, cfqq, "preempt");
cfq_slice_expired(cfqd, 1);
goto new_queue;
}
/* /*
* The active queue has requests and isn't expired, allow it to * The active queue has requests and isn't expired, allow it to
* dispatch. * dispatch.
@ -1067,6 +1090,13 @@ __cfq_dispatch_requests(struct cfq_data *cfqd, struct cfq_queue *cfqq,
if (RB_EMPTY_ROOT(&cfqq->sort_list)) if (RB_EMPTY_ROOT(&cfqq->sort_list))
break; break;
/*
* If there is a non-empty RT cfqq waiting for current
* cfqq's timeslice to complete, pre-empt this cfqq
*/
if (!cfq_class_rt(cfqq) && cfqd->busy_rt_queues)
break;
} while (dispatched < max_dispatch); } while (dispatched < max_dispatch);
/* /*
@ -1801,6 +1831,12 @@ cfq_should_preempt(struct cfq_data *cfqd, struct cfq_queue *new_cfqq,
if (rq_is_meta(rq) && !cfqq->meta_pending) if (rq_is_meta(rq) && !cfqq->meta_pending)
return 1; return 1;
/*
* Allow an RT request to pre-empt an ongoing non-RT cfqq timeslice.
*/
if (cfq_class_rt(new_cfqq) && !cfq_class_rt(cfqq))
return 1;
if (!cfqd->active_cic || !cfq_cfqq_wait_request(cfqq)) if (!cfqd->active_cic || !cfq_cfqq_wait_request(cfqq))
return 0; return 0;
@ -1870,7 +1906,8 @@ cfq_rq_enqueued(struct cfq_data *cfqd, struct cfq_queue *cfqq,
/* /*
* not the active queue - expire current slice if it is * not the active queue - expire current slice if it is
* idle and has expired it's mean thinktime or this new queue * idle and has expired it's mean thinktime or this new queue
* has some old slice time left and is of higher priority * has some old slice time left and is of higher priority or
* this new queue is RT and the current one is BE
*/ */
cfq_preempt_queue(cfqd, cfqq); cfq_preempt_queue(cfqd, cfqq);
cfq_mark_cfqq_must_dispatch(cfqq); cfq_mark_cfqq_must_dispatch(cfqq);

Просмотреть файл

@ -44,6 +44,7 @@
#include <linux/device.h> #include <linux/device.h>
#include <scsi/scsi_host.h> #include <scsi/scsi_host.h>
#include <linux/libata.h> #include <linux/libata.h>
#include <linux/dmi.h>
#define DRV_NAME "sata_sil" #define DRV_NAME "sata_sil"
#define DRV_VERSION "2.4" #define DRV_VERSION "2.4"

Просмотреть файл

@ -1280,7 +1280,7 @@ EXPORT_SYMBOL_GPL(__root_device_register);
/** /**
* root_device_unregister - unregister and free a root device * root_device_unregister - unregister and free a root device
* @root: device going away. * @dev: device going away
* *
* This function unregisters and cleans up a device that was created by * This function unregisters and cleans up a device that was created by
* root_device_register(). * root_device_register().

Просмотреть файл

@ -268,7 +268,7 @@ int set_selection(const struct tiocl_selection __user *sel, struct tty_struct *t
/* Allocate a new buffer before freeing the old one ... */ /* Allocate a new buffer before freeing the old one ... */
multiplier = use_unicode ? 3 : 1; /* chars can take up to 3 bytes */ multiplier = use_unicode ? 3 : 1; /* chars can take up to 3 bytes */
bp = kmalloc((sel_end-sel_start)/2*multiplier+1, GFP_KERNEL); bp = kmalloc(((sel_end-sel_start)/2+1)*multiplier, GFP_KERNEL);
if (!bp) { if (!bp) {
printk(KERN_WARNING "selection: kmalloc() failed\n"); printk(KERN_WARNING "selection: kmalloc() failed\n");
clear_selection(); clear_selection();

Некоторые файлы не были показаны из-за слишком большого количества измененных файлов Показать больше