mirror of https://gitee.com/openkylin/linux.git
Merge branch 'master' of /pub/scm/linux/kernel/git/torvalds/linux-2.6
This commit is contained in:
commit
0dbd888936
|
@ -186,7 +186,8 @@ If the atomic value v is not equal to u, this function adds a to v, and
|
|||
returns non zero. If v is equal to u then it returns zero. This is done as
|
||||
an atomic operation.
|
||||
|
||||
atomic_add_unless requires explicit memory barriers around the operation.
|
||||
atomic_add_unless requires explicit memory barriers around the operation
|
||||
unless it fails (returns 0).
|
||||
|
||||
atomic_inc_not_zero, equivalent to atomic_add_unless(v, 1, 0)
|
||||
|
||||
|
|
|
@ -28,7 +28,7 @@ CONTENTS:
|
|||
4. Questions
|
||||
|
||||
1. Control Groups
|
||||
==========
|
||||
=================
|
||||
|
||||
1.1 What are cgroups ?
|
||||
----------------------
|
||||
|
@ -143,10 +143,10 @@ proliferation of such cgroups.
|
|||
|
||||
Also lets say that the administrator would like to give enhanced network
|
||||
access temporarily to a student's browser (since it is night and the user
|
||||
wants to do online gaming :) OR give one of the students simulation
|
||||
wants to do online gaming :)) OR give one of the students simulation
|
||||
apps enhanced CPU power,
|
||||
|
||||
With ability to write pids directly to resource classes, its just a
|
||||
With ability to write pids directly to resource classes, it's just a
|
||||
matter of :
|
||||
|
||||
# echo pid > /mnt/network/<new_class>/tasks
|
||||
|
@ -227,10 +227,13 @@ Each cgroup is represented by a directory in the cgroup file system
|
|||
containing the following files describing that cgroup:
|
||||
|
||||
- tasks: list of tasks (by pid) attached to that cgroup
|
||||
- notify_on_release flag: run /sbin/cgroup_release_agent on exit?
|
||||
- releasable flag: cgroup currently removeable?
|
||||
- notify_on_release flag: run the release agent on exit?
|
||||
- release_agent: the path to use for release notifications (this file
|
||||
exists in the top cgroup only)
|
||||
|
||||
Other subsystems such as cpusets may add additional files in each
|
||||
cgroup dir
|
||||
cgroup dir.
|
||||
|
||||
New cgroups are created using the mkdir system call or shell
|
||||
command. The properties of a cgroup, such as its flags, are
|
||||
|
@ -257,7 +260,7 @@ performance.
|
|||
To allow access from a cgroup to the css_sets (and hence tasks)
|
||||
that comprise it, a set of cg_cgroup_link objects form a lattice;
|
||||
each cg_cgroup_link is linked into a list of cg_cgroup_links for
|
||||
a single cgroup on its cont_link_list field, and a list of
|
||||
a single cgroup on its cgrp_link_list field, and a list of
|
||||
cg_cgroup_links for a single css_set on its cg_link_list.
|
||||
|
||||
Thus the set of tasks in a cgroup can be listed by iterating over
|
||||
|
@ -271,9 +274,6 @@ for cgroups, with a minimum of additional kernel code.
|
|||
1.4 What does notify_on_release do ?
|
||||
------------------------------------
|
||||
|
||||
*** notify_on_release is disabled in the current patch set. It will be
|
||||
*** reactivated in a future patch in a less-intrusive manner
|
||||
|
||||
If the notify_on_release flag is enabled (1) in a cgroup, then
|
||||
whenever the last task in the cgroup leaves (exits or attaches to
|
||||
some other cgroup) and the last child cgroup of that cgroup
|
||||
|
@ -360,8 +360,8 @@ Now you want to do something with this cgroup.
|
|||
|
||||
In this directory you can find several files:
|
||||
# ls
|
||||
notify_on_release release_agent tasks
|
||||
(plus whatever files are added by the attached subsystems)
|
||||
notify_on_release releasable tasks
|
||||
(plus whatever files added by the attached subsystems)
|
||||
|
||||
Now attach your shell to this cgroup:
|
||||
# /bin/echo $$ > tasks
|
||||
|
@ -404,19 +404,13 @@ with a subsystem id which will be assigned by the cgroup system.
|
|||
Other fields in the cgroup_subsys object include:
|
||||
|
||||
- subsys_id: a unique array index for the subsystem, indicating which
|
||||
entry in cgroup->subsys[] this subsystem should be
|
||||
managing. Initialized by cgroup_register_subsys(); prior to this
|
||||
it should be initialized to -1
|
||||
entry in cgroup->subsys[] this subsystem should be managing.
|
||||
|
||||
- hierarchy: an index indicating which hierarchy, if any, this
|
||||
subsystem is currently attached to. If this is -1, then the
|
||||
subsystem is not attached to any hierarchy, and all tasks should be
|
||||
considered to be members of the subsystem's top_cgroup. It should
|
||||
be initialized to -1.
|
||||
- name: should be initialized to a unique subsystem name. Should be
|
||||
no longer than MAX_CGROUP_TYPE_NAMELEN.
|
||||
|
||||
- name: should be initialized to a unique subsystem name prior to
|
||||
calling cgroup_register_subsystem. Should be no longer than
|
||||
MAX_CGROUP_TYPE_NAMELEN
|
||||
- early_init: indicate if the subsystem needs early initialization
|
||||
at system boot.
|
||||
|
||||
Each cgroup object created by the system has an array of pointers,
|
||||
indexed by subsystem id; this pointer is entirely managed by the
|
||||
|
@ -434,8 +428,6 @@ situation.
|
|||
See kernel/cgroup.c for more details.
|
||||
|
||||
Subsystems can take/release the cgroup_mutex via the functions
|
||||
cgroup_lock()/cgroup_unlock(), and can
|
||||
take/release the callback_mutex via the functions
|
||||
cgroup_lock()/cgroup_unlock().
|
||||
|
||||
Accessing a task's cgroup pointer may be done in the following ways:
|
||||
|
@ -444,7 +436,7 @@ Accessing a task's cgroup pointer may be done in the following ways:
|
|||
- inside an rcu_read_lock() section via rcu_dereference()
|
||||
|
||||
3.3 Subsystem API
|
||||
--------------------------
|
||||
-----------------
|
||||
|
||||
Each subsystem should:
|
||||
|
||||
|
@ -455,7 +447,8 @@ Each subsystem may export the following methods. The only mandatory
|
|||
methods are create/destroy. Any others that are null are presumed to
|
||||
be successful no-ops.
|
||||
|
||||
struct cgroup_subsys_state *create(struct cgroup *cont)
|
||||
struct cgroup_subsys_state *create(struct cgroup_subsys *ss,
|
||||
struct cgroup *cgrp)
|
||||
(cgroup_mutex held by caller)
|
||||
|
||||
Called to create a subsystem state object for a cgroup. The
|
||||
|
@ -470,7 +463,7 @@ identified by the passed cgroup object having a NULL parent (since
|
|||
it's the root of the hierarchy) and may be an appropriate place for
|
||||
initialization code.
|
||||
|
||||
void destroy(struct cgroup *cont)
|
||||
void destroy(struct cgroup_subsys *ss, struct cgroup *cgrp)
|
||||
(cgroup_mutex held by caller)
|
||||
|
||||
The cgroup system is about to destroy the passed cgroup; the subsystem
|
||||
|
@ -481,7 +474,14 @@ cgroup->parent is still valid. (Note - can also be called for a
|
|||
newly-created cgroup if an error occurs after this subsystem's
|
||||
create() method has been called for the new cgroup).
|
||||
|
||||
int can_attach(struct cgroup_subsys *ss, struct cgroup *cont,
|
||||
void pre_destroy(struct cgroup_subsys *ss, struct cgroup *cgrp);
|
||||
(cgroup_mutex held by caller)
|
||||
|
||||
Called before checking the reference count on each subsystem. This may
|
||||
be useful for subsystems which have some extra references even if
|
||||
there are not tasks in the cgroup.
|
||||
|
||||
int can_attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
|
||||
struct task_struct *task)
|
||||
(cgroup_mutex held by caller)
|
||||
|
||||
|
@ -492,8 +492,8 @@ unspecified task can be moved into the cgroup. Note that this isn't
|
|||
called on a fork. If this method returns 0 (success) then this should
|
||||
remain valid while the caller holds cgroup_mutex.
|
||||
|
||||
void attach(struct cgroup_subsys *ss, struct cgroup *cont,
|
||||
struct cgroup *old_cont, struct task_struct *task)
|
||||
void attach(struct cgroup_subsys *ss, struct cgroup *cgrp,
|
||||
struct cgroup *old_cgrp, struct task_struct *task)
|
||||
|
||||
Called after the task has been attached to the cgroup, to allow any
|
||||
post-attachment activity that requires memory allocations or blocking.
|
||||
|
@ -505,9 +505,9 @@ registration for all existing tasks.
|
|||
|
||||
void exit(struct cgroup_subsys *ss, struct task_struct *task)
|
||||
|
||||
Called during task exit
|
||||
Called during task exit.
|
||||
|
||||
int populate(struct cgroup_subsys *ss, struct cgroup *cont)
|
||||
int populate(struct cgroup_subsys *ss, struct cgroup *cgrp)
|
||||
|
||||
Called after creation of a cgroup to allow a subsystem to populate
|
||||
the cgroup directory with file entries. The subsystem should make
|
||||
|
@ -516,7 +516,7 @@ include/linux/cgroup.h for details). Note that although this
|
|||
method can return an error code, the error code is currently not
|
||||
always handled well.
|
||||
|
||||
void post_clone(struct cgroup_subsys *ss, struct cgroup *cont)
|
||||
void post_clone(struct cgroup_subsys *ss, struct cgroup *cgrp)
|
||||
|
||||
Called at the end of cgroup_clone() to do any paramater
|
||||
initialization which might be required before a task could attach. For
|
||||
|
|
|
@ -170,14 +170,14 @@ NOTE: We can use a suffix (k, K, m, M, g or G) to indicate values in kilo,
|
|||
mega or gigabytes.
|
||||
|
||||
# cat /cgroups/0/memory.limit_in_bytes
|
||||
4194304 Bytes
|
||||
4194304
|
||||
|
||||
NOTE: The interface has now changed to display the usage in bytes
|
||||
instead of pages
|
||||
|
||||
We can check the usage:
|
||||
# cat /cgroups/0/memory.usage_in_bytes
|
||||
1216512 Bytes
|
||||
1216512
|
||||
|
||||
A successful write to this file does not guarantee a successful set of
|
||||
this limit to the value written into the file. This can be due to a
|
||||
|
@ -187,7 +187,7 @@ this file after a write to guarantee the value committed by the kernel.
|
|||
|
||||
# echo -n 1 > memory.limit_in_bytes
|
||||
# cat memory.limit_in_bytes
|
||||
4096 Bytes
|
||||
4096
|
||||
|
||||
The memory.failcnt field gives the number of times that the cgroup limit was
|
||||
exceeded.
|
||||
|
@ -233,13 +233,6 @@ cgroup might have some charge associated with it, even though all
|
|||
tasks have migrated away from it. Such charges are automatically dropped at
|
||||
rmdir() if there are no tasks.
|
||||
|
||||
4.4 Choosing what to account -- Page Cache (unmapped) vs RSS (mapped)?
|
||||
|
||||
The type of memory accounted by the cgroup can be limited to just
|
||||
mapped pages by writing "1" to memory.control_type field
|
||||
|
||||
echo -n 1 > memory.control_type
|
||||
|
||||
5. TODO
|
||||
|
||||
1. Add support for accounting huge pages (as a separate controller)
|
||||
|
@ -262,18 +255,19 @@ References
|
|||
3. Emelianov, Pavel. Resource controllers based on process cgroups
|
||||
http://lkml.org/lkml/2007/3/6/198
|
||||
4. Emelianov, Pavel. RSS controller based on process cgroups (v2)
|
||||
http://lkml.org/lkml/2007/4/9/74
|
||||
http://lkml.org/lkml/2007/4/9/78
|
||||
5. Emelianov, Pavel. RSS controller based on process cgroups (v3)
|
||||
http://lkml.org/lkml/2007/5/30/244
|
||||
6. Menage, Paul. Control Groups v10, http://lwn.net/Articles/236032/
|
||||
7. Vaidyanathan, Srinivasan, Control Groups: Pagecache accounting and control
|
||||
subsystem (v3), http://lwn.net/Articles/235534/
|
||||
8. Singh, Balbir. RSS controller V2 test results (lmbench),
|
||||
8. Singh, Balbir. RSS controller v2 test results (lmbench),
|
||||
http://lkml.org/lkml/2007/5/17/232
|
||||
9. Singh, Balbir. RSS controller V2 AIM9 results
|
||||
9. Singh, Balbir. RSS controller v2 AIM9 results
|
||||
http://lkml.org/lkml/2007/5/18/1
|
||||
10. Singh, Balbir. Memory controller v6 results,
|
||||
10. Singh, Balbir. Memory controller v6 test results,
|
||||
http://lkml.org/lkml/2007/8/19/36
|
||||
11. Singh, Balbir. Memory controller v6, http://lkml.org/lkml/2007/8/17/69
|
||||
11. Singh, Balbir. Memory controller introduction (v6),
|
||||
http://lkml.org/lkml/2007/8/17/69
|
||||
12. Corbet, Jonathan, Controlling memory use in cgroups,
|
||||
http://lwn.net/Articles/243795/
|
||||
|
|
|
@ -209,7 +209,7 @@ and name space for cpusets, with a minimum of additional kernel code.
|
|||
The cpus and mems files in the root (top_cpuset) cpuset are
|
||||
read-only. The cpus file automatically tracks the value of
|
||||
cpu_online_map using a CPU hotplug notifier, and the mems file
|
||||
automatically tracks the value of node_states[N_MEMORY]--i.e.,
|
||||
automatically tracks the value of node_states[N_HIGH_MEMORY]--i.e.,
|
||||
nodes with memory--using the cpuset_track_online_nodes() hook.
|
||||
|
||||
|
||||
|
|
|
@ -36,14 +36,15 @@ available (notebooks) or too slow for extensive debug information (like ACPI).
|
|||
Drivers
|
||||
-------
|
||||
|
||||
The OHCI-1394 drivers in drivers/firewire and drivers/ieee1394 initialize
|
||||
the OHCI-1394 controllers to a working state and can be used to enable
|
||||
physical DMA. By default you only have to load the driver, and physical
|
||||
DMA access will be granted to all remote nodes, but it can be turned off
|
||||
when using the ohci1394 driver.
|
||||
The ohci1394 driver in drivers/ieee1394 initializes the OHCI-1394 controllers
|
||||
to a working state and enables physical DMA by default for all remote nodes.
|
||||
This can be turned off by ohci1394's module parameter phys_dma=0.
|
||||
|
||||
Because these drivers depend on the PCI enumeration to be completed, an
|
||||
initialization routine which can runs pretty early (long before console_init(),
|
||||
The alternative firewire-ohci driver in drivers/firewire uses filtered physical
|
||||
DMA, hence is not yet suitable for remote debugging.
|
||||
|
||||
Because ohci1394 depends on the PCI enumeration to be completed, an
|
||||
initialization routine which runs pretty early (long before console_init()
|
||||
which makes the printk buffer appear on the console can be called) was written.
|
||||
|
||||
To activate it, enable CONFIG_PROVIDE_OHCI1394_DMA_INIT (Kernel hacking menu:
|
||||
|
|
|
@ -172,6 +172,16 @@ Who: Len Brown <len.brown@intel.com>
|
|||
|
||||
---------------------------
|
||||
|
||||
What: ide-tape driver
|
||||
When: July 2008
|
||||
Files: drivers/ide/ide-tape.c
|
||||
Why: This driver might not have any users anymore and maintaining it for no
|
||||
reason is an effort no one wants to make.
|
||||
Who: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>, Borislav Petkov
|
||||
<petkovbb@googlemail.com>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: libata spindown skipping and warning
|
||||
When: Dec 2008
|
||||
Why: Some halt(8) implementations synchronize caches for and spin
|
||||
|
@ -306,3 +316,15 @@ Why: Largely unmaintained and almost entirely unused. File system
|
|||
is largely pointless as without a lot of work only the most
|
||||
trivial of Solaris binaries can work with the emulation code.
|
||||
Who: David S. Miller <davem@davemloft.net>
|
||||
|
||||
---------------------------
|
||||
|
||||
What: init_mm export
|
||||
When: 2.6.26
|
||||
Why: Not used in-tree. The current out-of-tree users used it to
|
||||
work around problems in the CPA code which should be resolved
|
||||
by now. One usecase was described to provide verification code
|
||||
of the CPA operation. That's a good idea in general, but such
|
||||
code / infrastructure should be in the kernel and not in some
|
||||
out-of-tree driver.
|
||||
Who: Thomas Gleixner <tglx@linutronix.de>
|
||||
|
|
|
@ -0,0 +1,79 @@
|
|||
Kernel driver adt7473
|
||||
======================
|
||||
|
||||
Supported chips:
|
||||
* Analog Devices ADT7473
|
||||
Prefix: 'adt7473'
|
||||
Addresses scanned: I2C 0x2C, 0x2D, 0x2E
|
||||
Datasheet: Publicly available at the Analog Devices website
|
||||
|
||||
Author: Darrick J. Wong
|
||||
|
||||
Description
|
||||
-----------
|
||||
|
||||
This driver implements support for the Analog Devices ADT7473 chip family.
|
||||
|
||||
The LM85 uses the 2-wire interface compatible with the SMBUS 2.0
|
||||
specification. Using an analog to digital converter it measures three (3)
|
||||
temperatures and two (2) voltages. It has three (3) 16-bit counters for
|
||||
measuring fan speed. There are three (3) PWM outputs that can be used
|
||||
to control fan speed.
|
||||
|
||||
A sophisticated control system for the PWM outputs is designed into the
|
||||
LM85 that allows fan speed to be adjusted automatically based on any of the
|
||||
three temperature sensors. Each PWM output is individually adjustable and
|
||||
programmable. Once configured, the ADT7473 will adjust the PWM outputs in
|
||||
response to the measured temperatures without further host intervention.
|
||||
This feature can also be disabled for manual control of the PWM's.
|
||||
|
||||
Each of the measured inputs (voltage, temperature, fan speed) has
|
||||
corresponding high/low limit values. The ADT7473 will signal an ALARM if
|
||||
any measured value exceeds either limit.
|
||||
|
||||
The ADT7473 samples all inputs continuously. The driver will not read
|
||||
the registers more often than once every other second. Further,
|
||||
configuration data is only read once per minute.
|
||||
|
||||
Special Features
|
||||
----------------
|
||||
|
||||
The ADT7473 have a 10-bit ADC and can therefore measure temperatures
|
||||
with 0.25 degC resolution. Temperature readings can be configured either
|
||||
for twos complement format or "Offset 64" format, wherein 63 is subtracted
|
||||
from the raw value to get the temperature value.
|
||||
|
||||
The Analog Devices datasheet is very detailed and describes a procedure for
|
||||
determining an optimal configuration for the automatic PWM control.
|
||||
|
||||
Hardware Configurations
|
||||
-----------------------
|
||||
|
||||
The ADT7473 chips have an optional SMBALERT output that can be used to
|
||||
signal the chipset in case a limit is exceeded or the temperature sensors
|
||||
fail. Individual sensor interrupts can be masked so they won't trigger
|
||||
SMBALERT. The SMBALERT output if configured replaces the PWM2 function.
|
||||
|
||||
Configuration Notes
|
||||
-------------------
|
||||
|
||||
Besides standard interfaces driver adds the following:
|
||||
|
||||
* PWM Control
|
||||
|
||||
* pwm#_auto_point1_pwm and pwm#_auto_point1_temp and
|
||||
* pwm#_auto_point2_pwm and pwm#_auto_point2_temp -
|
||||
|
||||
point1: Set the pwm speed at a lower temperature bound.
|
||||
point2: Set the pwm speed at a higher temperature bound.
|
||||
|
||||
The ADT7473 will scale the pwm between the lower and higher pwm speed when
|
||||
the temperature is between the two temperature boundaries. PWM values range
|
||||
from 0 (off) to 255 (full speed).
|
||||
|
||||
Notes
|
||||
-----
|
||||
|
||||
The NVIDIA binary driver presents an ADT7473 chip via an on-card i2c bus.
|
||||
Unfortunately, they fail to set the i2c adapter class, so this driver may
|
||||
fail to find the chip until the nvidia driver is patched.
|
|
@ -4,9 +4,10 @@ Kernel driver coretemp
|
|||
Supported chips:
|
||||
* All Intel Core family
|
||||
Prefix: 'coretemp'
|
||||
CPUID: family 0x6, models 0xe, 0xf, 0x16
|
||||
CPUID: family 0x6, models 0xe, 0xf, 0x16, 0x17
|
||||
Datasheet: Intel 64 and IA-32 Architectures Software Developer's Manual
|
||||
Volume 3A: System Programming Guide
|
||||
http://softwarecommunity.intel.com/Wiki/Mobility/720.htm
|
||||
|
||||
Author: Rudolf Marek
|
||||
|
||||
|
@ -25,7 +26,8 @@ may be raised, if the temperature grows enough (more than TjMax) to trigger
|
|||
the Out-Of-Spec bit. Following table summarizes the exported sysfs files:
|
||||
|
||||
temp1_input - Core temperature (in millidegrees Celsius).
|
||||
temp1_crit - Maximum junction temperature (in millidegrees Celsius).
|
||||
temp1_max - All cooling devices should be turned on (on Core2).
|
||||
temp1_crit - Maximum junction temperature (in millidegrees Celsius).
|
||||
temp1_crit_alarm - Set when Out-of-spec bit is set, never clears.
|
||||
Correct CPU operation is no longer guaranteed.
|
||||
temp1_label - Contains string "Core X", where X is processor
|
||||
|
|
|
@ -12,8 +12,9 @@ Supported adapters:
|
|||
* Intel 82801G (ICH7)
|
||||
* Intel 631xESB/632xESB (ESB2)
|
||||
* Intel 82801H (ICH8)
|
||||
* Intel ICH9
|
||||
* Intel 82801I (ICH9)
|
||||
* Intel Tolapai
|
||||
* Intel ICH10
|
||||
Datasheets: Publicly available at the Intel website
|
||||
|
||||
Authors:
|
||||
|
|
|
@ -1,12 +1,14 @@
|
|||
Most (all) Intel-MP compliant SMP boards have the so-called 'IO-APIC',
|
||||
which is an enhanced interrupt controller, it enables us to route
|
||||
hardware interrupts to multiple CPUs, or to CPU groups.
|
||||
which is an enhanced interrupt controller. It enables us to route
|
||||
hardware interrupts to multiple CPUs, or to CPU groups. Without an
|
||||
IO-APIC, interrupts from hardware will be delivered only to the
|
||||
CPU which boots the operating system (usually CPU#0).
|
||||
|
||||
Linux supports all variants of compliant SMP boards, including ones with
|
||||
multiple IO-APICs. (multiple IO-APICs are used in high-end servers to
|
||||
distribute IRQ load further).
|
||||
multiple IO-APICs. Multiple IO-APICs are used in high-end servers to
|
||||
distribute IRQ load further.
|
||||
|
||||
There are (a few) known breakages in certain older boards, which bugs are
|
||||
There are (a few) known breakages in certain older boards, such bugs are
|
||||
usually worked around by the kernel. If your MP-compliant SMP board does
|
||||
not boot Linux, then consult the linux-smp mailing list archives first.
|
||||
|
||||
|
@ -28,18 +30,18 @@ If your box boots fine with enabled IO-APIC IRQs, then your
|
|||
hell:~>
|
||||
<----------------------------
|
||||
|
||||
some interrupts are still listed as 'XT PIC', but this is not a problem,
|
||||
Some interrupts are still listed as 'XT PIC', but this is not a problem;
|
||||
none of those IRQ sources is performance-critical.
|
||||
|
||||
|
||||
in the unlikely case that your board does not create a working mp-table,
|
||||
In the unlikely case that your board does not create a working mp-table,
|
||||
you can use the pirq= boot parameter to 'hand-construct' IRQ entries. This
|
||||
is nontrivial though and cannot be automated. One sample /etc/lilo.conf
|
||||
is non-trivial though and cannot be automated. One sample /etc/lilo.conf
|
||||
entry:
|
||||
|
||||
append="pirq=15,11,10"
|
||||
|
||||
the actual numbers depend on your system, on your PCI cards and on their
|
||||
The actual numbers depend on your system, on your PCI cards and on their
|
||||
PCI slot position. Usually PCI slots are 'daisy chained' before they are
|
||||
connected to the PCI chipset IRQ routing facility (the incoming PIRQ1-4
|
||||
lines):
|
||||
|
@ -54,7 +56,7 @@ lines):
|
|||
PIRQ1 ----| |- `----| |- `----| |- `----| |--------| |
|
||||
`-' `-' `-' `-' `-'
|
||||
|
||||
every PCI card emits a PCI IRQ, which can be INTA,INTB,INTC,INTD:
|
||||
Every PCI card emits a PCI IRQ, which can be INTA, INTB, INTC or INTD:
|
||||
|
||||
,-.
|
||||
INTD--| |
|
||||
|
@ -95,21 +97,21 @@ card (IRQ11) in Slot3, and have Slot1 empty:
|
|||
[value '0' is a generic 'placeholder', reserved for empty (or non-IRQ emitting)
|
||||
slots.]
|
||||
|
||||
generally, it's always possible to find out the correct pirq= settings, just
|
||||
Generally, it's always possible to find out the correct pirq= settings, just
|
||||
permute all IRQ numbers properly ... it will take some time though. An
|
||||
'incorrect' pirq line will cause the booting process to hang, or a device
|
||||
won't function properly (if it's inserted as eg. a module).
|
||||
won't function properly (e.g. if it's inserted as a module).
|
||||
|
||||
If you have 2 PCI buses, then you can use up to 8 pirq values. Although such
|
||||
If you have 2 PCI buses, then you can use up to 8 pirq values, although such
|
||||
boards tend to have a good configuration.
|
||||
|
||||
Be prepared that it might happen that you need some strange pirq line:
|
||||
|
||||
append="pirq=0,0,0,0,0,0,9,11"
|
||||
|
||||
use smart try-and-err techniques to find out the correct pirq line ...
|
||||
Use smart trial-and-error techniques to find out the correct pirq line ...
|
||||
|
||||
good luck and mail to linux-smp@vger.kernel.org or
|
||||
Good luck and mail to linux-smp@vger.kernel.org or
|
||||
linux-kernel@vger.kernel.org if you have any problems that are not covered
|
||||
by this document.
|
||||
|
||||
|
|
|
@ -258,8 +258,6 @@ Summary of ide driver parameters for kernel command line
|
|||
As for VLB, it is safest to not specify it.
|
||||
Bigger values are safer than smaller ones.
|
||||
|
||||
"idex=noprobe" : do not attempt to access/use this interface
|
||||
|
||||
"idex=base" : probe for an interface at the addr specified,
|
||||
where "base" is usually 0x1f0 or 0x170
|
||||
and "ctl" is assumed to be "base"+0x206
|
||||
|
@ -307,53 +305,6 @@ Also for legacy CMD640 host driver (cmd640) you need to use "probe_vlb"
|
|||
kernel paremeter to enable probing for VLB version of the chipset (PCI ones
|
||||
are detected automatically).
|
||||
|
||||
================================================================================
|
||||
|
||||
IDE ATAPI streaming tape driver
|
||||
-------------------------------
|
||||
|
||||
This driver is a part of the Linux ide driver and works in co-operation
|
||||
with linux/drivers/block/ide.c.
|
||||
|
||||
The driver, in co-operation with ide.c, basically traverses the
|
||||
request-list for the block device interface. The character device
|
||||
interface, on the other hand, creates new requests, adds them
|
||||
to the request-list of the block device, and waits for their completion.
|
||||
|
||||
Pipelined operation mode is now supported on both reads and writes.
|
||||
|
||||
The block device major and minor numbers are determined from the
|
||||
tape's relative position in the ide interfaces, as explained in ide.c.
|
||||
|
||||
The character device interface consists of the following devices:
|
||||
|
||||
ht0 major 37, minor 0 first IDE tape, rewind on close.
|
||||
ht1 major 37, minor 1 second IDE tape, rewind on close.
|
||||
...
|
||||
nht0 major 37, minor 128 first IDE tape, no rewind on close.
|
||||
nht1 major 37, minor 129 second IDE tape, no rewind on close.
|
||||
...
|
||||
|
||||
Run /dev/MAKEDEV to create the above entries.
|
||||
|
||||
The general magnetic tape commands compatible interface, as defined by
|
||||
include/linux/mtio.h, is accessible through the character device.
|
||||
|
||||
General ide driver configuration options, such as the interrupt-unmask
|
||||
flag, can be configured by issuing an ioctl to the block device interface,
|
||||
as any other ide device.
|
||||
|
||||
Our own ide-tape ioctl's can be issued to either the block device or
|
||||
the character device interface.
|
||||
|
||||
Maximal throughput with minimal bus load will usually be achieved in the
|
||||
following scenario:
|
||||
|
||||
1. ide-tape is operating in the pipelined operation mode.
|
||||
2. No buffering is performed by the user backup program.
|
||||
|
||||
|
||||
|
||||
================================================================================
|
||||
|
||||
Some Terminology
|
||||
|
|
|
@ -11,69 +11,69 @@ comment or update of this file, please try to update Original(English)
|
|||
file at first.
|
||||
|
||||
==================================
|
||||
ããã¯ã
|
||||
これは、
|
||||
linux-2.6.24/Documentation/stable_kernel_rules.txt
|
||||
ã®å訳ã§ãã
|
||||
の和訳です。
|
||||
|
||||
翻訳å£ä½ï¼ JF ããã¸ã§ã¯ã < http://www.linux.or.jp/JF/ >
|
||||
翻訳æ¥ï¼ 2007/12/30
|
||||
翻訳è
ï¼ Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
|
||||
æ ¡æ£è
ï¼ æ¦äºä¼¸å
ããã<takei at webmasters dot gr dot jp>
|
||||
ããããã (Seiji Kaneko) <skaneko at a2 dot mbn dot or dot jp>
|
||||
å°æ é
å
¸ãã (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
|
||||
éå£ãã (Kenji Noguchi) <tokyo246 at gmail dot com>
|
||||
ç¥å®®ä¿¡å¤ªéãã <jin at libjingu dot jp>
|
||||
翻訳団体: JF プロジェクト < http://www.linux.or.jp/JF/ >
|
||||
翻訳日: 2007/12/30
|
||||
翻訳者: Tsugikazu Shibata <tshibata at ab dot jp dot nec dot com>
|
||||
校正者: 武井伸光さん、<takei at webmasters dot gr dot jp>
|
||||
かねこさん (Seiji Kaneko) <skaneko at a2 dot mbn dot or dot jp>
|
||||
小林 雅典さん (Masanori Kobayasi) <zap03216 at nifty dot ne dot jp>
|
||||
野口さん (Kenji Noguchi) <tokyo246 at gmail dot com>
|
||||
神宮信太郎さん <jin at libjingu dot jp>
|
||||
==================================
|
||||
|
||||
ãã£ã¨ç¥ãããã£ã Linux 2.6 -stable ãªãªã¼ã¹ã®å
¨ã¦
|
||||
ずっと知りたかった Linux 2.6 -stable リリースの全て
|
||||
|
||||
"-stable" ããªã¼ã«ã©ã®ãããªç¨®é¡ã®ããããåãå
¥ããããããã©ã®ãããª
|
||||
ãã®ãåãå
¥ããããªãããã«ã¤ãã¦ã®è¦å-
|
||||
"-stable" ツリーにどのような種類のパッチが受け入れられるか、どのような
|
||||
ものが受け入れられないか、についての規則-
|
||||
|
||||
- æããã«æ£ããããã¹ãããã¦ãããã®ã§ãªããã°ãªããªãã
|
||||
- æè(å¤æ´è¡ã®åå¾)ãå«ã㦠100 è¡ãã大ããã¦ã¯ãããªãã
|
||||
- ãã ä¸åã®ãã¨ã ããä¿®æ£ãã¦ããã¹ãã
|
||||
- çãæ©ã¾ãã¦ããæ¬ç©ã®ãã°ãä¿®æ£ããªããã°ãªããªãã("ããã¯ãã°ã§
|
||||
ãããããããªãã..." ã®ãããªãã®ã§ã¯ãªã)
|
||||
- ãã«ãã¨ã©ã¼(CONFIG_BROKENã«ãªã£ã¦ãããã®ãé¤ã), oops, ãã³ã°ããã¼
|
||||
ã¿ç ´å£ãç¾å®ã®ã»ãã¥ãªãã£åé¡ããã®ä» "ãããããã¯ãã¡ã ã"ã¨ãã
|
||||
ãããªãã®ãä¿®æ£ããªããã°ãªããªããçãè¨ãã°ãé大ãªåé¡ã
|
||||
- ã©ã®ããã«ç«¶åç¶æ
ãçºçãããã®èª¬æãä¸ç·ã«æ¸ããã¦ããªãéãã
|
||||
"çè«çã«ã¯ç«¶åç¶æ
ã«ãªã"ãããªãã®ã¯ä¸å¯ã
|
||||
- ãããªãäºç´°ãªä¿®æ£ãå«ãããã¨ã¯ã§ããªãã(ã¹ãã«ã®ä¿®æ£ã空ç½ã®ã¯ãªã¼
|
||||
ã³ã¢ãããªã©)
|
||||
- 対å¿ãããµãã·ã¹ãã ã¡ã³ãããåãå
¥ãããã®ã§ãªããã°ãªããªãã
|
||||
- Documentation/SubmittingPatches ã®è¦åã«å¾ã£ããã®ã§ãªããã°ãªããªãã
|
||||
- 明らかに正しく、テストされているものでなければならない。
|
||||
- 文脈(変更行の前後)を含めて 100 行より大きくてはいけない。
|
||||
- ただ一個のことだけを修正しているべき。
|
||||
- 皆を悩ませている本物のバグを修正しなければならない。("これはバグで
|
||||
あるかもしれないが..." のようなものではない)
|
||||
- ビルドエラー(CONFIG_BROKENになっているものを除く), oops, ハング、デー
|
||||
タ破壊、現実のセキュリティ問題、その他 "ああ、これはダメだね"という
|
||||
ようなものを修正しなければならない。短く言えば、重大な問題。
|
||||
- どのように競合状態が発生するかの説明も一緒に書かれていない限り、
|
||||
"理論的には競合状態になる"ようなものは不可。
|
||||
- いかなる些細な修正も含めることはできない。(スペルの修正、空白のクリー
|
||||
ンアップなど)
|
||||
- 対応するサブシステムメンテナが受け入れたものでなければならない。
|
||||
- Documentation/SubmittingPatches の規則に従ったものでなければならない。
|
||||
|
||||
-stable ããªã¼ã«ããããéä»ããæç¶ã-
|
||||
-stable ツリーにパッチを送付する手続き-
|
||||
|
||||
- ä¸è¨ã®è¦åã«å¾ã£ã¦ãããã確èªããå¾ã«ãstable@kernel.org ã«ããã
|
||||
ãéãã
|
||||
- éä¿¡è
ã¯ãããããã¥ã¼ã«åãä»ããããéã«ã¯ ACK ããå´ä¸ãããå ´å
|
||||
ã«ã¯ NAK ãåãåãããã®åå¿ã¯éçºè
ãã¡ã®ã¹ã±ã¸ã¥ã¼ã«ã«ãã£ã¦ãæ°
|
||||
æ¥ãããå ´åãããã
|
||||
- ããåãåããããããããã¯ä»ã®éçºè
ãã¡ã®ã¬ãã¥ã¼ã®ããã«
|
||||
-stable ãã¥ã¼ã«è¿½å ãããã
|
||||
- ã»ãã¥ãªãã£ãããã¯ãã®ã¨ã¤ãªã¢ã¹ (stable@kernel.org) ã«éãããã¹
|
||||
ãã§ã¯ãªãã代ããã« security@kernel.org ã®ã¢ãã¬ã¹ã«éãããã
|
||||
- 上記の規則に従っているかを確認した後に、stable@kernel.org にパッチ
|
||||
を送る。
|
||||
- 送信者はパッチがキューに受け付けられた際には ACK を、却下された場合
|
||||
には NAK を受け取る。この反応は開発者たちのスケジュールによって、数
|
||||
日かかる場合がある。
|
||||
- もし受け取られたら、パッチは他の開発者たちのレビューのために
|
||||
-stable キューに追加される。
|
||||
- セキュリティパッチはこのエイリアス (stable@kernel.org) に送られるべ
|
||||
きではなく、代わりに security@kernel.org のアドレスに送られる。
|
||||
|
||||
ã¬ãã¥ã¼ãµã¤ã¯ã«-
|
||||
レビューサイクル-
|
||||
|
||||
- -stable ã¡ã³ãããã¬ãã¥ã¼ãµã¤ã¯ã«ã決ããã¨ãããããã¯ã¬ãã¥ã¼å§
|
||||
å¡ä¼ã¨ããããå½±é¿ããé åã®ã¡ã³ãã(æä¾è
ããã®é åã®ã¡ã³ããã§ç¡
|
||||
ãéã)ã«éãããlinux-kernel ã¡ã¼ãªã³ã°ãªã¹ãã«CCãããã
|
||||
- ã¬ãã¥ã¼å§å¡ä¼ã¯ 48æéã®éã« ACK ã NAK ãåºãã
|
||||
- ããããããå§å¡ä¼ã®ã¡ã³ãããå´ä¸ããããã¡ã³ããéãã¡ã³ããæ°ä»
|
||||
ããªãã£ãåé¡ãæã¡ããããlinux-kernel ã¡ã³ãããããã«ç°è°ãå±ã
|
||||
ãå ´åã«ã¯ããããã¯ãã¥ã¼ããåé¤ãããã
|
||||
- ã¬ãã¥ã¼ãµã¤ã¯ã«ã®æå¾ã«ãACK ãåãããããã¯ææ°ã® -stable ãªãªã¼
|
||||
ã¹ã«è¿½å ããããã®å¾ã«æ°ãã -stable ãªãªã¼ã¹ãè¡ãããã
|
||||
- ã»ãã¥ãªãã£ãããã¯ãé常ã®ã¬ãã¥ã¼ãµã¤ã¯ã«ãéãããã»ãã¥ãªãã£
|
||||
ã«ã¼ãã«ãã¼ã ããç´æ¥ -stable ããªã¼ã«åãä»ããããã
|
||||
ãã®æç¶ãã®è©³ç´°ã«ã¤ãã¦ã¯ kernel security ãã¼ã ã«åãåããããã¨ã
|
||||
- -stable メンテナがレビューサイクルを決めるとき、パッチはレビュー委
|
||||
員会とパッチが影響する領域のメンテナ(提供者がその領域のメンテナで無
|
||||
い限り)に送られ、linux-kernel メーリングリストにCCされる。
|
||||
- レビュー委員会は 48時間の間に ACK か NAK を出す。
|
||||
- もしパッチが委員会のメンバから却下されるか、メンテナ達やメンバが気付
|
||||
かなかった問題が持ちあがり、linux-kernel メンバがパッチに異議を唱え
|
||||
た場合には、パッチはキューから削除される。
|
||||
- レビューサイクルの最後に、ACK を受けたパッチは最新の -stable リリー
|
||||
スに追加され、その後に新しい -stable リリースが行われる。
|
||||
- セキュリティパッチは、通常のレビューサイクルを通らず、セキュリティ
|
||||
カーネルチームから直接 -stable ツリーに受け付けられる。
|
||||
この手続きの詳細については kernel security チームに問い合わせること。
|
||||
|
||||
ã¬ãã¥ã¼å§å¡ä¼-
|
||||
レビュー委員会-
|
||||
|
||||
- ãã®å§å¡ä¼ã¯ããã®ã¿ã¹ã¯ã«ã¤ãã¦æ´»åããå¤ãã®ãã©ã³ãã£ã¢ã¨ãå°æ°ã®
|
||||
éãã©ã³ãã£ã¢ã®ã«ã¼ãã«éçºè
éã§æ§æããã¦ããã
|
||||
- この委員会は、このタスクについて活動する多くのボランティアと、少数の
|
||||
非ボランティアのカーネル開発者達で構成されている。
|
||||
|
||||
|
|
|
@ -950,6 +950,41 @@ and is between 256 and 4096 characters. It is defined in the file
|
|||
when set.
|
||||
Format: <int>
|
||||
|
||||
libata.force= [LIBATA] Force configurations. The format is comma
|
||||
separated list of "[ID:]VAL" where ID is
|
||||
PORT[:DEVICE]. PORT and DEVICE are decimal numbers
|
||||
matching port, link or device. Basically, it matches
|
||||
the ATA ID string printed on console by libata. If
|
||||
the whole ID part is omitted, the last PORT and DEVICE
|
||||
values are used. If ID hasn't been specified yet, the
|
||||
configuration applies to all ports, links and devices.
|
||||
|
||||
If only DEVICE is omitted, the parameter applies to
|
||||
the port and all links and devices behind it. DEVICE
|
||||
number of 0 either selects the first device or the
|
||||
first fan-out link behind PMP device. It does not
|
||||
select the host link. DEVICE number of 15 selects the
|
||||
host link and device attached to it.
|
||||
|
||||
The VAL specifies the configuration to force. As long
|
||||
as there's no ambiguity shortcut notation is allowed.
|
||||
For example, both 1.5 and 1.5G would work for 1.5Gbps.
|
||||
The following configurations can be forced.
|
||||
|
||||
* Cable type: 40c, 80c, short40c, unk, ign or sata.
|
||||
Any ID with matching PORT is used.
|
||||
|
||||
* SATA link speed limit: 1.5Gbps or 3.0Gbps.
|
||||
|
||||
* Transfer mode: pio[0-7], mwdma[0-4] and udma[0-7].
|
||||
udma[/][16,25,33,44,66,100,133] notation is also
|
||||
allowed.
|
||||
|
||||
* [no]ncq: Turn on or off NCQ.
|
||||
|
||||
If there are multiple matching configurations changing
|
||||
the same attribute, the last one is used.
|
||||
|
||||
load_ramdisk= [RAM] List of ramdisks to load from floppy
|
||||
See Documentation/ramdisk.txt.
|
||||
|
||||
|
@ -1056,8 +1091,6 @@ and is between 256 and 4096 characters. It is defined in the file
|
|||
[SCSI] Maximum number of LUNs received.
|
||||
Should be between 1 and 16384.
|
||||
|
||||
mca-pentium [BUGS=X86-32]
|
||||
|
||||
mcatest= [IA-64]
|
||||
|
||||
mce [X86-32] Machine Check Exception
|
||||
|
|
|
@ -160,7 +160,7 @@ Hot keys
|
|||
procfs: /proc/acpi/ibm/hotkey
|
||||
sysfs device attribute: hotkey_*
|
||||
|
||||
In a ThinkPad, the ACPI HKEY handler is responsible for comunicating
|
||||
In a ThinkPad, the ACPI HKEY handler is responsible for communicating
|
||||
some important events and also keyboard hot key presses to the operating
|
||||
system. Enabling the hotkey functionality of thinkpad-acpi signals the
|
||||
firmware that such a driver is present, and modifies how the ThinkPad
|
||||
|
@ -193,7 +193,7 @@ Not all bits in the mask can be modified. Not all bits that can be
|
|||
modified do anything. Not all hot keys can be individually controlled
|
||||
by the mask. Some models do not support the mask at all, and in those
|
||||
models, hot keys cannot be controlled individually. The behaviour of
|
||||
the mask is, therefore, higly dependent on the ThinkPad model.
|
||||
the mask is, therefore, highly dependent on the ThinkPad model.
|
||||
|
||||
Note that unmasking some keys prevents their default behavior. For
|
||||
example, if Fn+F5 is unmasked, that key will no longer enable/disable
|
||||
|
@ -288,7 +288,7 @@ sysfs notes:
|
|||
in ACPI event mode, volume up/down/mute are reported as
|
||||
separate events, but this behaviour may be corrected in
|
||||
future releases of this driver, in which case the
|
||||
ThinkPad volume mixer user interface semanthics will be
|
||||
ThinkPad volume mixer user interface semantics will be
|
||||
enforced.
|
||||
|
||||
hotkey_poll_freq:
|
||||
|
@ -306,13 +306,20 @@ sysfs notes:
|
|||
The recommended polling frequency is 10Hz.
|
||||
|
||||
hotkey_radio_sw:
|
||||
if the ThinkPad has a hardware radio switch, this
|
||||
If the ThinkPad has a hardware radio switch, this
|
||||
attribute will read 0 if the switch is in the "radios
|
||||
disabled" postition, and 1 if the switch is in the
|
||||
disabled" position, and 1 if the switch is in the
|
||||
"radios enabled" position.
|
||||
|
||||
This attribute has poll()/select() support.
|
||||
|
||||
hotkey_tablet_mode:
|
||||
If the ThinkPad has tablet capabilities, this attribute
|
||||
will read 0 if the ThinkPad is in normal mode, and
|
||||
1 if the ThinkPad is in tablet mode.
|
||||
|
||||
This attribute has poll()/select() support.
|
||||
|
||||
hotkey_report_mode:
|
||||
Returns the state of the procfs ACPI event report mode
|
||||
filter for hot keys. If it is set to 1 (the default),
|
||||
|
@ -339,7 +346,7 @@ sysfs notes:
|
|||
wakeup_hotunplug_complete:
|
||||
Set to 1 if the system was waken up because of an
|
||||
undock or bay ejection request, and that request
|
||||
was sucessfully completed. At this point, it might
|
||||
was successfully completed. At this point, it might
|
||||
be useful to send the system back to sleep, at the
|
||||
user's choice. Refer to HKEY events 0x4003 and
|
||||
0x3003, below.
|
||||
|
@ -392,7 +399,7 @@ event code Key Notes
|
|||
Lenovo: battery
|
||||
|
||||
0x1004 0x03 FN+F4 Sleep button (ACPI sleep button
|
||||
semanthics, i.e. sleep-to-RAM).
|
||||
semantics, i.e. sleep-to-RAM).
|
||||
It is always generate some kind
|
||||
of event, either the hot key
|
||||
event or a ACPI sleep button
|
||||
|
@ -403,12 +410,12 @@ event code Key Notes
|
|||
time passes.
|
||||
|
||||
0x1005 0x04 FN+F5 Radio. Enables/disables
|
||||
the internal BlueTooth hardware
|
||||
the internal Bluetooth hardware
|
||||
and W-WAN card if left in control
|
||||
of the firmware. Does not affect
|
||||
the WLAN card.
|
||||
Should be used to turn on/off all
|
||||
radios (bluetooth+W-WAN+WLAN),
|
||||
radios (Bluetooth+W-WAN+WLAN),
|
||||
really.
|
||||
|
||||
0x1006 0x05 FN+F6 -
|
||||
|
@ -417,7 +424,7 @@ event code Key Notes
|
|||
Do you feel lucky today?
|
||||
|
||||
0x1008 0x07 FN+F8 IBM: toggle screen expand
|
||||
Lenovo: configure ultranav
|
||||
Lenovo: configure UltraNav
|
||||
|
||||
0x1009 0x08 FN+F9 -
|
||||
.. .. ..
|
||||
|
@ -447,7 +454,7 @@ event code Key Notes
|
|||
0x1011 0x10 FN+END Brightness down. See brightness
|
||||
up for details.
|
||||
|
||||
0x1012 0x11 FN+PGUP Thinklight toggle. This key is
|
||||
0x1012 0x11 FN+PGUP ThinkLight toggle. This key is
|
||||
always handled by the firmware,
|
||||
even when unmasked.
|
||||
|
||||
|
@ -469,7 +476,7 @@ event code Key Notes
|
|||
key is always handled by the
|
||||
firmware, even when unmasked.
|
||||
|
||||
0x1018 0x17 THINKPAD Thinkpad/Access IBM/Lenovo key
|
||||
0x1018 0x17 THINKPAD ThinkPad/Access IBM/Lenovo key
|
||||
|
||||
0x1019 0x18 unknown
|
||||
.. .. ..
|
||||
|
@ -488,9 +495,17 @@ If a key is mapped to KEY_UNKNOWN, it generates an input event that
|
|||
includes an scan code. If a key is mapped to anything else, it will
|
||||
generate input device EV_KEY events.
|
||||
|
||||
In addition to the EV_KEY events, thinkpad-acpi may also issue EV_SW
|
||||
events for switches:
|
||||
|
||||
SW_RADIO T60 and later hardare rfkill rocker switch
|
||||
SW_TABLET_MODE Tablet ThinkPads HKEY events 0x5009 and 0x500A
|
||||
|
||||
Non hot-key ACPI HKEY event map:
|
||||
0x5001 Lid closed
|
||||
0x5002 Lid opened
|
||||
0x5009 Tablet swivel: switched to tablet mode
|
||||
0x500A Tablet swivel: switched to normal mode
|
||||
0x7000 Radio Switch may have changed state
|
||||
|
||||
The above events are not propagated by the driver, except for legacy
|
||||
|
@ -505,9 +520,7 @@ The above events are never propagated by the driver.
|
|||
|
||||
0x3003 Bay ejection (see 0x2x05) complete, can sleep again
|
||||
0x4003 Undocked (see 0x2x04), can sleep again
|
||||
0x5009 Tablet swivel: switched to tablet mode
|
||||
0x500A Tablet swivel: switched to normal mode
|
||||
0x500B Tablet pen insterted into its storage bay
|
||||
0x500B Tablet pen inserted into its storage bay
|
||||
0x500C Tablet pen removed from its storage bay
|
||||
0x5010 Brightness level changed (newer Lenovo BIOSes)
|
||||
|
||||
|
@ -539,7 +552,7 @@ sysfs (it is read-only).
|
|||
If the hotkey_report_mode module parameter is set to 1 or 2, it cannot
|
||||
be changed later through sysfs (any writes will return -EPERM to signal
|
||||
that hotkey_report_mode was locked. On 2.6.23 and later, where
|
||||
hotkey_report_mode cannot be changed at all, writes will return -EACES).
|
||||
hotkey_report_mode cannot be changed at all, writes will return -EACCES).
|
||||
|
||||
hotkey_report_mode set to 1 makes the driver export through the procfs
|
||||
ACPI event interface all hot key presses (which are *also* sent to the
|
||||
|
@ -584,7 +597,7 @@ Sysfs notes:
|
|||
0: disables Bluetooth / Bluetooth is disabled
|
||||
1: enables Bluetooth / Bluetooth is enabled.
|
||||
|
||||
Note: this interface will be probably be superseeded by the
|
||||
Note: this interface will be probably be superseded by the
|
||||
generic rfkill class, so it is NOT to be considered stable yet.
|
||||
|
||||
Video output control -- /proc/acpi/ibm/video
|
||||
|
@ -791,12 +804,12 @@ on the X40 (tpb is the ThinkPad Buttons utility):
|
|||
1 - Related to "Volume up" key press
|
||||
2 - Related to "Mute on" key press
|
||||
3 - Related to "Access IBM" key press
|
||||
4 - Related to "LCD brightness up" key pess
|
||||
4 - Related to "LCD brightness up" key press
|
||||
5 - Related to "LCD brightness down" key press
|
||||
11 - Related to "toggle screen expansion" key press/function
|
||||
12 - Related to "ThinkLight on"
|
||||
13 - Related to "ThinkLight off"
|
||||
14 - Related to "ThinkLight" key press (toggle thinklight)
|
||||
14 - Related to "ThinkLight" key press (toggle ThinkLight)
|
||||
|
||||
The cmos command interface is prone to firmware split-brain problems, as
|
||||
in newer ThinkPads it is just a compatibility layer. Do not use it, it is
|
||||
|
@ -1024,7 +1037,7 @@ There are two interfaces to the firmware for direct brightness control,
|
|||
EC and CMOS. To select which one should be used, use the
|
||||
brightness_mode module parameter: brightness_mode=1 selects EC mode,
|
||||
brightness_mode=2 selects CMOS mode, brightness_mode=3 selects both EC
|
||||
and CMOS. The driver tries to autodetect which interface to use.
|
||||
and CMOS. The driver tries to auto-detect which interface to use.
|
||||
|
||||
When display backlight brightness controls are available through the
|
||||
standard ACPI interface, it is best to use it instead of this direct
|
||||
|
@ -1266,8 +1279,8 @@ experimental=1 parameter when loading the module.
|
|||
This feature shows the presence and current state of a W-WAN (Sierra
|
||||
Wireless EV-DO) device.
|
||||
|
||||
It was tested on a Lenovo Thinkpad X60. It should probably work on other
|
||||
Thinkpad models which come with this module installed.
|
||||
It was tested on a Lenovo ThinkPad X60. It should probably work on other
|
||||
ThinkPad models which come with this module installed.
|
||||
|
||||
Procfs notes:
|
||||
|
||||
|
@ -1286,7 +1299,7 @@ Sysfs notes:
|
|||
0: disables WWAN card / WWAN card is disabled
|
||||
1: enables WWAN card / WWAN card is enabled.
|
||||
|
||||
Note: this interface will be probably be superseeded by the
|
||||
Note: this interface will be probably be superseded by the
|
||||
generic rfkill class, so it is NOT to be considered stable yet.
|
||||
|
||||
Multiple Commands, Module Parameters
|
||||
|
@ -1309,7 +1322,7 @@ Enabling debugging output
|
|||
The module takes a debug parameter which can be used to selectively
|
||||
enable various classes of debugging output, for example:
|
||||
|
||||
modprobe ibm_acpi debug=0xffff
|
||||
modprobe thinkpad_acpi debug=0xffff
|
||||
|
||||
will enable all debugging output classes. It takes a bitmask, so
|
||||
to enable more than one output class, just add their values.
|
||||
|
@ -1356,7 +1369,7 @@ Sysfs interface changelog:
|
|||
NVRAM is compiled out by the user because it is
|
||||
unneeded/undesired in the first place).
|
||||
0x020101: Marker for thinkpad-acpi with hot key NVRAM polling
|
||||
and proper hotkey_mask semanthics (version 8 of the
|
||||
and proper hotkey_mask semantics (version 8 of the
|
||||
NVRAM polling patch). Some development snapshots of
|
||||
0.18 had an earlier version that did strange things
|
||||
to hotkey_mask.
|
||||
|
|
|
@ -1493,7 +1493,7 @@ explicit lock operations, described later). These include:
|
|||
atomic_dec_and_test();
|
||||
atomic_sub_and_test();
|
||||
atomic_add_negative();
|
||||
atomic_add_unless();
|
||||
atomic_add_unless(); /* when succeeds (returns 1) */
|
||||
test_and_set_bit();
|
||||
test_and_clear_bit();
|
||||
test_and_change_bit();
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
TCP protocol
|
||||
============
|
||||
|
||||
Last updated: 21 June 2005
|
||||
Last updated: 9 February 2008
|
||||
|
||||
Contents
|
||||
========
|
||||
|
@ -52,9 +52,9 @@ research and RFC's before developing new modules.
|
|||
The method that is used to determine which congestion control mechanism is
|
||||
determined by the setting of the sysctl net.ipv4.tcp_congestion_control.
|
||||
The default congestion control will be the last one registered (LIFO);
|
||||
so if you built everything as modules. the default will be reno. If you
|
||||
build with the default's from Kconfig, then BIC will be builtin (not a module)
|
||||
and it will end up the default.
|
||||
so if you built everything as modules, the default will be reno. If you
|
||||
build with the defaults from Kconfig, then CUBIC will be builtin (not a
|
||||
module) and it will end up the default.
|
||||
|
||||
If you really want a particular default value then you will need
|
||||
to set it with the sysctl. If you use a sysctl, the module will be autoloaded
|
||||
|
|
|
@ -310,9 +310,12 @@ used with suspend-to-disk:
|
|||
PM_EVENT_SUSPEND -- quiesce the driver and put hardware into a low-power
|
||||
state. When used with system sleep states like "suspend-to-RAM" or
|
||||
"standby", the upcoming resume() call will often be able to rely on
|
||||
state kept in hardware, or issue system wakeup events. When used
|
||||
instead with suspend-to-disk, few devices support this capability;
|
||||
most are completely powered off.
|
||||
state kept in hardware, or issue system wakeup events.
|
||||
|
||||
PM_EVENT_HIBERNATE -- Put hardware into a low-power state and enable wakeup
|
||||
events as appropriate. It is only used with hibernation
|
||||
(suspend-to-disk) and few devices are able to wake up the system from
|
||||
this state; most are completely powered off.
|
||||
|
||||
PM_EVENT_FREEZE -- quiesce the driver, but don't necessarily change into
|
||||
any low power mode. A system snapshot is about to be taken, often
|
||||
|
@ -329,8 +332,8 @@ used with suspend-to-disk:
|
|||
wakeup events nor DMA are allowed.
|
||||
|
||||
To enter "standby" (ACPI S1) or "Suspend to RAM" (STR, ACPI S3) states, or
|
||||
the similarly named APM states, only PM_EVENT_SUSPEND is used; for "Suspend
|
||||
to Disk" (STD, hibernate, ACPI S4), all of those event codes are used.
|
||||
the similarly named APM states, only PM_EVENT_SUSPEND is used; the other event
|
||||
codes are used for hibernation ("Suspend to Disk", STD, ACPI S4).
|
||||
|
||||
There's also PM_EVENT_ON, a value which never appears as a suspend event
|
||||
but is sometimes used to record the "not suspended" device state.
|
||||
|
|
|
@ -16,8 +16,9 @@ Rules on what kind of patches are accepted, and which ones are not, into the
|
|||
race can be exploited is also provided.
|
||||
- It cannot contain any "trivial" fixes in it (spelling changes,
|
||||
whitespace cleanups, etc).
|
||||
- It must be accepted by the relevant subsystem maintainer.
|
||||
- It must follow the Documentation/SubmittingPatches rules.
|
||||
- It or an equivalent fix must already exist in Linus' tree. Quote the
|
||||
respective commit ID in Linus' tree in your patch submission to -stable.
|
||||
|
||||
|
||||
Procedure for submitting patches to the -stable tree:
|
||||
|
@ -28,7 +29,9 @@ Procedure for submitting patches to the -stable tree:
|
|||
queue, or a NAK if the patch is rejected. This response might take a few
|
||||
days, according to the developer's schedules.
|
||||
- If accepted, the patch will be added to the -stable queue, for review by
|
||||
other developers.
|
||||
other developers and by the relevant subsystem maintainer.
|
||||
- If the stable@kernel.org address is added to a patch, when it goes into
|
||||
Linus's tree it will automatically be emailed to the stable team.
|
||||
- Security patches should not be sent to this alias, but instead to the
|
||||
documented security@kernel.org address.
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
7 -> Leadtek Winfast USB II (em2800)
|
||||
8 -> Kworld USB2800 (em2800)
|
||||
9 -> Pinnacle Dazzle DVC 90/DVC 100 (em2820/em2840) [2304:0207,2304:021a]
|
||||
10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500]
|
||||
10 -> Hauppauge WinTV HVR 900 (em2880) [2040:6500,2040:6502]
|
||||
11 -> Terratec Hybrid XS (em2880) [0ccd:0042]
|
||||
12 -> Kworld PVR TV 2800 RF (em2820/em2840)
|
||||
13 -> Terratec Prodigy XS (em2880) [0ccd:0047]
|
||||
|
|
|
@ -92,9 +92,9 @@
|
|||
91 -> AVerMedia A169 B [1461:7360]
|
||||
92 -> AVerMedia A169 B1 [1461:6360]
|
||||
93 -> Medion 7134 Bridge #2 [16be:0005]
|
||||
94 -> LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB [5168:3306,5168:3502,4e42:3502]
|
||||
94 -> LifeView FlyDVB-T Hybrid Cardbus/MSI TV @nywhere A/D NB [5168:3306,5168:3502,5168:3307,4e42:3502]
|
||||
95 -> LifeView FlyVIDEO3000 (NTSC) [5169:0138]
|
||||
96 -> Medion Md8800 Quadro [16be:0007,16be:0008]
|
||||
96 -> Medion Md8800 Quadro [16be:0007,16be:0008,16be:000d]
|
||||
97 -> LifeView FlyDVB-S /Acorp TV134DS [5168:0300,4e42:0300]
|
||||
98 -> Proteus Pro 2309 [0919:2003]
|
||||
99 -> AVerMedia TV Hybrid A16AR [1461:2c00]
|
||||
|
@ -129,3 +129,5 @@
|
|||
128 -> Beholder BeholdTV Columbus TVFM [0000:5201]
|
||||
129 -> Beholder BeholdTV 607 / BeholdTV 609 [5ace:6070,5ace:6071,5ace:6072,5ace:6073,5ace:6090,5ace:6091,5ace:6092,5ace:6093]
|
||||
130 -> Beholder BeholdTV M6 / BeholdTV M6 Extra [5ace:6190,5ace:6193]
|
||||
131 -> Twinhan Hybrid DTV-DVB 3056 PCI [1822:0022]
|
||||
132 -> Genius TVGO AM11MCE
|
||||
|
|
|
@ -25,7 +25,7 @@ modprobe zr364xx debug=X mode=Y
|
|||
- debug : set to 1 to enable verbose debug messages
|
||||
- mode : 0 = 320x240, 1 = 160x120, 2 = 640x480
|
||||
You can then use the camera with V4L2 compatible applications, for example Ekiga.
|
||||
To capture a single image, try this: dd if=/dev/video0 of=test.jpg bs=1 count=1
|
||||
To capture a single image, try this: dd if=/dev/video0 of=test.jpg bs=1M count=1
|
||||
|
||||
links :
|
||||
http://mxhaard.free.fr/ (support for many others cams including some Aiptek PocketDV)
|
||||
|
@ -63,3 +63,5 @@ Vendor Product Distributor Model
|
|||
0x06d6 0x0034 Trust Powerc@m 750
|
||||
0x0a17 0x0062 Pentax Optio 50L
|
||||
0x06d6 0x003b Trust Powerc@m 970Z
|
||||
0x0a17 0x004e Pentax Optio 50
|
||||
0x041e 0x405d Creative DiVi CAM 516
|
||||
|
|
|
@ -1123,7 +1123,7 @@ void read_slab_dir(void)
|
|||
char *t;
|
||||
int count;
|
||||
|
||||
if (chdir("/sys/kernel/slab"))
|
||||
if (chdir("/sys/kernel/slab") && chdir("/sys/slab"))
|
||||
fatal("SYSFS support for SLUB not active\n");
|
||||
|
||||
dir = opendir(".");
|
||||
|
|
68
MAINTAINERS
68
MAINTAINERS
|
@ -640,8 +640,8 @@ S: Maintained
|
|||
ASYNCHRONOUS TRANSFERS/TRANSFORMS API
|
||||
P: Dan Williams
|
||||
M: dan.j.williams@intel.com
|
||||
P: Shannon Nelson
|
||||
M: shannon.nelson@intel.com
|
||||
P: Maciej Sosnowski
|
||||
M: maciej.sosnowski@intel.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
W: http://sourceforge.net/projects/xscaleiop
|
||||
S: Supported
|
||||
|
@ -697,7 +697,7 @@ S: Supported
|
|||
ATMEL LCDFB DRIVER
|
||||
P: Nicolas Ferre
|
||||
M: nicolas.ferre@atmel.com
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
ATMEL MACB ETHERNET DRIVER
|
||||
|
@ -767,14 +767,14 @@ S: Maintained
|
|||
|
||||
BLACKFIN ARCHITECTURE
|
||||
P: Bryan Wu
|
||||
M: bryan.wu@analog.com
|
||||
M: cooloney@kernel.org
|
||||
L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
|
||||
W: http://blackfin.uclinux.org
|
||||
S: Supported
|
||||
|
||||
BLACKFIN EMAC DRIVER
|
||||
P: Bryan Wu
|
||||
M: bryan.wu@analog.com
|
||||
M: cooloney@kernel.org
|
||||
L: uclinux-dist-devel@blackfin.uclinux.org (subscribers-only)
|
||||
W: http://blackfin.uclinux.org
|
||||
S: Supported
|
||||
|
@ -982,6 +982,12 @@ M: mchan@broadcom.com
|
|||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
|
||||
BROADCOM BNX2X 10 GIGABIT ETHERNET DRIVER
|
||||
P: Eliezer Tamir
|
||||
M: eliezert@broadcom.com
|
||||
L: netdev@vger.kernel.org
|
||||
S: Supported
|
||||
|
||||
BROADCOM TG3 GIGABIT ETHERNET DRIVER
|
||||
P: Michael Chan
|
||||
M: mchan@broadcom.com
|
||||
|
@ -1202,7 +1208,7 @@ S: Maintained
|
|||
CYBLAFB FRAMEBUFFER DRIVER
|
||||
P: Knut Petersen
|
||||
M: Knut_Petersen@t-online.de
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
CYCLADES 2X SYNC CARD DRIVER
|
||||
|
@ -1324,8 +1330,7 @@ P: David Teigland
|
|||
M: teigland@redhat.com
|
||||
L: cluster-devel@redhat.com
|
||||
W: http://sources.redhat.com/cluster/
|
||||
T: git kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes.git
|
||||
T: git kernel.org:/pub/scm/linux/kernel/git/steve/gfs2-2.6-nmw.git
|
||||
T: git kernel.org:/pub/scm/linux/kernel/git/teigland/dlm.git
|
||||
S: Supported
|
||||
|
||||
DAVICOM FAST ETHERNET (DMFE) NETWORK DRIVER
|
||||
|
@ -1335,8 +1340,8 @@ L: netdev@vger.kernel.org
|
|||
S: Maintained
|
||||
|
||||
DMA GENERIC OFFLOAD ENGINE SUBSYSTEM
|
||||
P: Shannon Nelson
|
||||
M: shannon.nelson@intel.com
|
||||
P: Maciej Sosnowski
|
||||
M: maciej.sosnowski@intel.com
|
||||
P: Dan Williams
|
||||
M: dan.j.williams@intel.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
|
@ -1580,7 +1585,7 @@ S: Supported
|
|||
FRAMEBUFFER LAYER
|
||||
P: Antonino Daplas
|
||||
M: adaplas@gmail.com
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
W: http://linux-fbdev.sourceforge.net/
|
||||
S: Maintained
|
||||
|
||||
|
@ -1713,9 +1718,7 @@ T: git lm-sensors.org:/kernel/mhoffman/hwmon-2.6.git release
|
|||
S: Maintained
|
||||
|
||||
HARDWARE RANDOM NUMBER GENERATOR CORE
|
||||
P: Michael Buesch
|
||||
M: mb@bu3sch.de
|
||||
S: Maintained
|
||||
S: Orphaned
|
||||
|
||||
HARD DRIVE ACTIVE PROTECTION SYSTEM (HDAPS) DRIVER
|
||||
P: Robert Love
|
||||
|
@ -1924,7 +1927,7 @@ S: Maintained
|
|||
|
||||
IDE/ATAPI CDROM DRIVER
|
||||
P: Borislav Petkov
|
||||
M: bbpetkov@yahoo.de
|
||||
M: petkovbb@gmail.com
|
||||
L: linux-ide@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
|
@ -1965,7 +1968,7 @@ L: linux1394-devel@lists.sourceforge.net
|
|||
S: Maintained
|
||||
|
||||
IMS TWINTURBO FRAMEBUFFER DRIVER
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Orphan
|
||||
|
||||
INFINIBAND SUBSYSTEM
|
||||
|
@ -1999,13 +2002,13 @@ S: Maintained
|
|||
INTEL FRAMEBUFFER DRIVER (excluding 810 and 815)
|
||||
P: Sylvain Meyer
|
||||
M: sylvain.meyer@worldonline.fr
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
INTEL 810/815 FRAMEBUFFER DRIVER
|
||||
P: Antonino Daplas
|
||||
M: adaplas@gmail.com
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
INTEL IA32 MICROCODE UPDATE SUPPORT
|
||||
|
@ -2014,8 +2017,8 @@ M: tigran@aivazian.fsnet.co.uk
|
|||
S: Maintained
|
||||
|
||||
INTEL I/OAT DMA DRIVER
|
||||
P: Shannon Nelson
|
||||
M: shannon.nelson@intel.com
|
||||
P: Maciej Sosnowski
|
||||
M: maciej.sosnowski@intel.com
|
||||
L: linux-kernel@vger.kernel.org
|
||||
S: Supported
|
||||
|
||||
|
@ -2601,7 +2604,7 @@ S: Odd Fixes for 2.4; Maintained for 2.6.
|
|||
MATROX FRAMEBUFFER DRIVER
|
||||
P: Petr Vandrovec
|
||||
M: vandrove@vc.cvut.cz
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
MAX6650 HARDWARE MONITOR AND FAN CONTROLLER DRIVER
|
||||
|
@ -2747,6 +2750,8 @@ S: Maintained
|
|||
NETEFFECT IWARP RNIC DRIVER (IW_NES)
|
||||
P: Faisal Latif
|
||||
M: flatif@neteffect.com
|
||||
P: Nishi Gupta
|
||||
M: ngupta@neteffect.com
|
||||
P: Glenn Streiff
|
||||
M: gstreiff@neteffect.com
|
||||
L: general@lists.openfabrics.org
|
||||
|
@ -2910,7 +2915,7 @@ S: Maintained
|
|||
NVIDIA (rivafb and nvidiafb) FRAMEBUFFER DRIVER
|
||||
P: Antonino Daplas
|
||||
M: adaplas@gmail.com
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
OPENCORES I2C BUS DRIVER
|
||||
|
@ -3239,13 +3244,13 @@ S: Maintained
|
|||
RADEON FRAMEBUFFER DISPLAY DRIVER
|
||||
P: Benjamin Herrenschmidt
|
||||
M: benh@kernel.crashing.org
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
RAGE128 FRAMEBUFFER DISPLAY DRIVER
|
||||
P: Paul Mackerras
|
||||
M: paulus@samba.org
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
RAYLINK/WEBGEAR 802.11 WIRELESS LAN DRIVER
|
||||
|
@ -3350,7 +3355,7 @@ S: Maintained
|
|||
S3 SAVAGE FRAMEBUFFER DRIVER
|
||||
P: Antonino Daplas
|
||||
M: adaplas@gmail.com
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (subscribers-only)
|
||||
L: linux-fbdev-devel@lists.sourceforge.net (moderated for non-subscribers)
|
||||
S: Maintained
|
||||
|
||||
S390
|
||||
|
@ -3887,10 +3892,13 @@ M: trivial@kernel.org
|
|||
L: linux-kernel@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
TULIP NETWORK DRIVER
|
||||
L: tulip-users@lists.sourceforge.net
|
||||
W: http://sourceforge.net/projects/tulip/
|
||||
S: Orphan
|
||||
TULIP NETWORK DRIVERS
|
||||
P: Grant Grundler
|
||||
M: grundler@parisc-linux.org
|
||||
P: Kyle McMartin
|
||||
M: kyle@parisc-linux.org
|
||||
L: netdev@vger.kernel.org
|
||||
S: Maintained
|
||||
|
||||
TUN/TAP driver
|
||||
P: Maxim Krasnyansky
|
||||
|
@ -4262,7 +4270,7 @@ S: Maintained
|
|||
|
||||
VT8231 HARDWARE MONITOR DRIVER
|
||||
P: Roger Lucas
|
||||
M: roger@planbit.co.uk
|
||||
M: vt8231@hiddenengine.co.uk
|
||||
L: lm-sensors@lm-sensors.org
|
||||
S: Maintained
|
||||
|
||||
|
|
13
Makefile
13
Makefile
|
@ -1,7 +1,7 @@
|
|||
VERSION = 2
|
||||
PATCHLEVEL = 6
|
||||
SUBLEVEL = 25
|
||||
EXTRAVERSION = -rc2
|
||||
EXTRAVERSION = -rc3
|
||||
NAME = Funky Weasel is Jiggy wit it
|
||||
|
||||
# *DOCUMENTATION*
|
||||
|
@ -507,6 +507,10 @@ else
|
|||
KBUILD_CFLAGS += -O2
|
||||
endif
|
||||
|
||||
# Force gcc to behave correct even for buggy distributions
|
||||
# Arch Makefiles may override this setting
|
||||
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
|
||||
|
||||
include $(srctree)/arch/$(SRCARCH)/Makefile
|
||||
|
||||
ifdef CONFIG_FRAME_POINTER
|
||||
|
@ -525,9 +529,6 @@ ifdef CONFIG_DEBUG_SECTION_MISMATCH
|
|||
KBUILD_CFLAGS += $(call cc-option, -fno-inline-functions-called-once)
|
||||
endif
|
||||
|
||||
# Force gcc to behave correct even for buggy distributions
|
||||
KBUILD_CFLAGS += $(call cc-option, -fno-stack-protector)
|
||||
|
||||
# arch Makefile may override CC so keep this after arch Makefile is included
|
||||
NOSTDINC_FLAGS += -nostdinc -isystem $(shell $(CC) -print-file-name=include)
|
||||
CHECKFLAGS += $(NOSTDINC_FLAGS)
|
||||
|
@ -810,7 +811,9 @@ endif
|
|||
$(Q)rm -f .old_version
|
||||
|
||||
# build vmlinux.o first to catch section mismatch errors early
|
||||
$(kallsyms.o): vmlinux.o
|
||||
ifdef CONFIG_KALLSYMS
|
||||
.tmp_vmlinux1: vmlinux.o
|
||||
endif
|
||||
vmlinux.o: $(vmlinux-lds) $(vmlinux-init) $(vmlinux-main) FORCE
|
||||
$(call if_changed_rule,vmlinux-modpost)
|
||||
|
||||
|
|
|
@ -939,7 +939,8 @@ config KEXEC
|
|||
|
||||
config ATAGS_PROC
|
||||
bool "Export atags in procfs"
|
||||
default n
|
||||
depends on KEXEC
|
||||
default y
|
||||
help
|
||||
Should the atags used to boot the kernel be exported in an "atags"
|
||||
file in procfs. Useful with kexec.
|
||||
|
|
|
@ -61,6 +61,7 @@ int sx1_i2c_write_byte(u8 devaddr, u8 regoffset, u8 value)
|
|||
data[0] = regoffset; /* register num */
|
||||
data[1] = value; /* register data */
|
||||
err = i2c_transfer(adap, msg, 1);
|
||||
i2c_put_adapter(adap);
|
||||
if (err >= 0)
|
||||
return 0;
|
||||
return err;
|
||||
|
@ -91,6 +92,7 @@ int sx1_i2c_read_byte(u8 devaddr, u8 regoffset, u8 *value)
|
|||
msg->buf = data;
|
||||
err = i2c_transfer(adap, msg, 1);
|
||||
*value = data[0];
|
||||
i2c_put_adapter(adap);
|
||||
|
||||
if (err >= 0)
|
||||
return 0;
|
||||
|
|
|
@ -192,9 +192,13 @@ static struct mv643xx_eth_platform_data qnap_ts209_eth_data = {
|
|||
/*****************************************************************************
|
||||
* RTC S35390A on I2C bus
|
||||
****************************************************************************/
|
||||
|
||||
#define TS209_RTC_GPIO 3
|
||||
|
||||
static struct i2c_board_info __initdata qnap_ts209_i2c_rtc = {
|
||||
.driver_name = "rtc-s35390a",
|
||||
.addr = 0x30,
|
||||
.irq = 0,
|
||||
};
|
||||
|
||||
/****************************************************************************
|
||||
|
@ -328,7 +332,18 @@ static void __init qnap_ts209_init(void)
|
|||
|
||||
platform_add_devices(qnap_ts209_devices,
|
||||
ARRAY_SIZE(qnap_ts209_devices));
|
||||
|
||||
/* Get RTC IRQ and register the chip */
|
||||
if (gpio_request(TS209_RTC_GPIO, "rtc") == 0) {
|
||||
if (gpio_direction_input(TS209_RTC_GPIO) == 0)
|
||||
qnap_ts209_i2c_rtc.irq = gpio_to_irq(TS209_RTC_GPIO);
|
||||
else
|
||||
gpio_free(TS209_RTC_GPIO);
|
||||
}
|
||||
if (qnap_ts209_i2c_rtc.irq == 0)
|
||||
pr_warning("qnap_ts209_init: failed to get RTC IRQ\n");
|
||||
i2c_register_board_info(0, &qnap_ts209_i2c_rtc, 1);
|
||||
|
||||
orion_eth_init(&qnap_ts209_eth_data);
|
||||
orion_sata_init(&qnap_ts209_sata_data);
|
||||
}
|
||||
|
|
|
@ -23,18 +23,27 @@ static LIST_HEAD(clocks);
|
|||
static DEFINE_MUTEX(clocks_mutex);
|
||||
static DEFINE_SPINLOCK(clocks_lock);
|
||||
|
||||
static struct clk *clk_lookup(struct device *dev, const char *id)
|
||||
{
|
||||
struct clk *p;
|
||||
|
||||
list_for_each_entry(p, &clocks, node)
|
||||
if (strcmp(id, p->name) == 0 && p->dev == dev)
|
||||
return p;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
struct clk *clk_get(struct device *dev, const char *id)
|
||||
{
|
||||
struct clk *p, *clk = ERR_PTR(-ENOENT);
|
||||
|
||||
mutex_lock(&clocks_mutex);
|
||||
list_for_each_entry(p, &clocks, node) {
|
||||
if (strcmp(id, p->name) == 0 &&
|
||||
(p->dev == NULL || p->dev == dev)) {
|
||||
clk = p;
|
||||
break;
|
||||
}
|
||||
}
|
||||
p = clk_lookup(dev, id);
|
||||
if (!p)
|
||||
p = clk_lookup(NULL, id);
|
||||
if (p)
|
||||
clk = p;
|
||||
mutex_unlock(&clocks_mutex);
|
||||
|
||||
return clk;
|
||||
|
|
|
@ -43,7 +43,7 @@
|
|||
|
||||
#ifdef DEBUG
|
||||
static unsigned int freq_debug;
|
||||
MODULE_PARM(freq_debug, "i");
|
||||
module_param(freq_debug, uint, 0);
|
||||
MODULE_PARM_DESC(freq_debug, "Set the debug messages to on=1/off=0");
|
||||
#else
|
||||
#define freq_debug 0
|
||||
|
@ -134,7 +134,7 @@ static int pxa_set_target(struct cpufreq_policy *policy,
|
|||
struct cpufreq_frequency_table *pxa_freqs_table;
|
||||
pxa_freqs_t *pxa_freq_settings;
|
||||
struct cpufreq_freqs freqs;
|
||||
int idx;
|
||||
unsigned int idx;
|
||||
unsigned long flags;
|
||||
unsigned int unused, preset_mdrefr, postset_mdrefr;
|
||||
void *ramstart = phys_to_virt(0xa0000000);
|
||||
|
@ -233,6 +233,11 @@ static int pxa_set_target(struct cpufreq_policy *policy,
|
|||
return 0;
|
||||
}
|
||||
|
||||
static unsigned int pxa_cpufreq_get(unsigned int cpu)
|
||||
{
|
||||
return get_clk_frequency_khz(0);
|
||||
}
|
||||
|
||||
static int pxa_cpufreq_init(struct cpufreq_policy *policy)
|
||||
{
|
||||
int i;
|
||||
|
@ -269,6 +274,7 @@ static struct cpufreq_driver pxa_cpufreq_driver = {
|
|||
.verify = pxa_verify_policy,
|
||||
.target = pxa_set_target,
|
||||
.init = pxa_cpufreq_init,
|
||||
.get = pxa_cpufreq_get,
|
||||
.name = "PXA25x",
|
||||
};
|
||||
|
||||
|
|
|
@ -129,28 +129,20 @@ static void clk_pxa3xx_cken_enable(struct clk *clk)
|
|||
{
|
||||
unsigned long mask = 1ul << (clk->cken & 0x1f);
|
||||
|
||||
local_irq_disable();
|
||||
|
||||
if (clk->cken < 32)
|
||||
CKENA |= mask;
|
||||
else
|
||||
CKENB |= mask;
|
||||
|
||||
local_irq_enable();
|
||||
}
|
||||
|
||||
static void clk_pxa3xx_cken_disable(struct clk *clk)
|
||||
{
|
||||
unsigned long mask = 1ul << (clk->cken & 0x1f);
|
||||
|
||||
local_irq_disable();
|
||||
|
||||
if (clk->cken < 32)
|
||||
CKENA &= ~mask;
|
||||
else
|
||||
CKENB &= ~mask;
|
||||
|
||||
local_irq_enable();
|
||||
}
|
||||
|
||||
static const struct clkops clk_pxa3xx_cken_ops = {
|
||||
|
|
|
@ -58,7 +58,7 @@ static struct platform_device smc91x_device = {
|
|||
.resource = smc91x_resources,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_FB_PXA) || (CONFIG_FB_PXA_MODULES)
|
||||
#if defined(CONFIG_FB_PXA) || defined(CONFIG_FB_PXA_MODULE)
|
||||
static void zylonite_backlight_power(int on)
|
||||
{
|
||||
gpio_set_value(gpio_backlight, on);
|
||||
|
|
|
@ -120,6 +120,8 @@ arch_get_unmapped_area(struct file *filp, unsigned long addr,
|
|||
*/
|
||||
int valid_phys_addr_range(unsigned long addr, size_t size)
|
||||
{
|
||||
if (addr < PHYS_OFFSET)
|
||||
return 0;
|
||||
if (addr + size > __pa(high_memory))
|
||||
return 0;
|
||||
|
||||
|
|
|
@ -129,7 +129,7 @@ static int __init atstk1004_init(void)
|
|||
#ifdef CONFIG_BOARD_ATSTK100X_SPI1
|
||||
at32_add_device_spi(1, spi1_board_info, ARRAY_SIZE(spi1_board_info));
|
||||
#endif
|
||||
#ifndef CONFIG_BOARD_ATSTK1002_SW2_CUSTOM
|
||||
#ifndef CONFIG_BOARD_ATSTK100X_SW2_CUSTOM
|
||||
at32_add_device_mci(0);
|
||||
#endif
|
||||
at32_add_device_lcdc(0, &atstk1000_lcdc_data,
|
||||
|
|
|
@ -11,6 +11,7 @@
|
|||
#include <linux/fs.h>
|
||||
#include <linux/ptrace.h>
|
||||
#include <linux/reboot.h>
|
||||
#include <linux/tick.h>
|
||||
#include <linux/uaccess.h>
|
||||
#include <linux/unistd.h>
|
||||
|
||||
|
@ -30,8 +31,10 @@ void cpu_idle(void)
|
|||
{
|
||||
/* endless idle loop with no priority at all */
|
||||
while (1) {
|
||||
tick_nohz_stop_sched_tick();
|
||||
while (!need_resched())
|
||||
cpu_idle_sleep();
|
||||
tick_nohz_restart_sched_tick();
|
||||
preempt_enable_no_resched();
|
||||
schedule();
|
||||
preempt_disable();
|
||||
|
@ -345,6 +348,7 @@ int copy_thread(int nr, unsigned long clone_flags, unsigned long usp,
|
|||
p->thread.cpu_context.ksp = (unsigned long)childregs;
|
||||
p->thread.cpu_context.pc = (unsigned long)ret_from_fork;
|
||||
|
||||
clear_tsk_thread_flag(p, TIF_DEBUG);
|
||||
if ((clone_flags & CLONE_PTRACE) && test_thread_flag(TIF_DEBUG))
|
||||
ocd_enable(p);
|
||||
|
||||
|
|
|
@ -189,6 +189,8 @@ asmlinkage void do_page_fault(unsigned long ecr, struct pt_regs *regs)
|
|||
|
||||
page = sysreg_read(PTBR);
|
||||
printk(KERN_ALERT "ptbr = %08lx", page);
|
||||
if (address >= TASK_SIZE)
|
||||
page = (unsigned long)swapper_pg_dir;
|
||||
if (page) {
|
||||
page = ((unsigned long *)page)[address >> 22];
|
||||
printk(" pgd = %08lx", page);
|
||||
|
|
|
@ -98,8 +98,11 @@ drivers-$(CONFIG_OPROFILE) += arch/$(ARCH)/oprofile/
|
|||
# them changed. We use .mach to indicate when they were updated
|
||||
# last, otherwise make uses the target directory mtime.
|
||||
|
||||
show_mach_symlink = :
|
||||
quiet_show_mach_symlink = echo ' SYMLINK include/asm-$(ARCH)/mach-$(MACHINE) -> include/asm-$(ARCH)/mach'
|
||||
silent_show_mach_symlink = :
|
||||
include/asm-blackfin/.mach: $(wildcard include/config/arch/*.h) include/config/auto.conf
|
||||
@echo ' SYMLINK include/asm-$(ARCH)/mach-$(MACHINE) -> include/asm-$(ARCH)/mach'
|
||||
@$($(quiet)show_mach_symlink)
|
||||
ifneq ($(KBUILD_SRC),)
|
||||
$(Q)mkdir -p include/asm-$(ARCH)
|
||||
$(Q)ln -fsn $(srctree)/include/asm-$(ARCH)/mach-$(MACHINE) include/asm-$(ARCH)/mach
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.22.14
|
||||
# Thu Nov 29 17:32:47 2007
|
||||
# Linux kernel version: 2.6.22.16
|
||||
#
|
||||
# CONFIG_MMU is not set
|
||||
# CONFIG_FPU is not set
|
||||
|
@ -116,7 +115,10 @@ CONFIG_PREEMPT_VOLUNTARY=y
|
|||
# Processor and Board Settings
|
||||
#
|
||||
# CONFIG_BF522 is not set
|
||||
# CONFIG_BF523 is not set
|
||||
# CONFIG_BF524 is not set
|
||||
# CONFIG_BF525 is not set
|
||||
# CONFIG_BF526 is not set
|
||||
CONFIG_BF527=y
|
||||
# CONFIG_BF531 is not set
|
||||
# CONFIG_BF532 is not set
|
||||
|
@ -306,6 +308,7 @@ CONFIG_BFIN_DCACHE=y
|
|||
# CONFIG_BFIN_WB is not set
|
||||
CONFIG_BFIN_WT=y
|
||||
CONFIG_L1_MAX_PIECE=16
|
||||
# CONFIG_MPU is not set
|
||||
|
||||
#
|
||||
# Asynchonous Memory Configuration
|
||||
|
@ -354,6 +357,7 @@ CONFIG_BINFMT_ZFLAT=y
|
|||
# Power management options
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_PM_WAKEUP_BY_GPIO is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
|
@ -496,7 +500,6 @@ CONFIG_MTD_CFI_I2=y
|
|||
# CONFIG_MTD_CFI_INTELEXT is not set
|
||||
# CONFIG_MTD_CFI_AMDSTD is not set
|
||||
# CONFIG_MTD_CFI_STAA is not set
|
||||
CONFIG_MTD_MW320D=m
|
||||
CONFIG_MTD_RAM=y
|
||||
CONFIG_MTD_ROM=m
|
||||
# CONFIG_MTD_ABSENT is not set
|
||||
|
@ -506,9 +509,6 @@ CONFIG_MTD_ROM=m
|
|||
#
|
||||
CONFIG_MTD_COMPLEX_MAPPINGS=y
|
||||
# CONFIG_MTD_PHYSMAP is not set
|
||||
CONFIG_MTD_BF5xx=m
|
||||
CONFIG_BFIN_FLASH_SIZE=0x400000
|
||||
CONFIG_EBIU_FLASH_BASE=0x20000000
|
||||
# CONFIG_MTD_UCLINUX is not set
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
|
@ -684,7 +684,6 @@ CONFIG_INPUT_MISC=y
|
|||
# CONFIG_INPUT_POWERMATE is not set
|
||||
# CONFIG_INPUT_YEALINK is not set
|
||||
# CONFIG_INPUT_UINPUT is not set
|
||||
# CONFIG_BF53X_PFBUTTONS is not set
|
||||
# CONFIG_TWI_KEYPAD is not set
|
||||
|
||||
#
|
||||
|
@ -702,12 +701,12 @@ CONFIG_INPUT_MISC=y
|
|||
# CONFIG_BF5xx_PPIFCD is not set
|
||||
# CONFIG_BFIN_SIMPLE_TIMER is not set
|
||||
# CONFIG_BF5xx_PPI is not set
|
||||
CONFIG_BFIN_OTP=y
|
||||
# CONFIG_BFIN_OTP_WRITE_ENABLE is not set
|
||||
# CONFIG_BFIN_SPORT is not set
|
||||
# CONFIG_BFIN_TIMER_LATENCY is not set
|
||||
# CONFIG_TWI_LCD is not set
|
||||
# CONFIG_AD5304 is not set
|
||||
# CONFIG_BF5xx_TEA5764 is not set
|
||||
# CONFIG_BF5xx_FBDMA is not set
|
||||
# CONFIG_VT is not set
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
|
@ -772,7 +771,6 @@ CONFIG_I2C_CHARDEV=m
|
|||
#
|
||||
# I2C Hardware Bus support
|
||||
#
|
||||
# CONFIG_I2C_BLACKFIN_GPIO is not set
|
||||
CONFIG_I2C_BLACKFIN_TWI=m
|
||||
CONFIG_I2C_BLACKFIN_TWI_CLK_KHZ=50
|
||||
# CONFIG_I2C_GPIO is not set
|
||||
|
|
|
@ -322,10 +322,9 @@ CONFIG_PM=y
|
|||
# CONFIG_PM_LEGACY is not set
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
# CONFIG_PM_SYSFS_DEPRECATED is not set
|
||||
CONFIG_PM_WAKEUP_GPIO_BY_SIC_IWR=y
|
||||
CONFIG_PM_BFIN_SLEEP_DEEPER=y
|
||||
# CONFIG_PM_BFIN_SLEEP is not set
|
||||
# CONFIG_PM_WAKEUP_BY_GPIO is not set
|
||||
# CONFIG_PM_WAKEUP_GPIO_API is not set
|
||||
CONFIG_PM_WAKEUP_SIC_IWR=0x80
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
|
@ -697,7 +696,6 @@ CONFIG_SERIAL_BFIN_DMA=y
|
|||
# CONFIG_SERIAL_BFIN_PIO is not set
|
||||
CONFIG_SERIAL_BFIN_UART0=y
|
||||
# CONFIG_BFIN_UART0_CTSRTS is not set
|
||||
# CONFIG_SERIAL_BFIN_UART1 is not set
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_BFIN_SPORT is not set
|
||||
|
|
|
@ -323,10 +323,9 @@ CONFIG_PM=y
|
|||
# CONFIG_PM_LEGACY is not set
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
# CONFIG_PM_SYSFS_DEPRECATED is not set
|
||||
CONFIG_PM_WAKEUP_GPIO_BY_SIC_IWR=y
|
||||
CONFIG_PM_BFIN_SLEEP_DEEPER=y
|
||||
# CONFIG_PM_BFIN_SLEEP is not set
|
||||
# CONFIG_PM_WAKEUP_BY_GPIO is not set
|
||||
# CONFIG_PM_WAKEUP_GPIO_API is not set
|
||||
CONFIG_PM_WAKEUP_SIC_IWR=0x80
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
|
@ -714,7 +713,6 @@ CONFIG_SERIAL_BFIN_DMA=y
|
|||
# CONFIG_SERIAL_BFIN_PIO is not set
|
||||
CONFIG_SERIAL_BFIN_UART0=y
|
||||
# CONFIG_BFIN_UART0_CTSRTS is not set
|
||||
# CONFIG_SERIAL_BFIN_UART1 is not set
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
# CONFIG_SERIAL_BFIN_SPORT is not set
|
||||
|
|
|
@ -330,10 +330,9 @@ CONFIG_PM=y
|
|||
# CONFIG_PM_LEGACY is not set
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
# CONFIG_PM_SYSFS_DEPRECATED is not set
|
||||
CONFIG_PM_WAKEUP_GPIO_BY_SIC_IWR=y
|
||||
CONFIG_PM_BFIN_SLEEP_DEEPER=y
|
||||
# CONFIG_PM_BFIN_SLEEP is not set
|
||||
# CONFIG_PM_WAKEUP_BY_GPIO is not set
|
||||
# CONFIG_PM_WAKEUP_GPIO_API is not set
|
||||
CONFIG_PM_WAKEUP_SIC_IWR=0x8
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
|
@ -1013,6 +1012,7 @@ CONFIG_SND_BFIN_AD73311_SE=4
|
|||
CONFIG_SND_SOC_AC97_BUS=y
|
||||
CONFIG_SND_SOC=m
|
||||
CONFIG_SND_BF5XX_SOC=m
|
||||
CONFIG_SND_MMAP_SUPPORT=y
|
||||
CONFIG_SND_BF5XX_SOC_AC97=m
|
||||
# CONFIG_SND_BF5XX_SOC_WM8750 is not set
|
||||
# CONFIG_SND_BF5XX_SOC_WM8731 is not set
|
||||
|
|
|
@ -396,6 +396,7 @@ CONFIG_BINFMT_ZFLAT=y
|
|||
# Power management options
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_PM_WAKEUP_BY_GPIO is not set
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
|
@ -1075,6 +1076,7 @@ CONFIG_SND_VERBOSE_PROCFS=y
|
|||
CONFIG_SND_SOC_AC97_BUS=y
|
||||
CONFIG_SND_SOC=y
|
||||
CONFIG_SND_BF5XX_SOC=y
|
||||
CONFIG_SND_MMAP_SUPPORT=y
|
||||
CONFIG_SND_BF5XX_SOC_AC97=y
|
||||
CONFIG_SND_BF5XX_SOC_BF548_EZKIT=y
|
||||
# CONFIG_SND_BF5XX_SOC_WM8750 is not set
|
||||
|
|
|
@ -367,6 +367,7 @@ CONFIG_BINFMT_ZFLAT=y
|
|||
# Power management options
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
# CONFIG_PM_WAKEUP_BY_GPIO is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
|
|
|
@ -105,13 +105,14 @@ int request_dma(unsigned int channel, char *device_id)
|
|||
mutex_unlock(&(dma_ch[channel].dmalock));
|
||||
|
||||
#ifdef CONFIG_BF54x
|
||||
if (channel >= CH_UART2_RX && channel <= CH_UART3_TX &&
|
||||
strncmp(device_id, "BFIN_UART", 9) == 0)
|
||||
dma_ch[channel].regs->peripheral_map |=
|
||||
(channel - CH_UART2_RX + 0xC);
|
||||
else
|
||||
dma_ch[channel].regs->peripheral_map |=
|
||||
(channel - CH_UART2_RX + 0x6);
|
||||
if (channel >= CH_UART2_RX && channel <= CH_UART3_TX) {
|
||||
if (strncmp(device_id, "BFIN_UART", 9) == 0)
|
||||
dma_ch[channel].regs->peripheral_map |=
|
||||
(channel - CH_UART2_RX + 0xC);
|
||||
else
|
||||
dma_ch[channel].regs->peripheral_map |=
|
||||
(channel - CH_UART2_RX + 0x6);
|
||||
}
|
||||
#endif
|
||||
|
||||
dma_ch[channel].device_id = device_id;
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
/*
|
||||
* bfin_gptimers.c - derived from bf53x_timers.c
|
||||
* Driver for General Purpose Timer functions on the Blackfin processor
|
||||
* gptimers.c - Blackfin General Purpose Timer core API
|
||||
*
|
||||
* Copyright (C) 2005 John DeHority
|
||||
* Copyright (C) 2006 Hella Aglaia GmbH (awe@aglaia-gmbh.de)
|
||||
* Copyright (c) 2005-2008 Analog Devices Inc.
|
||||
* Copyright (C) 2005 John DeHority
|
||||
* Copyright (C) 2006 Hella Aglaia GmbH (awe@aglaia-gmbh.de)
|
||||
*
|
||||
* Licensed under the GPLv2.
|
||||
*/
|
||||
|
|
|
@ -32,6 +32,7 @@
|
|||
static DEFINE_PER_CPU(struct cpu, cpu_devices);
|
||||
|
||||
u16 _bfin_swrst;
|
||||
EXPORT_SYMBOL(_bfin_swrst);
|
||||
|
||||
unsigned long memory_start, memory_end, physical_mem_end;
|
||||
unsigned long reserved_mem_dcache_on;
|
||||
|
@ -514,6 +515,7 @@ static __init void memory_setup(void)
|
|||
printk(KERN_INFO "Kernel Managed Memory: %ldMB\n", _ramend >> 20);
|
||||
|
||||
printk(KERN_INFO "Memory map:\n"
|
||||
KERN_INFO " fixedcode = 0x%p-0x%p\n"
|
||||
KERN_INFO " text = 0x%p-0x%p\n"
|
||||
KERN_INFO " rodata = 0x%p-0x%p\n"
|
||||
KERN_INFO " bss = 0x%p-0x%p\n"
|
||||
|
@ -527,7 +529,8 @@ static __init void memory_setup(void)
|
|||
#if DMA_UNCACHED_REGION > 0
|
||||
KERN_INFO " DMA Zone = 0x%p-0x%p\n"
|
||||
#endif
|
||||
, _stext, _etext,
|
||||
, (void *)FIXED_CODE_START, (void *)FIXED_CODE_END,
|
||||
_stext, _etext,
|
||||
__start_rodata, __end_rodata,
|
||||
__bss_start, __bss_stop,
|
||||
_sdata, _edata,
|
||||
|
|
|
@ -147,44 +147,64 @@ SECTIONS
|
|||
|
||||
__l1_lma_start = .;
|
||||
|
||||
#if L1_CODE_LENGTH
|
||||
# define LDS_L1_CODE *(.l1.text)
|
||||
#else
|
||||
# define LDS_L1_CODE
|
||||
#endif
|
||||
.text_l1 L1_CODE_START : AT(LOADADDR(.init.ramfs) + SIZEOF(.init.ramfs))
|
||||
{
|
||||
. = ALIGN(4);
|
||||
__stext_l1 = .;
|
||||
*(.l1.text)
|
||||
|
||||
LDS_L1_CODE
|
||||
. = ALIGN(4);
|
||||
__etext_l1 = .;
|
||||
}
|
||||
|
||||
#if L1_DATA_A_LENGTH
|
||||
# define LDS_L1_A_DATA *(.l1.data)
|
||||
# define LDS_L1_A_BSS *(.l1.bss)
|
||||
# define LDS_L1_A_CACHE *(.data_l1.cacheline_aligned)
|
||||
#else
|
||||
# define LDS_L1_A_DATA
|
||||
# define LDS_L1_A_BSS
|
||||
# define LDS_L1_A_CACHE
|
||||
#endif
|
||||
.data_l1 L1_DATA_A_START : AT(LOADADDR(.text_l1) + SIZEOF(.text_l1))
|
||||
{
|
||||
. = ALIGN(4);
|
||||
__sdata_l1 = .;
|
||||
*(.l1.data)
|
||||
LDS_L1_A_DATA
|
||||
__edata_l1 = .;
|
||||
|
||||
. = ALIGN(4);
|
||||
__sbss_l1 = .;
|
||||
*(.l1.bss)
|
||||
LDS_L1_A_BSS
|
||||
|
||||
. = ALIGN(32);
|
||||
*(.data_l1.cacheline_aligned)
|
||||
LDS_L1_A_CACHE
|
||||
|
||||
. = ALIGN(4);
|
||||
__ebss_l1 = .;
|
||||
}
|
||||
|
||||
#if L1_DATA_B_LENGTH
|
||||
# define LDS_L1_B_DATA *(.l1.data.B)
|
||||
# define LDS_L1_B_BSS *(.l1.bss.B)
|
||||
#else
|
||||
# define LDS_L1_B_DATA
|
||||
# define LDS_L1_B_BSS
|
||||
#endif
|
||||
.data_b_l1 L1_DATA_B_START : AT(LOADADDR(.data_l1) + SIZEOF(.data_l1))
|
||||
{
|
||||
. = ALIGN(4);
|
||||
__sdata_b_l1 = .;
|
||||
*(.l1.data.B)
|
||||
LDS_L1_B_DATA
|
||||
__edata_b_l1 = .;
|
||||
|
||||
. = ALIGN(4);
|
||||
__sbss_b_l1 = .;
|
||||
*(.l1.bss.B)
|
||||
LDS_L1_B_BSS
|
||||
|
||||
. = ALIGN(4);
|
||||
__ebss_b_l1 = .;
|
||||
|
|
|
@ -180,8 +180,8 @@ static struct mtd_partition partition_info[] = {
|
|||
},
|
||||
{
|
||||
.name = "File System",
|
||||
.offset = 4 * SIZE_1M,
|
||||
.size = (256 - 4) * SIZE_1M,
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
.size = MTDPART_SIZ_FULL,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -422,11 +422,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
|
|||
}, {
|
||||
.name = "kernel",
|
||||
.size = 0xe0000,
|
||||
.offset = 0x20000
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}, {
|
||||
.name = "file system",
|
||||
.size = 0x700000,
|
||||
.offset = 0x00100000,
|
||||
.size = MTDPART_SIZ_FULL,
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -484,13 +484,6 @@ static struct bfin5xx_spi_chip spi_si3xxx_chip_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE)
|
||||
static struct bfin5xx_spi_chip ad5304_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 16,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
|
||||
static struct bfin5xx_spi_chip spi_ad7877_chip_info = {
|
||||
.enable_dma = 0,
|
||||
|
@ -611,17 +604,6 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.mode = SPI_MODE_3,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE)
|
||||
{
|
||||
.modalias = "ad5304_spi",
|
||||
.max_speed_hz = 1250000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 2,
|
||||
.platform_data = NULL,
|
||||
.controller_data = &ad5304_chip_info,
|
||||
.mode = SPI_MODE_2,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
|
||||
{
|
||||
.modalias = "ad7877",
|
||||
|
@ -818,6 +800,19 @@ static struct platform_device bfin_device_gpiokeys = {
|
|||
};
|
||||
#endif
|
||||
|
||||
static struct resource bfin_gpios_resources = {
|
||||
.start = 0,
|
||||
.end = MAX_BLACKFIN_GPIOS - 1,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
};
|
||||
|
||||
static struct platform_device bfin_gpios_device = {
|
||||
.name = "simple-gpio",
|
||||
.id = -1,
|
||||
.num_resources = 1,
|
||||
.resource = &bfin_gpios_resources,
|
||||
};
|
||||
|
||||
static struct platform_device *stamp_devices[] __initdata = {
|
||||
#if defined(CONFIG_MTD_NAND_BF5XX) || defined(CONFIG_MTD_NAND_BF5XX_MODULE)
|
||||
&bf5xx_nand_device,
|
||||
|
@ -895,6 +890,8 @@ static struct platform_device *stamp_devices[] __initdata = {
|
|||
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
|
||||
&bfin_device_gpiokeys,
|
||||
#endif
|
||||
|
||||
&bfin_gpios_device,
|
||||
};
|
||||
|
||||
static int __init stamp_init(void)
|
||||
|
@ -921,13 +918,18 @@ void native_machine_restart(char *cmd)
|
|||
bfin_gpio_reset_spi0_ssel1();
|
||||
}
|
||||
|
||||
/*
|
||||
* Currently the MAC address is saved in Flash by U-Boot
|
||||
*/
|
||||
#define FLASH_MAC 0x203f0000
|
||||
void bfin_get_ether_addr(char *addr)
|
||||
{
|
||||
*(u32 *)(&(addr[0])) = bfin_read32(FLASH_MAC);
|
||||
*(u16 *)(&(addr[4])) = bfin_read16(FLASH_MAC + 4);
|
||||
/* the MAC is stored in OTP memory page 0xDF */
|
||||
u32 ret;
|
||||
u64 otp_mac;
|
||||
u32 (*otp_read)(u32 page, u32 flags, u64 *page_content) = (void *)0xEF00001A;
|
||||
|
||||
ret = otp_read(0xDF, 0x00, &otp_mac);
|
||||
if (!(ret & 0x1)) {
|
||||
char *otp_mac_p = (char *)&otp_mac;
|
||||
for (ret = 0; ret < 6; ++ret)
|
||||
addr[ret] = otp_mac_p[5 - ret];
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(bfin_get_ether_addr);
|
||||
|
|
|
@ -99,11 +99,11 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
|
|||
}, {
|
||||
.name = "kernel",
|
||||
.size = 0xe0000,
|
||||
.offset = 0x20000
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}, {
|
||||
.name = "file system",
|
||||
.size = 0x700000,
|
||||
.offset = 0x00100000,
|
||||
.size = MTDPART_SIZ_FULL,
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -298,6 +298,19 @@ static struct platform_device bfin_device_gpiokeys = {
|
|||
};
|
||||
#endif
|
||||
|
||||
static struct resource bfin_gpios_resources = {
|
||||
.start = 0,
|
||||
.end = MAX_BLACKFIN_GPIOS - 1,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
};
|
||||
|
||||
static struct platform_device bfin_gpios_device = {
|
||||
.name = "simple-gpio",
|
||||
.id = -1,
|
||||
.num_resources = 1,
|
||||
.resource = &bfin_gpios_resources,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
|
||||
#include <linux/i2c-gpio.h>
|
||||
|
||||
|
@ -350,6 +363,8 @@ static struct platform_device *ezkit_devices[] __initdata = {
|
|||
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
|
||||
&i2c_gpio_device,
|
||||
#endif
|
||||
|
||||
&bfin_gpios_device,
|
||||
};
|
||||
|
||||
static int __init ezkit_init(void)
|
||||
|
|
|
@ -112,7 +112,7 @@ static struct platform_device net2272_bfin_device = {
|
|||
static struct mtd_partition stamp_partitions[] = {
|
||||
{
|
||||
.name = "Bootloader",
|
||||
.size = 0x20000,
|
||||
.size = 0x40000,
|
||||
.offset = 0,
|
||||
}, {
|
||||
.name = "Kernel",
|
||||
|
@ -160,17 +160,17 @@ static struct platform_device stamp_flash_device = {
|
|||
static struct mtd_partition bfin_spi_flash_partitions[] = {
|
||||
{
|
||||
.name = "bootloader",
|
||||
.size = 0x00020000,
|
||||
.size = 0x00040000,
|
||||
.offset = 0,
|
||||
.mask_flags = MTD_CAP_ROM
|
||||
}, {
|
||||
.name = "kernel",
|
||||
.size = 0xe0000,
|
||||
.offset = 0x20000
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}, {
|
||||
.name = "file system",
|
||||
.size = 0x700000,
|
||||
.offset = 0x00100000,
|
||||
.size = MTDPART_SIZ_FULL,
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -212,13 +212,6 @@ static struct bfin5xx_spi_chip spi_si3xxx_chip_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE)
|
||||
static struct bfin5xx_spi_chip ad5304_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 16,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SPI_MMC) || defined(CONFIG_SPI_MMC_MODULE)
|
||||
static struct bfin5xx_spi_chip spi_mmc_chip_info = {
|
||||
.enable_dma = 1,
|
||||
|
@ -308,17 +301,6 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
},
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE)
|
||||
{
|
||||
.modalias = "ad5304_spi",
|
||||
.max_speed_hz = 1000000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 2,
|
||||
.platform_data = NULL,
|
||||
.controller_data = &ad5304_chip_info,
|
||||
.mode = SPI_MODE_2,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_SPI_SPIDEV) || defined(CONFIG_SPI_SPIDEV_MODULE)
|
||||
{
|
||||
.modalias = "spidev",
|
||||
|
@ -457,6 +439,19 @@ static struct platform_device bfin_device_gpiokeys = {
|
|||
};
|
||||
#endif
|
||||
|
||||
static struct resource bfin_gpios_resources = {
|
||||
.start = 0,
|
||||
.end = MAX_BLACKFIN_GPIOS - 1,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
};
|
||||
|
||||
static struct platform_device bfin_gpios_device = {
|
||||
.name = "simple-gpio",
|
||||
.id = -1,
|
||||
.num_resources = 1,
|
||||
.resource = &bfin_gpios_resources,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
|
||||
#include <linux/i2c-gpio.h>
|
||||
|
||||
|
@ -518,6 +513,8 @@ static struct platform_device *stamp_devices[] __initdata = {
|
|||
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
|
||||
&i2c_gpio_device,
|
||||
#endif
|
||||
|
||||
&bfin_gpios_device,
|
||||
&stamp_flash_device,
|
||||
};
|
||||
|
||||
|
|
|
@ -371,13 +371,6 @@ static struct bfin5xx_spi_chip spi_si3xxx_chip_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE)
|
||||
static struct bfin5xx_spi_chip ad5304_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 16,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
|
||||
static struct bfin5xx_spi_chip spi_ad7877_chip_info = {
|
||||
.enable_dma = 0,
|
||||
|
@ -483,17 +476,6 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.mode = SPI_MODE_3,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE)
|
||||
{
|
||||
.modalias = "ad5304_spi",
|
||||
.max_speed_hz = 1250000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 2,
|
||||
.platform_data = NULL,
|
||||
.controller_data = &ad5304_chip_info,
|
||||
.mode = SPI_MODE_2,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
|
||||
{
|
||||
.modalias = "ad7877",
|
||||
|
|
|
@ -128,6 +128,19 @@ static struct platform_device bfin_device_gpiokeys = {
|
|||
};
|
||||
#endif
|
||||
|
||||
static struct resource bfin_gpios_resources = {
|
||||
.start = 0,
|
||||
.end = MAX_BLACKFIN_GPIOS - 1,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
};
|
||||
|
||||
static struct platform_device bfin_gpios_device = {
|
||||
.name = "simple-gpio",
|
||||
.id = -1,
|
||||
.num_resources = 1,
|
||||
.resource = &bfin_gpios_resources,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_BFIN_CFPCMCIA) || defined(CONFIG_BFIN_CFPCMCIA_MODULE)
|
||||
static struct resource bfin_pcmcia_cf_resources[] = {
|
||||
{
|
||||
|
@ -343,7 +356,7 @@ static struct platform_device net2272_bfin_device = {
|
|||
static struct mtd_partition stamp_partitions[] = {
|
||||
{
|
||||
.name = "Bootloader",
|
||||
.size = 0x20000,
|
||||
.size = 0x40000,
|
||||
.offset = 0,
|
||||
}, {
|
||||
.name = "Kernel",
|
||||
|
@ -351,7 +364,7 @@ static struct mtd_partition stamp_partitions[] = {
|
|||
.offset = MTDPART_OFS_APPEND,
|
||||
}, {
|
||||
.name = "RootFS",
|
||||
.size = 0x400000 - 0x20000 - 0xE0000 - 0x10000,
|
||||
.size = 0x400000 - 0x40000 - 0xE0000 - 0x10000,
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}, {
|
||||
.name = "MAC Address",
|
||||
|
@ -391,17 +404,17 @@ static struct platform_device stamp_flash_device = {
|
|||
static struct mtd_partition bfin_spi_flash_partitions[] = {
|
||||
{
|
||||
.name = "bootloader",
|
||||
.size = 0x00020000,
|
||||
.size = 0x00040000,
|
||||
.offset = 0,
|
||||
.mask_flags = MTD_CAP_ROM
|
||||
}, {
|
||||
.name = "kernel",
|
||||
.size = 0xe0000,
|
||||
.offset = 0x20000
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}, {
|
||||
.name = "file system",
|
||||
.size = 0x700000,
|
||||
.offset = 0x00100000,
|
||||
.size = MTDPART_SIZ_FULL,
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -459,13 +472,6 @@ static struct bfin5xx_spi_chip spi_si3xxx_chip_info = {
|
|||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE)
|
||||
static struct bfin5xx_spi_chip ad5304_chip_info = {
|
||||
.enable_dma = 0,
|
||||
.bits_per_word = 16,
|
||||
};
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
|
||||
static struct bfin5xx_spi_chip spi_ad7877_chip_info = {
|
||||
.enable_dma = 0,
|
||||
|
@ -578,17 +584,6 @@ static struct spi_board_info bfin_spi_board_info[] __initdata = {
|
|||
.mode = SPI_MODE_3,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_AD5304) || defined(CONFIG_AD5304_MODULE)
|
||||
{
|
||||
.modalias = "ad5304_spi",
|
||||
.max_speed_hz = 1250000, /* max spi clock (SCK) speed in HZ */
|
||||
.bus_num = 0,
|
||||
.chip_select = 2,
|
||||
.platform_data = NULL,
|
||||
.controller_data = &ad5304_chip_info,
|
||||
.mode = SPI_MODE_2,
|
||||
},
|
||||
#endif
|
||||
#if defined(CONFIG_TOUCHSCREEN_AD7877) || defined(CONFIG_TOUCHSCREEN_AD7877_MODULE)
|
||||
{
|
||||
.modalias = "ad7877",
|
||||
|
@ -821,6 +816,8 @@ static struct platform_device *stamp_devices[] __initdata = {
|
|||
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
|
||||
&bfin_device_gpiokeys,
|
||||
#endif
|
||||
|
||||
&bfin_gpios_device,
|
||||
&stamp_flash_device,
|
||||
};
|
||||
|
||||
|
|
|
@ -285,8 +285,8 @@ static struct mtd_partition partition_info[] = {
|
|||
},
|
||||
{
|
||||
.name = "File System",
|
||||
.offset = 4 * SIZE_1M,
|
||||
.size = (256 - 4) * SIZE_1M,
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
.size = MTDPART_SIZ_FULL,
|
||||
},
|
||||
};
|
||||
|
||||
|
@ -333,7 +333,7 @@ static struct platform_device bf54x_sdh_device = {
|
|||
static struct mtd_partition ezkit_partitions[] = {
|
||||
{
|
||||
.name = "Bootloader",
|
||||
.size = 0x20000,
|
||||
.size = 0x40000,
|
||||
.offset = 0,
|
||||
}, {
|
||||
.name = "Kernel",
|
||||
|
@ -381,8 +381,8 @@ static struct mtd_partition bfin_spi_flash_partitions[] = {
|
|||
.mask_flags = MTD_CAP_ROM
|
||||
}, {
|
||||
.name = "linux kernel",
|
||||
.size = 0x1c0000,
|
||||
.offset = 0x40000
|
||||
.size = MTDPART_SIZ_FULL,
|
||||
.offset = MTDPART_OFS_APPEND,
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -594,6 +594,19 @@ static struct platform_device bfin_device_gpiokeys = {
|
|||
};
|
||||
#endif
|
||||
|
||||
static struct resource bfin_gpios_resources = {
|
||||
.start = 0,
|
||||
.end = MAX_BLACKFIN_GPIOS - 1,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
};
|
||||
|
||||
static struct platform_device bfin_gpios_device = {
|
||||
.name = "simple-gpio",
|
||||
.id = -1,
|
||||
.num_resources = 1,
|
||||
.resource = &bfin_gpios_resources,
|
||||
};
|
||||
|
||||
static struct platform_device *ezkit_devices[] __initdata = {
|
||||
#if defined(CONFIG_RTC_DRV_BFIN) || defined(CONFIG_RTC_DRV_BFIN_MODULE)
|
||||
&rtc_device,
|
||||
|
@ -646,6 +659,8 @@ static struct platform_device *ezkit_devices[] __initdata = {
|
|||
#if defined(CONFIG_KEYBOARD_GPIO) || defined(CONFIG_KEYBOARD_GPIO_MODULE)
|
||||
&bfin_device_gpiokeys,
|
||||
#endif
|
||||
|
||||
&bfin_gpios_device,
|
||||
&ezkit_flash_device,
|
||||
};
|
||||
|
||||
|
|
|
@ -27,6 +27,8 @@
|
|||
* 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
|
||||
#include <asm/blackfin.h>
|
||||
#include <asm/dma.h>
|
||||
|
||||
|
|
|
@ -28,6 +28,7 @@
|
|||
*/
|
||||
|
||||
#include <linux/linkage.h>
|
||||
#include <linux/init.h>
|
||||
#include <asm/blackfin.h>
|
||||
#include <asm/trace.h>
|
||||
#if CONFIG_BFIN_KERNEL_CLOCK
|
||||
|
@ -44,10 +45,9 @@
|
|||
|
||||
#define INITIAL_STACK 0xFFB01000
|
||||
|
||||
.text
|
||||
__INIT
|
||||
|
||||
ENTRY(__start)
|
||||
ENTRY(__stext)
|
||||
/* R0: argument of command line string, passed from uboot, save it */
|
||||
R7 = R0;
|
||||
/* Enable Cycle Counter and Nesting Of Interrupts */
|
||||
|
@ -213,6 +213,7 @@ ENTRY(__stext)
|
|||
|
||||
.LWAIT_HERE:
|
||||
jump .LWAIT_HERE;
|
||||
ENDPROC(__start)
|
||||
|
||||
ENTRY(_real_start)
|
||||
[ -- sp ] = reti;
|
||||
|
@ -285,6 +286,9 @@ ENTRY(_real_start)
|
|||
call _start_kernel;
|
||||
.L_exit:
|
||||
jump.s .L_exit;
|
||||
ENDPROC(_real_start)
|
||||
|
||||
__FINIT
|
||||
|
||||
.section .l1.text
|
||||
#if CONFIG_BFIN_KERNEL_CLOCK
|
||||
|
@ -450,6 +454,7 @@ ENTRY(_start_dma_code)
|
|||
SSYNC;
|
||||
|
||||
RTS;
|
||||
ENDPROC(_start_dma_code)
|
||||
#endif /* CONFIG_BFIN_KERNEL_CLOCK */
|
||||
|
||||
.data
|
||||
|
|
|
@ -223,7 +223,7 @@ static struct platform_device bfin_uart_device = {
|
|||
static struct mtd_partition ezkit_partitions[] = {
|
||||
{
|
||||
.name = "Bootloader",
|
||||
.size = 0x20000,
|
||||
.size = 0x40000,
|
||||
.offset = 0,
|
||||
}, {
|
||||
.name = "Kernel",
|
||||
|
@ -389,6 +389,19 @@ static struct platform_device bfin_device_gpiokeys = {
|
|||
};
|
||||
#endif
|
||||
|
||||
static struct resource bfin_gpios_resources = {
|
||||
.start = 0,
|
||||
.end = MAX_BLACKFIN_GPIOS - 1,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
};
|
||||
|
||||
static struct platform_device bfin_gpios_device = {
|
||||
.name = "simple-gpio",
|
||||
.id = -1,
|
||||
.num_resources = 1,
|
||||
.resource = &bfin_gpios_resources,
|
||||
};
|
||||
|
||||
#if defined(CONFIG_I2C_GPIO) || defined(CONFIG_I2C_GPIO_MODULE)
|
||||
#include <linux/i2c-gpio.h>
|
||||
|
||||
|
@ -446,6 +459,7 @@ static struct platform_device *ezkit_devices[] __initdata = {
|
|||
&isp1362_hcd_device,
|
||||
#endif
|
||||
|
||||
&bfin_gpios_device,
|
||||
&ezkit_flash_device,
|
||||
};
|
||||
|
||||
|
|
|
@ -31,140 +31,6 @@
|
|||
#include <asm/blackfin.h>
|
||||
#include <asm/mach/irq.h>
|
||||
|
||||
.text
|
||||
|
||||
ENTRY(_unmask_wdog_wakeup_evt)
|
||||
[--SP] = ( R7:0, P5:0 );
|
||||
#if defined(CONFIG_BF561)
|
||||
P0.H = hi(SICA_IWR1);
|
||||
P0.L = lo(SICA_IWR1);
|
||||
#elif defined(CONFIG_BF54x) || defined(CONFIG_BF52x)
|
||||
P0.h = HI(SIC_IWR0);
|
||||
P0.l = LO(SIC_IWR0);
|
||||
#else
|
||||
P0.h = HI(SIC_IWR);
|
||||
P0.l = LO(SIC_IWR);
|
||||
#endif
|
||||
R7 = [P0];
|
||||
#if defined(CONFIG_BF561)
|
||||
BITSET(R7, 27);
|
||||
#else
|
||||
BITSET(R7,(IRQ_WATCH - IVG7));
|
||||
#endif
|
||||
[P0] = R7;
|
||||
SSYNC;
|
||||
|
||||
( R7:0, P5:0 ) = [SP++];
|
||||
RTS;
|
||||
|
||||
.LWRITE_TO_STAT:
|
||||
/* When watch dog timer is enabled, a write to STAT will load the
|
||||
* contents of CNT to STAT
|
||||
*/
|
||||
R7 = 0x0000(z);
|
||||
#if defined(CONFIG_BF561)
|
||||
P0.h = HI(WDOGA_STAT);
|
||||
P0.l = LO(WDOGA_STAT);
|
||||
#else
|
||||
P0.h = HI(WDOG_STAT);
|
||||
P0.l = LO(WDOG_STAT);
|
||||
#endif
|
||||
[P0] = R7;
|
||||
SSYNC;
|
||||
JUMP .LSKIP_WRITE_TO_STAT;
|
||||
|
||||
ENTRY(_program_wdog_timer)
|
||||
[--SP] = ( R7:0, P5:0 );
|
||||
#if defined(CONFIG_BF561)
|
||||
P0.h = HI(WDOGA_CNT);
|
||||
P0.l = LO(WDOGA_CNT);
|
||||
#else
|
||||
P0.h = HI(WDOG_CNT);
|
||||
P0.l = LO(WDOG_CNT);
|
||||
#endif
|
||||
[P0] = R0;
|
||||
SSYNC;
|
||||
|
||||
#if defined(CONFIG_BF561)
|
||||
P0.h = HI(WDOGA_CTL);
|
||||
P0.l = LO(WDOGA_CTL);
|
||||
#else
|
||||
P0.h = HI(WDOG_CTL);
|
||||
P0.l = LO(WDOG_CTL);
|
||||
#endif
|
||||
R7 = W[P0](Z);
|
||||
CC = BITTST(R7,1);
|
||||
if !CC JUMP .LWRITE_TO_STAT;
|
||||
CC = BITTST(R7,2);
|
||||
if !CC JUMP .LWRITE_TO_STAT;
|
||||
|
||||
.LSKIP_WRITE_TO_STAT:
|
||||
#if defined(CONFIG_BF561)
|
||||
P0.h = HI(WDOGA_CTL);
|
||||
P0.l = LO(WDOGA_CTL);
|
||||
#else
|
||||
P0.h = HI(WDOG_CTL);
|
||||
P0.l = LO(WDOG_CTL);
|
||||
#endif
|
||||
R7 = W[P0](Z);
|
||||
BITCLR(R7,1); /* Enable GP event */
|
||||
BITSET(R7,2);
|
||||
W[P0] = R7.L;
|
||||
SSYNC;
|
||||
NOP;
|
||||
|
||||
R7 = W[P0](Z);
|
||||
BITCLR(R7,4); /* Enable the wdog counter */
|
||||
W[P0] = R7.L;
|
||||
SSYNC;
|
||||
|
||||
( R7:0, P5:0 ) = [SP++];
|
||||
RTS;
|
||||
|
||||
ENTRY(_clear_wdog_wakeup_evt)
|
||||
[--SP] = ( R7:0, P5:0 );
|
||||
|
||||
#if defined(CONFIG_BF561)
|
||||
P0.h = HI(WDOGA_CTL);
|
||||
P0.l = LO(WDOGA_CTL);
|
||||
#else
|
||||
P0.h = HI(WDOG_CTL);
|
||||
P0.l = LO(WDOG_CTL);
|
||||
#endif
|
||||
R7 = 0x0AD6(Z);
|
||||
W[P0] = R7.L;
|
||||
SSYNC;
|
||||
|
||||
R7 = W[P0](Z);
|
||||
BITSET(R7,15);
|
||||
W[P0] = R7.L;
|
||||
SSYNC;
|
||||
|
||||
R7 = W[P0](Z);
|
||||
BITSET(R7,1);
|
||||
BITSET(R7,2);
|
||||
W[P0] = R7.L;
|
||||
SSYNC;
|
||||
|
||||
( R7:0, P5:0 ) = [SP++];
|
||||
RTS;
|
||||
|
||||
ENTRY(_disable_wdog_timer)
|
||||
[--SP] = ( R7:0, P5:0 );
|
||||
#if defined(CONFIG_BF561)
|
||||
P0.h = HI(WDOGA_CTL);
|
||||
P0.l = LO(WDOGA_CTL);
|
||||
#else
|
||||
P0.h = HI(WDOG_CTL);
|
||||
P0.l = LO(WDOG_CTL);
|
||||
#endif
|
||||
R7 = 0xAD6(Z);
|
||||
W[P0] = R7.L;
|
||||
SSYNC;
|
||||
( R7:0, P5:0 ) = [SP++];
|
||||
RTS;
|
||||
|
||||
#if !defined(CONFIG_BF561)
|
||||
|
||||
.section .l1.text
|
||||
|
||||
|
@ -459,10 +325,12 @@ ENTRY(_set_sic_iwr)
|
|||
RTS;
|
||||
|
||||
ENTRY(_set_rtc_istat)
|
||||
#ifndef CONFIG_BF561
|
||||
P0.H = hi(RTC_ISTAT);
|
||||
P0.L = lo(RTC_ISTAT);
|
||||
w[P0] = R0.L;
|
||||
SSYNC;
|
||||
#endif
|
||||
RTS;
|
||||
|
||||
ENTRY(_test_pll_locked)
|
||||
|
@ -473,4 +341,3 @@ ENTRY(_test_pll_locked)
|
|||
CC = BITTST(R0,5);
|
||||
IF !CC JUMP 1b;
|
||||
RTS;
|
||||
#endif
|
||||
|
|
|
@ -74,7 +74,7 @@ unsigned long bfin_sic_iwr[3]; /* Up to 3 SIC_IWRx registers */
|
|||
#endif
|
||||
|
||||
struct ivgx {
|
||||
/* irq number for request_irq, available in mach-bf533/irq.h */
|
||||
/* irq number for request_irq, available in mach-bf5xx/irq.h */
|
||||
unsigned int irqno;
|
||||
/* corresponding bit in the SIC_ISR register */
|
||||
unsigned int isrflag;
|
||||
|
@ -86,7 +86,6 @@ struct ivg_slice {
|
|||
struct ivgx *istop;
|
||||
} ivg7_13[IVG13 - IVG7 + 1];
|
||||
|
||||
static void search_IAR(void);
|
||||
|
||||
/*
|
||||
* Search SIC_IAR and fill tables with the irqvalues
|
||||
|
@ -120,10 +119,10 @@ static void __init search_IAR(void)
|
|||
}
|
||||
|
||||
/*
|
||||
* This is for BF533 internal IRQs
|
||||
* This is for core internal IRQs
|
||||
*/
|
||||
|
||||
static void ack_noop(unsigned int irq)
|
||||
static void bfin_ack_noop(unsigned int irq)
|
||||
{
|
||||
/* Dummy function. */
|
||||
}
|
||||
|
@ -156,11 +155,11 @@ static void bfin_internal_mask_irq(unsigned int irq)
|
|||
{
|
||||
#ifdef CONFIG_BF53x
|
||||
bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() &
|
||||
~(1 << (irq - (IRQ_CORETMR + 1))));
|
||||
~(1 << SIC_SYSIRQ(irq)));
|
||||
#else
|
||||
unsigned mask_bank, mask_bit;
|
||||
mask_bank = (irq - (IRQ_CORETMR + 1)) / 32;
|
||||
mask_bit = (irq - (IRQ_CORETMR + 1)) % 32;
|
||||
mask_bank = SIC_SYSIRQ(irq) / 32;
|
||||
mask_bit = SIC_SYSIRQ(irq) % 32;
|
||||
bfin_write_SIC_IMASK(mask_bank, bfin_read_SIC_IMASK(mask_bank) &
|
||||
~(1 << mask_bit));
|
||||
#endif
|
||||
|
@ -171,11 +170,11 @@ static void bfin_internal_unmask_irq(unsigned int irq)
|
|||
{
|
||||
#ifdef CONFIG_BF53x
|
||||
bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() |
|
||||
(1 << (irq - (IRQ_CORETMR + 1))));
|
||||
(1 << SIC_SYSIRQ(irq)));
|
||||
#else
|
||||
unsigned mask_bank, mask_bit;
|
||||
mask_bank = (irq - (IRQ_CORETMR + 1)) / 32;
|
||||
mask_bit = (irq - (IRQ_CORETMR + 1)) % 32;
|
||||
mask_bank = SIC_SYSIRQ(irq) / 32;
|
||||
mask_bit = SIC_SYSIRQ(irq) % 32;
|
||||
bfin_write_SIC_IMASK(mask_bank, bfin_read_SIC_IMASK(mask_bank) |
|
||||
(1 << mask_bit));
|
||||
#endif
|
||||
|
@ -187,8 +186,8 @@ int bfin_internal_set_wake(unsigned int irq, unsigned int state)
|
|||
{
|
||||
unsigned bank, bit;
|
||||
unsigned long flags;
|
||||
bank = (irq - (IRQ_CORETMR + 1)) / 32;
|
||||
bit = (irq - (IRQ_CORETMR + 1)) % 32;
|
||||
bank = SIC_SYSIRQ(irq) / 32;
|
||||
bit = SIC_SYSIRQ(irq) % 32;
|
||||
|
||||
local_irq_save(flags);
|
||||
|
||||
|
@ -204,15 +203,18 @@ int bfin_internal_set_wake(unsigned int irq, unsigned int state)
|
|||
#endif
|
||||
|
||||
static struct irq_chip bfin_core_irqchip = {
|
||||
.ack = ack_noop,
|
||||
.ack = bfin_ack_noop,
|
||||
.mask = bfin_core_mask_irq,
|
||||
.unmask = bfin_core_unmask_irq,
|
||||
};
|
||||
|
||||
static struct irq_chip bfin_internal_irqchip = {
|
||||
.ack = ack_noop,
|
||||
.ack = bfin_ack_noop,
|
||||
.mask = bfin_internal_mask_irq,
|
||||
.unmask = bfin_internal_unmask_irq,
|
||||
.mask_ack = bfin_internal_mask_irq,
|
||||
.disable = bfin_internal_mask_irq,
|
||||
.enable = bfin_internal_unmask_irq,
|
||||
#ifdef CONFIG_PM
|
||||
.set_wake = bfin_internal_set_wake,
|
||||
#endif
|
||||
|
@ -221,38 +223,23 @@ static struct irq_chip bfin_internal_irqchip = {
|
|||
#ifdef BF537_GENERIC_ERROR_INT_DEMUX
|
||||
static int error_int_mask;
|
||||
|
||||
static void bfin_generic_error_ack_irq(unsigned int irq)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
static void bfin_generic_error_mask_irq(unsigned int irq)
|
||||
{
|
||||
error_int_mask &= ~(1L << (irq - IRQ_PPI_ERROR));
|
||||
|
||||
if (!error_int_mask) {
|
||||
local_irq_disable();
|
||||
bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() &
|
||||
~(1 << (IRQ_GENERIC_ERROR -
|
||||
(IRQ_CORETMR + 1))));
|
||||
SSYNC();
|
||||
local_irq_enable();
|
||||
}
|
||||
if (!error_int_mask)
|
||||
bfin_internal_mask_irq(IRQ_GENERIC_ERROR);
|
||||
}
|
||||
|
||||
static void bfin_generic_error_unmask_irq(unsigned int irq)
|
||||
{
|
||||
local_irq_disable();
|
||||
bfin_write_SIC_IMASK(bfin_read_SIC_IMASK() | 1 <<
|
||||
(IRQ_GENERIC_ERROR - (IRQ_CORETMR + 1)));
|
||||
SSYNC();
|
||||
local_irq_enable();
|
||||
|
||||
bfin_internal_unmask_irq(IRQ_GENERIC_ERROR);
|
||||
error_int_mask |= 1L << (irq - IRQ_PPI_ERROR);
|
||||
}
|
||||
|
||||
static struct irq_chip bfin_generic_error_irqchip = {
|
||||
.ack = bfin_generic_error_ack_irq,
|
||||
.ack = bfin_ack_noop,
|
||||
.mask_ack = bfin_generic_error_mask_irq,
|
||||
.mask = bfin_generic_error_mask_irq,
|
||||
.unmask = bfin_generic_error_unmask_irq,
|
||||
};
|
||||
|
@ -608,7 +595,7 @@ static struct pin_int_t *pint[NR_PINT_SYS_IRQS] = {
|
|||
(struct pin_int_t *)PINT3_MASK_SET,
|
||||
};
|
||||
|
||||
unsigned short get_irq_base(u8 bank, u8 bmap)
|
||||
inline unsigned short get_irq_base(u8 bank, u8 bmap)
|
||||
{
|
||||
|
||||
u16 irq_base;
|
||||
|
@ -969,17 +956,12 @@ int __init init_arch_irq(void)
|
|||
#if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561)
|
||||
bfin_write_SIC_IMASK0(SIC_UNMASK_ALL);
|
||||
bfin_write_SIC_IMASK1(SIC_UNMASK_ALL);
|
||||
bfin_write_SIC_IWR0(IWR_ENABLE_ALL);
|
||||
bfin_write_SIC_IWR1(IWR_ENABLE_ALL);
|
||||
# ifdef CONFIG_BF54x
|
||||
bfin_write_SIC_IMASK2(SIC_UNMASK_ALL);
|
||||
bfin_write_SIC_IWR2(IWR_ENABLE_ALL);
|
||||
# endif
|
||||
#else
|
||||
bfin_write_SIC_IMASK(SIC_UNMASK_ALL);
|
||||
bfin_write_SIC_IWR(IWR_ENABLE_ALL);
|
||||
#endif
|
||||
SSYNC();
|
||||
|
||||
local_irq_disable();
|
||||
|
||||
|
@ -1001,90 +983,53 @@ int __init init_arch_irq(void)
|
|||
set_irq_chip(irq, &bfin_core_irqchip);
|
||||
else
|
||||
set_irq_chip(irq, &bfin_internal_irqchip);
|
||||
#ifdef BF537_GENERIC_ERROR_INT_DEMUX
|
||||
if (irq != IRQ_GENERIC_ERROR) {
|
||||
#endif
|
||||
|
||||
switch (irq) {
|
||||
switch (irq) {
|
||||
#if defined(CONFIG_BF53x)
|
||||
case IRQ_PROG_INTA:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PROG_INTA:
|
||||
# if defined(BF537_FAMILY) && !(defined(CONFIG_BFIN_MAC) || defined(CONFIG_BFIN_MAC_MODULE))
|
||||
case IRQ_MAC_RX:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_MAC_RX:
|
||||
# endif
|
||||
#elif defined(CONFIG_BF54x)
|
||||
case IRQ_PINT0:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PINT1:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PINT2:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PINT3:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PINT0:
|
||||
case IRQ_PINT1:
|
||||
case IRQ_PINT2:
|
||||
case IRQ_PINT3:
|
||||
#elif defined(CONFIG_BF52x)
|
||||
case IRQ_PORTF_INTA:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PORTG_INTA:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PORTH_INTA:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PORTF_INTA:
|
||||
case IRQ_PORTG_INTA:
|
||||
case IRQ_PORTH_INTA:
|
||||
#elif defined(CONFIG_BF561)
|
||||
case IRQ_PROG0_INTA:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PROG1_INTA:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PROG2_INTA:
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
case IRQ_PROG0_INTA:
|
||||
case IRQ_PROG1_INTA:
|
||||
case IRQ_PROG2_INTA:
|
||||
#endif
|
||||
default:
|
||||
set_irq_handler(irq, handle_simple_irq);
|
||||
break;
|
||||
}
|
||||
|
||||
set_irq_chained_handler(irq,
|
||||
bfin_demux_gpio_irq);
|
||||
break;
|
||||
#ifdef BF537_GENERIC_ERROR_INT_DEMUX
|
||||
} else {
|
||||
case IRQ_GENERIC_ERROR:
|
||||
set_irq_handler(irq, bfin_demux_error_irq);
|
||||
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
set_irq_handler(irq, handle_simple_irq);
|
||||
break;
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef BF537_GENERIC_ERROR_INT_DEMUX
|
||||
for (irq = IRQ_PPI_ERROR; irq <= IRQ_UART1_ERROR; irq++) {
|
||||
set_irq_chip(irq, &bfin_generic_error_irqchip);
|
||||
set_irq_handler(irq, handle_level_irq);
|
||||
}
|
||||
for (irq = IRQ_PPI_ERROR; irq <= IRQ_UART1_ERROR; irq++)
|
||||
set_irq_chip_and_handler(irq, &bfin_generic_error_irqchip,
|
||||
handle_level_irq);
|
||||
#endif
|
||||
|
||||
for (irq = GPIO_IRQ_BASE; irq < NR_IRQS; irq++) {
|
||||
/* if configured as edge, then will be changed to do_edge_IRQ */
|
||||
for (irq = GPIO_IRQ_BASE; irq < NR_IRQS; irq++)
|
||||
set_irq_chip_and_handler(irq, &bfin_gpio_irqchip,
|
||||
handle_level_irq);
|
||||
|
||||
set_irq_chip(irq, &bfin_gpio_irqchip);
|
||||
/* if configured as edge, then will be changed to do_edge_IRQ */
|
||||
set_irq_handler(irq, handle_level_irq);
|
||||
}
|
||||
|
||||
bfin_write_IMASK(0);
|
||||
CSYNC();
|
||||
|
@ -1106,6 +1051,16 @@ int __init init_arch_irq(void)
|
|||
IMASK_IVG14 | IMASK_IVG13 | IMASK_IVG12 | IMASK_IVG11 |
|
||||
IMASK_IVG10 | IMASK_IVG9 | IMASK_IVG8 | IMASK_IVG7 | IMASK_IVGHW;
|
||||
|
||||
#if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561)
|
||||
bfin_write_SIC_IWR0(IWR_ENABLE_ALL);
|
||||
bfin_write_SIC_IWR1(IWR_ENABLE_ALL);
|
||||
# ifdef CONFIG_BF54x
|
||||
bfin_write_SIC_IWR2(IWR_ENABLE_ALL);
|
||||
# endif
|
||||
#else
|
||||
bfin_write_SIC_IWR(IWR_ENABLE_ALL);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1122,7 +1077,6 @@ void do_irq(int vec, struct pt_regs *fp)
|
|||
#if defined(CONFIG_BF54x) || defined(CONFIG_BF52x) || defined(CONFIG_BF561)
|
||||
unsigned long sic_status[3];
|
||||
|
||||
SSYNC();
|
||||
sic_status[0] = bfin_read_SIC_ISR0() & bfin_read_SIC_IMASK0();
|
||||
sic_status[1] = bfin_read_SIC_ISR1() & bfin_read_SIC_IMASK1();
|
||||
#ifdef CONFIG_BF54x
|
||||
|
@ -1138,7 +1092,7 @@ void do_irq(int vec, struct pt_regs *fp)
|
|||
}
|
||||
#else
|
||||
unsigned long sic_status;
|
||||
SSYNC();
|
||||
|
||||
sic_status = bfin_read_SIC_IMASK() & bfin_read_SIC_ISR();
|
||||
|
||||
for (;; ivg++) {
|
||||
|
|
|
@ -181,7 +181,7 @@ void __init mem_init(void)
|
|||
}
|
||||
}
|
||||
|
||||
static __init void free_init_pages(const char *what, unsigned long begin, unsigned long end)
|
||||
static void __init free_init_pages(const char *what, unsigned long begin, unsigned long end)
|
||||
{
|
||||
unsigned long addr;
|
||||
/* next to check that the page we free is not a partial page */
|
||||
|
@ -203,7 +203,7 @@ void __init free_initrd_mem(unsigned long start, unsigned long end)
|
|||
}
|
||||
#endif
|
||||
|
||||
void __init free_initmem(void)
|
||||
void __init_refok free_initmem(void)
|
||||
{
|
||||
#if defined CONFIG_RAMKERNEL && !defined CONFIG_MPU
|
||||
free_init_pages("unused kernel memory",
|
||||
|
|
|
@ -1494,9 +1494,11 @@ sys_call_table:
|
|||
.long sys_epoll_pwait
|
||||
.long sys_utimensat /* 320 */
|
||||
.long sys_signalfd
|
||||
.long sys_ni_syscall
|
||||
.long sys_timerfd_create
|
||||
.long sys_eventfd
|
||||
.long sys_fallocate
|
||||
.long sys_timerfd_settime /* 325 */
|
||||
.long sys_timerfd_gettime
|
||||
|
||||
|
||||
syscall_table_size = (. - sys_call_table)
|
||||
|
|
|
@ -76,9 +76,6 @@ SECTIONS
|
|||
*(.data.init_task)
|
||||
}
|
||||
|
||||
. = ALIGN(4096);
|
||||
.data.page_aligned : { *(.data.idt) }
|
||||
|
||||
. = ALIGN(L1_CACHE_BYTES);
|
||||
.data.cacheline_aligned : { *(.data.cacheline_aligned) }
|
||||
|
||||
|
|
|
@ -1,51 +1,98 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.11-rc1
|
||||
# Sun Jan 16 17:24:38 2005
|
||||
# Linux kernel version: 2.6.25-rc1
|
||||
# Fri Feb 15 17:13:14 2008
|
||||
#
|
||||
CONFIG_H8300=y
|
||||
# CONFIG_MMU is not set
|
||||
# CONFIG_SWAP is not set
|
||||
CONFIG_ZONE_DMA=y
|
||||
# CONFIG_FPU is not set
|
||||
CONFIG_UID16=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
# CONFIG_RWSEM_XCHGADD_ALGORITHM is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_TIME_LOW_RES=y
|
||||
CONFIG_ARCH_SUPPORTS_AOUT=y
|
||||
CONFIG_NO_IOPORT=y
|
||||
CONFIG_NO_DMA=y
|
||||
CONFIG_ISA=y
|
||||
# CONFIG_PCI is not set
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
#
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_CLEAN_COMPILE=y
|
||||
CONFIG_BROKEN_ON_SMP=y
|
||||
CONFIG_HZ=100
|
||||
CONFIG_C_SYMBOL_PREFIX=y
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_BROKEN_ON_SMP=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
CONFIG_LOCALVERSION=""
|
||||
# CONFIG_LOCALVERSION_AUTO is not set
|
||||
# CONFIG_SYSVIPC is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_SYSCTL is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_HOTPLUG is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_CGROUPS is not set
|
||||
# CONFIG_FAIR_GROUP_SCHED is not set
|
||||
# CONFIG_SYSFS_DEPRECATED is not set
|
||||
# CONFIG_RELAY is not set
|
||||
# CONFIG_NAMESPACES is not set
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
# CONFIG_UID16 is not set
|
||||
# CONFIG_SYSCTL_SYSCALL is not set
|
||||
# CONFIG_KALLSYMS is not set
|
||||
# CONFIG_HOTPLUG is not set
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
# CONFIG_COMPAT_BRK is not set
|
||||
# CONFIG_BASE_FULL is not set
|
||||
# CONFIG_FUTEX is not set
|
||||
# CONFIG_EPOLL is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_CC_ALIGN_FUNCTIONS=0
|
||||
CONFIG_CC_ALIGN_LABELS=0
|
||||
CONFIG_CC_ALIGN_LOOPS=0
|
||||
CONFIG_CC_ALIGN_JUMPS=0
|
||||
# CONFIG_SIGNALFD is not set
|
||||
# CONFIG_TIMERFD is not set
|
||||
# CONFIG_EVENTFD is not set
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
# CONFIG_SLAB is not set
|
||||
# CONFIG_SLUB is not set
|
||||
CONFIG_SLOB=y
|
||||
# CONFIG_PROFILING is not set
|
||||
# CONFIG_MARKERS is not set
|
||||
# CONFIG_HAVE_OPROFILE is not set
|
||||
# CONFIG_HAVE_KPROBES is not set
|
||||
CONFIG_TINY_SHMEM=y
|
||||
CONFIG_BASE_SMALL=1
|
||||
# CONFIG_MODULES is not set
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_LSF is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
# IO Schedulers
|
||||
#
|
||||
# CONFIG_MODULES is not set
|
||||
CONFIG_IOSCHED_NOOP=y
|
||||
# CONFIG_IOSCHED_AS is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_DEFAULT_AS is not set
|
||||
# CONFIG_DEFAULT_DEADLINE is not set
|
||||
# CONFIG_DEFAULT_CFQ is not set
|
||||
CONFIG_DEFAULT_NOOP=y
|
||||
CONFIG_DEFAULT_IOSCHED="noop"
|
||||
CONFIG_CLASSIC_RCU=y
|
||||
# CONFIG_PREEMPT_RCU is not set
|
||||
|
||||
#
|
||||
# Processor type and features
|
||||
|
@ -62,14 +109,26 @@ CONFIG_H8300H_GENERIC=y
|
|||
# Detail Selection
|
||||
#
|
||||
# CONFIG_H83002 is not set
|
||||
# CONFIG_H83007 is not set
|
||||
CONFIG_H83007=y
|
||||
# CONFIG_H83048 is not set
|
||||
CONFIG_H83068=y
|
||||
# CONFIG_H83068 is not set
|
||||
CONFIG_CPU_CLOCK=20000
|
||||
# CONFIG_RAMKERNEL is not set
|
||||
CONFIG_ROMKERNEL=y
|
||||
CONFIG_RAMKERNEL=y
|
||||
# CONFIG_ROMKERNEL is not set
|
||||
CONFIG_CPU_H8300H=y
|
||||
# CONFIG_PREEMPT 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_SPARSEMEM_VMEMMAP_ENABLE is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=1
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
|
@ -77,34 +136,42 @@ CONFIG_CPU_H8300H=y
|
|||
CONFIG_BINFMT_FLAT=y
|
||||
CONFIG_BINFMT_ZFLAT=y
|
||||
# CONFIG_BINFMT_SHARED_FLAT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
CONFIG_BINFMT_MISC=y
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
# CONFIG_NET is not set
|
||||
|
||||
#
|
||||
# Generic Driver Options
|
||||
#
|
||||
# CONFIG_STANDALONE is not set
|
||||
CONFIG_STANDALONE=y
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_FW_LOADER is not set
|
||||
# CONFIG_DEBUG_DRIVER is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
# CONFIG_MTD_CONCAT is not set
|
||||
CONFIG_MTD_PARTITIONS=y
|
||||
CONFIG_MTD_CONCAT=y
|
||||
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||
CONFIG_MTD_REDBOOT_PARTS=y
|
||||
CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
|
||||
# CONFIG_MTD_REDBOOT_PARTS_UNALLOCATED is not set
|
||||
# CONFIG_MTD_REDBOOT_PARTS_READONLY is not set
|
||||
# CONFIG_MTD_CMDLINE_PARTS is not set
|
||||
|
||||
#
|
||||
# User Modules And Translation Layers
|
||||
#
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
# CONFIG_MTD_BLKDEVS is not set
|
||||
# CONFIG_MTD_BLOCK is not set
|
||||
# CONFIG_MTD_BLOCK_RO is not set
|
||||
# CONFIG_FTL is not set
|
||||
# CONFIG_NFTL is not set
|
||||
# CONFIG_INFTL is not set
|
||||
# CONFIG_RFD_FTL is not set
|
||||
# CONFIG_SSFDC is not set
|
||||
# CONFIG_MTD_OOPS is not set
|
||||
|
||||
#
|
||||
# RAM/ROM/Flash chip drivers
|
||||
|
@ -129,7 +196,9 @@ CONFIG_MTD_ROM=y
|
|||
# Mapping drivers for chip access
|
||||
#
|
||||
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||
# CONFIG_MTD_PHYSMAP is not set
|
||||
CONFIG_MTD_UCLINUX=y
|
||||
# CONFIG_MTD_PLATRAM is not set
|
||||
|
||||
#
|
||||
# Self-contained MTD device drivers
|
||||
|
@ -137,7 +206,6 @@ CONFIG_MTD_UCLINUX=y
|
|||
# CONFIG_MTD_SLRAM is not set
|
||||
# CONFIG_MTD_PHRAM is not set
|
||||
# CONFIG_MTD_MTDRAM is not set
|
||||
# CONFIG_MTD_BLKMTD is not set
|
||||
# CONFIG_MTD_BLOCK2MTD is not set
|
||||
|
||||
#
|
||||
|
@ -146,63 +214,27 @@ CONFIG_MTD_UCLINUX=y
|
|||
# CONFIG_MTD_DOC2000 is not set
|
||||
# CONFIG_MTD_DOC2001 is not set
|
||||
# CONFIG_MTD_DOC2001PLUS is not set
|
||||
|
||||
#
|
||||
# NAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_NAND is not set
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
# CONFIG_BLK_DEV_FD is not set
|
||||
# CONFIG_BLK_DEV_XD is not set
|
||||
# CONFIG_BLK_DEV_LOOP is not set
|
||||
# CONFIG_BLK_DEV_RAM is not set
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
#
|
||||
CONFIG_IOSCHED_NOOP=y
|
||||
# CONFIG_IOSCHED_AS is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
# UBI - Unsorted block images
|
||||
#
|
||||
# CONFIG_MTD_UBI is not set
|
||||
# CONFIG_BLK_DEV is not set
|
||||
CONFIG_HAVE_IDE=y
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
# Networking support
|
||||
#
|
||||
# CONFIG_NET is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# Input device support
|
||||
#
|
||||
# CONFIG_INPUT is not set
|
||||
|
||||
#
|
||||
# Userland interfaces
|
||||
# Hardware I/O ports
|
||||
#
|
||||
|
||||
#
|
||||
# Input I/O drivers
|
||||
#
|
||||
# CONFIG_GAMEPORT is not set
|
||||
CONFIG_SOUND_GAMEPORT=y
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_SERIO_I8042 is not set
|
||||
|
||||
#
|
||||
# Input Device Drivers
|
||||
#
|
||||
# CONFIG_GAMEPORT is not set
|
||||
|
||||
#
|
||||
# Character devices
|
||||
|
@ -223,45 +255,31 @@ CONFIG_SOUND_GAMEPORT=y
|
|||
# Non-8250 serial port support
|
||||
#
|
||||
CONFIG_SERIAL_SH_SCI=y
|
||||
CONFIG_SERIAL_SH_SCI_NR_UARTS=2
|
||||
CONFIG_SERIAL_SH_SCI_CONSOLE=y
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
# CONFIG_USB_ARCH_HAS_HCD is not set
|
||||
# CONFIG_USB_ARCH_HAS_OHCI is not set
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support' may also be needed; see USB_STORAGE Help for more information
|
||||
#
|
||||
|
||||
#
|
||||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
# CONFIG_EXT2_FS is not set
|
||||
# CONFIG_EXT3_FS is not set
|
||||
# CONFIG_JBD is not set
|
||||
# CONFIG_EXT4DEV_FS is not set
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
CONFIG_ROMFS_FS=y
|
||||
# CONFIG_QUOTA is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
# CONFIG_INOTIFY is not set
|
||||
# CONFIG_QUOTA is not set
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
# CONFIG_AUTOFS4_FS is not set
|
||||
# CONFIG_FUSE_FS is not set
|
||||
|
||||
#
|
||||
# CD-ROM/DVD Filesystems
|
||||
|
@ -280,11 +298,11 @@ CONFIG_ROMFS_FS=y
|
|||
# Pseudo filesystems
|
||||
#
|
||||
CONFIG_PROC_FS=y
|
||||
# CONFIG_SYSFS is not set
|
||||
# CONFIG_DEVFS_FS is not set
|
||||
CONFIG_PROC_SYSCTL=y
|
||||
CONFIG_SYSFS=y
|
||||
# CONFIG_TMPFS is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_RAMFS=y
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
|
||||
#
|
||||
# Miscellaneous filesystems
|
||||
|
@ -296,12 +314,13 @@ CONFIG_RAMFS=y
|
|||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_JFFS_FS is not set
|
||||
# CONFIG_JFFS2_FS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
CONFIG_ROMFS_FS=y
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
|
||||
|
@ -310,22 +329,23 @@ CONFIG_RAMFS=y
|
|||
#
|
||||
# CONFIG_PARTITION_ADVANCED is not set
|
||||
CONFIG_MSDOS_PARTITION=y
|
||||
|
||||
#
|
||||
# Native Language Support
|
||||
#
|
||||
# CONFIG_NLS is not set
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
#
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
# CONFIG_ENABLE_WARN_DEPRECATED is not set
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
CONFIG_FULLDEBUG=y
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
# CONFIG_FULLDEBUG is not set
|
||||
# CONFIG_HIGHPROFILE is not set
|
||||
CONFIG_NO_KERNEL_MSG=y
|
||||
# CONFIG_NO_KERNEL_MSG is not set
|
||||
# CONFIG_SYSCALL_PRINT is not set
|
||||
# CONFIG_GDB_DEBUG is not set
|
||||
# CONFIG_SH_STANDARD_BIOS is not set
|
||||
|
@ -337,20 +357,17 @@ CONFIG_NO_KERNEL_MSG=y
|
|||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
|
||||
#
|
||||
# Cryptographic options
|
||||
#
|
||||
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
|
||||
# CONFIG_CRYPTO is not set
|
||||
|
||||
#
|
||||
# Hardware crypto devices
|
||||
#
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
# CONFIG_CRC32 is not set
|
||||
# CONFIG_CRC7 is not set
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
|
||||
extern unsigned long *interrupt_redirect_table;
|
||||
extern const int h8300_saved_vectors[];
|
||||
extern const unsigned long h8300_trap_table[];
|
||||
extern const h8300_vector h8300_trap_table[];
|
||||
int h8300_enable_irq_pin(unsigned int irq);
|
||||
void h8300_disable_irq_pin(unsigned int irq);
|
||||
|
||||
|
@ -116,7 +116,7 @@ static void __init setup_vector(void)
|
|||
{
|
||||
int i;
|
||||
unsigned long *ramvec,*ramvec_p;
|
||||
const unsigned long *trap_entry;
|
||||
const h8300_vector *trap_entry;
|
||||
const int *saved_vector;
|
||||
|
||||
ramvec = get_vector_address();
|
||||
|
|
|
@ -352,7 +352,7 @@ static void setup_frame (int sig, struct k_sigaction *ka,
|
|||
ret = (unsigned char *)(ka->sa.sa_restorer);
|
||||
else {
|
||||
/* sub.l er0,er0; mov.b #__NR_sigreturn,r0l; trapa #0 */
|
||||
err != __put_user(0x1a80f800 + (__NR_sigreturn & 0xff),
|
||||
err |= __put_user(0x1a80f800 + (__NR_sigreturn & 0xff),
|
||||
(unsigned long *)(frame->retcode + 0));
|
||||
err |= __put_user(0x5700, (unsigned short *)(frame->retcode + 4));
|
||||
}
|
||||
|
@ -428,7 +428,7 @@ static void setup_rt_frame (int sig, struct k_sigaction *ka, siginfo_t *info,
|
|||
ret = (unsigned char *)(ka->sa.sa_restorer);
|
||||
else {
|
||||
/* sub.l er0,er0; mov.b #__NR_sigreturn,r0l; trapa #0 */
|
||||
err != __put_user(0x1a80f800 + (__NR_sigreturn & 0xff),
|
||||
err |= __put_user(0x1a80f800 + (__NR_sigreturn & 0xff),
|
||||
(unsigned long *)(frame->retcode + 0));
|
||||
err |= __put_user(0x5700, (unsigned short *)(frame->retcode + 4));
|
||||
}
|
||||
|
|
|
@ -4,4 +4,4 @@
|
|||
# Reuse any files we can from the H8/300H
|
||||
#
|
||||
|
||||
obj-y := irq_pin.o ptrace_h8300h.o
|
||||
obj-y := irq.o ptrace_h8300h.o
|
||||
|
|
|
@ -0,0 +1,82 @@
|
|||
/*
|
||||
* Interrupt handling H8/300H depend.
|
||||
* Yoshinori Sato <ysato@users.sourceforge.jp>
|
||||
*
|
||||
*/
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/errno.h>
|
||||
|
||||
#include <asm/ptrace.h>
|
||||
#include <asm/traps.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/regs306x.h>
|
||||
|
||||
const int __initdata h8300_saved_vectors[] = {
|
||||
#if defined(CONFIG_GDB_DEBUG)
|
||||
TRAP3_VEC, /* TRAPA #3 is GDB breakpoint */
|
||||
#endif
|
||||
-1,
|
||||
};
|
||||
|
||||
const h8300_vector __initdata h8300_trap_table[] = {
|
||||
0, 0, 0, 0, 0, 0, 0, 0,
|
||||
system_call,
|
||||
0,
|
||||
0,
|
||||
trace_break,
|
||||
};
|
||||
|
||||
int h8300_enable_irq_pin(unsigned int irq)
|
||||
{
|
||||
int bitmask;
|
||||
if (irq < EXT_IRQ0 || irq > EXT_IRQ5)
|
||||
return 0;
|
||||
|
||||
/* initialize IRQ pin */
|
||||
bitmask = 1 << (irq - EXT_IRQ0);
|
||||
switch(irq) {
|
||||
case EXT_IRQ0:
|
||||
case EXT_IRQ1:
|
||||
case EXT_IRQ2:
|
||||
case EXT_IRQ3:
|
||||
if (H8300_GPIO_RESERVE(H8300_GPIO_P8, bitmask) == 0)
|
||||
return -EBUSY;
|
||||
H8300_GPIO_DDR(H8300_GPIO_P8, bitmask, H8300_GPIO_INPUT);
|
||||
break;
|
||||
case EXT_IRQ4:
|
||||
case EXT_IRQ5:
|
||||
if (H8300_GPIO_RESERVE(H8300_GPIO_P9, bitmask) == 0)
|
||||
return -EBUSY;
|
||||
H8300_GPIO_DDR(H8300_GPIO_P9, bitmask, H8300_GPIO_INPUT);
|
||||
break;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void h8300_disable_irq_pin(unsigned int irq)
|
||||
{
|
||||
int bitmask;
|
||||
if (irq < EXT_IRQ0 || irq > EXT_IRQ5)
|
||||
return;
|
||||
|
||||
/* disable interrupt & release IRQ pin */
|
||||
bitmask = 1 << (irq - EXT_IRQ0);
|
||||
switch(irq) {
|
||||
case EXT_IRQ0:
|
||||
case EXT_IRQ1:
|
||||
case EXT_IRQ2:
|
||||
case EXT_IRQ3:
|
||||
*(volatile unsigned char *)IER &= ~bitmask;
|
||||
H8300_GPIO_FREE(H8300_GPIO_P8, bitmask);
|
||||
break ;
|
||||
case EXT_IRQ4:
|
||||
case EXT_IRQ5:
|
||||
*(volatile unsigned char *)IER &= ~bitmask;
|
||||
H8300_GPIO_FREE(H8300_GPIO_P9, bitmask);
|
||||
break;
|
||||
}
|
||||
}
|
|
@ -1,304 +0,0 @@
|
|||
/*
|
||||
* linux/arch/h8300/platform/h8s/ints.c
|
||||
*
|
||||
* Yoshinori Sato <ysato@users.sourceforge.jp>
|
||||
*
|
||||
* Based on linux/arch/$(ARCH)/platform/$(PLATFORM)/ints.c
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file COPYING in the main directory of this archive
|
||||
* for more details.
|
||||
*
|
||||
* Copyright 1996 Roman Zippel
|
||||
* Copyright 1999 D. Jeff Dionne <jeff@rt-control.com>
|
||||
*/
|
||||
|
||||
#include <linux/module.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/sched.h>
|
||||
#include <linux/kernel_stat.h>
|
||||
#include <linux/seq_file.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/random.h>
|
||||
#include <linux/hardirq.h>
|
||||
|
||||
#include <asm/system.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/traps.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/setup.h>
|
||||
#include <asm/gpio.h>
|
||||
#include <asm/regs267x.h>
|
||||
#include <asm/errno.h>
|
||||
|
||||
/*
|
||||
* This structure has only 4 elements for speed reasons
|
||||
*/
|
||||
typedef struct irq_handler {
|
||||
irqreturn_t (*handler)(int, void *, struct pt_regs *);
|
||||
int flags;
|
||||
int count;
|
||||
void *dev_id;
|
||||
const char *devname;
|
||||
} irq_handler_t;
|
||||
|
||||
static irq_handler_t *irq_list[NR_IRQS];
|
||||
|
||||
/* IRQ pin assignment */
|
||||
struct irq_pins {
|
||||
unsigned char port_no;
|
||||
unsigned char bit_no;
|
||||
};
|
||||
/* ISTR = 0 */
|
||||
static const struct irq_pins irq_assign_table0[16]={
|
||||
{H8300_GPIO_P5,H8300_GPIO_B0},{H8300_GPIO_P5,H8300_GPIO_B1},
|
||||
{H8300_GPIO_P5,H8300_GPIO_B2},{H8300_GPIO_P5,H8300_GPIO_B3},
|
||||
{H8300_GPIO_P5,H8300_GPIO_B4},{H8300_GPIO_P5,H8300_GPIO_B5},
|
||||
{H8300_GPIO_P5,H8300_GPIO_B6},{H8300_GPIO_P5,H8300_GPIO_B7},
|
||||
{H8300_GPIO_P6,H8300_GPIO_B0},{H8300_GPIO_P6,H8300_GPIO_B1},
|
||||
{H8300_GPIO_P6,H8300_GPIO_B2},{H8300_GPIO_P6,H8300_GPIO_B3},
|
||||
{H8300_GPIO_P6,H8300_GPIO_B4},{H8300_GPIO_P6,H8300_GPIO_B5},
|
||||
{H8300_GPIO_PF,H8300_GPIO_B1},{H8300_GPIO_PF,H8300_GPIO_B2},
|
||||
};
|
||||
/* ISTR = 1 */
|
||||
static const struct irq_pins irq_assign_table1[16]={
|
||||
{H8300_GPIO_P8,H8300_GPIO_B0},{H8300_GPIO_P8,H8300_GPIO_B1},
|
||||
{H8300_GPIO_P8,H8300_GPIO_B2},{H8300_GPIO_P8,H8300_GPIO_B3},
|
||||
{H8300_GPIO_P8,H8300_GPIO_B4},{H8300_GPIO_P8,H8300_GPIO_B5},
|
||||
{H8300_GPIO_PH,H8300_GPIO_B2},{H8300_GPIO_PH,H8300_GPIO_B3},
|
||||
{H8300_GPIO_P2,H8300_GPIO_B0},{H8300_GPIO_P2,H8300_GPIO_B1},
|
||||
{H8300_GPIO_P2,H8300_GPIO_B2},{H8300_GPIO_P2,H8300_GPIO_B3},
|
||||
{H8300_GPIO_P2,H8300_GPIO_B4},{H8300_GPIO_P2,H8300_GPIO_B5},
|
||||
{H8300_GPIO_P2,H8300_GPIO_B6},{H8300_GPIO_P2,H8300_GPIO_B7},
|
||||
};
|
||||
|
||||
static short use_kmalloc = 0;
|
||||
|
||||
extern unsigned long *interrupt_redirect_table;
|
||||
|
||||
#define CPU_VECTOR ((unsigned long *)0x000000)
|
||||
#define ADDR_MASK (0xffffff)
|
||||
|
||||
static inline unsigned long *get_vector_address(void)
|
||||
{
|
||||
volatile unsigned long *rom_vector = CPU_VECTOR;
|
||||
unsigned long base,tmp;
|
||||
int vec_no;
|
||||
|
||||
base = rom_vector[EXT_IRQ0] & ADDR_MASK;
|
||||
|
||||
/* check romvector format */
|
||||
for (vec_no = EXT_IRQ1; vec_no <= EXT_IRQ15; vec_no++) {
|
||||
if ((base+(vec_no - EXT_IRQ0)*4) != (rom_vector[vec_no] & ADDR_MASK))
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/* ramvector base address */
|
||||
base -= EXT_IRQ0*4;
|
||||
|
||||
/* writerble check */
|
||||
tmp = ~(*(unsigned long *)base);
|
||||
(*(unsigned long *)base) = tmp;
|
||||
if ((*(unsigned long *)base) != tmp)
|
||||
return NULL;
|
||||
return (unsigned long *)base;
|
||||
}
|
||||
|
||||
void __init init_IRQ(void)
|
||||
{
|
||||
#if defined(CONFIG_RAMKERNEL)
|
||||
int i;
|
||||
unsigned long *ramvec,*ramvec_p;
|
||||
unsigned long break_vec;
|
||||
|
||||
ramvec = get_vector_address();
|
||||
if (ramvec == NULL)
|
||||
panic("interrupt vector serup failed.");
|
||||
else
|
||||
printk("virtual vector at 0x%08lx\n",(unsigned long)ramvec);
|
||||
|
||||
#if defined(CONFIG_GDB_DEBUG)
|
||||
/* save original break vector */
|
||||
break_vec = ramvec[TRAP3_VEC];
|
||||
#else
|
||||
break_vec = VECTOR(trace_break);
|
||||
#endif
|
||||
|
||||
/* create redirect table */
|
||||
for (ramvec_p = ramvec, i = 0; i < NR_IRQS; i++)
|
||||
*ramvec_p++ = REDIRECT(interrupt_entry);
|
||||
|
||||
/* set special vector */
|
||||
ramvec[TRAP0_VEC] = VECTOR(system_call);
|
||||
ramvec[TRAP3_VEC] = break_vec;
|
||||
interrupt_redirect_table = ramvec;
|
||||
#ifdef DUMP_VECTOR
|
||||
ramvec_p = ramvec;
|
||||
for (i = 0; i < NR_IRQS; i++) {
|
||||
if ((i % 8) == 0)
|
||||
printk("\n%p: ",ramvec_p);
|
||||
printk("%p ",*ramvec_p);
|
||||
ramvec_p++;
|
||||
}
|
||||
printk("\n");
|
||||
#endif
|
||||
#endif
|
||||
}
|
||||
|
||||
int request_irq(unsigned int irq,
|
||||
irqreturn_t (*handler)(int, void *, struct pt_regs *),
|
||||
unsigned long flags, const char *devname, void *dev_id)
|
||||
{
|
||||
unsigned short ptn = 1 << (irq - EXT_IRQ0);
|
||||
irq_handler_t *irq_handle;
|
||||
if (irq < 0 || irq >= NR_IRQS) {
|
||||
printk("Incorrect IRQ %d from %s\n", irq, devname);
|
||||
return -EINVAL;
|
||||
}
|
||||
if (irq_list[irq])
|
||||
return -EBUSY; /* already used */
|
||||
if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15) {
|
||||
/* initialize IRQ pin */
|
||||
unsigned int port_no,bit_no;
|
||||
if (*(volatile unsigned short *)ITSR & ptn) {
|
||||
port_no = irq_assign_table1[irq - EXT_IRQ0].port_no;
|
||||
bit_no = irq_assign_table1[irq - EXT_IRQ0].bit_no;
|
||||
} else {
|
||||
port_no = irq_assign_table0[irq - EXT_IRQ0].port_no;
|
||||
bit_no = irq_assign_table0[irq - EXT_IRQ0].bit_no;
|
||||
}
|
||||
if (H8300_GPIO_RESERVE(port_no, bit_no) == 0)
|
||||
return -EBUSY; /* pin already use */
|
||||
H8300_GPIO_DDR(port_no, bit_no, H8300_GPIO_INPUT);
|
||||
*(volatile unsigned short *)ISR &= ~ptn; /* ISR clear */
|
||||
}
|
||||
|
||||
if (use_kmalloc)
|
||||
irq_handle = kmalloc(sizeof(irq_handler_t), GFP_ATOMIC);
|
||||
else {
|
||||
/* use bootmem allocator */
|
||||
irq_handle = (irq_handler_t *)alloc_bootmem(sizeof(irq_handler_t));
|
||||
irq_handle = (irq_handler_t *)((unsigned long)irq_handle | 0x80000000);
|
||||
}
|
||||
|
||||
if (irq_handle == NULL)
|
||||
return -ENOMEM;
|
||||
|
||||
irq_handle->handler = handler;
|
||||
irq_handle->flags = flags;
|
||||
irq_handle->count = 0;
|
||||
irq_handle->dev_id = dev_id;
|
||||
irq_handle->devname = devname;
|
||||
irq_list[irq] = irq_handle;
|
||||
if (irq_handle->flags & IRQF_SAMPLE_RANDOM)
|
||||
rand_initialize_irq(irq);
|
||||
|
||||
/* enable interrupt */
|
||||
/* compatible i386 */
|
||||
if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15)
|
||||
*(volatile unsigned short *)IER |= ptn;
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(request_irq);
|
||||
|
||||
void free_irq(unsigned int irq, void *dev_id)
|
||||
{
|
||||
if (irq >= NR_IRQS)
|
||||
return;
|
||||
if (irq_list[irq]->dev_id != dev_id)
|
||||
printk("%s: Removing probably wrong IRQ %d from %s\n",
|
||||
__FUNCTION__, irq, irq_list[irq]->devname);
|
||||
if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15) {
|
||||
/* disable interrupt & release IRQ pin */
|
||||
unsigned short port_no,bit_no;
|
||||
*(volatile unsigned short *)ISR &= ~(1 << (irq - EXT_IRQ0));
|
||||
*(volatile unsigned short *)IER |= 1 << (irq - EXT_IRQ0);
|
||||
if (*(volatile unsigned short *)ITSR & (1 << (irq - EXT_IRQ0))) {
|
||||
port_no = irq_assign_table1[irq - EXT_IRQ0].port_no;
|
||||
bit_no = irq_assign_table1[irq - EXT_IRQ0].bit_no;
|
||||
} else {
|
||||
port_no = irq_assign_table0[irq - EXT_IRQ0].port_no;
|
||||
bit_no = irq_assign_table0[irq - EXT_IRQ0].bit_no;
|
||||
}
|
||||
H8300_GPIO_FREE(port_no, bit_no);
|
||||
}
|
||||
if (((unsigned long)irq_list[irq] & 0x80000000) == 0) {
|
||||
kfree(irq_list[irq]);
|
||||
irq_list[irq] = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(free_irq);
|
||||
|
||||
unsigned long probe_irq_on (void)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(probe_irq_on);
|
||||
|
||||
int probe_irq_off (unsigned long irqs)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
EXPORT_SYMBOL(probe_irq_off);
|
||||
|
||||
void enable_irq(unsigned int irq)
|
||||
{
|
||||
if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15)
|
||||
*(volatile unsigned short *)IER |= 1 << (irq - EXT_IRQ0);
|
||||
}
|
||||
|
||||
void disable_irq(unsigned int irq)
|
||||
{
|
||||
if (irq >= EXT_IRQ0 && irq <= EXT_IRQ15)
|
||||
*(volatile unsigned short *)IER &= ~(1 << (irq - EXT_IRQ0));
|
||||
}
|
||||
|
||||
asmlinkage void process_int(unsigned long vec, struct pt_regs *fp)
|
||||
{
|
||||
irq_enter();
|
||||
/* ISR clear */
|
||||
/* compatible i386 */
|
||||
if (vec >= EXT_IRQ0 && vec <= EXT_IRQ15)
|
||||
*(volatile unsigned short *)ISR &= ~(1 << (vec - EXT_IRQ0));
|
||||
if (vec < NR_IRQS) {
|
||||
if (irq_list[vec]) {
|
||||
irq_list[vec]->handler(vec, irq_list[vec]->dev_id, fp);
|
||||
irq_list[vec]->count++;
|
||||
if (irq_list[vec]->flags & IRQF_SAMPLE_RANDOM)
|
||||
add_interrupt_randomness(vec);
|
||||
}
|
||||
} else {
|
||||
BUG();
|
||||
}
|
||||
irq_exit();
|
||||
}
|
||||
|
||||
int show_interrupts(struct seq_file *p, void *v)
|
||||
{
|
||||
int i = *(loff_t *) v;
|
||||
|
||||
if ((i < NR_IRQS) && (irq_list[i] !=NULL)) {
|
||||
seq_printf(p, "%3d: %10u ",i,irq_list[i]->count);
|
||||
seq_printf(p, "%s\n", irq_list[i]->devname);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void init_irq_proc(void)
|
||||
{
|
||||
}
|
||||
|
||||
static int __init enable_kmalloc(void)
|
||||
{
|
||||
use_kmalloc = 1;
|
||||
return 0;
|
||||
}
|
||||
core_initcall(enable_kmalloc);
|
|
@ -27,11 +27,11 @@ const int __initdata h8300_saved_vectors[]={
|
|||
};
|
||||
|
||||
/* trap entry table */
|
||||
const unsigned long __initdata h8300_trap_table[NR_TRAPS]={
|
||||
const H8300_VECTOR __initdata h8300_trap_table[] = {
|
||||
0,0,0,0,0,
|
||||
(unsigned long)trace_break, /* TRACE */
|
||||
trace_break, /* TRACE */
|
||||
0,0,
|
||||
(unsigned long)system_call, /* TRAPA #0 */
|
||||
system_call, /* TRAPA #0 */
|
||||
0,0,0,0,0,0,0
|
||||
};
|
||||
|
||||
|
@ -50,7 +50,7 @@ static const struct irq_pins irq_assign_table0[16]={
|
|||
{H8300_GPIO_P6,H8300_GPIO_B2},{H8300_GPIO_P6,H8300_GPIO_B3},
|
||||
{H8300_GPIO_P6,H8300_GPIO_B4},{H8300_GPIO_P6,H8300_GPIO_B5},
|
||||
{H8300_GPIO_PF,H8300_GPIO_B1},{H8300_GPIO_PF,H8300_GPIO_B2},
|
||||
};
|
||||
};
|
||||
/* ISTR = 1 */
|
||||
static const struct irq_pins irq_assign_table1[16]={
|
||||
{H8300_GPIO_P8,H8300_GPIO_B0},{H8300_GPIO_P8,H8300_GPIO_B1},
|
|
@ -92,17 +92,17 @@ static int bcm47xx_get_invariants(struct ssb_bus *bus,
|
|||
iv->sprom.revision = 3;
|
||||
|
||||
if (cfe_getenv("et0macaddr", buf, sizeof(buf)) >= 0)
|
||||
str2eaddr(buf, iv->sprom.r1.et0mac);
|
||||
str2eaddr(buf, iv->sprom.et0mac);
|
||||
if (cfe_getenv("et1macaddr", buf, sizeof(buf)) >= 0)
|
||||
str2eaddr(buf, iv->sprom.r1.et1mac);
|
||||
str2eaddr(buf, iv->sprom.et1mac);
|
||||
if (cfe_getenv("et0phyaddr", buf, sizeof(buf)) >= 0)
|
||||
iv->sprom.r1.et0phyaddr = simple_strtoul(buf, NULL, 10);
|
||||
iv->sprom.et0phyaddr = simple_strtoul(buf, NULL, 10);
|
||||
if (cfe_getenv("et1phyaddr", buf, sizeof(buf)) >= 0)
|
||||
iv->sprom.r1.et1phyaddr = simple_strtoul(buf, NULL, 10);
|
||||
iv->sprom.et1phyaddr = simple_strtoul(buf, NULL, 10);
|
||||
if (cfe_getenv("et0mdcport", buf, sizeof(buf)) >= 0)
|
||||
iv->sprom.r1.et0mdcport = simple_strtoul(buf, NULL, 10);
|
||||
iv->sprom.et0mdcport = simple_strtoul(buf, NULL, 10);
|
||||
if (cfe_getenv("et1mdcport", buf, sizeof(buf)) >= 0)
|
||||
iv->sprom.r1.et1mdcport = simple_strtoul(buf, NULL, 10);
|
||||
iv->sprom.et1mdcport = simple_strtoul(buf, NULL, 10);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
#include <linux/platform_device.h>
|
||||
#include <linux/module.h>
|
||||
#include <linux/leds.h>
|
||||
#include <linux/mtd/physmap.h>
|
||||
#include <linux/ssb/ssb.h>
|
||||
#include <asm/mach-bcm47xx/bcm47xx.h>
|
||||
|
||||
|
@ -43,6 +44,61 @@ static struct platform_device wgt634u_gpio_leds = {
|
|||
}
|
||||
};
|
||||
|
||||
|
||||
/* 8MiB flash. The struct mtd_partition matches original Netgear WGT634U
|
||||
firmware. */
|
||||
static struct mtd_partition wgt634u_partitions[] = {
|
||||
{
|
||||
.name = "cfe",
|
||||
.offset = 0,
|
||||
.size = 0x60000, /* 384k */
|
||||
.mask_flags = MTD_WRITEABLE /* force read-only */
|
||||
},
|
||||
{
|
||||
.name = "config",
|
||||
.offset = 0x60000,
|
||||
.size = 0x20000 /* 128k */
|
||||
},
|
||||
{
|
||||
.name = "linux",
|
||||
.offset = 0x80000,
|
||||
.size = 0x140000 /* 1280k */
|
||||
},
|
||||
{
|
||||
.name = "jffs",
|
||||
.offset = 0x1c0000,
|
||||
.size = 0x620000 /* 6272k */
|
||||
},
|
||||
{
|
||||
.name = "nvram",
|
||||
.offset = 0x7e0000,
|
||||
.size = 0x20000 /* 128k */
|
||||
},
|
||||
};
|
||||
|
||||
static struct physmap_flash_data wgt634u_flash_data = {
|
||||
.parts = wgt634u_partitions,
|
||||
.nr_parts = ARRAY_SIZE(wgt634u_partitions)
|
||||
};
|
||||
|
||||
static struct resource wgt634u_flash_resource = {
|
||||
.flags = IORESOURCE_MEM,
|
||||
};
|
||||
|
||||
static struct platform_device wgt634u_flash = {
|
||||
.name = "physmap-flash",
|
||||
.id = 0,
|
||||
.dev = { .platform_data = &wgt634u_flash_data, },
|
||||
.resource = &wgt634u_flash_resource,
|
||||
.num_resources = 1,
|
||||
};
|
||||
|
||||
/* Platform devices */
|
||||
static struct platform_device *wgt634u_devices[] __initdata = {
|
||||
&wgt634u_flash,
|
||||
&wgt634u_gpio_leds,
|
||||
};
|
||||
|
||||
static int __init wgt634u_init(void)
|
||||
{
|
||||
/* There is no easy way to detect that we are running on a WGT634U
|
||||
|
@ -50,13 +106,20 @@ static int __init wgt634u_init(void)
|
|||
* been allocated ranges 00:09:5b:xx:xx:xx and 00:0f:b5:xx:xx:xx.
|
||||
*/
|
||||
|
||||
u8 *et0mac = ssb_bcm47xx.sprom.r1.et0mac;
|
||||
u8 *et0mac = ssb_bcm47xx.sprom.et0mac;
|
||||
|
||||
if (et0mac[0] == 0x00 &&
|
||||
((et0mac[1] == 0x09 && et0mac[2] == 0x5b) ||
|
||||
(et0mac[1] == 0x0f && et0mac[2] == 0xb5)))
|
||||
return platform_device_register(&wgt634u_gpio_leds);
|
||||
else
|
||||
(et0mac[1] == 0x0f && et0mac[2] == 0xb5))) {
|
||||
struct ssb_mipscore *mcore = &ssb_bcm47xx.mipscore;
|
||||
wgt634u_flash_data.width = mcore->flash_buswidth;
|
||||
wgt634u_flash_resource.start = mcore->flash_window;
|
||||
wgt634u_flash_resource.end = mcore->flash_window
|
||||
+ mcore->flash_window_size
|
||||
- 1;
|
||||
return platform_add_devices(wgt634u_devices,
|
||||
ARRAY_SIZE(wgt634u_devices));
|
||||
} else
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,891 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.25-rc1
|
||||
# Mon Feb 11 15:58:54 2008
|
||||
#
|
||||
CONFIG_MIPS=y
|
||||
|
||||
#
|
||||
# Machine selection
|
||||
#
|
||||
# CONFIG_MACH_ALCHEMY is not set
|
||||
# CONFIG_BASLER_EXCITE is not set
|
||||
# CONFIG_BCM47XX is not set
|
||||
# CONFIG_MIPS_COBALT is not set
|
||||
# CONFIG_MACH_DECSTATION is not set
|
||||
# CONFIG_MACH_JAZZ is not set
|
||||
# CONFIG_LASAT is not set
|
||||
# CONFIG_LEMOTE_FULONG is not set
|
||||
# CONFIG_MIPS_ATLAS is not set
|
||||
# CONFIG_MIPS_MALTA is not set
|
||||
# CONFIG_MIPS_SEAD is not set
|
||||
# CONFIG_MIPS_SIM is not set
|
||||
# CONFIG_MARKEINS is not set
|
||||
# CONFIG_MACH_VR41XX is not set
|
||||
# CONFIG_PNX8550_JBS is not set
|
||||
# CONFIG_PNX8550_STB810 is not set
|
||||
# CONFIG_PMC_MSP is not set
|
||||
# CONFIG_PMC_YOSEMITE is not set
|
||||
# CONFIG_SGI_IP22 is not set
|
||||
# CONFIG_SGI_IP27 is not set
|
||||
CONFIG_SGI_IP28=y
|
||||
# CONFIG_SGI_IP32 is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CARMEL is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SIBYTE_RHONE is not set
|
||||
# CONFIG_SIBYTE_SWARM is not set
|
||||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_SENTOSA is not set
|
||||
# CONFIG_SIBYTE_BIGSUR is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
# CONFIG_WR_PPMC is not set
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_ARCH_SUPPORTS_OPROFILE=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_GENERIC_CMOS_UPDATE=y
|
||||
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
|
||||
# CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ is not set
|
||||
CONFIG_ARC=y
|
||||
CONFIG_CEVT_R4K=y
|
||||
CONFIG_CSRC_R4K=y
|
||||
CONFIG_DMA_NONCOHERENT=y
|
||||
CONFIG_DMA_NEED_PCI_MAP_STATE=y
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
CONFIG_SYS_HAS_EARLY_PRINTK=y
|
||||
# CONFIG_HOTPLUG_CPU is not set
|
||||
CONFIG_I8259=y
|
||||
# CONFIG_NO_IOPORT is not set
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
CONFIG_GENERIC_ISA_DMA_SUPPORT_BROKEN=y
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
# CONFIG_CPU_LITTLE_ENDIAN is not set
|
||||
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
|
||||
CONFIG_IRQ_CPU=y
|
||||
CONFIG_SWAP_IO_SPACE=y
|
||||
CONFIG_SGI_HAS_DS1286=y
|
||||
CONFIG_SGI_HAS_INDYDOG=y
|
||||
CONFIG_SGI_HAS_SEEQ=y
|
||||
CONFIG_SGI_HAS_WD93=y
|
||||
CONFIG_SGI_HAS_ZILOG=y
|
||||
CONFIG_SGI_HAS_I8042=y
|
||||
CONFIG_DEFAULT_SGI_PARTITION=y
|
||||
CONFIG_MIPS_L1_CACHE_SHIFT=7
|
||||
CONFIG_ARC_CONSOLE=y
|
||||
CONFIG_ARC_PROMLIB=y
|
||||
CONFIG_ARC64=y
|
||||
CONFIG_BOOT_ELF64=y
|
||||
|
||||
#
|
||||
# CPU selection
|
||||
#
|
||||
# CONFIG_CPU_LOONGSON2 is not set
|
||||
# CONFIG_CPU_MIPS32_R1 is not set
|
||||
# CONFIG_CPU_MIPS32_R2 is not set
|
||||
# CONFIG_CPU_MIPS64_R1 is not set
|
||||
# CONFIG_CPU_MIPS64_R2 is not set
|
||||
# CONFIG_CPU_R3000 is not set
|
||||
# CONFIG_CPU_TX39XX is not set
|
||||
# CONFIG_CPU_VR41XX is not set
|
||||
# CONFIG_CPU_R4300 is not set
|
||||
# CONFIG_CPU_R4X00 is not set
|
||||
# CONFIG_CPU_TX49XX is not set
|
||||
# CONFIG_CPU_R5000 is not set
|
||||
# CONFIG_CPU_R5432 is not set
|
||||
# CONFIG_CPU_R6000 is not set
|
||||
# CONFIG_CPU_NEVADA is not set
|
||||
# CONFIG_CPU_R8000 is not set
|
||||
CONFIG_CPU_R10000=y
|
||||
# CONFIG_CPU_RM7000 is not set
|
||||
# CONFIG_CPU_RM9000 is not set
|
||||
# CONFIG_CPU_SB1 is not set
|
||||
CONFIG_SYS_HAS_CPU_R10000=y
|
||||
CONFIG_SYS_SUPPORTS_64BIT_KERNEL=y
|
||||
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
|
||||
CONFIG_CPU_SUPPORTS_64BIT_KERNEL=y
|
||||
|
||||
#
|
||||
# Kernel type
|
||||
#
|
||||
# CONFIG_32BIT is not set
|
||||
CONFIG_64BIT=y
|
||||
CONFIG_PAGE_SIZE_4KB=y
|
||||
# CONFIG_PAGE_SIZE_8KB is not set
|
||||
# CONFIG_PAGE_SIZE_16KB is not set
|
||||
# CONFIG_PAGE_SIZE_64KB is not set
|
||||
CONFIG_CPU_HAS_PREFETCH=y
|
||||
CONFIG_MIPS_MT_DISABLED=y
|
||||
# CONFIG_MIPS_MT_SMP is not set
|
||||
# CONFIG_MIPS_MT_SMTC is not set
|
||||
CONFIG_CPU_HAS_LLSC=y
|
||||
CONFIG_CPU_HAS_SYNC=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_CPU_SUPPORTS_HIGHMEM=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
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_SPARSEMEM_VMEMMAP_ENABLE is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_RESOURCES_64BIT=y
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_VIRT_TO_BUS=y
|
||||
# CONFIG_TICK_ONESHOT is not set
|
||||
# CONFIG_NO_HZ is not set
|
||||
# CONFIG_HIGH_RES_TIMERS is not set
|
||||
CONFIG_GENERIC_CLOCKEVENTS_BUILD=y
|
||||
# CONFIG_HZ_48 is not set
|
||||
# CONFIG_HZ_100 is not set
|
||||
# CONFIG_HZ_128 is not set
|
||||
CONFIG_HZ_250=y
|
||||
# CONFIG_HZ_256 is not set
|
||||
# CONFIG_HZ_1000 is not set
|
||||
# CONFIG_HZ_1024 is not set
|
||||
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
|
||||
CONFIG_HZ=250
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
CONFIG_PREEMPT_VOLUNTARY=y
|
||||
# CONFIG_PREEMPT is not set
|
||||
# CONFIG_RCU_TRACE is not set
|
||||
# CONFIG_MIPS_INSANE_LARGE is not set
|
||||
# CONFIG_KEXEC is not set
|
||||
CONFIG_SECCOMP=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_BROKEN_ON_SMP=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
CONFIG_LOCALVERSION=""
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
CONFIG_SYSVIPC_SYSCTL=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_CGROUPS is not set
|
||||
CONFIG_FAIR_GROUP_SCHED=y
|
||||
CONFIG_FAIR_USER_SCHED=y
|
||||
# CONFIG_FAIR_CGROUP_SCHED is not set
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_RELAY=y
|
||||
# CONFIG_NAMESPACES is not set
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
# CONFIG_HOTPLUG is not set
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_COMPAT_BRK=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
# CONFIG_PROFILING is not set
|
||||
# CONFIG_MARKERS is not set
|
||||
CONFIG_HAVE_OPROFILE=y
|
||||
# CONFIG_HAVE_KPROBES is not set
|
||||
# CONFIG_PROC_PAGE_MONITOR is not set
|
||||
CONFIG_SLABINFO=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
CONFIG_MODVERSIONS=y
|
||||
CONFIG_MODULE_SRCVERSION_ALL=y
|
||||
CONFIG_KMOD=y
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_BLK_DEV_BSG is not set
|
||||
CONFIG_BLOCK_COMPAT=y
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
#
|
||||
CONFIG_IOSCHED_NOOP=y
|
||||
CONFIG_IOSCHED_AS=y
|
||||
CONFIG_IOSCHED_DEADLINE=y
|
||||
CONFIG_IOSCHED_CFQ=y
|
||||
CONFIG_DEFAULT_AS=y
|
||||
# CONFIG_DEFAULT_DEADLINE is not set
|
||||
# CONFIG_DEFAULT_CFQ is not set
|
||||
# CONFIG_DEFAULT_NOOP is not set
|
||||
CONFIG_DEFAULT_IOSCHED="anticipatory"
|
||||
CONFIG_CLASSIC_RCU=y
|
||||
# CONFIG_PREEMPT_RCU is not set
|
||||
|
||||
#
|
||||
# Bus options (PCI, PCMCIA, EISA, ISA, TC)
|
||||
#
|
||||
CONFIG_HW_HAS_EISA=y
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
CONFIG_ISA=y
|
||||
CONFIG_EISA=y
|
||||
CONFIG_EISA_NAMES=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_I8253=y
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
CONFIG_MIPS32_COMPAT=y
|
||||
CONFIG_COMPAT=y
|
||||
CONFIG_SYSVIPC_COMPAT=y
|
||||
CONFIG_MIPS32_O32=y
|
||||
CONFIG_MIPS32_N32=y
|
||||
CONFIG_BINFMT_ELF32=y
|
||||
|
||||
#
|
||||
# Power management options
|
||||
#
|
||||
CONFIG_ARCH_SUSPEND_POSSIBLE=y
|
||||
CONFIG_PM=y
|
||||
# CONFIG_PM_LEGACY is not set
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
# CONFIG_SUSPEND is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
# CONFIG_XFRM_SUB_POLICY is not set
|
||||
CONFIG_XFRM_MIGRATE=y
|
||||
# CONFIG_XFRM_STATISTICS is not set
|
||||
CONFIG_NET_KEY=y
|
||||
CONFIG_NET_KEY_MIGRATE=y
|
||||
CONFIG_INET=y
|
||||
CONFIG_IP_MULTICAST=y
|
||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
||||
CONFIG_IP_FIB_HASH=y
|
||||
CONFIG_IP_PNP=y
|
||||
CONFIG_IP_PNP_DHCP=y
|
||||
CONFIG_IP_PNP_BOOTP=y
|
||||
# CONFIG_IP_PNP_RARP is not set
|
||||
# CONFIG_NET_IPIP is not set
|
||||
# CONFIG_NET_IPGRE is not set
|
||||
# CONFIG_IP_MROUTE is not set
|
||||
# CONFIG_ARPD is not set
|
||||
# CONFIG_SYN_COOKIES is not set
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||
# CONFIG_INET_LRO is not set
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_CUBIC=y
|
||||
CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||
CONFIG_TCP_MD5SIG=y
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
# CONFIG_IP_DCCP is not set
|
||||
# CONFIG_IP_SCTP is not set
|
||||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
# CONFIG_X25 is not set
|
||||
# CONFIG_LAPB is not set
|
||||
# CONFIG_ECONET is not set
|
||||
# CONFIG_WAN_ROUTER is not set
|
||||
# CONFIG_NET_SCHED is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_CAN is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
# CONFIG_NET_9P is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Generic Driver Options
|
||||
#
|
||||
CONFIG_STANDALONE=y
|
||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
# CONFIG_CONNECTOR is not set
|
||||
# CONFIG_MTD is not set
|
||||
# CONFIG_PARPORT is not set
|
||||
# CONFIG_PNP is not set
|
||||
CONFIG_BLK_DEV=y
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
# CONFIG_BLK_DEV_LOOP is not set
|
||||
# CONFIG_BLK_DEV_NBD is not set
|
||||
# CONFIG_BLK_DEV_RAM is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
# CONFIG_MISC_DEVICES is not set
|
||||
CONFIG_HAVE_IDE=y
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
CONFIG_SCSI=y
|
||||
CONFIG_SCSI_DMA=y
|
||||
# CONFIG_SCSI_TGT is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
CONFIG_SCSI_PROC_FS=y
|
||||
|
||||
#
|
||||
# SCSI support type (disk, tape, CD-ROM)
|
||||
#
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
# CONFIG_CHR_DEV_ST is not set
|
||||
# CONFIG_CHR_DEV_OSST is not set
|
||||
CONFIG_BLK_DEV_SR=y
|
||||
# CONFIG_BLK_DEV_SR_VENDOR is not set
|
||||
# CONFIG_CHR_DEV_SG is not set
|
||||
# CONFIG_CHR_DEV_SCH is not set
|
||||
|
||||
#
|
||||
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
|
||||
#
|
||||
# CONFIG_SCSI_MULTI_LUN is not set
|
||||
CONFIG_SCSI_CONSTANTS=y
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||
CONFIG_SCSI_WAIT_SCAN=m
|
||||
|
||||
#
|
||||
# SCSI Transports
|
||||
#
|
||||
# CONFIG_SCSI_SPI_ATTRS is not set
|
||||
# CONFIG_SCSI_FC_ATTRS is not set
|
||||
# CONFIG_SCSI_ISCSI_ATTRS is not set
|
||||
# CONFIG_SCSI_SAS_LIBSAS is not set
|
||||
# CONFIG_SCSI_SRP_ATTRS is not set
|
||||
CONFIG_SCSI_LOWLEVEL=y
|
||||
# CONFIG_ISCSI_TCP is not set
|
||||
CONFIG_SGIWD93_SCSI=y
|
||||
# CONFIG_SCSI_AHA1740 is not set
|
||||
# CONFIG_SCSI_AIC7XXX is not set
|
||||
# CONFIG_SCSI_AIC7XXX_OLD is not set
|
||||
# CONFIG_SCSI_ADVANSYS is not set
|
||||
# CONFIG_SCSI_IN2000 is not set
|
||||
# CONFIG_SCSI_DTC3280 is not set
|
||||
# CONFIG_SCSI_FUTURE_DOMAIN is not set
|
||||
# CONFIG_SCSI_GENERIC_NCR5380 is not set
|
||||
# CONFIG_SCSI_GENERIC_NCR5380_MMIO is not set
|
||||
# CONFIG_SCSI_NCR53C406A is not set
|
||||
# CONFIG_SCSI_PAS16 is not set
|
||||
# CONFIG_SCSI_QLOGIC_FAS is not set
|
||||
# CONFIG_SCSI_SIM710 is not set
|
||||
# CONFIG_SCSI_SYM53C416 is not set
|
||||
# CONFIG_SCSI_T128 is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_ATA is not set
|
||||
# CONFIG_MD is not set
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_NETDEVICES_MULTIQUEUE is not set
|
||||
CONFIG_DUMMY=m
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_MACVLAN is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
# CONFIG_VETH is not set
|
||||
# CONFIG_ARCNET is not set
|
||||
# CONFIG_PHYLIB is not set
|
||||
CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_MII is not set
|
||||
# CONFIG_AX88796 is not set
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
# CONFIG_NET_VENDOR_SMC is not set
|
||||
# CONFIG_DM9000 is not set
|
||||
# CONFIG_NET_VENDOR_RACAL is not set
|
||||
# CONFIG_NET_TULIP is not set
|
||||
# CONFIG_AT1700 is not set
|
||||
# CONFIG_DEPCA is not set
|
||||
# CONFIG_HP100 is not set
|
||||
# CONFIG_NET_ISA is not set
|
||||
# CONFIG_IBM_NEW_EMAC_ZMII is not set
|
||||
# CONFIG_IBM_NEW_EMAC_RGMII is not set
|
||||
# CONFIG_IBM_NEW_EMAC_TAH is not set
|
||||
# CONFIG_IBM_NEW_EMAC_EMAC4 is not set
|
||||
# CONFIG_NET_PCI is not set
|
||||
# CONFIG_B44 is not set
|
||||
CONFIG_SGISEEQ=y
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_FDDI is not set
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
# CONFIG_ISDN is not set
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
#
|
||||
# Input device support
|
||||
#
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_INPUT_FF_MEMLESS is not set
|
||||
# CONFIG_INPUT_POLLDEV is not set
|
||||
|
||||
#
|
||||
# Userland interfaces
|
||||
#
|
||||
CONFIG_INPUT_MOUSEDEV=y
|
||||
CONFIG_INPUT_MOUSEDEV_PSAUX=y
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_X=1024
|
||||
CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
||||
# CONFIG_INPUT_JOYDEV is not set
|
||||
# CONFIG_INPUT_EVDEV is not set
|
||||
# CONFIG_INPUT_EVBUG is not set
|
||||
|
||||
#
|
||||
# Input Device Drivers
|
||||
#
|
||||
CONFIG_INPUT_KEYBOARD=y
|
||||
CONFIG_KEYBOARD_ATKBD=y
|
||||
# CONFIG_KEYBOARD_SUNKBD is not set
|
||||
# CONFIG_KEYBOARD_LKKBD is not set
|
||||
# CONFIG_KEYBOARD_XTKBD is not set
|
||||
# CONFIG_KEYBOARD_NEWTON is not set
|
||||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
CONFIG_INPUT_MOUSE=y
|
||||
CONFIG_MOUSE_PS2=y
|
||||
# CONFIG_MOUSE_PS2_ALPS is not set
|
||||
CONFIG_MOUSE_PS2_LOGIPS2PP=y
|
||||
# CONFIG_MOUSE_PS2_SYNAPTICS is not set
|
||||
# CONFIG_MOUSE_PS2_LIFEBOOK is not set
|
||||
CONFIG_MOUSE_PS2_TRACKPOINT=y
|
||||
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
|
||||
# CONFIG_MOUSE_SERIAL is not set
|
||||
# CONFIG_MOUSE_INPORT is not set
|
||||
# CONFIG_MOUSE_LOGIBM is not set
|
||||
# CONFIG_MOUSE_PC110PAD is not set
|
||||
# CONFIG_MOUSE_VSXXXAA is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
#
|
||||
# Hardware I/O ports
|
||||
#
|
||||
CONFIG_SERIO=y
|
||||
CONFIG_SERIO_I8042=y
|
||||
CONFIG_SERIO_SERPORT=y
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
# CONFIG_SERIO_RAW is not set
|
||||
# CONFIG_GAMEPORT is not set
|
||||
|
||||
#
|
||||
# Character devices
|
||||
#
|
||||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
#
|
||||
# Serial drivers
|
||||
#
|
||||
# CONFIG_SERIAL_8250 is not set
|
||||
|
||||
#
|
||||
# Non-8250 serial port support
|
||||
#
|
||||
CONFIG_SERIAL_IP22_ZILOG=y
|
||||
CONFIG_SERIAL_IP22_ZILOG_CONSOLE=y
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_RTC is not set
|
||||
CONFIG_SGI_DS1286=y
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
# CONFIG_TCG_TPM is not set
|
||||
CONFIG_DEVPORT=y
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
# SPI support
|
||||
#
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_POWER_SUPPLY is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
CONFIG_WATCHDOG=y
|
||||
# CONFIG_WATCHDOG_NOWAYOUT is not set
|
||||
|
||||
#
|
||||
# Watchdog Device Drivers
|
||||
#
|
||||
# CONFIG_SOFT_WATCHDOG is not set
|
||||
CONFIG_INDYDOG=y
|
||||
|
||||
#
|
||||
# ISA-based Watchdog Cards
|
||||
#
|
||||
# CONFIG_PCWATCHDOG is not set
|
||||
# CONFIG_MIXCOMWD is not set
|
||||
# CONFIG_WDT is not set
|
||||
|
||||
#
|
||||
# Sonics Silicon Backplane
|
||||
#
|
||||
CONFIG_SSB_POSSIBLE=y
|
||||
# CONFIG_SSB is not set
|
||||
|
||||
#
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
# CONFIG_DAB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_VIDEO_OUTPUT_CONTROL is not set
|
||||
# CONFIG_FB is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Console display driver support
|
||||
#
|
||||
# CONFIG_VGA_CONSOLE is not set
|
||||
# CONFIG_MDA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
CONFIG_HID_SUPPORT=y
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
# CONFIG_HIDRAW is not set
|
||||
CONFIG_USB_SUPPORT=y
|
||||
# CONFIG_USB_ARCH_HAS_HCD is not set
|
||||
# CONFIG_USB_ARCH_HAS_OHCI is not set
|
||||
# CONFIG_USB_ARCH_HAS_EHCI is not set
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
# CONFIG_MMC is not set
|
||||
# CONFIG_MEMSTICK is not set
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
CONFIG_RTC_LIB=y
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
#
|
||||
# Userspace I/O
|
||||
#
|
||||
# CONFIG_UIO is not set
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
CONFIG_EXT2_FS=y
|
||||
# CONFIG_EXT2_FS_XATTR is not set
|
||||
# CONFIG_EXT2_FS_XIP is not set
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_XATTR=y
|
||||
CONFIG_EXT3_FS_POSIX_ACL=y
|
||||
CONFIG_EXT3_FS_SECURITY=y
|
||||
# CONFIG_EXT4DEV_FS is not set
|
||||
CONFIG_JBD=y
|
||||
CONFIG_FS_MBCACHE=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
CONFIG_QUOTA=y
|
||||
# CONFIG_QUOTA_NETLINK_INTERFACE is not set
|
||||
CONFIG_PRINT_QUOTA_WARNING=y
|
||||
# CONFIG_QFMT_V1 is not set
|
||||
# CONFIG_QFMT_V2 is not set
|
||||
CONFIG_QUOTACTL=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
# CONFIG_AUTOFS4_FS is not set
|
||||
# CONFIG_FUSE_FS is not set
|
||||
CONFIG_GENERIC_ACL=y
|
||||
|
||||
#
|
||||
# CD-ROM/DVD Filesystems
|
||||
#
|
||||
# CONFIG_ISO9660_FS is not set
|
||||
# CONFIG_UDF_FS is not set
|
||||
|
||||
#
|
||||
# DOS/FAT/NT Filesystems
|
||||
#
|
||||
# CONFIG_MSDOS_FS is not set
|
||||
# CONFIG_VFAT_FS is not set
|
||||
# CONFIG_NTFS_FS is not set
|
||||
|
||||
#
|
||||
# Pseudo filesystems
|
||||
#
|
||||
CONFIG_PROC_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_PROC_SYSCTL=y
|
||||
CONFIG_SYSFS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
|
||||
#
|
||||
# Miscellaneous filesystems
|
||||
#
|
||||
# CONFIG_ADFS_FS is not set
|
||||
# CONFIG_AFFS_FS is not set
|
||||
# CONFIG_HFS_FS is not set
|
||||
# CONFIG_HFSPLUS_FS is not set
|
||||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
CONFIG_NETWORK_FILESYSTEMS=y
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
CONFIG_NFS_V3_ACL=y
|
||||
# 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_ACL_SUPPORT=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_SUNRPC_BIND34 is not set
|
||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
# CONFIG_CIFS is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
# CONFIG_AFS_FS is not set
|
||||
|
||||
#
|
||||
# Partition Types
|
||||
#
|
||||
CONFIG_PARTITION_ADVANCED=y
|
||||
# CONFIG_ACORN_PARTITION is not set
|
||||
# CONFIG_OSF_PARTITION is not set
|
||||
# CONFIG_AMIGA_PARTITION is not set
|
||||
# CONFIG_ATARI_PARTITION is not set
|
||||
# CONFIG_MAC_PARTITION is not set
|
||||
CONFIG_MSDOS_PARTITION=y
|
||||
# CONFIG_BSD_DISKLABEL is not set
|
||||
# CONFIG_MINIX_SUBPARTITION is not set
|
||||
# CONFIG_SOLARIS_X86_PARTITION is not set
|
||||
# CONFIG_UNIXWARE_DISKLABEL is not set
|
||||
# CONFIG_LDM_PARTITION is not set
|
||||
CONFIG_SGI_PARTITION=y
|
||||
# CONFIG_ULTRIX_PARTITION is not set
|
||||
# CONFIG_SUN_PARTITION is not set
|
||||
# CONFIG_KARMA_PARTITION is not set
|
||||
# CONFIG_EFI_PARTITION is not set
|
||||
# CONFIG_SYSV68_PARTITION is not set
|
||||
# CONFIG_NLS is not set
|
||||
# CONFIG_DLM is not set
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
#
|
||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
CONFIG_ENABLE_WARN_DEPRECATED=y
|
||||
CONFIG_ENABLE_MUST_CHECK=y
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
# CONFIG_SAMPLES is not set
|
||||
CONFIG_CMDLINE=""
|
||||
|
||||
#
|
||||
# Security options
|
||||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
# CONFIG_SECURITY_FILE_CAPABILITIES is not set
|
||||
CONFIG_CRYPTO=y
|
||||
CONFIG_CRYPTO_ALGAPI=y
|
||||
# CONFIG_CRYPTO_SEQIV is not set
|
||||
CONFIG_CRYPTO_MANAGER=y
|
||||
# CONFIG_CRYPTO_HMAC is not set
|
||||
# CONFIG_CRYPTO_XCBC is not set
|
||||
# CONFIG_CRYPTO_NULL is not set
|
||||
# CONFIG_CRYPTO_MD4 is not set
|
||||
CONFIG_CRYPTO_MD5=y
|
||||
# CONFIG_CRYPTO_SHA1 is not set
|
||||
# CONFIG_CRYPTO_SHA256 is not set
|
||||
# CONFIG_CRYPTO_SHA512 is not set
|
||||
# CONFIG_CRYPTO_WP512 is not set
|
||||
# CONFIG_CRYPTO_TGR192 is not set
|
||||
# CONFIG_CRYPTO_GF128MUL is not set
|
||||
# CONFIG_CRYPTO_ECB is not set
|
||||
# CONFIG_CRYPTO_CBC is not set
|
||||
# CONFIG_CRYPTO_PCBC is not set
|
||||
# CONFIG_CRYPTO_LRW is not set
|
||||
# CONFIG_CRYPTO_XTS is not set
|
||||
# CONFIG_CRYPTO_CTR is not set
|
||||
# CONFIG_CRYPTO_GCM is not set
|
||||
# CONFIG_CRYPTO_CCM is not set
|
||||
# CONFIG_CRYPTO_CRYPTD is not set
|
||||
# CONFIG_CRYPTO_DES is not set
|
||||
# CONFIG_CRYPTO_FCRYPT is not set
|
||||
# CONFIG_CRYPTO_BLOWFISH is not set
|
||||
# CONFIG_CRYPTO_TWOFISH is not set
|
||||
# CONFIG_CRYPTO_SERPENT is not set
|
||||
# CONFIG_CRYPTO_AES is not set
|
||||
# CONFIG_CRYPTO_CAST5 is not set
|
||||
# CONFIG_CRYPTO_CAST6 is not set
|
||||
# CONFIG_CRYPTO_TEA is not set
|
||||
# CONFIG_CRYPTO_ARC4 is not set
|
||||
# CONFIG_CRYPTO_KHAZAD is not set
|
||||
# CONFIG_CRYPTO_ANUBIS is not set
|
||||
# CONFIG_CRYPTO_SEED is not set
|
||||
# CONFIG_CRYPTO_SALSA20 is not set
|
||||
# CONFIG_CRYPTO_DEFLATE is not set
|
||||
# CONFIG_CRYPTO_MICHAEL_MIC is not set
|
||||
# CONFIG_CRYPTO_CRC32C is not set
|
||||
# CONFIG_CRYPTO_CAMELLIA is not set
|
||||
# CONFIG_CRYPTO_TEST is not set
|
||||
# CONFIG_CRYPTO_AUTHENC is not set
|
||||
# CONFIG_CRYPTO_LZO is not set
|
||||
# CONFIG_CRYPTO_HW is not set
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
# CONFIG_CRC32 is not set
|
||||
# CONFIG_CRC7 is not set
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
|
@ -1,800 +0,0 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.20
|
||||
# Tue Feb 20 21:47:39 2007
|
||||
#
|
||||
CONFIG_MIPS=y
|
||||
|
||||
#
|
||||
# Machine selection
|
||||
#
|
||||
CONFIG_ZONE_DMA=y
|
||||
# CONFIG_MIPS_MTX1 is not set
|
||||
# CONFIG_MIPS_BOSPORUS is not set
|
||||
# CONFIG_MIPS_PB1000 is not set
|
||||
# CONFIG_MIPS_PB1100 is not set
|
||||
# CONFIG_MIPS_PB1500 is not set
|
||||
# CONFIG_MIPS_PB1550 is not set
|
||||
# CONFIG_MIPS_PB1200 is not set
|
||||
# CONFIG_MIPS_DB1000 is not set
|
||||
# CONFIG_MIPS_DB1100 is not set
|
||||
# CONFIG_MIPS_DB1500 is not set
|
||||
# CONFIG_MIPS_DB1550 is not set
|
||||
# CONFIG_MIPS_DB1200 is not set
|
||||
# CONFIG_MIPS_MIRAGE is not set
|
||||
# CONFIG_BASLER_EXCITE is not set
|
||||
# CONFIG_MIPS_COBALT is not set
|
||||
# CONFIG_MACH_DECSTATION is not set
|
||||
# CONFIG_MACH_JAZZ is not set
|
||||
# CONFIG_MIPS_ATLAS is not set
|
||||
# CONFIG_MIPS_MALTA is not set
|
||||
# CONFIG_MIPS_SEAD is not set
|
||||
# CONFIG_WR_PPMC is not set
|
||||
# CONFIG_MIPS_SIM is not set
|
||||
# CONFIG_MOMENCO_JAGUAR_ATX is not set
|
||||
# CONFIG_MIPS_XXS1500 is not set
|
||||
# CONFIG_PNX8550_JBS is not set
|
||||
# CONFIG_PNX8550_STB810 is not set
|
||||
# CONFIG_MACH_VR41XX is not set
|
||||
# CONFIG_PMC_YOSEMITE is not set
|
||||
# CONFIG_MARKEINS is not set
|
||||
# CONFIG_SGI_IP22 is not set
|
||||
# CONFIG_SGI_IP27 is not set
|
||||
# CONFIG_SGI_IP32 is not set
|
||||
# CONFIG_SIBYTE_BIGSUR is not set
|
||||
# CONFIG_SIBYTE_SWARM is not set
|
||||
# CONFIG_SIBYTE_SENTOSA is not set
|
||||
# CONFIG_SIBYTE_RHONE is not set
|
||||
# CONFIG_SIBYTE_CARMEL is not set
|
||||
# CONFIG_SIBYTE_LITTLESUR is not set
|
||||
# CONFIG_SIBYTE_CRHINE is not set
|
||||
# CONFIG_SIBYTE_CRHONE is not set
|
||||
# CONFIG_SNI_RM is not set
|
||||
# CONFIG_TOSHIBA_JMR3927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4927 is not set
|
||||
# CONFIG_TOSHIBA_RBTX4938 is not set
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_SCHED_NO_NO_OMIT_FRAME_POINTER=y
|
||||
CONFIG_GENERIC_HARDIRQS_NO__DO_IRQ=y
|
||||
CONFIG_DMA_COHERENT=y
|
||||
CONFIG_GENERIC_ISA_DMA=y
|
||||
CONFIG_I8259=y
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
# CONFIG_CPU_LITTLE_ENDIAN is not set
|
||||
CONFIG_SYS_SUPPORTS_BIG_ENDIAN=y
|
||||
CONFIG_SYS_SUPPORTS_LITTLE_ENDIAN=y
|
||||
CONFIG_SWAP_IO_SPACE=y
|
||||
CONFIG_MIPS_L1_CACHE_SHIFT=5
|
||||
CONFIG_HAVE_STD_PC_SERIAL_PORT=y
|
||||
|
||||
#
|
||||
# CPU selection
|
||||
#
|
||||
CONFIG_CPU_MIPS32_R1=y
|
||||
# CONFIG_CPU_MIPS32_R2 is not set
|
||||
# CONFIG_CPU_MIPS64_R1 is not set
|
||||
# CONFIG_CPU_MIPS64_R2 is not set
|
||||
# CONFIG_CPU_R3000 is not set
|
||||
# CONFIG_CPU_TX39XX is not set
|
||||
# CONFIG_CPU_VR41XX is not set
|
||||
# CONFIG_CPU_R4300 is not set
|
||||
# CONFIG_CPU_R4X00 is not set
|
||||
# CONFIG_CPU_TX49XX is not set
|
||||
# CONFIG_CPU_R5000 is not set
|
||||
# CONFIG_CPU_R5432 is not set
|
||||
# CONFIG_CPU_R6000 is not set
|
||||
# CONFIG_CPU_NEVADA is not set
|
||||
# CONFIG_CPU_R8000 is not set
|
||||
# CONFIG_CPU_R10000 is not set
|
||||
# CONFIG_CPU_RM7000 is not set
|
||||
# CONFIG_CPU_RM9000 is not set
|
||||
# CONFIG_CPU_SB1 is not set
|
||||
CONFIG_SYS_HAS_CPU_MIPS32_R1=y
|
||||
CONFIG_CPU_MIPS32=y
|
||||
CONFIG_CPU_MIPSR1=y
|
||||
CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y
|
||||
CONFIG_CPU_SUPPORTS_32BIT_KERNEL=y
|
||||
|
||||
#
|
||||
# Kernel type
|
||||
#
|
||||
CONFIG_32BIT=y
|
||||
# CONFIG_64BIT is not set
|
||||
CONFIG_PAGE_SIZE_4KB=y
|
||||
# CONFIG_PAGE_SIZE_8KB is not set
|
||||
# CONFIG_PAGE_SIZE_16KB is not set
|
||||
# CONFIG_PAGE_SIZE_64KB is not set
|
||||
CONFIG_CPU_HAS_PREFETCH=y
|
||||
CONFIG_MIPS_MT_DISABLED=y
|
||||
# CONFIG_MIPS_MT_SMP is not set
|
||||
# CONFIG_MIPS_MT_SMTC is not set
|
||||
# CONFIG_MIPS_VPE_LOADER is not set
|
||||
# CONFIG_64BIT_PHYS_ADDR is not set
|
||||
CONFIG_CPU_HAS_LLSC=y
|
||||
CONFIG_CPU_HAS_SYNC=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_CPU_SUPPORTS_HIGHMEM=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
CONFIG_SPARSEMEM_STATIC=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=1
|
||||
# CONFIG_HZ_48 is not set
|
||||
CONFIG_HZ_100=y
|
||||
# CONFIG_HZ_128 is not set
|
||||
# CONFIG_HZ_250 is not set
|
||||
# CONFIG_HZ_256 is not set
|
||||
# CONFIG_HZ_1000 is not set
|
||||
# CONFIG_HZ_1024 is not set
|
||||
CONFIG_SYS_SUPPORTS_ARBIT_HZ=y
|
||||
CONFIG_HZ=100
|
||||
CONFIG_PREEMPT_NONE=y
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
#
|
||||
# CONFIG_EXPERIMENTAL is not set
|
||||
CONFIG_BROKEN_ON_SMP=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_LOCALVERSION=""
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
# CONFIG_SWAP is not set
|
||||
# CONFIG_SYSVIPC is not set
|
||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
CONFIG_RELAY=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_KALLSYMS=y
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
# CONFIG_HOTPLUG is not set
|
||||
CONFIG_PRINTK=y
|
||||
# CONFIG_BUG is not set
|
||||
CONFIG_ELF_CORE=y
|
||||
# CONFIG_BASE_FULL is not set
|
||||
# CONFIG_FUTEX is not set
|
||||
# CONFIG_EPOLL is not set
|
||||
# CONFIG_SHMEM is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_TINY_SHMEM=y
|
||||
CONFIG_BASE_SMALL=1
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
#
|
||||
# CONFIG_MODULES is not set
|
||||
|
||||
#
|
||||
# Block layer
|
||||
#
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_LSF is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
#
|
||||
CONFIG_IOSCHED_NOOP=y
|
||||
# CONFIG_IOSCHED_AS is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_DEFAULT_AS is not set
|
||||
# CONFIG_DEFAULT_DEADLINE is not set
|
||||
# CONFIG_DEFAULT_CFQ is not set
|
||||
CONFIG_DEFAULT_NOOP=y
|
||||
CONFIG_DEFAULT_IOSCHED="noop"
|
||||
|
||||
#
|
||||
# Bus options (PCI, PCMCIA, EISA, ISA, TC)
|
||||
#
|
||||
CONFIG_ISA=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_PCSPEAKER=y
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
#
|
||||
|
||||
#
|
||||
# PCI Hotplug Support
|
||||
#
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
CONFIG_TRAD_SIGNALS=y
|
||||
|
||||
#
|
||||
# Power management options
|
||||
#
|
||||
CONFIG_PM=y
|
||||
# CONFIG_PM_LEGACY is not set
|
||||
# CONFIG_PM_DEBUG is not set
|
||||
# CONFIG_PM_SYSFS_DEPRECATED is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
CONFIG_NET=y
|
||||
|
||||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_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 is not set
|
||||
CONFIG_IP_FIB_HASH=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 is not set
|
||||
# CONFIG_IP_MROUTE is not set
|
||||
# CONFIG_SYN_COOKIES is not set
|
||||
# CONFIG_INET_AH is not set
|
||||
# CONFIG_INET_ESP is not set
|
||||
# CONFIG_INET_IPCOMP is not set
|
||||
# CONFIG_INET_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_XFRM_MODE_BEET=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_CUBIC=y
|
||||
CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
CONFIG_NETWORK_SECMARK=y
|
||||
# CONFIG_NETFILTER is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
# CONFIG_VLAN_8021Q is not set
|
||||
# CONFIG_DECNET is not set
|
||||
# CONFIG_LLC2 is not set
|
||||
# CONFIG_IPX is not set
|
||||
# CONFIG_ATALK is not set
|
||||
|
||||
#
|
||||
# QoS and/or fair queueing
|
||||
#
|
||||
# CONFIG_NET_SCHED is not set
|
||||
|
||||
#
|
||||
# Network testing
|
||||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Generic Driver Options
|
||||
#
|
||||
CONFIG_STANDALONE=y
|
||||
# CONFIG_PREVENT_FIRMWARE_BUILD is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
CONFIG_CONNECTOR=y
|
||||
CONFIG_PROC_EVENTS=y
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
# CONFIG_MTD is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
#
|
||||
# CONFIG_PARPORT is not set
|
||||
|
||||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
# CONFIG_PNP is not set
|
||||
# CONFIG_PNPACPI is not set
|
||||
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
# CONFIG_BLK_DEV_LOOP is not set
|
||||
# CONFIG_BLK_DEV_NBD is not set
|
||||
# CONFIG_BLK_DEV_RAM is not set
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
# CONFIG_ATA is not set
|
||||
|
||||
#
|
||||
# Old CD-ROM drivers (not SCSI, not IDE)
|
||||
#
|
||||
# CONFIG_CD_NO_IDESCSI is not set
|
||||
|
||||
#
|
||||
# Multi-device support (RAID and LVM)
|
||||
#
|
||||
# CONFIG_MD is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
#
|
||||
# CONFIG_FUSION is not set
|
||||
|
||||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
|
||||
#
|
||||
# I2O device support
|
||||
#
|
||||
|
||||
#
|
||||
# Network device support
|
||||
#
|
||||
CONFIG_NETDEVICES=y
|
||||
# CONFIG_DUMMY is not set
|
||||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# ARCnet devices
|
||||
#
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
# Ethernet (10 or 100Mbit)
|
||||
#
|
||||
CONFIG_NET_ETHERNET=y
|
||||
# CONFIG_MII is not set
|
||||
# CONFIG_NET_VENDOR_3COM is not set
|
||||
# CONFIG_NET_VENDOR_SMC is not set
|
||||
# CONFIG_DM9000 is not set
|
||||
# CONFIG_NET_VENDOR_RACAL is not set
|
||||
# CONFIG_DEPCA is not set
|
||||
# CONFIG_HP100 is not set
|
||||
CONFIG_NET_ISA=y
|
||||
# CONFIG_E2100 is not set
|
||||
# CONFIG_EWRK3 is not set
|
||||
# CONFIG_EEXPRESS is not set
|
||||
# CONFIG_EEXPRESS_PRO is not set
|
||||
# CONFIG_HPLAN_PLUS is not set
|
||||
# CONFIG_HPLAN is not set
|
||||
# CONFIG_LP486E is not set
|
||||
# CONFIG_ETH16I is not set
|
||||
CONFIG_NE2000=y
|
||||
# CONFIG_NET_PCI is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
#
|
||||
# CONFIG_NET_RADIO is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
#
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
#
|
||||
# CONFIG_ISDN is not set
|
||||
|
||||
#
|
||||
# Telephony Support
|
||||
#
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
#
|
||||
# Input device support
|
||||
#
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_INPUT_FF_MEMLESS is not set
|
||||
|
||||
#
|
||||
# Userland interfaces
|
||||
#
|
||||
# CONFIG_INPUT_MOUSEDEV is not set
|
||||
# CONFIG_INPUT_JOYDEV is not set
|
||||
# CONFIG_INPUT_TSDEV is not set
|
||||
# CONFIG_INPUT_EVDEV is not set
|
||||
# CONFIG_INPUT_EVBUG is not set
|
||||
|
||||
#
|
||||
# Input Device Drivers
|
||||
#
|
||||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
#
|
||||
# Hardware I/O ports
|
||||
#
|
||||
# CONFIG_SERIO is not set
|
||||
# CONFIG_GAMEPORT is not set
|
||||
|
||||
#
|
||||
# Character devices
|
||||
#
|
||||
CONFIG_VT=y
|
||||
CONFIG_VT_CONSOLE=y
|
||||
CONFIG_HW_CONSOLE=y
|
||||
CONFIG_VT_HW_CONSOLE_BINDING=y
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
#
|
||||
# Serial drivers
|
||||
#
|
||||
CONFIG_SERIAL_8250=y
|
||||
CONFIG_SERIAL_8250_CONSOLE=y
|
||||
CONFIG_SERIAL_8250_NR_UARTS=4
|
||||
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
|
||||
# CONFIG_SERIAL_8250_EXTENDED is not set
|
||||
|
||||
#
|
||||
# Non-8250 serial port support
|
||||
#
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
|
||||
#
|
||||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_RTC is not set
|
||||
# CONFIG_GEN_RTC is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
# SPI support
|
||||
#
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
|
||||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_HWMON_VID is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
# Console display driver support
|
||||
#
|
||||
CONFIG_VGA_CONSOLE=y
|
||||
# CONFIG_VGACON_SOFT_SCROLLBACK is not set
|
||||
# CONFIG_MDA_CONSOLE is not set
|
||||
CONFIG_DUMMY_CONSOLE=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
# CONFIG_USB_ARCH_HAS_HCD is not set
|
||||
# CONFIG_USB_ARCH_HAS_OHCI is not set
|
||||
# CONFIG_USB_ARCH_HAS_EHCI is not set
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
#
|
||||
|
||||
#
|
||||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
|
||||
#
|
||||
# LED drivers
|
||||
#
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
|
||||
#
|
||||
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
|
||||
#
|
||||
|
||||
#
|
||||
# Real Time Clock
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# Auxiliary Display support
|
||||
#
|
||||
|
||||
#
|
||||
# Virtualization
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
# CONFIG_EXT2_FS is not set
|
||||
# CONFIG_EXT3_FS is not set
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
CONFIG_FS_POSIX_ACL=y
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
# CONFIG_DNOTIFY is not set
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
# CONFIG_AUTOFS4_FS is not set
|
||||
CONFIG_FUSE_FS=y
|
||||
CONFIG_GENERIC_ACL=y
|
||||
|
||||
#
|
||||
# CD-ROM/DVD Filesystems
|
||||
#
|
||||
# CONFIG_ISO9660_FS is not set
|
||||
# CONFIG_UDF_FS is not set
|
||||
|
||||
#
|
||||
# DOS/FAT/NT Filesystems
|
||||
#
|
||||
# CONFIG_MSDOS_FS is not set
|
||||
# CONFIG_VFAT_FS is not set
|
||||
# CONFIG_NTFS_FS is not set
|
||||
|
||||
#
|
||||
# Pseudo filesystems
|
||||
#
|
||||
CONFIG_PROC_FS=y
|
||||
CONFIG_PROC_KCORE=y
|
||||
CONFIG_PROC_SYSCTL=y
|
||||
CONFIG_SYSFS=y
|
||||
CONFIG_TMPFS=y
|
||||
CONFIG_TMPFS_POSIX_ACL=y
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_RAMFS=y
|
||||
|
||||
#
|
||||
# Miscellaneous filesystems
|
||||
#
|
||||
# CONFIG_HFSPLUS_FS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
|
||||
#
|
||||
# Network File Systems
|
||||
#
|
||||
CONFIG_NFS_FS=y
|
||||
CONFIG_NFS_V3=y
|
||||
# CONFIG_NFS_V3_ACL is not set
|
||||
CONFIG_NFS_DIRECTIO=y
|
||||
# CONFIG_NFSD is not set
|
||||
CONFIG_ROOT_NFS=y
|
||||
CONFIG_LOCKD=y
|
||||
CONFIG_LOCKD_V4=y
|
||||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
# CONFIG_SMB_FS is not set
|
||||
# CONFIG_CIFS is not set
|
||||
# CONFIG_NCP_FS is not set
|
||||
# CONFIG_CODA_FS is not set
|
||||
|
||||
#
|
||||
# Partition Types
|
||||
#
|
||||
# CONFIG_PARTITION_ADVANCED is not set
|
||||
CONFIG_MSDOS_PARTITION=y
|
||||
|
||||
#
|
||||
# Native Language Support
|
||||
#
|
||||
# CONFIG_NLS is not set
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
#
|
||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
CONFIG_ENABLE_MUST_CHECK=y
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_CROSSCOMPILE=y
|
||||
CONFIG_CMDLINE=""
|
||||
|
||||
#
|
||||
# Security options
|
||||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
|
||||
#
|
||||
# Cryptographic options
|
||||
#
|
||||
# CONFIG_CRYPTO is not set
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
|
@ -33,6 +33,7 @@ static struct irq_chip rm7k_irq_controller = {
|
|||
.mask = mask_rm7k_irq,
|
||||
.mask_ack = mask_rm7k_irq,
|
||||
.unmask = unmask_rm7k_irq,
|
||||
.eoi = unmask_rm7k_irq
|
||||
};
|
||||
|
||||
void __init rm7k_cpu_irq_init(void)
|
||||
|
|
|
@ -75,6 +75,7 @@ static struct irq_chip rm9k_irq_controller = {
|
|||
.mask = mask_rm9k_irq,
|
||||
.mask_ack = mask_rm9k_irq,
|
||||
.unmask = unmask_rm9k_irq,
|
||||
.eoi = unmask_rm9k_irq
|
||||
};
|
||||
|
||||
static struct irq_chip rm9k_perfcounter_irq = {
|
||||
|
|
|
@ -36,7 +36,7 @@ unsigned long mt_fpemul_threshold = 0;
|
|||
*/
|
||||
static inline struct task_struct *find_process_by_pid(pid_t pid)
|
||||
{
|
||||
return pid ? find_task_by_pid(pid) : current;
|
||||
return pid ? find_task_by_vpid(pid) : current;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -663,6 +663,9 @@ einval: li v0, -EINVAL
|
|||
sys sys_ni_syscall 0
|
||||
sys sys_eventfd 1
|
||||
sys sys_fallocate 6 /* 4320 */
|
||||
sys sys_timerfd_create 2
|
||||
sys sys_timerfd_gettime 2
|
||||
sys sys_timerfd_settime 4
|
||||
.endm
|
||||
|
||||
/* We pre-compute the number of _instruction_ bytes needed to
|
||||
|
|
|
@ -478,4 +478,7 @@ sys_call_table:
|
|||
PTR sys_ni_syscall
|
||||
PTR sys_eventfd
|
||||
PTR sys_fallocate
|
||||
PTR sys_timerfd_create /* 5280 */
|
||||
PTR sys_timerfd_gettime
|
||||
PTR sys_timerfd_settime
|
||||
.size sys_call_table,.-sys_call_table
|
||||
|
|
|
@ -404,4 +404,7 @@ EXPORT(sysn32_call_table)
|
|||
PTR sys_ni_syscall
|
||||
PTR sys_eventfd
|
||||
PTR sys_fallocate
|
||||
PTR sys_timerfd_create
|
||||
PTR sys_timerfd_gettime /* 5285 */
|
||||
PTR sys_timerfd_settime
|
||||
.size sysn32_call_table,.-sysn32_call_table
|
||||
|
|
|
@ -526,4 +526,7 @@ sys_call_table:
|
|||
PTR sys_ni_syscall
|
||||
PTR sys_eventfd
|
||||
PTR sys32_fallocate /* 4320 */
|
||||
PTR sys_timerfd_create
|
||||
PTR sys_timerfd_gettime
|
||||
PTR sys_timerfd_settime
|
||||
.size sys_call_table,.-sys_call_table
|
||||
|
|
|
@ -111,7 +111,7 @@ asmlinkage int irix_prctl(unsigned option, ...)
|
|||
printk("irix_prctl[%s:%d]: Wants PR_ISBLOCKED\n",
|
||||
current->comm, current->pid);
|
||||
read_lock(&tasklist_lock);
|
||||
task = find_task_by_pid(va_arg(args, pid_t));
|
||||
task = find_task_by_vpid(va_arg(args, pid_t));
|
||||
error = -ESRCH;
|
||||
if (error)
|
||||
error = (task->run_list.next != NULL);
|
||||
|
|
|
@ -364,20 +364,23 @@ static inline int has_valid_asid(const struct mm_struct *mm)
|
|||
static inline void local_r4k_flush_cache_range(void * args)
|
||||
{
|
||||
struct vm_area_struct *vma = args;
|
||||
int exec = vma->vm_flags & VM_EXEC;
|
||||
|
||||
if (!(has_valid_asid(vma->vm_mm)))
|
||||
return;
|
||||
|
||||
r4k_blast_dcache();
|
||||
if (exec)
|
||||
r4k_blast_icache();
|
||||
}
|
||||
|
||||
static void r4k_flush_cache_range(struct vm_area_struct *vma,
|
||||
unsigned long start, unsigned long end)
|
||||
{
|
||||
if (!cpu_has_dc_aliases)
|
||||
return;
|
||||
int exec = vma->vm_flags & VM_EXEC;
|
||||
|
||||
r4k_on_each_cpu(local_r4k_flush_cache_range, vma, 1, 1);
|
||||
if (cpu_has_dc_aliases || (exec && !cpu_has_ic_fills_f_dc))
|
||||
r4k_on_each_cpu(local_r4k_flush_cache_range, vma, 1, 1);
|
||||
}
|
||||
|
||||
static inline void local_r4k_flush_cache_mm(void * args)
|
||||
|
|
|
@ -92,12 +92,17 @@ EXPORT_SYMBOL(__flush_dcache_page);
|
|||
|
||||
void __flush_anon_page(struct page *page, unsigned long vmaddr)
|
||||
{
|
||||
if (pages_do_alias((unsigned long)page_address(page), vmaddr)) {
|
||||
void *kaddr;
|
||||
unsigned long addr = (unsigned long) page_address(page);
|
||||
|
||||
kaddr = kmap_coherent(page, vmaddr);
|
||||
flush_data_cache_page((unsigned long)kaddr);
|
||||
kunmap_coherent();
|
||||
if (pages_do_alias(addr, vmaddr)) {
|
||||
if (page_mapped(page) && !Page_dcache_dirty(page)) {
|
||||
void *kaddr;
|
||||
|
||||
kaddr = kmap_coherent(page, vmaddr);
|
||||
flush_data_cache_page((unsigned long)kaddr);
|
||||
kunmap_coherent();
|
||||
} else
|
||||
flush_data_cache_page(addr);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -211,7 +211,8 @@ void copy_user_highpage(struct page *to, struct page *from,
|
|||
void *vfrom, *vto;
|
||||
|
||||
vto = kmap_atomic(to, KM_USER1);
|
||||
if (cpu_has_dc_aliases && page_mapped(from)) {
|
||||
if (cpu_has_dc_aliases &&
|
||||
page_mapped(from) && !Page_dcache_dirty(from)) {
|
||||
vfrom = kmap_coherent(from, vaddr);
|
||||
copy_page(vto, vfrom);
|
||||
kunmap_coherent();
|
||||
|
@ -234,7 +235,8 @@ void copy_to_user_page(struct vm_area_struct *vma,
|
|||
struct page *page, unsigned long vaddr, void *dst, const void *src,
|
||||
unsigned long len)
|
||||
{
|
||||
if (cpu_has_dc_aliases && page_mapped(page)) {
|
||||
if (cpu_has_dc_aliases &&
|
||||
page_mapped(page) && !Page_dcache_dirty(page)) {
|
||||
void *vto = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK);
|
||||
memcpy(vto, src, len);
|
||||
kunmap_coherent();
|
||||
|
@ -253,7 +255,8 @@ void copy_from_user_page(struct vm_area_struct *vma,
|
|||
struct page *page, unsigned long vaddr, void *dst, const void *src,
|
||||
unsigned long len)
|
||||
{
|
||||
if (cpu_has_dc_aliases && page_mapped(page)) {
|
||||
if (cpu_has_dc_aliases &&
|
||||
page_mapped(page) && !Page_dcache_dirty(page)) {
|
||||
void *vfrom = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK);
|
||||
memcpy(dst, vfrom, len);
|
||||
kunmap_coherent();
|
||||
|
|
|
@ -216,7 +216,7 @@ void sb1_dma_init(void)
|
|||
int i;
|
||||
|
||||
for (i = 0; i < DM_NUM_CHANNELS; i++) {
|
||||
const u64 base_val = CPHYSADDR(&page_descr[i]) |
|
||||
const u64 base_val = CPHYSADDR((unsigned long)&page_descr[i]) |
|
||||
V_DM_DSCR_BASE_RINGSZ(1);
|
||||
void *base_reg = IOADDR(A_DM_REGISTER(i, R_DM_DSCR_BASE));
|
||||
|
||||
|
@ -228,11 +228,11 @@ void sb1_dma_init(void)
|
|||
|
||||
void clear_page(void *page)
|
||||
{
|
||||
u64 to_phys = CPHYSADDR(page);
|
||||
u64 to_phys = CPHYSADDR((unsigned long)page);
|
||||
unsigned int cpu = smp_processor_id();
|
||||
|
||||
/* if the page is not in KSEG0, use old way */
|
||||
if ((long)KSEGX(page) != (long)CKSEG0)
|
||||
if ((long)KSEGX((unsigned long)page) != (long)CKSEG0)
|
||||
return clear_page_cpu(page);
|
||||
|
||||
page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_ZERO_MEM |
|
||||
|
@ -252,13 +252,13 @@ void clear_page(void *page)
|
|||
|
||||
void copy_page(void *to, void *from)
|
||||
{
|
||||
u64 from_phys = CPHYSADDR(from);
|
||||
u64 to_phys = CPHYSADDR(to);
|
||||
u64 from_phys = CPHYSADDR((unsigned long)from);
|
||||
u64 to_phys = CPHYSADDR((unsigned long)to);
|
||||
unsigned int cpu = smp_processor_id();
|
||||
|
||||
/* if any page is not in KSEG0, use old way */
|
||||
if ((long)KSEGX(to) != (long)CKSEG0
|
||||
|| (long)KSEGX(from) != (long)CKSEG0)
|
||||
if ((long)KSEGX((unsigned long)to) != (long)CKSEG0
|
||||
|| (long)KSEGX((unsigned long)from) != (long)CKSEG0)
|
||||
return copy_page_cpu(to, from);
|
||||
|
||||
page_descr[cpu].dscr_a = to_phys | M_DM_DSCRA_L2C_DEST |
|
||||
|
|
|
@ -177,8 +177,15 @@ static int pcibios_enable_resources(struct pci_dev *dev, int mask)
|
|||
continue;
|
||||
|
||||
r = &dev->resource[idx];
|
||||
if (!(r->flags & (IORESOURCE_IO | IORESOURCE_MEM)))
|
||||
continue;
|
||||
if ((idx == PCI_ROM_RESOURCE) &&
|
||||
(!(r->flags & IORESOURCE_ROM_ENABLE)))
|
||||
continue;
|
||||
if (!r->start && r->end) {
|
||||
printk(KERN_ERR "PCI: Device %s not available because of resource collisions\n", pci_name(dev));
|
||||
printk(KERN_ERR "PCI: Device %s not available "
|
||||
"because of resource collisions\n",
|
||||
pci_name(dev));
|
||||
return -EINVAL;
|
||||
}
|
||||
if (r->flags & IORESOURCE_IO)
|
||||
|
@ -186,10 +193,9 @@ static int pcibios_enable_resources(struct pci_dev *dev, int mask)
|
|||
if (r->flags & IORESOURCE_MEM)
|
||||
cmd |= PCI_COMMAND_MEMORY;
|
||||
}
|
||||
if (dev->resource[PCI_ROM_RESOURCE].start)
|
||||
cmd |= PCI_COMMAND_MEMORY;
|
||||
if (cmd != old_cmd) {
|
||||
printk("PCI: Enabling device %s (%04x -> %04x)\n", pci_name(dev), old_cmd, cmd);
|
||||
printk("PCI: Enabling device %s (%04x -> %04x)\n",
|
||||
pci_name(dev), old_cmd, cmd);
|
||||
pci_write_config_word(dev, PCI_COMMAND, cmd);
|
||||
}
|
||||
return 0;
|
||||
|
|
|
@ -110,7 +110,6 @@ static void __cpuinit bcm1480_smp_finish(void)
|
|||
|
||||
sb1480_clockevent_init();
|
||||
local_irq_enable();
|
||||
bcm1480_smp_finish();
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
|
@ -63,6 +63,10 @@ config GENERIC_HARDIRQS
|
|||
config HOTPLUG_CPU
|
||||
def_bool n
|
||||
|
||||
config HZ
|
||||
int
|
||||
default 1000
|
||||
|
||||
mainmenu "Matsushita MN10300/AM33 Kernel Configuration"
|
||||
|
||||
source "init/Kconfig"
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.24-rc2
|
||||
# Fri Nov 16 13:36:38 2007
|
||||
# Linux kernel version: 2.6.25-rc2
|
||||
# Tue Feb 19 18:52:24 2008
|
||||
#
|
||||
CONFIG_MN10300=y
|
||||
CONFIG_AM33=y
|
||||
|
@ -21,6 +21,7 @@ CONFIG_ARCH_HAS_ILOG2_U32=y
|
|||
# CONFIG_ARCH_SUPPORTS_AOUT is not set
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
# CONFIG_HOTPLUG_CPU is not set
|
||||
CONFIG_HZ=1000
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
|
@ -38,15 +39,16 @@ CONFIG_SYSVIPC_SYSCTL=y
|
|||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
|
||||
# CONFIG_TASKSTATS is not set
|
||||
# CONFIG_USER_NS is not set
|
||||
# CONFIG_PID_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_CGROUPS is not set
|
||||
# CONFIG_FAIR_GROUP_SCHED is not set
|
||||
# CONFIG_GROUP_SCHED is not set
|
||||
# CONFIG_USER_SCHED is not set
|
||||
# CONFIG_CGROUP_SCHED is not set
|
||||
# CONFIG_SYSFS_DEPRECATED is not set
|
||||
# CONFIG_RELAY is not set
|
||||
# CONFIG_NAMESPACES is not set
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CC_OPTIMIZE_FOR_SIZE is not set
|
||||
CONFIG_SYSCTL=y
|
||||
|
@ -57,22 +59,33 @@ CONFIG_SYSCTL_SYSCALL=y
|
|||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_COMPAT_BRK=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_PROFILING=y
|
||||
# CONFIG_MARKERS is not set
|
||||
CONFIG_OPROFILE=y
|
||||
# CONFIG_HAVE_OPROFILE is not set
|
||||
# CONFIG_HAVE_KPROBES is not set
|
||||
# CONFIG_PROC_PAGE_MONITOR is not set
|
||||
CONFIG_SLABINFO=y
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_MODULES is not set
|
||||
# CONFIG_BLOCK is not set
|
||||
CONFIG_CLASSIC_RCU=y
|
||||
# CONFIG_PREEMPT_RCU is not set
|
||||
|
||||
#
|
||||
# Matsushita MN10300 system setup
|
||||
|
@ -206,6 +219,7 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
#
|
||||
# CONFIG_NET_PKTGEN is not set
|
||||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_CAN is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
@ -311,6 +325,8 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
|
|||
# CONFIG_PARPORT is not set
|
||||
CONFIG_MISC_DEVICES=y
|
||||
# CONFIG_EEPROM_93CX6 is not set
|
||||
# CONFIG_ENCLOSURE_SERVICES is not set
|
||||
# CONFIG_HAVE_IDE is not set
|
||||
|
||||
#
|
||||
# SCSI device support
|
||||
|
@ -345,7 +361,6 @@ CONFIG_SMC91X=y
|
|||
# CONFIG_WAN is not set
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
# CONFIG_SHAPER is not set
|
||||
# CONFIG_NETCONSOLE is not set
|
||||
# CONFIG_NETPOLL is not set
|
||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
||||
|
@ -405,6 +420,7 @@ CONFIG_RTC=y
|
|||
# CONFIG_W1 is not set
|
||||
# CONFIG_POWER_SUPPLY is not set
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_THERMAL is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
|
||||
#
|
||||
|
@ -444,6 +460,7 @@ CONFIG_SSB_POSSIBLE=y
|
|||
# CONFIG_SOUND is not set
|
||||
# CONFIG_USB_SUPPORT is not set
|
||||
# CONFIG_MMC is not set
|
||||
# CONFIG_MEMSTICK is not set
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
# CONFIG_RTC_CLASS is not set
|
||||
|
||||
|
@ -455,10 +472,10 @@ CONFIG_SSB_POSSIBLE=y
|
|||
#
|
||||
# File systems
|
||||
#
|
||||
CONFIG_DNOTIFY=y
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=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
|
||||
|
@ -554,5 +571,3 @@ CONFIG_HAS_DMA=y
|
|||
#
|
||||
# Profiling support
|
||||
#
|
||||
CONFIG_PROFILING=y
|
||||
CONFIG_OPROFILE=y
|
||||
|
|
|
@ -196,6 +196,7 @@ int gdbstub_io_rx_char(unsigned char *_ch, int nonblock)
|
|||
try_again:
|
||||
/* pull chars out of the buffer */
|
||||
ix = gdbstub_rx_outp;
|
||||
barrier();
|
||||
if (ix == gdbstub_rx_inp) {
|
||||
if (nonblock)
|
||||
return -EAGAIN;
|
||||
|
@ -207,6 +208,7 @@ int gdbstub_io_rx_char(unsigned char *_ch, int nonblock)
|
|||
|
||||
ch = gdbstub_rx_buffer[ix++];
|
||||
st = gdbstub_rx_buffer[ix++];
|
||||
barrier();
|
||||
gdbstub_rx_outp = ix & (PAGE_SIZE - 1);
|
||||
|
||||
st &= SC01STR_RXF | SC01STR_RBF | SC01STR_FEF | SC01STR_PEF |
|
||||
|
|
|
@ -84,11 +84,13 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id)
|
|||
/* advance the kernel's time tracking system */
|
||||
profile_tick(CPU_PROFILING);
|
||||
do_timer(1);
|
||||
update_process_times(user_mode(get_irq_regs()));
|
||||
check_rtc_time();
|
||||
}
|
||||
|
||||
write_sequnlock(&xtime_lock);
|
||||
|
||||
update_process_times(user_mode(get_irq_regs()));
|
||||
|
||||
return IRQ_HANDLED;
|
||||
}
|
||||
|
||||
|
|
|
@ -391,7 +391,7 @@ static asmlinkage void unsupported_syscall(struct pt_regs *regs,
|
|||
if (code == EXCEP_SYSCALL15 && !user_mode(regs)) {
|
||||
if (report_bug(regs->pc, regs) == BUG_TRAP_TYPE_BUG) {
|
||||
#ifdef CONFIG_GDBSTUB
|
||||
__gdbstub_bug_trap();
|
||||
gdbstub_intercept(regs, code);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
|
|
@ -176,7 +176,7 @@ define archhelp
|
|||
@echo ' *_defconfig - Select default config from arch/$(ARCH)/configs'
|
||||
endef
|
||||
|
||||
install: vdso_install
|
||||
install:
|
||||
$(Q)$(MAKE) $(build)=$(boot) install
|
||||
|
||||
vdso_install:
|
||||
|
|
|
@ -35,10 +35,10 @@ endif
|
|||
|
||||
BOOTCFLAGS += -I$(obj) -I$(srctree)/$(obj) -I$(srctree)/$(src)/libfdt
|
||||
|
||||
$(obj)/4xx.o: BOOTCFLAGS += -mcpu=440
|
||||
$(obj)/ebony.o: BOOTCFLAGS += -mcpu=440
|
||||
$(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=440
|
||||
$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=440
|
||||
$(obj)/4xx.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/ebony.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/cuboot-taishan.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/cuboot-katmai.o: BOOTCFLAGS += -mcpu=405
|
||||
$(obj)/treeboot-walnut.o: BOOTCFLAGS += -mcpu=405
|
||||
|
||||
|
||||
|
|
|
@ -185,7 +185,6 @@ UART3: serial@ef600600 {
|
|||
};
|
||||
|
||||
IIC0: i2c@ef600700 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
|
||||
reg = <ef600700 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -193,7 +192,6 @@ IIC0: i2c@ef600700 {
|
|||
};
|
||||
|
||||
IIC1: i2c@ef600800 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440ep", "ibm,iic-440gp", "ibm,iic";
|
||||
reg = <ef600800 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -201,7 +199,6 @@ IIC1: i2c@ef600800 {
|
|||
};
|
||||
|
||||
ZMII0: emac-zmii@ef600d00 {
|
||||
device_type = "zmii-interface";
|
||||
compatible = "ibm,zmii-440ep", "ibm,zmii-440gp", "ibm,zmii";
|
||||
reg = <ef600d00 c>;
|
||||
};
|
||||
|
|
|
@ -216,7 +216,6 @@ UART1: serial@40000300 {
|
|||
|
||||
IIC0: i2c@40000400 {
|
||||
/* FIXME */
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440gp", "ibm,iic";
|
||||
reg = <40000400 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -224,7 +223,6 @@ IIC0: i2c@40000400 {
|
|||
};
|
||||
IIC1: i2c@40000500 {
|
||||
/* FIXME */
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440gp", "ibm,iic";
|
||||
reg = <40000500 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
|
|
@ -187,7 +187,6 @@ UART2: serial@10000600 {
|
|||
};
|
||||
|
||||
IIC0: i2c@10000400 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic";
|
||||
reg = <10000400 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -195,7 +194,6 @@ IIC0: i2c@10000400 {
|
|||
};
|
||||
|
||||
IIC1: i2c@10000500 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440spe", "ibm,iic-440gp", "ibm,iic";
|
||||
reg = <10000500 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
|
|
@ -182,7 +182,6 @@ UART1: serial@ef600300 {
|
|||
};
|
||||
|
||||
IIC0: i2c@ef600400 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-405ex", "ibm,iic";
|
||||
reg = <ef600400 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -190,7 +189,6 @@ IIC0: i2c@ef600400 {
|
|||
};
|
||||
|
||||
IIC1: i2c@ef600500 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-405ex", "ibm,iic";
|
||||
reg = <ef600500 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -199,7 +197,6 @@ IIC1: i2c@ef600500 {
|
|||
|
||||
|
||||
RGMII0: emac-rgmii@ef600b00 {
|
||||
device_type = "rgmii-interface";
|
||||
compatible = "ibm,rgmii-405ex", "ibm,rgmii";
|
||||
reg = <ef600b00 104>;
|
||||
has-mdio;
|
||||
|
|
|
@ -182,7 +182,6 @@ UART1: serial@ef600300 {
|
|||
};
|
||||
|
||||
IIC0: i2c@ef600400 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-405ex", "ibm,iic";
|
||||
reg = <ef600400 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -190,7 +189,6 @@ IIC0: i2c@ef600400 {
|
|||
};
|
||||
|
||||
IIC1: i2c@ef600500 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-405ex", "ibm,iic";
|
||||
reg = <ef600500 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -199,7 +197,6 @@ IIC1: i2c@ef600500 {
|
|||
|
||||
|
||||
RGMII0: emac-rgmii@ef600b00 {
|
||||
device_type = "rgmii-interface";
|
||||
compatible = "ibm,rgmii-405ex", "ibm,rgmii";
|
||||
reg = <ef600b00 104>;
|
||||
has-mdio;
|
||||
|
|
|
@ -229,7 +229,6 @@ UART3: serial@ef600600 {
|
|||
};
|
||||
|
||||
IIC0: i2c@ef600700 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440grx", "ibm,iic";
|
||||
reg = <ef600700 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -237,7 +236,6 @@ IIC0: i2c@ef600700 {
|
|||
};
|
||||
|
||||
IIC1: i2c@ef600800 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440grx", "ibm,iic";
|
||||
reg = <ef600800 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -245,13 +243,11 @@ IIC1: i2c@ef600800 {
|
|||
};
|
||||
|
||||
ZMII0: emac-zmii@ef600d00 {
|
||||
device_type = "zmii-interface";
|
||||
compatible = "ibm,zmii-440grx", "ibm,zmii";
|
||||
reg = <ef600d00 c>;
|
||||
};
|
||||
|
||||
RGMII0: emac-rgmii@ef601000 {
|
||||
device_type = "rgmii-interface";
|
||||
compatible = "ibm,rgmii-440grx", "ibm,rgmii";
|
||||
reg = <ef601000 8>;
|
||||
has-mdio;
|
||||
|
|
|
@ -244,7 +244,6 @@ UART3: serial@ef600600 {
|
|||
};
|
||||
|
||||
IIC0: i2c@ef600700 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440epx", "ibm,iic";
|
||||
reg = <ef600700 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -252,7 +251,6 @@ IIC0: i2c@ef600700 {
|
|||
};
|
||||
|
||||
IIC1: i2c@ef600800 {
|
||||
device_type = "i2c";
|
||||
compatible = "ibm,iic-440epx", "ibm,iic";
|
||||
reg = <ef600800 14>;
|
||||
interrupt-parent = <&UIC0>;
|
||||
|
@ -260,13 +258,11 @@ IIC1: i2c@ef600800 {
|
|||
};
|
||||
|
||||
ZMII0: emac-zmii@ef600d00 {
|
||||
device_type = "zmii-interface";
|
||||
compatible = "ibm,zmii-440epx", "ibm,zmii";
|
||||
reg = <ef600d00 c>;
|
||||
};
|
||||
|
||||
RGMII0: emac-rgmii@ef601000 {
|
||||
device_type = "rgmii-interface";
|
||||
compatible = "ibm,rgmii-440epx", "ibm,rgmii";
|
||||
reg = <ef601000 8>;
|
||||
has-mdio;
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue