Merge libata upstream (which includes C/H/S support) include irq-pio branch.
Merge branch 'upstream'
This commit is contained in:
commit
0fbbbf2bde
|
@ -237,6 +237,12 @@ udev
|
|||
udev is a userspace application for populating /dev dynamically with
|
||||
only entries for devices actually present. udev replaces devfs.
|
||||
|
||||
FUSE
|
||||
----
|
||||
|
||||
Needs libfuse 2.4.0 or later. Absolute minimum is 2.3.0 but mount
|
||||
options 'direct_io' and 'kernel_cache' won't work.
|
||||
|
||||
Networking
|
||||
==========
|
||||
|
||||
|
@ -390,6 +396,10 @@ udev
|
|||
----
|
||||
o <http://www.kernel.org/pub/linux/utils/kernel/hotplug/udev.html>
|
||||
|
||||
FUSE
|
||||
----
|
||||
o <http://sourceforge.net/projects/fuse>
|
||||
|
||||
Networking
|
||||
**********
|
||||
|
||||
|
|
|
@ -415,6 +415,362 @@ and other resources, etc.
|
|||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="libataEH">
|
||||
<title>Error handling</title>
|
||||
|
||||
<para>
|
||||
This chapter describes how errors are handled under libata.
|
||||
Readers are advised to read SCSI EH
|
||||
(Documentation/scsi/scsi_eh.txt) and ATA exceptions doc first.
|
||||
</para>
|
||||
|
||||
<sect1><title>Origins of commands</title>
|
||||
<para>
|
||||
In libata, a command is represented with struct ata_queued_cmd
|
||||
or qc. qc's are preallocated during port initialization and
|
||||
repetitively used for command executions. Currently only one
|
||||
qc is allocated per port but yet-to-be-merged NCQ branch
|
||||
allocates one for each tag and maps each qc to NCQ tag 1-to-1.
|
||||
</para>
|
||||
<para>
|
||||
libata commands can originate from two sources - libata itself
|
||||
and SCSI midlayer. libata internal commands are used for
|
||||
initialization and error handling. All normal blk requests
|
||||
and commands for SCSI emulation are passed as SCSI commands
|
||||
through queuecommand callback of SCSI host template.
|
||||
</para>
|
||||
</sect1>
|
||||
|
||||
<sect1><title>How commands are issued</title>
|
||||
|
||||
<variablelist>
|
||||
|
||||
<varlistentry><term>Internal commands</term>
|
||||
<listitem>
|
||||
<para>
|
||||
First, qc is allocated and initialized using
|
||||
ata_qc_new_init(). Although ata_qc_new_init() doesn't
|
||||
implement any wait or retry mechanism when qc is not
|
||||
available, internal commands are currently issued only during
|
||||
initialization and error recovery, so no other command is
|
||||
active and allocation is guaranteed to succeed.
|
||||
</para>
|
||||
<para>
|
||||
Once allocated qc's taskfile is initialized for the command to
|
||||
be executed. qc currently has two mechanisms to notify
|
||||
completion. One is via qc->complete_fn() callback and the
|
||||
other is completion qc->waiting. qc->complete_fn() callback
|
||||
is the asynchronous path used by normal SCSI translated
|
||||
commands and qc->waiting is the synchronous (issuer sleeps in
|
||||
process context) path used by internal commands.
|
||||
</para>
|
||||
<para>
|
||||
Once initialization is complete, host_set lock is acquired
|
||||
and the qc is issued.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>SCSI commands</term>
|
||||
<listitem>
|
||||
<para>
|
||||
All libata drivers use ata_scsi_queuecmd() as
|
||||
hostt->queuecommand callback. scmds can either be simulated
|
||||
or translated. No qc is involved in processing a simulated
|
||||
scmd. The result is computed right away and the scmd is
|
||||
completed.
|
||||
</para>
|
||||
<para>
|
||||
For a translated scmd, ata_qc_new_init() is invoked to
|
||||
allocate a qc and the scmd is translated into the qc. SCSI
|
||||
midlayer's completion notification function pointer is stored
|
||||
into qc->scsidone.
|
||||
</para>
|
||||
<para>
|
||||
qc->complete_fn() callback is used for completion
|
||||
notification. ATA commands use ata_scsi_qc_complete() while
|
||||
ATAPI commands use atapi_qc_complete(). Both functions end up
|
||||
calling qc->scsidone to notify upper layer when the qc is
|
||||
finished. After translation is completed, the qc is issued
|
||||
with ata_qc_issue().
|
||||
</para>
|
||||
<para>
|
||||
Note that SCSI midlayer invokes hostt->queuecommand while
|
||||
holding host_set lock, so all above occur while holding
|
||||
host_set lock.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
</variablelist>
|
||||
</sect1>
|
||||
|
||||
<sect1><title>How commands are processed</title>
|
||||
<para>
|
||||
Depending on which protocol and which controller are used,
|
||||
commands are processed differently. For the purpose of
|
||||
discussion, a controller which uses taskfile interface and all
|
||||
standard callbacks is assumed.
|
||||
</para>
|
||||
<para>
|
||||
Currently 6 ATA command protocols are used. They can be
|
||||
sorted into the following four categories according to how
|
||||
they are processed.
|
||||
</para>
|
||||
|
||||
<variablelist>
|
||||
<varlistentry><term>ATA NO DATA or DMA</term>
|
||||
<listitem>
|
||||
<para>
|
||||
ATA_PROT_NODATA and ATA_PROT_DMA fall into this category.
|
||||
These types of commands don't require any software
|
||||
intervention once issued. Device will raise interrupt on
|
||||
completion.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>ATA PIO</term>
|
||||
<listitem>
|
||||
<para>
|
||||
ATA_PROT_PIO is in this category. libata currently
|
||||
implements PIO with polling. ATA_NIEN bit is set to turn
|
||||
off interrupt and pio_task on ata_wq performs polling and
|
||||
IO.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>ATAPI NODATA or DMA</term>
|
||||
<listitem>
|
||||
<para>
|
||||
ATA_PROT_ATAPI_NODATA and ATA_PROT_ATAPI_DMA are in this
|
||||
category. packet_task is used to poll BSY bit after
|
||||
issuing PACKET command. Once BSY is turned off by the
|
||||
device, packet_task transfers CDB and hands off processing
|
||||
to interrupt handler.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
<varlistentry><term>ATAPI PIO</term>
|
||||
<listitem>
|
||||
<para>
|
||||
ATA_PROT_ATAPI is in this category. ATA_NIEN bit is set
|
||||
and, as in ATAPI NODATA or DMA, packet_task submits cdb.
|
||||
However, after submitting cdb, further processing (data
|
||||
transfer) is handed off to pio_task.
|
||||
</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</sect1>
|
||||
|
||||
<sect1><title>How commands are completed</title>
|
||||
<para>
|
||||
Once issued, all qc's are either completed with
|
||||
ata_qc_complete() or time out. For commands which are handled
|
||||
by interrupts, ata_host_intr() invokes ata_qc_complete(), and,
|
||||
for PIO tasks, pio_task invokes ata_qc_complete(). In error
|
||||
cases, packet_task may also complete commands.
|
||||
</para>
|
||||
<para>
|
||||
ata_qc_complete() does the following.
|
||||
</para>
|
||||
|
||||
<orderedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
DMA memory is unmapped.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
ATA_QCFLAG_ACTIVE is clared from qc->flags.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
qc->complete_fn() callback is invoked. If the return value of
|
||||
the callback is not zero. Completion is short circuited and
|
||||
ata_qc_complete() returns.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
__ata_qc_complete() is called, which does
|
||||
<orderedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
qc->flags is cleared to zero.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
ap->active_tag and qc->tag are poisoned.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
qc->waiting is claread & completed (in that order).
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
qc is deallocated by clearing appropriate bit in ap->qactive.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</orderedlist>
|
||||
|
||||
<para>
|
||||
So, it basically notifies upper layer and deallocates qc. One
|
||||
exception is short-circuit path in #3 which is used by
|
||||
atapi_qc_complete().
|
||||
</para>
|
||||
<para>
|
||||
For all non-ATAPI commands, whether it fails or not, almost
|
||||
the same code path is taken and very little error handling
|
||||
takes place. A qc is completed with success status if it
|
||||
succeeded, with failed status otherwise.
|
||||
</para>
|
||||
<para>
|
||||
However, failed ATAPI commands require more handling as
|
||||
REQUEST SENSE is needed to acquire sense data. If an ATAPI
|
||||
command fails, ata_qc_complete() is invoked with error status,
|
||||
which in turn invokes atapi_qc_complete() via
|
||||
qc->complete_fn() callback.
|
||||
</para>
|
||||
<para>
|
||||
This makes atapi_qc_complete() set scmd->result to
|
||||
SAM_STAT_CHECK_CONDITION, complete the scmd and return 1. As
|
||||
the sense data is empty but scmd->result is CHECK CONDITION,
|
||||
SCSI midlayer will invoke EH for the scmd, and returning 1
|
||||
makes ata_qc_complete() to return without deallocating the qc.
|
||||
This leads us to ata_scsi_error() with partially completed qc.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1><title>ata_scsi_error()</title>
|
||||
<para>
|
||||
ata_scsi_error() is the current hostt->eh_strategy_handler()
|
||||
for libata. As discussed above, this will be entered in two
|
||||
cases - timeout and ATAPI error completion. This function
|
||||
calls low level libata driver's eng_timeout() callback, the
|
||||
standard callback for which is ata_eng_timeout(). It checks
|
||||
if a qc is active and calls ata_qc_timeout() on the qc if so.
|
||||
Actual error handling occurs in ata_qc_timeout().
|
||||
</para>
|
||||
<para>
|
||||
If EH is invoked for timeout, ata_qc_timeout() stops BMDMA and
|
||||
completes the qc. Note that as we're currently in EH, we
|
||||
cannot call scsi_done. As described in SCSI EH doc, a
|
||||
recovered scmd should be either retried with
|
||||
scsi_queue_insert() or finished with scsi_finish_command().
|
||||
Here, we override qc->scsidone with scsi_finish_command() and
|
||||
calls ata_qc_complete().
|
||||
</para>
|
||||
<para>
|
||||
If EH is invoked due to a failed ATAPI qc, the qc here is
|
||||
completed but not deallocated. The purpose of this
|
||||
half-completion is to use the qc as place holder to make EH
|
||||
code reach this place. This is a bit hackish, but it works.
|
||||
</para>
|
||||
<para>
|
||||
Once control reaches here, the qc is deallocated by invoking
|
||||
__ata_qc_complete() explicitly. Then, internal qc for REQUEST
|
||||
SENSE is issued. Once sense data is acquired, scmd is
|
||||
finished by directly invoking scsi_finish_command() on the
|
||||
scmd. Note that as we already have completed and deallocated
|
||||
the qc which was associated with the scmd, we don't need
|
||||
to/cannot call ata_qc_complete() again.
|
||||
</para>
|
||||
|
||||
</sect1>
|
||||
|
||||
<sect1><title>Problems with the current EH</title>
|
||||
|
||||
<itemizedlist>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Error representation is too crude. Currently any and all
|
||||
error conditions are represented with ATA STATUS and ERROR
|
||||
registers. Errors which aren't ATA device errors are treated
|
||||
as ATA device errors by setting ATA_ERR bit. Better error
|
||||
descriptor which can properly represent ATA and other
|
||||
errors/exceptions is needed.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
When handling timeouts, no action is taken to make device
|
||||
forget about the timed out command and ready for new commands.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
EH handling via ata_scsi_error() is not properly protected
|
||||
from usual command processing. On EH entrance, the device is
|
||||
not in quiescent state. Timed out commands may succeed or
|
||||
fail any time. pio_task and atapi_task may still be running.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
Too weak error recovery. Devices / controllers causing HSM
|
||||
mismatch errors and other errors quite often require reset to
|
||||
return to known state. Also, advanced error handling is
|
||||
necessary to support features like NCQ and hotplug.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>
|
||||
ATA errors are directly handled in the interrupt handler and
|
||||
PIO errors in pio_task. This is problematic for advanced
|
||||
error handling for the following reasons.
|
||||
</para>
|
||||
<para>
|
||||
First, advanced error handling often requires context and
|
||||
internal qc execution.
|
||||
</para>
|
||||
<para>
|
||||
Second, even a simple failure (say, CRC error) needs
|
||||
information gathering and could trigger complex error handling
|
||||
(say, resetting & reconfiguring). Having multiple code
|
||||
paths to gather information, enter EH and trigger actions
|
||||
makes life painful.
|
||||
</para>
|
||||
<para>
|
||||
Third, scattered EH code makes implementing low level drivers
|
||||
difficult. Low level drivers override libata callbacks. If
|
||||
EH is scattered over several places, each affected callbacks
|
||||
should perform its part of error handling. This can be error
|
||||
prone and painful.
|
||||
</para>
|
||||
</listitem>
|
||||
|
||||
</itemizedlist>
|
||||
</sect1>
|
||||
</chapter>
|
||||
|
||||
<chapter id="libataExt">
|
||||
<title>libata Library</title>
|
||||
!Edrivers/scsi/libata-core.c
|
||||
|
|
|
@ -301,8 +301,68 @@ now, but you can do this to mark internal company procedures or just
|
|||
point out some special detail about the sign-off.
|
||||
|
||||
|
||||
12) The canonical patch format
|
||||
|
||||
12) More references for submitting patches
|
||||
The canonical patch subject line is:
|
||||
|
||||
Subject: [PATCH 001/123] [<area>:] <explanation>
|
||||
|
||||
The canonical patch message body contains the following:
|
||||
|
||||
- A "from" line specifying the patch author.
|
||||
|
||||
- An empty line.
|
||||
|
||||
- The body of the explanation, which will be copied to the
|
||||
permanent changelog to describe this patch.
|
||||
|
||||
- The "Signed-off-by:" lines, described above, which will
|
||||
also go in the changelog.
|
||||
|
||||
- A marker line containing simply "---".
|
||||
|
||||
- Any additional comments not suitable for the changelog.
|
||||
|
||||
- The actual patch (diff output).
|
||||
|
||||
The Subject line format makes it very easy to sort the emails
|
||||
alphabetically by subject line - pretty much any email reader will
|
||||
support that - since because the sequence number is zero-padded,
|
||||
the numerical and alphabetic sort is the same.
|
||||
|
||||
See further details on how to phrase the "<explanation>" in the
|
||||
"Subject:" line in Andrew Morton's "The perfect patch", referenced
|
||||
below.
|
||||
|
||||
The "from" line must be the very first line in the message body,
|
||||
and has the form:
|
||||
|
||||
From: Original Author <author@example.com>
|
||||
|
||||
The "from" line specifies who will be credited as the author of the
|
||||
patch in the permanent changelog. If the "from" line is missing,
|
||||
then the "From:" line from the email header will be used to determine
|
||||
the patch author in the changelog.
|
||||
|
||||
The explanation body will be committed to the permanent source
|
||||
changelog, so should make sense to a competent reader who has long
|
||||
since forgotten the immediate details of the discussion that might
|
||||
have led to this patch.
|
||||
|
||||
The "---" marker line serves the essential purpose of marking for patch
|
||||
handling tools where the changelog message ends.
|
||||
|
||||
One good use for the additional comments after the "---" marker is for
|
||||
a diffstat, to show what files have changed, and the number of inserted
|
||||
and deleted lines per file. A diffstat is especially useful on bigger
|
||||
patches. Other comments relevant only to the moment or the maintainer,
|
||||
not suitable for the permanent changelog, should also go here.
|
||||
|
||||
See more details on the proper patch format in the following
|
||||
references.
|
||||
|
||||
|
||||
13) More references for submitting patches
|
||||
|
||||
Andrew Morton, "The perfect patch" (tpp).
|
||||
<http://www.zip.com.au/~akpm/linux/patches/stuff/tpp.txt>
|
||||
|
@ -310,6 +370,14 @@ Andrew Morton, "The perfect patch" (tpp).
|
|||
Jeff Garzik, "Linux kernel patch submission format."
|
||||
<http://linux.yyz.us/patch-format.html>
|
||||
|
||||
Greg KH, "How to piss off a kernel subsystem maintainer"
|
||||
<http://www.kroah.com/log/2005/03/31/>
|
||||
|
||||
Kernel Documentation/CodingStyle
|
||||
<http://sosdg.org/~coywolf/lxr/source/Documentation/CodingStyle>
|
||||
|
||||
Linus Torvald's mail on the canonical patch format:
|
||||
<http://lkml.org/lkml/2005/4/7/183>
|
||||
|
||||
|
||||
-----------------------------------
|
||||
|
|
|
@ -195,8 +195,8 @@ KEY ACCESS PERMISSIONS
|
|||
======================
|
||||
|
||||
Keys have an owner user ID, a group access ID, and a permissions mask. The mask
|
||||
has up to eight bits each for user, group and other access. Only five of each
|
||||
set of eight bits are defined. These permissions granted are:
|
||||
has up to eight bits each for possessor, user, group and other access. Only
|
||||
five of each set of eight bits are defined. These permissions granted are:
|
||||
|
||||
(*) View
|
||||
|
||||
|
@ -241,16 +241,16 @@ about the status of the key service:
|
|||
type, description and permissions. The payload of the key is not available
|
||||
this way:
|
||||
|
||||
SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY
|
||||
00000001 I----- 39 perm 1f0000 0 0 keyring _uid_ses.0: 1/4
|
||||
00000002 I----- 2 perm 1f0000 0 0 keyring _uid.0: empty
|
||||
00000007 I----- 1 perm 1f0000 0 0 keyring _pid.1: empty
|
||||
0000018d I----- 1 perm 1f0000 0 0 keyring _pid.412: empty
|
||||
000004d2 I--Q-- 1 perm 1f0000 32 -1 keyring _uid.32: 1/4
|
||||
000004d3 I--Q-- 3 perm 1f0000 32 -1 keyring _uid_ses.32: empty
|
||||
00000892 I--QU- 1 perm 1f0000 0 0 user metal:copper: 0
|
||||
00000893 I--Q-N 1 35s 1f0000 0 0 user metal:silver: 0
|
||||
00000894 I--Q-- 1 10h 1f0000 0 0 user metal:gold: 0
|
||||
SERIAL FLAGS USAGE EXPY PERM UID GID TYPE DESCRIPTION: SUMMARY
|
||||
00000001 I----- 39 perm 1f1f0000 0 0 keyring _uid_ses.0: 1/4
|
||||
00000002 I----- 2 perm 1f1f0000 0 0 keyring _uid.0: empty
|
||||
00000007 I----- 1 perm 1f1f0000 0 0 keyring _pid.1: empty
|
||||
0000018d I----- 1 perm 1f1f0000 0 0 keyring _pid.412: empty
|
||||
000004d2 I--Q-- 1 perm 1f1f0000 32 -1 keyring _uid.32: 1/4
|
||||
000004d3 I--Q-- 3 perm 1f1f0000 32 -1 keyring _uid_ses.32: empty
|
||||
00000892 I--QU- 1 perm 1f000000 0 0 user metal:copper: 0
|
||||
00000893 I--Q-N 1 35s 1f1f0000 0 0 user metal:silver: 0
|
||||
00000894 I--Q-- 1 10h 001f0000 0 0 user metal:gold: 0
|
||||
|
||||
The flags are:
|
||||
|
||||
|
@ -637,6 +637,34 @@ call, and the key released upon close. How to deal with conflicting keys due to
|
|||
two different users opening the same file is left to the filesystem author to
|
||||
solve.
|
||||
|
||||
Note that there are two different types of pointers to keys that may be
|
||||
encountered:
|
||||
|
||||
(*) struct key *
|
||||
|
||||
This simply points to the key structure itself. Key structures will be at
|
||||
least four-byte aligned.
|
||||
|
||||
(*) key_ref_t
|
||||
|
||||
This is equivalent to a struct key *, but the least significant bit is set
|
||||
if the caller "possesses" the key. By "possession" it is meant that the
|
||||
calling processes has a searchable link to the key from one of its
|
||||
keyrings. There are three functions for dealing with these:
|
||||
|
||||
key_ref_t make_key_ref(const struct key *key,
|
||||
unsigned long possession);
|
||||
|
||||
struct key *key_ref_to_ptr(const key_ref_t key_ref);
|
||||
|
||||
unsigned long is_key_possessed(const key_ref_t key_ref);
|
||||
|
||||
The first function constructs a key reference from a key pointer and
|
||||
possession information (which must be 0 or 1 and not any other value).
|
||||
|
||||
The second function retrieves the key pointer from a reference and the
|
||||
third retrieves the possession flag.
|
||||
|
||||
When accessing a key's payload contents, certain precautions must be taken to
|
||||
prevent access vs modification races. See the section "Notes on accessing
|
||||
payload contents" for more information.
|
||||
|
@ -665,7 +693,11 @@ payload contents" for more information.
|
|||
|
||||
void key_put(struct key *key);
|
||||
|
||||
This can be called from interrupt context. If CONFIG_KEYS is not set then
|
||||
Or:
|
||||
|
||||
void key_ref_put(key_ref_t key_ref);
|
||||
|
||||
These can be called from interrupt context. If CONFIG_KEYS is not set then
|
||||
the argument will not be parsed.
|
||||
|
||||
|
||||
|
@ -689,13 +721,17 @@ payload contents" for more information.
|
|||
|
||||
(*) If a keyring was found in the search, this can be further searched by:
|
||||
|
||||
struct key *keyring_search(struct key *keyring,
|
||||
const struct key_type *type,
|
||||
const char *description)
|
||||
key_ref_t keyring_search(key_ref_t keyring_ref,
|
||||
const struct key_type *type,
|
||||
const char *description)
|
||||
|
||||
This searches the keyring tree specified for a matching key. Error ENOKEY
|
||||
is returned upon failure. If successful, the returned key will need to be
|
||||
released.
|
||||
is returned upon failure (use IS_ERR/PTR_ERR to determine). If successful,
|
||||
the returned key will need to be released.
|
||||
|
||||
The possession attribute from the keyring reference is used to control
|
||||
access through the permissions mask and is propagated to the returned key
|
||||
reference pointer if successful.
|
||||
|
||||
|
||||
(*) To check the validity of a key, this function can be called:
|
||||
|
@ -732,7 +768,7 @@ More complex payload contents must be allocated and a pointer to them set in
|
|||
key->payload.data. One of the following ways must be selected to access the
|
||||
data:
|
||||
|
||||
(1) Unmodifyable key type.
|
||||
(1) Unmodifiable key type.
|
||||
|
||||
If the key type does not have a modify method, then the key's payload can
|
||||
be accessed without any form of locking, provided that it's known to be
|
||||
|
|
33
MAINTAINERS
33
MAINTAINERS
|
@ -604,6 +604,15 @@ P: H. Peter Anvin
|
|||
M: hpa@zytor.com
|
||||
S: Maintained
|
||||
|
||||
CPUSETS
|
||||
P: Paul Jackson
|
||||
P: Simon Derr
|
||||
M: pj@sgi.com
|
||||
M: simon.derr@bull.net
|
||||
L: linux-kernel@vger.kernel.org
|
||||
W: http://www.bullopensource.org/cpuset/
|
||||
S: Supported
|
||||
|
||||
CRAMFS FILESYSTEM
|
||||
W: http://sourceforge.net/projects/cramfs/
|
||||
S: Orphan
|
||||
|
@ -1159,11 +1168,6 @@ L: linux1394-devel@lists.sourceforge.net
|
|||
W: http://www.linux1394.org/
|
||||
S: Orphan
|
||||
|
||||
IEEE 1394 SBP2
|
||||
L: linux1394-devel@lists.sourceforge.net
|
||||
W: http://www.linux1394.org/
|
||||
S: Orphan
|
||||
|
||||
IEEE 1394 SUBSYSTEM
|
||||
P: Ben Collins
|
||||
M: bcollins@debian.org
|
||||
|
@ -1198,6 +1202,15 @@ L: linux1394-devel@lists.sourceforge.net
|
|||
W: http://www.linux1394.org/
|
||||
S: Maintained
|
||||
|
||||
IEEE 1394 SBP2
|
||||
P: Ben Collins
|
||||
M: bcollins@debian.org
|
||||
P: Stefan Richter
|
||||
M: stefanr@s5r6.in-berlin.de
|
||||
L: linux1394-devel@lists.sourceforge.net
|
||||
W: http://www.linux1394.org/
|
||||
S: Maintained
|
||||
|
||||
IMS TWINTURBO FRAMEBUFFER DRIVER
|
||||
P: Paul Mundt
|
||||
M: lethal@chaoticdreams.org
|
||||
|
@ -1734,8 +1747,11 @@ S: Maintained
|
|||
IPVS
|
||||
P: Wensong Zhang
|
||||
M: wensong@linux-vs.org
|
||||
P: Simon Horman
|
||||
M: horms@verge.net.au
|
||||
P: Julian Anastasov
|
||||
M: ja@ssi.bg
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
NFS CLIENT
|
||||
|
@ -1906,6 +1922,13 @@ M: joern@wh.fh-wedel.de
|
|||
L: linux-mtd@lists.infradead.org
|
||||
S: Maintained
|
||||
|
||||
PKTCDVD DRIVER
|
||||
P: Peter Osterlund
|
||||
M: petero2@telia.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
L: packet-writing@suse.com
|
||||
S: Maintained
|
||||
|
||||
POSIX CLOCKS and TIMERS
|
||||
P: George Anzinger
|
||||
M: george@mvista.com
|
||||
|
|
2
Makefile
2
Makefile
|
@ -1,7 +1,7 @@
|
|||
VERSION = 2
|
||||
PATCHLEVEL = 6
|
||||
SUBLEVEL = 14
|
||||
EXTRAVERSION =-rc2
|
||||
EXTRAVERSION =-rc3
|
||||
NAME=Affluent Albatross
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
|
|
@ -196,6 +196,7 @@ entUna:
|
|||
stq $26, 208($sp)
|
||||
stq $27, 216($sp)
|
||||
stq $28, 224($sp)
|
||||
mov $sp, $19
|
||||
stq $gp, 232($sp)
|
||||
lda $8, 0x3fff
|
||||
stq $31, 248($sp)
|
||||
|
|
|
@ -446,16 +446,15 @@ struct unaligned_stat {
|
|||
|
||||
|
||||
/* Macro for exception fixup code to access integer registers. */
|
||||
#define una_reg(r) (regs.regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)])
|
||||
#define una_reg(r) (regs->regs[(r) >= 16 && (r) <= 18 ? (r)+19 : (r)])
|
||||
|
||||
|
||||
asmlinkage void
|
||||
do_entUna(void * va, unsigned long opcode, unsigned long reg,
|
||||
unsigned long a3, unsigned long a4, unsigned long a5,
|
||||
struct allregs regs)
|
||||
struct allregs *regs)
|
||||
{
|
||||
long error, tmp1, tmp2, tmp3, tmp4;
|
||||
unsigned long pc = regs.pc - 4;
|
||||
unsigned long pc = regs->pc - 4;
|
||||
const struct exception_table_entry *fixup;
|
||||
|
||||
unaligned[0].count++;
|
||||
|
@ -636,7 +635,7 @@ got_exception:
|
|||
printk("Forwarding unaligned exception at %lx (%lx)\n",
|
||||
pc, newpc);
|
||||
|
||||
(®s)->pc = newpc;
|
||||
regs->pc = newpc;
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -650,7 +649,7 @@ got_exception:
|
|||
current->comm, current->pid);
|
||||
|
||||
printk("pc = [<%016lx>] ra = [<%016lx>] ps = %04lx\n",
|
||||
pc, una_reg(26), regs.ps);
|
||||
pc, una_reg(26), regs->ps);
|
||||
printk("r0 = %016lx r1 = %016lx r2 = %016lx\n",
|
||||
una_reg(0), una_reg(1), una_reg(2));
|
||||
printk("r3 = %016lx r4 = %016lx r5 = %016lx\n",
|
||||
|
@ -670,10 +669,10 @@ got_exception:
|
|||
una_reg(22), una_reg(23), una_reg(24));
|
||||
printk("r25= %016lx r27= %016lx r28= %016lx\n",
|
||||
una_reg(25), una_reg(27), una_reg(28));
|
||||
printk("gp = %016lx sp = %p\n", regs.gp, ®s+1);
|
||||
printk("gp = %016lx sp = %p\n", regs->gp, regs+1);
|
||||
|
||||
dik_show_code((unsigned int *)pc);
|
||||
dik_show_trace((unsigned long *)(®s+1));
|
||||
dik_show_trace((unsigned long *)(regs+1));
|
||||
|
||||
if (test_and_set_thread_flag (TIF_DIE_IF_KERNEL)) {
|
||||
printk("die_if_kernel recursion detected.\n");
|
||||
|
|
|
@ -175,10 +175,10 @@ else
|
|||
endif
|
||||
@touch $@
|
||||
|
||||
archprepare: maketools include/asm-arm/.arch
|
||||
archprepare: maketools
|
||||
|
||||
.PHONY: maketools FORCE
|
||||
maketools: include/linux/version.h FORCE
|
||||
maketools: include/linux/version.h include/asm-arm/.arch FORCE
|
||||
$(Q)$(MAKE) $(build)=arch/arm/tools include/asm-arm/mach-types.h
|
||||
|
||||
# Convert bzImage to zImage
|
||||
|
|
|
@ -68,6 +68,7 @@ static void gic_unmask_irq(unsigned int irq)
|
|||
writel(mask, gic_dist_base + GIC_DIST_ENABLE_SET + (irq / 32) * 4);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
static void gic_set_cpu(struct irqdesc *desc, unsigned int irq, unsigned int cpu)
|
||||
{
|
||||
void __iomem *reg = gic_dist_base + GIC_DIST_TARGET + (irq & ~3);
|
||||
|
@ -78,6 +79,7 @@ static void gic_set_cpu(struct irqdesc *desc, unsigned int irq, unsigned int cpu
|
|||
val |= 1 << (cpu + shift);
|
||||
writel(val, reg);
|
||||
}
|
||||
#endif
|
||||
|
||||
static struct irqchip gic_chip = {
|
||||
.ack = gic_ack_irq,
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
#include <linux/spinlock.h>
|
||||
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach/irq.h>
|
||||
|
|
|
@ -1,14 +1,13 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.12-rc1-bk2
|
||||
# Sun Mar 27 22:53:40 2005
|
||||
# Linux kernel version: 2.6.14-rc1-git5
|
||||
# Tue Sep 20 17:26:28 2005
|
||||
#
|
||||
CONFIG_ARM=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_UID16=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_IOMAP=y
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
|
@ -16,11 +15,13 @@ CONFIG_GENERIC_IOMAP=y
|
|||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_CLEAN_COMPILE=y
|
||||
CONFIG_BROKEN_ON_SMP=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_LOCALVERSION=""
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
|
@ -31,10 +32,13 @@ CONFIG_SYSCTL=y
|
|||
# CONFIG_HOTPLUG is not set
|
||||
CONFIG_KOBJECT_UEVENT=y
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_ALL is not set
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_EPOLL=y
|
||||
|
@ -81,6 +85,7 @@ CONFIG_ARCH_IXP4XX=y
|
|||
# CONFIG_ARCH_VERSATILE is not set
|
||||
# CONFIG_ARCH_IMX is not set
|
||||
# CONFIG_ARCH_H720X is not set
|
||||
# CONFIG_ARCH_AAEC2000 is not set
|
||||
CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
|
||||
|
||||
#
|
||||
|
@ -90,15 +95,16 @@ CONFIG_ARCH_SUPPORTS_BIG_ENDIAN=y
|
|||
#
|
||||
# IXP4xx Platforms
|
||||
#
|
||||
# CONFIG_ARCH_AVILA is not set
|
||||
CONFIG_ARCH_AVILA=y
|
||||
CONFIG_ARCH_ADI_COYOTE=y
|
||||
CONFIG_ARCH_IXDP425=y
|
||||
# CONFIG_MACH_IXDPG425 is not set
|
||||
# CONFIG_MACH_IXDP465 is not set
|
||||
CONFIG_MACH_IXDPG425=y
|
||||
CONFIG_MACH_IXDP465=y
|
||||
CONFIG_ARCH_IXCDP1100=y
|
||||
CONFIG_ARCH_PRPMC1100=y
|
||||
CONFIG_ARCH_IXDP4XX=y
|
||||
# CONFIG_MACH_GTWX5715 is not set
|
||||
CONFIG_CPU_IXP46X=y
|
||||
CONFIG_MACH_GTWX5715=y
|
||||
|
||||
#
|
||||
# IXP4xx Options
|
||||
|
@ -114,7 +120,6 @@ CONFIG_CPU_32v5=y
|
|||
CONFIG_CPU_ABRT_EV5T=y
|
||||
CONFIG_CPU_CACHE_VIVT=y
|
||||
CONFIG_CPU_TLB_V4WBI=y
|
||||
CONFIG_CPU_MINICACHE=y
|
||||
|
||||
#
|
||||
# Processor Features
|
||||
|
@ -127,9 +132,10 @@ CONFIG_DMABOUNCE=y
|
|||
#
|
||||
# Bus support
|
||||
#
|
||||
CONFIG_ISA_DMA_API=y
|
||||
CONFIG_PCI=y
|
||||
CONFIG_PCI_LEGACY_PROC=y
|
||||
CONFIG_PCI_NAMES=y
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
|
@ -140,6 +146,15 @@ CONFIG_PCI_NAMES=y
|
|||
# Kernel Features
|
||||
#
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
# CONFIG_ARCH_DISCONTIGMEM_ENABLE is not set
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_ALIGNMENT_TRAP=y
|
||||
|
||||
#
|
||||
|
@ -174,6 +189,241 @@ CONFIG_BINFMT_ELF=y
|
|||
CONFIG_PM=y
|
||||
CONFIG_APM=y
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=m
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_ASK_IP_FIB_HASH=y
|
||||
# CONFIG_IP_FIB_TRIE is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_FWMARK=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
CONFIG_NET_IPGRE=m
|
||||
CONFIG_NET_IPGRE_BROADCAST=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
CONFIG_INET_TUNNEL=m
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_BIC=y
|
||||
|
||||
#
|
||||
# IP: Virtual Server Configuration
|
||||
#
|
||||
CONFIG_IP_VS=m
|
||||
CONFIG_IP_VS_DEBUG=y
|
||||
CONFIG_IP_VS_TAB_BITS=12
|
||||
|
||||
#
|
||||
# IPVS transport protocol load balancing support
|
||||
#
|
||||
# CONFIG_IP_VS_PROTO_TCP is not set
|
||||
# CONFIG_IP_VS_PROTO_UDP is not set
|
||||
# CONFIG_IP_VS_PROTO_ESP is not set
|
||||
# CONFIG_IP_VS_PROTO_AH is not set
|
||||
|
||||
#
|
||||
# IPVS scheduler
|
||||
#
|
||||
CONFIG_IP_VS_RR=m
|
||||
CONFIG_IP_VS_WRR=m
|
||||
CONFIG_IP_VS_LC=m
|
||||
CONFIG_IP_VS_WLC=m
|
||||
CONFIG_IP_VS_LBLC=m
|
||||
CONFIG_IP_VS_LBLCR=m
|
||||
CONFIG_IP_VS_DH=m
|
||||
CONFIG_IP_VS_SH=m
|
||||
# CONFIG_IP_VS_SED is not set
|
||||
# CONFIG_IP_VS_NQ is not set
|
||||
|
||||
#
|
||||
# IPVS application helper
|
||||
#
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_NETFILTER=y
|
||||
# CONFIG_NETFILTER_DEBUG is not set
|
||||
CONFIG_BRIDGE_NETFILTER=y
|
||||
# CONFIG_NETFILTER_NETLINK is not set
|
||||
|
||||
#
|
||||
# IP: Netfilter Configuration
|
||||
#
|
||||
CONFIG_IP_NF_CONNTRACK=m
|
||||
# CONFIG_IP_NF_CT_ACCT is not set
|
||||
# CONFIG_IP_NF_CONNTRACK_MARK is not set
|
||||
# CONFIG_IP_NF_CONNTRACK_EVENTS is not set
|
||||
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
|
||||
CONFIG_IP_NF_FTP=m
|
||||
CONFIG_IP_NF_IRC=m
|
||||
# CONFIG_IP_NF_NETBIOS_NS is not set
|
||||
# CONFIG_IP_NF_TFTP is not set
|
||||
# CONFIG_IP_NF_AMANDA is not set
|
||||
CONFIG_IP_NF_QUEUE=m
|
||||
CONFIG_IP_NF_IPTABLES=m
|
||||
CONFIG_IP_NF_MATCH_LIMIT=m
|
||||
# CONFIG_IP_NF_MATCH_IPRANGE is not set
|
||||
CONFIG_IP_NF_MATCH_MAC=m
|
||||
# CONFIG_IP_NF_MATCH_PKTTYPE is not set
|
||||
CONFIG_IP_NF_MATCH_MARK=m
|
||||
CONFIG_IP_NF_MATCH_MULTIPORT=m
|
||||
CONFIG_IP_NF_MATCH_TOS=m
|
||||
# CONFIG_IP_NF_MATCH_RECENT is not set
|
||||
# CONFIG_IP_NF_MATCH_ECN is not set
|
||||
# CONFIG_IP_NF_MATCH_DSCP is not set
|
||||
CONFIG_IP_NF_MATCH_AH_ESP=m
|
||||
CONFIG_IP_NF_MATCH_LENGTH=m
|
||||
CONFIG_IP_NF_MATCH_TTL=m
|
||||
CONFIG_IP_NF_MATCH_TCPMSS=m
|
||||
# CONFIG_IP_NF_MATCH_HELPER is not set
|
||||
CONFIG_IP_NF_MATCH_STATE=m
|
||||
# CONFIG_IP_NF_MATCH_CONNTRACK is not set
|
||||
CONFIG_IP_NF_MATCH_OWNER=m
|
||||
# CONFIG_IP_NF_MATCH_PHYSDEV is not set
|
||||
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
|
||||
# CONFIG_IP_NF_MATCH_REALM is not set
|
||||
# CONFIG_IP_NF_MATCH_SCTP is not set
|
||||
# CONFIG_IP_NF_MATCH_DCCP is not set
|
||||
# CONFIG_IP_NF_MATCH_COMMENT is not set
|
||||
# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
|
||||
# CONFIG_IP_NF_MATCH_STRING is not set
|
||||
CONFIG_IP_NF_FILTER=m
|
||||
CONFIG_IP_NF_TARGET_REJECT=m
|
||||
CONFIG_IP_NF_TARGET_LOG=m
|
||||
CONFIG_IP_NF_TARGET_ULOG=m
|
||||
CONFIG_IP_NF_TARGET_TCPMSS=m
|
||||
CONFIG_IP_NF_NAT=m
|
||||
CONFIG_IP_NF_NAT_NEEDED=y
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m
|
||||
# CONFIG_IP_NF_TARGET_NETMAP is not set
|
||||
# CONFIG_IP_NF_TARGET_SAME is not set
|
||||
CONFIG_IP_NF_NAT_SNMP_BASIC=m
|
||||
CONFIG_IP_NF_NAT_IRC=m
|
||||
CONFIG_IP_NF_NAT_FTP=m
|
||||
CONFIG_IP_NF_MANGLE=m
|
||||
CONFIG_IP_NF_TARGET_TOS=m
|
||||
# CONFIG_IP_NF_TARGET_ECN is not set
|
||||
# CONFIG_IP_NF_TARGET_DSCP is not set
|
||||
CONFIG_IP_NF_TARGET_MARK=m
|
||||
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
|
||||
# CONFIG_IP_NF_TARGET_TTL is not set
|
||||
# CONFIG_IP_NF_RAW is not set
|
||||
CONFIG_IP_NF_ARPTABLES=m
|
||||
CONFIG_IP_NF_ARPFILTER=m
|
||||
# CONFIG_IP_NF_ARP_MANGLE is not set
|
||||
|
||||
#
|
||||
# Bridge: Netfilter Configuration
|
||||
#
|
||||
# CONFIG_BRIDGE_NF_EBTABLES is not set
|
||||
|
||||
#
|
||||
# DCCP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_DCCP is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
CONFIG_ATM=y
|
||||
CONFIG_ATM_CLIP=y
|
||||
# CONFIG_ATM_CLIP_NO_ICMP is not set
|
||||
CONFIG_ATM_LANE=m
|
||||
CONFIG_ATM_MPOA=m
|
||||
CONFIG_ATM_BR2684=m
|
||||
# CONFIG_ATM_BR2684_IPFILTER is not set
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_VLAN_8021Q=m
|
||||
# CONFIG_DECNET is not set
|
||||
CONFIG_LLC=m
|
||||
# CONFIG_LLC2 is not set
|
||||
CONFIG_IPX=m
|
||||
# CONFIG_IPX_INTERN is not set
|
||||
CONFIG_ATALK=m
|
||||
CONFIG_DEV_APPLETALK=y
|
||||
CONFIG_IPDDP=m
|
||||
CONFIG_IPDDP_ENCAP=y
|
||||
CONFIG_IPDDP_DECAP=y
|
||||
CONFIG_X25=m
|
||||
CONFIG_LAPB=m
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
CONFIG_ECONET=m
|
||||
CONFIG_ECONET_AUNUDP=y
|
||||
CONFIG_ECONET_NATIVE=y
|
||||
CONFIG_WAN_ROUTER=m
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_CLK_JIFFIES=y
|
||||
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
|
||||
# CONFIG_NET_SCH_CLK_CPU is not set
|
||||
CONFIG_NET_SCH_CBQ=m
|
||||
CONFIG_NET_SCH_HTB=m
|
||||
# CONFIG_NET_SCH_HFSC is not set
|
||||
# CONFIG_NET_SCH_ATM is not set
|
||||
CONFIG_NET_SCH_PRIO=m
|
||||
CONFIG_NET_SCH_RED=m
|
||||
CONFIG_NET_SCH_SFQ=m
|
||||
CONFIG_NET_SCH_TEQL=m
|
||||
CONFIG_NET_SCH_TBF=m
|
||||
CONFIG_NET_SCH_GRED=m
|
||||
CONFIG_NET_SCH_DSMARK=m
|
||||
# CONFIG_NET_SCH_NETEM is not set
|
||||
CONFIG_NET_SCH_INGRESS=m
|
||||
CONFIG_NET_QOS=y
|
||||
CONFIG_NET_ESTIMATOR=y
|
||||
CONFIG_NET_CLS=y
|
||||
# CONFIG_NET_CLS_BASIC is not set
|
||||
CONFIG_NET_CLS_TCINDEX=m
|
||||
CONFIG_NET_CLS_ROUTE4=m
|
||||
CONFIG_NET_CLS_ROUTE=y
|
||||
CONFIG_NET_CLS_FW=m
|
||||
CONFIG_NET_CLS_U32=m
|
||||
# CONFIG_CLS_U32_PERF is not set
|
||||
# CONFIG_NET_CLS_IND is not set
|
||||
# CONFIG_CLS_U32_MARK is not set
|
||||
CONFIG_NET_CLS_RSVP=m
|
||||
CONFIG_NET_CLS_RSVP6=m
|
||||
# CONFIG_NET_EMATCH is not set
|
||||
# CONFIG_NET_CLS_ACT is not set
|
||||
CONFIG_NET_CLS_POLICE=y
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
CONFIG_NET_PKTGEN=m
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
|
@ -244,6 +494,7 @@ CONFIG_MTD_COMPLEX_MAPPINGS=y
|
|||
CONFIG_MTD_IXP4XX=y
|
||||
# CONFIG_MTD_EDB7312 is not set
|
||||
# CONFIG_MTD_PCI is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
#
|
||||
# Self-contained MTD device drivers
|
||||
|
@ -283,7 +534,6 @@ CONFIG_MTD_NAND_IDS=m
|
|||
#
|
||||
# Block devices
|
||||
#
|
||||
# CONFIG_BLK_DEV_FD is not set
|
||||
# CONFIG_BLK_CPQ_DA is not set
|
||||
# CONFIG_BLK_CPQ_CISS_DA is not set
|
||||
# CONFIG_BLK_DEV_DAC960 is not set
|
||||
|
@ -297,7 +547,6 @@ CONFIG_BLK_DEV_RAM=y
|
|||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=8192
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
|
||||
#
|
||||
|
@ -351,6 +600,7 @@ CONFIG_BLK_DEV_CMD64X=y
|
|||
CONFIG_BLK_DEV_HPT366=y
|
||||
# CONFIG_BLK_DEV_SC1200 is not set
|
||||
# CONFIG_BLK_DEV_PIIX is not set
|
||||
# CONFIG_BLK_DEV_IT821X is not set
|
||||
# CONFIG_BLK_DEV_NS87415 is not set
|
||||
# CONFIG_BLK_DEV_PDC202XX_OLD is not set
|
||||
CONFIG_BLK_DEV_PDC202XX_NEW=y
|
||||
|
@ -369,6 +619,7 @@ CONFIG_BLK_DEV_IDEDMA=y
|
|||
#
|
||||
# SCSI device support
|
||||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
|
||||
#
|
||||
|
@ -379,6 +630,7 @@ CONFIG_BLK_DEV_IDEDMA=y
|
|||
#
|
||||
# Fusion MPT device support
|
||||
#
|
||||
# CONFIG_FUSION is not set
|
||||
|
||||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
|
@ -391,241 +643,24 @@ CONFIG_BLK_DEV_IDEDMA=y
|
|||
# CONFIG_I2O is not set
|
||||
|
||||
#
|
||||
# Networking support
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=m
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_NETLINK_DEV=m
|
||||
CONFIG_UNIX=y
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
CONFIG_IP_ADVANCED_ROUTER=y
|
||||
CONFIG_IP_MULTIPLE_TABLES=y
|
||||
CONFIG_IP_ROUTE_FWMARK=y
|
||||
CONFIG_IP_ROUTE_MULTIPATH=y
|
||||
# CONFIG_IP_ROUTE_MULTIPATH_CACHED is not set
|
||||
CONFIG_IP_ROUTE_VERBOSE=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
CONFIG_NET_IPGRE=m
|
||||
CONFIG_NET_IPGRE_BROADCAST=y
|
||||
CONFIG_IP_MROUTE=y
|
||||
CONFIG_IP_PIMSM_V1=y
|
||||
CONFIG_IP_PIMSM_V2=y
|
||||
# CONFIG_ARPD is not set
|
||||
CONFIG_SYN_COOKIES=y
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
CONFIG_INET_TUNNEL=m
|
||||
# CONFIG_IP_TCPDIAG is not set
|
||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
||||
|
||||
#
|
||||
# IP: Virtual Server Configuration
|
||||
#
|
||||
CONFIG_IP_VS=m
|
||||
CONFIG_IP_VS_DEBUG=y
|
||||
CONFIG_IP_VS_TAB_BITS=12
|
||||
|
||||
#
|
||||
# IPVS transport protocol load balancing support
|
||||
#
|
||||
# CONFIG_IP_VS_PROTO_TCP is not set
|
||||
# CONFIG_IP_VS_PROTO_UDP is not set
|
||||
# CONFIG_IP_VS_PROTO_ESP is not set
|
||||
# CONFIG_IP_VS_PROTO_AH is not set
|
||||
|
||||
#
|
||||
# IPVS scheduler
|
||||
#
|
||||
CONFIG_IP_VS_RR=m
|
||||
CONFIG_IP_VS_WRR=m
|
||||
CONFIG_IP_VS_LC=m
|
||||
CONFIG_IP_VS_WLC=m
|
||||
CONFIG_IP_VS_LBLC=m
|
||||
CONFIG_IP_VS_LBLCR=m
|
||||
CONFIG_IP_VS_DH=m
|
||||
CONFIG_IP_VS_SH=m
|
||||
# CONFIG_IP_VS_SED is not set
|
||||
# CONFIG_IP_VS_NQ is not set
|
||||
|
||||
#
|
||||
# IPVS application helper
|
||||
#
|
||||
# CONFIG_IPV6 is not set
|
||||
CONFIG_NETFILTER=y
|
||||
# CONFIG_NETFILTER_DEBUG is not set
|
||||
CONFIG_BRIDGE_NETFILTER=y
|
||||
|
||||
#
|
||||
# IP: Netfilter Configuration
|
||||
#
|
||||
CONFIG_IP_NF_CONNTRACK=m
|
||||
# CONFIG_IP_NF_CT_ACCT is not set
|
||||
# CONFIG_IP_NF_CONNTRACK_MARK is not set
|
||||
# CONFIG_IP_NF_CT_PROTO_SCTP is not set
|
||||
CONFIG_IP_NF_FTP=m
|
||||
CONFIG_IP_NF_IRC=m
|
||||
# CONFIG_IP_NF_TFTP is not set
|
||||
# CONFIG_IP_NF_AMANDA is not set
|
||||
CONFIG_IP_NF_QUEUE=m
|
||||
CONFIG_IP_NF_IPTABLES=m
|
||||
CONFIG_IP_NF_MATCH_LIMIT=m
|
||||
# CONFIG_IP_NF_MATCH_IPRANGE is not set
|
||||
CONFIG_IP_NF_MATCH_MAC=m
|
||||
# CONFIG_IP_NF_MATCH_PKTTYPE is not set
|
||||
CONFIG_IP_NF_MATCH_MARK=m
|
||||
CONFIG_IP_NF_MATCH_MULTIPORT=m
|
||||
CONFIG_IP_NF_MATCH_TOS=m
|
||||
# CONFIG_IP_NF_MATCH_RECENT is not set
|
||||
# CONFIG_IP_NF_MATCH_ECN is not set
|
||||
# CONFIG_IP_NF_MATCH_DSCP is not set
|
||||
CONFIG_IP_NF_MATCH_AH_ESP=m
|
||||
CONFIG_IP_NF_MATCH_LENGTH=m
|
||||
CONFIG_IP_NF_MATCH_TTL=m
|
||||
CONFIG_IP_NF_MATCH_TCPMSS=m
|
||||
# CONFIG_IP_NF_MATCH_HELPER is not set
|
||||
CONFIG_IP_NF_MATCH_STATE=m
|
||||
# CONFIG_IP_NF_MATCH_CONNTRACK is not set
|
||||
CONFIG_IP_NF_MATCH_OWNER=m
|
||||
# CONFIG_IP_NF_MATCH_PHYSDEV is not set
|
||||
# CONFIG_IP_NF_MATCH_ADDRTYPE is not set
|
||||
# CONFIG_IP_NF_MATCH_REALM is not set
|
||||
# CONFIG_IP_NF_MATCH_SCTP is not set
|
||||
# CONFIG_IP_NF_MATCH_COMMENT is not set
|
||||
# CONFIG_IP_NF_MATCH_HASHLIMIT is not set
|
||||
CONFIG_IP_NF_FILTER=m
|
||||
CONFIG_IP_NF_TARGET_REJECT=m
|
||||
CONFIG_IP_NF_TARGET_LOG=m
|
||||
CONFIG_IP_NF_TARGET_ULOG=m
|
||||
CONFIG_IP_NF_TARGET_TCPMSS=m
|
||||
CONFIG_IP_NF_NAT=m
|
||||
CONFIG_IP_NF_NAT_NEEDED=y
|
||||
CONFIG_IP_NF_TARGET_MASQUERADE=m
|
||||
CONFIG_IP_NF_TARGET_REDIRECT=m
|
||||
# CONFIG_IP_NF_TARGET_NETMAP is not set
|
||||
# CONFIG_IP_NF_TARGET_SAME is not set
|
||||
CONFIG_IP_NF_NAT_SNMP_BASIC=m
|
||||
CONFIG_IP_NF_NAT_IRC=m
|
||||
CONFIG_IP_NF_NAT_FTP=m
|
||||
CONFIG_IP_NF_MANGLE=m
|
||||
CONFIG_IP_NF_TARGET_TOS=m
|
||||
# CONFIG_IP_NF_TARGET_ECN is not set
|
||||
# CONFIG_IP_NF_TARGET_DSCP is not set
|
||||
CONFIG_IP_NF_TARGET_MARK=m
|
||||
# CONFIG_IP_NF_TARGET_CLASSIFY is not set
|
||||
# CONFIG_IP_NF_RAW is not set
|
||||
CONFIG_IP_NF_ARPTABLES=m
|
||||
CONFIG_IP_NF_ARPFILTER=m
|
||||
# CONFIG_IP_NF_ARP_MANGLE is not set
|
||||
|
||||
#
|
||||
# Bridge: Netfilter Configuration
|
||||
#
|
||||
# CONFIG_BRIDGE_NF_EBTABLES is not set
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
CONFIG_ATM=y
|
||||
CONFIG_ATM_CLIP=y
|
||||
# CONFIG_ATM_CLIP_NO_ICMP is not set
|
||||
CONFIG_ATM_LANE=m
|
||||
CONFIG_ATM_MPOA=m
|
||||
CONFIG_ATM_BR2684=m
|
||||
# CONFIG_ATM_BR2684_IPFILTER is not set
|
||||
CONFIG_BRIDGE=m
|
||||
CONFIG_VLAN_8021Q=m
|
||||
# CONFIG_DECNET is not set
|
||||
CONFIG_LLC=m
|
||||
# CONFIG_LLC2 is not set
|
||||
CONFIG_IPX=m
|
||||
# CONFIG_IPX_INTERN is not set
|
||||
CONFIG_ATALK=m
|
||||
CONFIG_DEV_APPLETALK=y
|
||||
CONFIG_IPDDP=m
|
||||
CONFIG_IPDDP_ENCAP=y
|
||||
CONFIG_IPDDP_DECAP=y
|
||||
CONFIG_X25=m
|
||||
CONFIG_LAPB=m
|
||||
# CONFIG_NET_DIVERT is not set
|
||||
CONFIG_ECONET=m
|
||||
CONFIG_ECONET_AUNUDP=y
|
||||
CONFIG_ECONET_NATIVE=y
|
||||
CONFIG_WAN_ROUTER=m
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
CONFIG_NET_SCHED=y
|
||||
CONFIG_NET_SCH_CLK_JIFFIES=y
|
||||
# CONFIG_NET_SCH_CLK_GETTIMEOFDAY is not set
|
||||
# CONFIG_NET_SCH_CLK_CPU is not set
|
||||
CONFIG_NET_SCH_CBQ=m
|
||||
CONFIG_NET_SCH_HTB=m
|
||||
# CONFIG_NET_SCH_HFSC is not set
|
||||
# CONFIG_NET_SCH_ATM is not set
|
||||
CONFIG_NET_SCH_PRIO=m
|
||||
CONFIG_NET_SCH_RED=m
|
||||
CONFIG_NET_SCH_SFQ=m
|
||||
CONFIG_NET_SCH_TEQL=m
|
||||
CONFIG_NET_SCH_TBF=m
|
||||
CONFIG_NET_SCH_GRED=m
|
||||
CONFIG_NET_SCH_DSMARK=m
|
||||
# CONFIG_NET_SCH_NETEM is not set
|
||||
CONFIG_NET_SCH_INGRESS=m
|
||||
CONFIG_NET_QOS=y
|
||||
CONFIG_NET_ESTIMATOR=y
|
||||
CONFIG_NET_CLS=y
|
||||
# CONFIG_NET_CLS_BASIC is not set
|
||||
CONFIG_NET_CLS_TCINDEX=m
|
||||
CONFIG_NET_CLS_ROUTE4=m
|
||||
CONFIG_NET_CLS_ROUTE=y
|
||||
CONFIG_NET_CLS_FW=m
|
||||
CONFIG_NET_CLS_U32=m
|
||||
# CONFIG_CLS_U32_PERF is not set
|
||||
# CONFIG_NET_CLS_IND is not set
|
||||
# CONFIG_CLS_U32_MARK is not set
|
||||
CONFIG_NET_CLS_RSVP=m
|
||||
CONFIG_NET_CLS_RSVP6=m
|
||||
# CONFIG_NET_EMATCH is not set
|
||||
# CONFIG_NET_CLS_ACT is not set
|
||||
CONFIG_NET_CLS_POLICE=y
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
CONFIG_NET_PKTGEN=m
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
CONFIG_DUMMY=y
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
# CONFIG_ETHERTAP is not set
|
||||
|
||||
#
|
||||
# ARCnet devices
|
||||
#
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
|
@ -635,6 +670,7 @@ CONFIG_MII=y
|
|||
# CONFIG_SUNGEM is not set
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
# CONFIG_SMC91X is not set
|
||||
# CONFIG_DM9000 is not set
|
||||
|
||||
#
|
||||
# Tulip family network device support
|
||||
|
@ -671,13 +707,17 @@ CONFIG_EEPRO100=y
|
|||
# CONFIG_HAMACHI is not set
|
||||
# CONFIG_YELLOWFIN is not set
|
||||
# CONFIG_R8169 is not set
|
||||
# CONFIG_SIS190 is not set
|
||||
# CONFIG_SKGE is not set
|
||||
# CONFIG_SK98LIN is not set
|
||||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
|
||||
|
@ -702,6 +742,7 @@ CONFIG_NET_RADIO=y
|
|||
CONFIG_HERMES=y
|
||||
# CONFIG_PLX_HERMES is not set
|
||||
# CONFIG_TMD_HERMES is not set
|
||||
# CONFIG_NORTEL_HERMES is not set
|
||||
CONFIG_PCI_HERMES=y
|
||||
# CONFIG_ATMEL is not set
|
||||
|
||||
|
@ -709,6 +750,7 @@ CONFIG_PCI_HERMES=y
|
|||
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
|
||||
#
|
||||
# CONFIG_PRISM54 is not set
|
||||
# CONFIG_HOSTAP is not set
|
||||
CONFIG_NET_WIRELESS=y
|
||||
|
||||
#
|
||||
|
@ -758,6 +800,8 @@ CONFIG_ATM_TCP=m
|
|||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
|
@ -795,7 +839,6 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
|||
#
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_GAMEPORT is not set
|
||||
CONFIG_SOUND_GAMEPORT=y
|
||||
|
||||
#
|
||||
# Character devices
|
||||
|
@ -816,6 +859,7 @@ CONFIG_SERIAL_8250_NR_UARTS=2
|
|||
#
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_JSM is not set
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
|
@ -882,12 +926,11 @@ CONFIG_I2C_ALGOBIT=y
|
|||
# CONFIG_I2C_AMD8111 is not set
|
||||
# CONFIG_I2C_I801 is not set
|
||||
# CONFIG_I2C_I810 is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_IOP3XX is not set
|
||||
# CONFIG_I2C_ISA is not set
|
||||
CONFIG_I2C_IXP4XX=y
|
||||
# CONFIG_I2C_NFORCE2 is not set
|
||||
# CONFIG_I2C_PARPORT_LIGHT is not set
|
||||
# CONFIG_I2C_PIIX4 is not set
|
||||
# CONFIG_I2C_PROSAVAGE is not set
|
||||
# CONFIG_I2C_SAVAGE4 is not set
|
||||
# CONFIG_SCx200_ACB is not set
|
||||
|
@ -901,14 +944,33 @@ CONFIG_I2C_IXP4XX=y
|
|||
# CONFIG_I2C_PCA_ISA is not set
|
||||
|
||||
#
|
||||
# Hardware Sensors Chip support
|
||||
# Miscellaneous I2C Chip support
|
||||
#
|
||||
CONFIG_I2C_SENSOR=y
|
||||
# CONFIG_SENSORS_DS1337 is not set
|
||||
# CONFIG_SENSORS_DS1374 is not set
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCA9539 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_SENSORS_MAX6875 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ADM1021 is not set
|
||||
# CONFIG_SENSORS_ADM1025 is not set
|
||||
# CONFIG_SENSORS_ADM1026 is not set
|
||||
# CONFIG_SENSORS_ADM1031 is not set
|
||||
# CONFIG_SENSORS_ADM9240 is not set
|
||||
# CONFIG_SENSORS_ASB100 is not set
|
||||
# CONFIG_SENSORS_ATXP1 is not set
|
||||
# CONFIG_SENSORS_DS1621 is not set
|
||||
# CONFIG_SENSORS_FSCHER is not set
|
||||
# CONFIG_SENSORS_FSCPOS is not set
|
||||
|
@ -924,32 +986,28 @@ CONFIG_I2C_SENSOR=y
|
|||
# CONFIG_SENSORS_LM85 is not set
|
||||
# CONFIG_SENSORS_LM87 is not set
|
||||
# CONFIG_SENSORS_LM90 is not set
|
||||
# CONFIG_SENSORS_LM92 is not set
|
||||
# CONFIG_SENSORS_MAX1619 is not set
|
||||
# CONFIG_SENSORS_PC87360 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_SIS5595 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VIA686A is not set
|
||||
# CONFIG_SENSORS_W83781D is not set
|
||||
# CONFIG_SENSORS_W83792D is not set
|
||||
# CONFIG_SENSORS_W83L785TS is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
|
||||
#
|
||||
# Other I2C Chip support
|
||||
#
|
||||
CONFIG_SENSORS_EEPROM=y
|
||||
# CONFIG_SENSORS_PCF8574 is not set
|
||||
# CONFIG_SENSORS_PCF8591 is not set
|
||||
# CONFIG_SENSORS_RTC8564 is not set
|
||||
# CONFIG_I2C_DEBUG_CORE is not set
|
||||
# CONFIG_I2C_DEBUG_ALGO is not set
|
||||
# CONFIG_I2C_DEBUG_BUS is not set
|
||||
# CONFIG_I2C_DEBUG_CHIP is not set
|
||||
# CONFIG_SENSORS_W83627EHF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia Capabilities Port drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
|
@ -994,6 +1052,7 @@ CONFIG_EXT2_FS=y
|
|||
CONFIG_EXT2_FS_XATTR=y
|
||||
CONFIG_EXT2_FS_POSIX_ACL=y
|
||||
# CONFIG_EXT2_FS_SECURITY is not set
|
||||
# CONFIG_EXT2_FS_XIP is not set
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_XATTR=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
|
@ -1004,17 +1063,15 @@ CONFIG_FS_MBCACHE=y
|
|||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
|
||||
#
|
||||
# XFS support
|
||||
#
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
# CONFIG_AUTOFS4_FS is not set
|
||||
# CONFIG_FUSE_FS is not set
|
||||
|
||||
#
|
||||
# CD-ROM/DVD Filesystems
|
||||
|
@ -1034,12 +1091,10 @@ CONFIG_DNOTIFY=y
|
|||
#
|
||||
CONFIG_PROC_FS=y
|
||||
CONFIG_SYSFS=y
|
||||
# CONFIG_DEVFS_FS is not set
|
||||
# CONFIG_DEVPTS_FS_XATTR is not set
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_TMPFS_XATTR is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_RAMFS=y
|
||||
# CONFIG_RELAYFS_FS is not set
|
||||
|
||||
#
|
||||
# Miscellaneous filesystems
|
||||
|
@ -1054,8 +1109,7 @@ CONFIG_RAMFS=y
|
|||
# CONFIG_JFFS_FS is not set
|
||||
CONFIG_JFFS2_FS=y
|
||||
CONFIG_JFFS2_FS_DEBUG=0
|
||||
# CONFIG_JFFS2_FS_NAND is not set
|
||||
# CONFIG_JFFS2_FS_NOR_ECC is not set
|
||||
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||
CONFIG_JFFS2_ZLIB=y
|
||||
CONFIG_JFFS2_RTIME=y
|
||||
|
@ -1072,12 +1126,14 @@ CONFIG_JFFS2_RTIME=y
|
|||
#
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
# CONFIG_NFS_V3_ACL is not set
|
||||
# CONFIG_NFS_V4 is not set
|
||||
# CONFIG_NFS_DIRECTIO is not set
|
||||
# CONFIG_NFSD is not set
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_LOCKD=y
|
||||
CONFIG_LOCKD_V4=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
|
@ -1086,6 +1142,7 @@ CONFIG_SUNRPC=y
|
|||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
# CONFIG_9P_FS is not set
|
||||
|
||||
#
|
||||
# Partition Types
|
||||
|
@ -1124,6 +1181,7 @@ CONFIG_MSDOS_PARTITION=y
|
|||
CONFIG_DEBUG_KERNEL=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_SLAB is not set
|
||||
# CONFIG_DEBUG_SPINLOCK is not set
|
||||
|
@ -1158,6 +1216,7 @@ CONFIG_DEBUG_LL=y
|
|||
# Library routines
|
||||
#
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
* Copy data from IO memory space to "real" memory space.
|
||||
* This needs to be optimized.
|
||||
*/
|
||||
void _memcpy_fromio(void *to, void __iomem *from, size_t count)
|
||||
void _memcpy_fromio(void *to, const volatile void __iomem *from, size_t count)
|
||||
{
|
||||
unsigned char *t = to;
|
||||
while (count) {
|
||||
|
@ -22,7 +22,7 @@ void _memcpy_fromio(void *to, void __iomem *from, size_t count)
|
|||
* Copy data from "real" memory space to IO memory space.
|
||||
* This needs to be optimized.
|
||||
*/
|
||||
void _memcpy_toio(void __iomem *to, const void *from, size_t count)
|
||||
void _memcpy_toio(volatile void __iomem *to, const void *from, size_t count)
|
||||
{
|
||||
const unsigned char *f = from;
|
||||
while (count) {
|
||||
|
@ -37,7 +37,7 @@ void _memcpy_toio(void __iomem *to, const void *from, size_t count)
|
|||
* "memset" on IO memory space.
|
||||
* This needs to be optimized.
|
||||
*/
|
||||
void _memset_io(void __iomem *dst, int c, size_t count)
|
||||
void _memset_io(volatile void __iomem *dst, int c, size_t count)
|
||||
{
|
||||
while (count) {
|
||||
count--;
|
||||
|
|
|
@ -31,6 +31,8 @@
|
|||
|
||||
#include <asm/mach/arch.h>
|
||||
|
||||
#include <asm/memory.h>
|
||||
|
||||
#include "common.h"
|
||||
|
||||
struct meminfo memmap = {
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
#include <asm/system.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/leds.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include "leds.h"
|
||||
|
||||
/*
|
||||
|
|
|
@ -27,7 +27,6 @@ unsigned long iop3xx_pcibios_min_mem = 0;
|
|||
/*
|
||||
* Default power-off for EP80219
|
||||
*/
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
static inline void ep80219_send_to_pic(__u8 c) {
|
||||
}
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/mach/time.h>
|
||||
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/irq.h>
|
||||
#include <asm/mach/time.h>
|
||||
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
|
||||
/*
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
#include <asm/setup.h>
|
||||
#include <asm/memory.h>
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/tlbflush.h>
|
||||
|
@ -168,7 +167,7 @@ static struct plat_serial8250_port ixp2000_serial_port[] = {
|
|||
|
||||
static struct resource ixp2000_uart_resource = {
|
||||
.start = IXP2000_UART_PHYS_BASE,
|
||||
.end = IXP2000_UART_PHYS_BASE + 0xffff,
|
||||
.end = IXP2000_UART_PHYS_BASE + 0x1f,
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/hardware.h>
|
||||
|
||||
#include <asm/mach/pci.h>
|
||||
|
|
|
@ -125,7 +125,8 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type)
|
|||
} else if (type & IRQT_LOW) {
|
||||
int_style = IXP4XX_GPIO_STYLE_ACTIVE_LOW;
|
||||
irq_type = IXP4XX_IRQ_LEVEL;
|
||||
}
|
||||
} else
|
||||
return -EINVAL;
|
||||
|
||||
ixp4xx_config_irq(irq, irq_type);
|
||||
|
||||
|
@ -142,6 +143,8 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type)
|
|||
|
||||
/* Set the new style */
|
||||
*int_reg |= (int_style << (line * IXP4XX_GPIO_STYLE_SIZE));
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void ixp4xx_irq_mask(unsigned int irq)
|
||||
|
|
|
@ -123,7 +123,7 @@ static void __init ixdp425_init(void)
|
|||
platform_add_devices(ixdp425_devices, ARRAY_SIZE(ixdp425_devices));
|
||||
}
|
||||
|
||||
#ifdef CONFIG_ARCH_IXDP465
|
||||
#ifdef CONFIG_ARCH_IXDP425
|
||||
MACHINE_START(IXDP425, "Intel IXDP425 Development Platform")
|
||||
/* Maintainer: MontaVista Software, Inc. */
|
||||
.phys_ram = PHYS_OFFSET,
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include <asm/page.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
|
||||
/*
|
||||
* IRQ base register
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/module.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/arch/akita.h>
|
||||
#include <asm/arch/corgi.h>
|
||||
#include <asm/arch/hardware.h>
|
||||
|
|
|
@ -34,6 +34,7 @@
|
|||
#include <asm/arch/udc.h>
|
||||
#include <asm/arch/pxafb.h>
|
||||
#include <asm/arch/mmc.h>
|
||||
#include <asm/arch/i2c.h>
|
||||
|
||||
#include "generic.h"
|
||||
|
||||
|
|
|
@ -40,7 +40,6 @@
|
|||
#include <asm/hardware.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include "devs.h"
|
||||
#include "usb-simtec.h"
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/leds.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/hardware/amba.h>
|
||||
#include <asm/hardware/amba_clcd.h>
|
||||
#include <asm/hardware/arm_timer.h>
|
||||
|
@ -52,8 +51,9 @@
|
|||
*
|
||||
* Setup a VA for the Versatile Vectored Interrupt Controller.
|
||||
*/
|
||||
#define VA_VIC_BASE IO_ADDRESS(VERSATILE_VIC_BASE)
|
||||
#define VA_SIC_BASE IO_ADDRESS(VERSATILE_SIC_BASE)
|
||||
#define __io_address(n) __io(IO_ADDRESS(n))
|
||||
#define VA_VIC_BASE __io_address(VERSATILE_VIC_BASE)
|
||||
#define VA_SIC_BASE __io_address(VERSATILE_SIC_BASE)
|
||||
|
||||
static void vic_mask_irq(unsigned int irq)
|
||||
{
|
||||
|
@ -214,7 +214,7 @@ void __init versatile_map_io(void)
|
|||
iotable_init(versatile_io_desc, ARRAY_SIZE(versatile_io_desc));
|
||||
}
|
||||
|
||||
#define VERSATILE_REFCOUNTER (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET)
|
||||
#define VERSATILE_REFCOUNTER (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_24MHz_OFFSET)
|
||||
|
||||
/*
|
||||
* This is the Versatile sched_clock implementation. This has
|
||||
|
@ -231,7 +231,7 @@ unsigned long long sched_clock(void)
|
|||
}
|
||||
|
||||
|
||||
#define VERSATILE_FLASHCTRL (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
|
||||
#define VERSATILE_FLASHCTRL (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_FLASH_OFFSET)
|
||||
|
||||
static int versatile_flash_init(void)
|
||||
{
|
||||
|
@ -309,7 +309,7 @@ static struct platform_device smc91x_device = {
|
|||
.resource = smc91x_resources,
|
||||
};
|
||||
|
||||
#define VERSATILE_SYSMCI (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)
|
||||
#define VERSATILE_SYSMCI (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_MCI_OFFSET)
|
||||
|
||||
unsigned int mmc_status(struct device *dev)
|
||||
{
|
||||
|
@ -343,11 +343,11 @@ static const struct icst307_params versatile_oscvco_params = {
|
|||
|
||||
static void versatile_oscvco_set(struct clk *clk, struct icst307_vco vco)
|
||||
{
|
||||
unsigned long sys_lock = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
|
||||
void __iomem *sys_lock = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LOCK_OFFSET;
|
||||
#if defined(CONFIG_ARCH_VERSATILE_PB)
|
||||
unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
|
||||
void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC4_OFFSET;
|
||||
#elif defined(CONFIG_MACH_VERSATILE_AB)
|
||||
unsigned long sys_osc = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
|
||||
void __iomem *sys_osc = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_OSC1_OFFSET;
|
||||
#endif
|
||||
u32 val;
|
||||
|
||||
|
@ -483,7 +483,7 @@ static struct clcd_panel epson_2_2_in = {
|
|||
*/
|
||||
static struct clcd_panel *versatile_clcd_panel(void)
|
||||
{
|
||||
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
struct clcd_panel *panel = &vga;
|
||||
u32 val;
|
||||
|
||||
|
@ -510,7 +510,7 @@ static struct clcd_panel *versatile_clcd_panel(void)
|
|||
*/
|
||||
static void versatile_clcd_disable(struct clcd_fb *fb)
|
||||
{
|
||||
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
u32 val;
|
||||
|
||||
val = readl(sys_clcd);
|
||||
|
@ -522,7 +522,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
|
|||
* If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light off
|
||||
*/
|
||||
if (fb->panel == &sanyo_2_5_in) {
|
||||
unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL);
|
||||
void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
|
||||
unsigned long ctrl;
|
||||
|
||||
ctrl = readl(versatile_ib2_ctrl);
|
||||
|
@ -537,7 +537,7 @@ static void versatile_clcd_disable(struct clcd_fb *fb)
|
|||
*/
|
||||
static void versatile_clcd_enable(struct clcd_fb *fb)
|
||||
{
|
||||
unsigned long sys_clcd = IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
void __iomem *sys_clcd = __io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_CLCD_OFFSET;
|
||||
u32 val;
|
||||
|
||||
val = readl(sys_clcd);
|
||||
|
@ -571,7 +571,7 @@ static void versatile_clcd_enable(struct clcd_fb *fb)
|
|||
* If the LCD is Sanyo 2x5 in on the IB2 board, turn the back-light on
|
||||
*/
|
||||
if (fb->panel == &sanyo_2_5_in) {
|
||||
unsigned long versatile_ib2_ctrl = IO_ADDRESS(VERSATILE_IB2_CTRL);
|
||||
void __iomem *versatile_ib2_ctrl = __io_address(VERSATILE_IB2_CTRL);
|
||||
unsigned long ctrl;
|
||||
|
||||
ctrl = readl(versatile_ib2_ctrl);
|
||||
|
@ -720,7 +720,7 @@ static struct amba_device *amba_devs[] __initdata = {
|
|||
};
|
||||
|
||||
#ifdef CONFIG_LEDS
|
||||
#define VA_LEDS_BASE (IO_ADDRESS(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET)
|
||||
#define VA_LEDS_BASE (__io_address(VERSATILE_SYS_BASE) + VERSATILE_SYS_LED_OFFSET)
|
||||
|
||||
static void versatile_leds_event(led_event_t ledevt)
|
||||
{
|
||||
|
@ -778,11 +778,11 @@ void __init versatile_init(void)
|
|||
/*
|
||||
* Where is the timer (VA)?
|
||||
*/
|
||||
#define TIMER0_VA_BASE IO_ADDRESS(VERSATILE_TIMER0_1_BASE)
|
||||
#define TIMER1_VA_BASE (IO_ADDRESS(VERSATILE_TIMER0_1_BASE) + 0x20)
|
||||
#define TIMER2_VA_BASE IO_ADDRESS(VERSATILE_TIMER2_3_BASE)
|
||||
#define TIMER3_VA_BASE (IO_ADDRESS(VERSATILE_TIMER2_3_BASE) + 0x20)
|
||||
#define VA_IC_BASE IO_ADDRESS(VERSATILE_VIC_BASE)
|
||||
#define TIMER0_VA_BASE __io_address(VERSATILE_TIMER0_1_BASE)
|
||||
#define TIMER1_VA_BASE (__io_address(VERSATILE_TIMER0_1_BASE) + 0x20)
|
||||
#define TIMER2_VA_BASE __io_address(VERSATILE_TIMER2_3_BASE)
|
||||
#define TIMER3_VA_BASE (__io_address(VERSATILE_TIMER2_3_BASE) + 0x20)
|
||||
#define VA_IC_BASE __io_address(VERSATILE_VIC_BASE)
|
||||
|
||||
/*
|
||||
* How long is the timer interval?
|
||||
|
@ -877,12 +877,12 @@ static void __init versatile_timer_init(void)
|
|||
* VERSATILE_REFCLK is 32KHz
|
||||
* VERSATILE_TIMCLK is 1MHz
|
||||
*/
|
||||
val = readl(IO_ADDRESS(VERSATILE_SCTL_BASE));
|
||||
val = readl(__io_address(VERSATILE_SCTL_BASE));
|
||||
writel((VERSATILE_TIMCLK << VERSATILE_TIMER1_EnSel) |
|
||||
(VERSATILE_TIMCLK << VERSATILE_TIMER2_EnSel) |
|
||||
(VERSATILE_TIMCLK << VERSATILE_TIMER3_EnSel) |
|
||||
(VERSATILE_TIMCLK << VERSATILE_TIMER4_EnSel) | val,
|
||||
IO_ADDRESS(VERSATILE_SCTL_BASE));
|
||||
__io_address(VERSATILE_SCTL_BASE));
|
||||
|
||||
/*
|
||||
* Initialise to a known state (all timers off)
|
||||
|
|
|
@ -29,7 +29,6 @@
|
|||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/mach/pci.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
/*
|
||||
* these spaces are mapped using the following base registers:
|
||||
|
|
|
@ -20,6 +20,11 @@
|
|||
*/
|
||||
.align 5
|
||||
ENTRY(v6_early_abort)
|
||||
#ifdef CONFIG_CPU_MPCORE
|
||||
clrex
|
||||
#else
|
||||
strex r0, r1, [sp] @ Clear the exclusive monitor
|
||||
#endif
|
||||
mrc p15, 0, r1, c5, c0, 0 @ get FSR
|
||||
mrc p15, 0, r0, c6, c0, 0 @ get FAR
|
||||
/*
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#define HARVARD_CACHE
|
||||
#define CACHE_LINE_SIZE 32
|
||||
#define D_CACHE_LINE_SIZE 32
|
||||
#define BTB_FLUSH_SIZE 8
|
||||
|
||||
/*
|
||||
* v6_flush_cache_all()
|
||||
|
@ -98,7 +99,13 @@ ENTRY(v6_coherent_user_range)
|
|||
mcr p15, 0, r0, c7, c5, 1 @ invalidate I line
|
||||
#endif
|
||||
mcr p15, 0, r0, c7, c5, 7 @ invalidate BTB entry
|
||||
add r0, r0, #CACHE_LINE_SIZE
|
||||
add r0, r0, #BTB_FLUSH_SIZE
|
||||
mcr p15, 0, r0, c7, c5, 7 @ invalidate BTB entry
|
||||
add r0, r0, #BTB_FLUSH_SIZE
|
||||
mcr p15, 0, r0, c7, c5, 7 @ invalidate BTB entry
|
||||
add r0, r0, #BTB_FLUSH_SIZE
|
||||
mcr p15, 0, r0, c7, c5, 7 @ invalidate BTB entry
|
||||
add r0, r0, #BTB_FLUSH_SIZE
|
||||
cmp r0, r1
|
||||
blo 1b
|
||||
#ifdef HARVARD_CACHE
|
||||
|
|
|
@ -17,6 +17,24 @@
|
|||
|
||||
#ifdef CONFIG_CPU_CACHE_VIPT
|
||||
|
||||
#define ALIAS_FLUSH_START 0xffff4000
|
||||
|
||||
#define TOP_PTE(x) pte_offset_kernel(top_pmd, x)
|
||||
|
||||
static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
|
||||
{
|
||||
unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
|
||||
|
||||
set_pte(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL));
|
||||
flush_tlb_kernel_page(to);
|
||||
|
||||
asm( "mcrr p15, 0, %1, %0, c14\n"
|
||||
" mcrr p15, 0, %1, %0, c5\n"
|
||||
:
|
||||
: "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES)
|
||||
: "cc");
|
||||
}
|
||||
|
||||
void flush_cache_mm(struct mm_struct *mm)
|
||||
{
|
||||
if (cache_is_vivt()) {
|
||||
|
@ -67,24 +85,6 @@ void flush_cache_page(struct vm_area_struct *vma, unsigned long user_addr, unsig
|
|||
if (cache_is_vipt_aliasing())
|
||||
flush_pfn_alias(pfn, user_addr);
|
||||
}
|
||||
|
||||
#define ALIAS_FLUSH_START 0xffff4000
|
||||
|
||||
#define TOP_PTE(x) pte_offset_kernel(top_pmd, x)
|
||||
|
||||
static void flush_pfn_alias(unsigned long pfn, unsigned long vaddr)
|
||||
{
|
||||
unsigned long to = ALIAS_FLUSH_START + (CACHE_COLOUR(vaddr) << PAGE_SHIFT);
|
||||
|
||||
set_pte(TOP_PTE(to), pfn_pte(pfn, PAGE_KERNEL));
|
||||
flush_tlb_kernel_page(to);
|
||||
|
||||
asm( "mcrr p15, 0, %1, %0, c14\n"
|
||||
" mcrr p15, 0, %1, %0, c5\n"
|
||||
:
|
||||
: "r" (to), "r" (to + PAGE_SIZE - L1_CACHE_BYTES)
|
||||
: "cc");
|
||||
}
|
||||
#else
|
||||
#define flush_pfn_alias(pfn,vaddr) do { } while (0)
|
||||
#endif
|
||||
|
|
|
@ -25,7 +25,6 @@
|
|||
#include <asm/mach/map.h>
|
||||
#include <asm/hardware/clock.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/setup.h>
|
||||
|
||||
#include <asm/arch/board.h>
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include <linux/err.h>
|
||||
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/system.h>
|
||||
|
||||
|
|
|
@ -33,7 +33,6 @@
|
|||
#include <asm/irq.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/hardware.h>
|
||||
#include <asm/mach-types.h>
|
||||
|
||||
#include <asm/arch/mux.h>
|
||||
#include <asm/arch/usb.h>
|
||||
|
|
|
@ -27,15 +27,14 @@
|
|||
#include <linux/config.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/efi.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/io_apic.h>
|
||||
#include <asm/apic.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/mpspec.h>
|
||||
|
||||
#ifdef CONFIG_X86_64
|
||||
|
|
|
@ -18,7 +18,6 @@
|
|||
#include <linux/init.h>
|
||||
|
||||
#include <linux/mm.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/smp_lock.h>
|
||||
|
|
|
@ -28,6 +28,22 @@ static void __init init_amd(struct cpuinfo_x86 *c)
|
|||
int mbytes = num_physpages >> (20-PAGE_SHIFT);
|
||||
int r;
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
unsigned long value;
|
||||
|
||||
/* Disable TLB flush filter by setting HWCR.FFDIS on K8
|
||||
* bit 6 of msr C001_0015
|
||||
*
|
||||
* Errata 63 for SH-B3 steppings
|
||||
* Errata 122 for all steppings (F+ have it disabled by default)
|
||||
*/
|
||||
if (c->x86 == 15) {
|
||||
rdmsrl(MSR_K7_HWCR, value);
|
||||
value |= 1 << 6;
|
||||
wrmsrl(MSR_K7_HWCR, value);
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
* FIXME: We should handle the K5 here. Set up the write
|
||||
* range and also turn on MSR 83 bits 4 and 31 (write alloc,
|
||||
|
|
|
@ -7,7 +7,6 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/config.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/smp.h>
|
||||
|
||||
|
|
|
@ -12,7 +12,6 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/jiffies.h>
|
||||
#include <linux/config.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/workqueue.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/smp.h>
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/config.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/smp.h>
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/smp.h>
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/smp.h>
|
||||
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
|
||||
#include <asm/processor.h>
|
||||
|
|
|
@ -11,10 +11,8 @@
|
|||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/reboot.h>
|
||||
#include <linux/kexec.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/elf.h>
|
||||
#include <linux/elfcore.h>
|
||||
|
|
|
@ -16,7 +16,6 @@
|
|||
#include <asm/atomic.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/timer.h>
|
||||
#include <asm/pgtable.h>
|
||||
#include <asm/delay.h>
|
||||
|
@ -25,8 +24,6 @@
|
|||
#include <asm/arch_hooks.h>
|
||||
#include <asm/i8259.h>
|
||||
|
||||
#include <linux/irq.h>
|
||||
|
||||
#include <io_ports.h>
|
||||
|
||||
/*
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
*/
|
||||
|
||||
#include <linux/mm.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/delay.h>
|
||||
|
|
|
@ -14,7 +14,6 @@
|
|||
*/
|
||||
|
||||
#include <linux/mm.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/acpi.h>
|
||||
#include <linux/delay.h>
|
||||
|
|
|
@ -15,7 +15,6 @@
|
|||
|
||||
#include <linux/config.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/smp_lock.h>
|
||||
|
|
|
@ -47,13 +47,11 @@
|
|||
#include <asm/ldt.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/i387.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/desc.h>
|
||||
#ifdef CONFIG_MATH_EMULATION
|
||||
#include <asm/math_emu.h>
|
||||
#endif
|
||||
|
||||
#include <linux/irq.h>
|
||||
#include <linux/err.h>
|
||||
|
||||
#include <asm/tlbflush.h>
|
||||
|
|
|
@ -11,7 +11,6 @@
|
|||
#include <linux/init.h>
|
||||
|
||||
#include <linux/mm.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/smp_lock.h>
|
||||
|
|
|
@ -42,7 +42,6 @@
|
|||
#include <linux/sched.h>
|
||||
#include <linux/kernel_stat.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/notifier.h>
|
||||
#include <linux/cpu.h>
|
||||
|
|
|
@ -6,7 +6,6 @@
|
|||
#include <linux/spinlock.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/timex.h>
|
||||
#include <asm/delay.h>
|
||||
|
|
|
@ -52,7 +52,6 @@
|
|||
#include <asm/arch_hooks.h>
|
||||
#include <asm/kdebug.h>
|
||||
|
||||
#include <linux/irq.h>
|
||||
#include <linux/module.h>
|
||||
|
||||
#include "mach_traps.h"
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
#include <linux/config.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <asm/acpi.h>
|
||||
#include <asm/arch_hooks.h>
|
||||
|
|
|
@ -5,7 +5,6 @@
|
|||
|
||||
#include <linux/smp.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
|
||||
#include <asm/fixmap.h>
|
||||
|
|
|
@ -19,7 +19,6 @@
|
|||
#include <linux/config.h>
|
||||
#include <linux/kernel_stat.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/smp_lock.h>
|
||||
#include <linux/init.h>
|
||||
|
||||
|
|
|
@ -4,7 +4,6 @@
|
|||
|
||||
#include <linux/config.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <asm/acpi.h>
|
||||
#include <asm/arch_hooks.h>
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
#include <asm/voyager.h>
|
||||
#include <asm/vic.h>
|
||||
#include <linux/pm.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/arch_hooks.h>
|
||||
#include <asm/i8253.h>
|
||||
|
|
|
@ -30,8 +30,6 @@
|
|||
#include <asm/tlbflush.h>
|
||||
#include <asm/arch_hooks.h>
|
||||
|
||||
#include <linux/irq.h>
|
||||
|
||||
/* TLB state -- visible externally, indexed physically */
|
||||
DEFINE_PER_CPU(struct tlb_state, cpu_tlbstate) ____cacheline_aligned = { &init_mm, 0 };
|
||||
|
||||
|
|
|
@ -31,8 +31,6 @@
|
|||
#include <asm/mtrr.h>
|
||||
#include <asm/msr.h>
|
||||
|
||||
#include <linux/irq.h>
|
||||
|
||||
#define THREAD_NAME "kvoyagerd"
|
||||
|
||||
/* external variables */
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
#include <linux/init.h>
|
||||
#include <linux/smp.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/errno.h>
|
||||
#include <linux/oprofile.h>
|
||||
#include <linux/rcupdate.h>
|
||||
|
||||
|
|
|
@ -2,7 +2,6 @@
|
|||
#include <linux/acpi.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/hw_irq.h>
|
||||
#include <asm/numa.h>
|
||||
#include "pci.h"
|
||||
|
||||
|
|
|
@ -11,12 +11,11 @@
|
|||
#include <linux/init.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/dmi.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/smp.h>
|
||||
#include <asm/io_apic.h>
|
||||
#include <asm/hw_irq.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/acpi.h>
|
||||
|
||||
#include "pci.h"
|
||||
|
|
|
@ -8,25 +8,8 @@
|
|||
*/
|
||||
|
||||
#include <linux/config.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/spinlock.h>
|
||||
#include <linux/poll.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/sysrq.h>
|
||||
#include <linux/proc_fs.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/pm.h>
|
||||
#include <linux/device.h>
|
||||
#include <linux/suspend.h>
|
||||
#include <linux/acpi.h>
|
||||
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/acpi.h>
|
||||
#include <asm/tlbflush.h>
|
||||
#include <asm/processor.h>
|
||||
|
||||
static struct saved_context saved_context;
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ aflags-$(CONFIG_ISA_M32R) += -DNO_FPU -Wa,-no-bitinst
|
|||
CFLAGS += $(cflags-y)
|
||||
AFLAGS += $(aflags-y)
|
||||
|
||||
CHECKFLAGS := $(CHECK) -D__m32r__
|
||||
CHECKFLAGS += -D__m32r__ -D__BIG_ENDIAN__=1
|
||||
|
||||
head-y := arch/m32r/kernel/head.o arch/m32r/kernel/init_task.o
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
#include <asm/uaccess.h>
|
||||
|
||||
unsigned long
|
||||
__generic_copy_to_user(void *to, const void *from, unsigned long n)
|
||||
__generic_copy_to_user(void __user *to, const void *from, unsigned long n)
|
||||
{
|
||||
prefetch(from);
|
||||
if (access_ok(VERIFY_WRITE, to, n))
|
||||
|
@ -22,7 +22,7 @@ __generic_copy_to_user(void *to, const void *from, unsigned long n)
|
|||
}
|
||||
|
||||
unsigned long
|
||||
__generic_copy_from_user(void *to, const void *from, unsigned long n)
|
||||
__generic_copy_from_user(void *to, const void __user *from, unsigned long n)
|
||||
{
|
||||
prefetchw(to);
|
||||
if (access_ok(VERIFY_READ, from, n))
|
||||
|
@ -111,7 +111,7 @@ do { \
|
|||
#endif /* CONFIG_ISA_DUAL_ISSUE */
|
||||
|
||||
long
|
||||
__strncpy_from_user(char *dst, const char *src, long count)
|
||||
__strncpy_from_user(char *dst, const char __user *src, long count)
|
||||
{
|
||||
long res;
|
||||
__do_strncpy_from_user(dst, src, count, res);
|
||||
|
@ -119,7 +119,7 @@ __strncpy_from_user(char *dst, const char *src, long count)
|
|||
}
|
||||
|
||||
long
|
||||
strncpy_from_user(char *dst, const char *src, long count)
|
||||
strncpy_from_user(char *dst, const char __user *src, long count)
|
||||
{
|
||||
long res = -EFAULT;
|
||||
if (access_ok(VERIFY_READ, src, 1))
|
||||
|
@ -222,7 +222,7 @@ do { \
|
|||
#endif /* not CONFIG_ISA_DUAL_ISSUE */
|
||||
|
||||
unsigned long
|
||||
clear_user(void *to, unsigned long n)
|
||||
clear_user(void __user *to, unsigned long n)
|
||||
{
|
||||
if (access_ok(VERIFY_WRITE, to, n))
|
||||
__do_clear_user(to, n);
|
||||
|
@ -230,7 +230,7 @@ clear_user(void *to, unsigned long n)
|
|||
}
|
||||
|
||||
unsigned long
|
||||
__clear_user(void *to, unsigned long n)
|
||||
__clear_user(void __user *to, unsigned long n)
|
||||
{
|
||||
__do_clear_user(to, n);
|
||||
return n;
|
||||
|
@ -244,7 +244,7 @@ __clear_user(void *to, unsigned long n)
|
|||
|
||||
#ifdef CONFIG_ISA_DUAL_ISSUE
|
||||
|
||||
long strnlen_user(const char *s, long n)
|
||||
long strnlen_user(const char __user *s, long n)
|
||||
{
|
||||
unsigned long mask = -__addr_ok(s);
|
||||
unsigned long res;
|
||||
|
@ -313,7 +313,7 @@ long strnlen_user(const char *s, long n)
|
|||
|
||||
#else /* not CONFIG_ISA_DUAL_ISSUE */
|
||||
|
||||
long strnlen_user(const char *s, long n)
|
||||
long strnlen_user(const char __user *s, long n)
|
||||
{
|
||||
unsigned long mask = -__addr_ok(s);
|
||||
unsigned long res;
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
OUTPUT_ARCH(powerpc)
|
||||
OUTPUT_ARCH(powerpc:common)
|
||||
SECTIONS
|
||||
{
|
||||
/* Read-only sections, merged into text segment: */
|
||||
|
|
|
@ -45,9 +45,8 @@ static void dummy_perf(struct pt_regs *regs)
|
|||
mtpmr(PMRN_PMGC0, pmgc0);
|
||||
}
|
||||
|
||||
#elif CONFIG_6xx
|
||||
#elif defined(CONFIG_6xx)
|
||||
/* Ensure exceptions are disabled */
|
||||
|
||||
static void dummy_perf(struct pt_regs *regs)
|
||||
{
|
||||
unsigned int mmcr0 = mfspr(SPRN_MMCR0);
|
||||
|
|
|
@ -27,7 +27,6 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/tty.h>
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/tty.h>
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/tty.h>
|
||||
|
|
|
@ -28,7 +28,6 @@
|
|||
#include <linux/delay.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/tty.h>
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include <linux/major.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/serial.h>
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include <linux/major.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/serial.h>
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include <linux/major.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/serial.h>
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include <linux/major.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/module.h>
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include <linux/major.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/module.h>
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include <linux/major.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/serial.h>
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#include <linux/major.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/module.h>
|
||||
|
|
|
@ -30,7 +30,6 @@
|
|||
#include <linux/blkdev.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/serial.h>
|
||||
|
|
|
@ -35,7 +35,6 @@
|
|||
#include <asm/time.h>
|
||||
#include <asm/dma.h>
|
||||
#include <asm/io.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/hw_irq.h>
|
||||
#include <asm/machdep.h>
|
||||
#include <asm/kgdb.h>
|
||||
|
|
|
@ -32,7 +32,6 @@
|
|||
#include <linux/module.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
|
|
|
@ -21,7 +21,6 @@
|
|||
#include <linux/major.h>
|
||||
#include <linux/initrd.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/bcd.h>
|
||||
|
|
|
@ -20,7 +20,6 @@
|
|||
#include <linux/initrd.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/kdev_t.h>
|
||||
|
|
|
@ -695,6 +695,13 @@ static int __init pmac_cpufreq_setup(void)
|
|||
set_speed_proc = pmu_set_cpu_speed;
|
||||
is_pmu_based = 1;
|
||||
}
|
||||
/* Else check for TiPb 550 */
|
||||
else if (machine_is_compatible("PowerBook3,3") && cur_freq == 550000) {
|
||||
hi_freq = cur_freq;
|
||||
low_freq = 500000;
|
||||
set_speed_proc = pmu_set_cpu_speed;
|
||||
is_pmu_based = 1;
|
||||
}
|
||||
/* Else check for TiPb 400 & 500 */
|
||||
else if (machine_is_compatible("PowerBook3,2")) {
|
||||
/* We only know about the 400 MHz and the 500Mhz model
|
||||
|
|
|
@ -2337,6 +2337,10 @@ static struct pmac_mb_def pmac_mb_defs[] __pmacdata = {
|
|||
PMAC_TYPE_UNKNOWN_INTREPID, intrepid_features,
|
||||
PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
|
||||
},
|
||||
{ "PowerBook6,7", "iBook G4",
|
||||
PMAC_TYPE_UNKNOWN_INTREPID, intrepid_features,
|
||||
PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
|
||||
},
|
||||
{ "PowerBook6,8", "PowerBook G4 12\"",
|
||||
PMAC_TYPE_UNKNOWN_INTREPID, intrepid_features,
|
||||
PMAC_MB_MAY_SLEEP | PMAC_MB_HAS_FW_POWER | PMAC_MB_MOBILE,
|
||||
|
|
|
@ -48,7 +48,6 @@
|
|||
#include <linux/adb.h>
|
||||
#include <linux/cuda.h>
|
||||
#include <linux/pmu.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
#include <linux/bitops.h>
|
||||
|
|
|
@ -26,7 +26,6 @@
|
|||
#include <linux/initrd.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/slab.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/ide.h>
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
#include <linux/ioport.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
|
|
|
@ -24,7 +24,6 @@
|
|||
#include <linux/initrd.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/root_dev.h>
|
||||
|
|
|
@ -22,7 +22,6 @@
|
|||
#include <linux/initrd.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/root_dev.h>
|
||||
|
|
|
@ -32,7 +32,6 @@
|
|||
#include <linux/initrd.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
|
@ -59,7 +58,6 @@
|
|||
#include <asm/mpc10x.h>
|
||||
#include <asm/pci-bridge.h>
|
||||
#include <asm/mv64x60.h>
|
||||
#include <asm/i8259.h>
|
||||
|
||||
#include "radstone_ppc7d.h"
|
||||
|
||||
|
|
|
@ -74,7 +74,6 @@
|
|||
#include <linux/initrd.h>
|
||||
#include <linux/console.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/ide.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/root_dev.h>
|
||||
|
|
|
@ -34,7 +34,7 @@ u8 mv64x60_pci_exclude_bridge = 1;
|
|||
DEFINE_SPINLOCK(mv64x60_lock);
|
||||
|
||||
static phys_addr_t mv64x60_bridge_pbase;
|
||||
static void *mv64x60_bridge_vbase;
|
||||
static void __iomem *mv64x60_bridge_vbase;
|
||||
static u32 mv64x60_bridge_type = MV64x60_TYPE_INVALID;
|
||||
static u32 mv64x60_bridge_rev;
|
||||
#if defined(CONFIG_SYSFS) && !defined(CONFIG_GT64260)
|
||||
|
@ -938,7 +938,7 @@ mv64x60_setup_for_chip(struct mv64x60_handle *bh)
|
|||
*
|
||||
* Return the virtual address of the bridge's registers.
|
||||
*/
|
||||
void *
|
||||
void __iomem *
|
||||
mv64x60_get_bridge_vbase(void)
|
||||
{
|
||||
return mv64x60_bridge_vbase;
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/errno.h>
|
||||
|
|
|
@ -17,7 +17,6 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/irq.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/sysdev.h>
|
||||
#include <linux/errno.h>
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue