Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6
This commit is contained in:
commit
1b7f6a626f
|
@ -20,6 +20,7 @@
|
||||||
# Top-level generic files
|
# Top-level generic files
|
||||||
#
|
#
|
||||||
tags
|
tags
|
||||||
|
TAGS
|
||||||
vmlinux*
|
vmlinux*
|
||||||
System.map
|
System.map
|
||||||
Module.symvers
|
Module.symvers
|
||||||
|
|
8
CREDITS
8
CREDITS
|
@ -45,7 +45,7 @@ S: Longford, Ireland
|
||||||
S: Sydney, Australia
|
S: Sydney, Australia
|
||||||
|
|
||||||
N: Tigran A. Aivazian
|
N: Tigran A. Aivazian
|
||||||
E: tigran@veritas.com
|
E: tigran@aivazian.fsnet.co.uk
|
||||||
W: http://www.moses.uklinux.net/patches
|
W: http://www.moses.uklinux.net/patches
|
||||||
D: BFS filesystem
|
D: BFS filesystem
|
||||||
D: Intel IA32 CPU microcode update support
|
D: Intel IA32 CPU microcode update support
|
||||||
|
@ -3511,14 +3511,12 @@ D: The Linux Support Team Erlangen
|
||||||
|
|
||||||
N: David Weinehall
|
N: David Weinehall
|
||||||
E: tao@acc.umu.se
|
E: tao@acc.umu.se
|
||||||
|
P: 1024D/DC47CA16 7ACE 0FB0 7A74 F994 9B36 E1D1 D14E 8526 DC47 CA16
|
||||||
W: http://www.acc.umu.se/~tao/
|
W: http://www.acc.umu.se/~tao/
|
||||||
W: http://www.acc.umu.se/~mcalinux/
|
D: v2.0 kernel maintainer
|
||||||
D: Fixes for the NE/2-driver
|
D: Fixes for the NE/2-driver
|
||||||
D: Miscellaneous MCA-support
|
D: Miscellaneous MCA-support
|
||||||
D: Cleanup of the Config-files
|
D: Cleanup of the Config-files
|
||||||
S: Axtorpsvagen 40:20
|
|
||||||
S: S-903 37 UMEA
|
|
||||||
S: Sweden
|
|
||||||
|
|
||||||
N: Matt Welsh
|
N: Matt Welsh
|
||||||
E: mdw@metalab.unc.edu
|
E: mdw@metalab.unc.edu
|
||||||
|
|
|
@ -21,7 +21,7 @@ Description:
|
||||||
these states.
|
these states.
|
||||||
|
|
||||||
What: /sys/power/disk
|
What: /sys/power/disk
|
||||||
Date: August 2006
|
Date: September 2006
|
||||||
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
Contact: Rafael J. Wysocki <rjw@sisk.pl>
|
||||||
Description:
|
Description:
|
||||||
The /sys/power/disk file controls the operating mode of the
|
The /sys/power/disk file controls the operating mode of the
|
||||||
|
@ -39,6 +39,19 @@ Description:
|
||||||
'reboot' - the memory image will be saved by the kernel and
|
'reboot' - the memory image will be saved by the kernel and
|
||||||
the system will be rebooted.
|
the system will be rebooted.
|
||||||
|
|
||||||
|
Additionally, /sys/power/disk can be used to turn on one of the
|
||||||
|
two testing modes of the suspend-to-disk mechanism: 'testproc'
|
||||||
|
or 'test'. If the suspend-to-disk mechanism is in the
|
||||||
|
'testproc' mode, writing 'disk' to /sys/power/state will cause
|
||||||
|
the kernel to disable nonboot CPUs and freeze tasks, wait for 5
|
||||||
|
seconds, unfreeze tasks and enable nonboot CPUs. If it is in
|
||||||
|
the 'test' mode, writing 'disk' to /sys/power/state will cause
|
||||||
|
the kernel to disable nonboot CPUs and freeze tasks, shrink
|
||||||
|
memory, suspend devices, wait for 5 seconds, resume devices,
|
||||||
|
unfreeze tasks and enable nonboot CPUs. Then, we are able to
|
||||||
|
look in the log messages and work out, for example, which code
|
||||||
|
is being slow and which device drivers are misbehaving.
|
||||||
|
|
||||||
The suspend-to-disk method may be chosen by writing to this
|
The suspend-to-disk method may be chosen by writing to this
|
||||||
file one of the accepted strings:
|
file one of the accepted strings:
|
||||||
|
|
||||||
|
@ -46,6 +59,8 @@ Description:
|
||||||
'platform'
|
'platform'
|
||||||
'shutdown'
|
'shutdown'
|
||||||
'reboot'
|
'reboot'
|
||||||
|
'testproc'
|
||||||
|
'test'
|
||||||
|
|
||||||
It will only change to 'firmware' or 'platform' if the system
|
It will only change to 'firmware' or 'platform' if the system
|
||||||
supports that.
|
supports that.
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \
|
DOCBOOKS := wanbook.xml z8530book.xml mcabook.xml videobook.xml \
|
||||||
kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
|
kernel-hacking.xml kernel-locking.xml deviceiobook.xml \
|
||||||
procfs-guide.xml writing_usb_driver.xml \
|
procfs-guide.xml writing_usb_driver.xml \
|
||||||
kernel-api.xml journal-api.xml lsm.xml usb.xml \
|
kernel-api.xml filesystems.xml lsm.xml usb.xml \
|
||||||
gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
|
gadget.xml libata.xml mtdnand.xml librs.xml rapidio.xml \
|
||||||
genericirq.xml
|
genericirq.xml
|
||||||
|
|
||||||
|
|
|
@ -2,39 +2,11 @@
|
||||||
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
|
||||||
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
|
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" []>
|
||||||
|
|
||||||
<book id="LinuxJBDAPI">
|
<book id="Linux-filesystems-API">
|
||||||
<bookinfo>
|
<bookinfo>
|
||||||
<title>The Linux Journalling API</title>
|
<title>Linux Filesystems API</title>
|
||||||
<authorgroup>
|
|
||||||
<author>
|
|
||||||
<firstname>Roger</firstname>
|
|
||||||
<surname>Gammans</surname>
|
|
||||||
<affiliation>
|
|
||||||
<address>
|
|
||||||
<email>rgammans@computer-surgery.co.uk</email>
|
|
||||||
</address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
</authorgroup>
|
|
||||||
|
|
||||||
<authorgroup>
|
<legalnotice>
|
||||||
<author>
|
|
||||||
<firstname>Stephen</firstname>
|
|
||||||
<surname>Tweedie</surname>
|
|
||||||
<affiliation>
|
|
||||||
<address>
|
|
||||||
<email>sct@redhat.com</email>
|
|
||||||
</address>
|
|
||||||
</affiliation>
|
|
||||||
</author>
|
|
||||||
</authorgroup>
|
|
||||||
|
|
||||||
<copyright>
|
|
||||||
<year>2002</year>
|
|
||||||
<holder>Roger Gammans</holder>
|
|
||||||
</copyright>
|
|
||||||
|
|
||||||
<legalnotice>
|
|
||||||
<para>
|
<para>
|
||||||
This documentation is free software; you can redistribute
|
This documentation is free software; you can redistribute
|
||||||
it and/or modify it under the terms of the GNU General Public
|
it and/or modify it under the terms of the GNU General Public
|
||||||
|
@ -66,9 +38,105 @@
|
||||||
|
|
||||||
<toc></toc>
|
<toc></toc>
|
||||||
|
|
||||||
<chapter id="Overview">
|
<chapter id="vfs">
|
||||||
|
<title>The Linux VFS</title>
|
||||||
|
<sect1><title>The Filesystem types</title>
|
||||||
|
!Iinclude/linux/fs.h
|
||||||
|
</sect1>
|
||||||
|
<sect1><title>The Directory Cache</title>
|
||||||
|
!Efs/dcache.c
|
||||||
|
!Iinclude/linux/dcache.h
|
||||||
|
</sect1>
|
||||||
|
<sect1><title>Inode Handling</title>
|
||||||
|
!Efs/inode.c
|
||||||
|
!Efs/bad_inode.c
|
||||||
|
</sect1>
|
||||||
|
<sect1><title>Registration and Superblocks</title>
|
||||||
|
!Efs/super.c
|
||||||
|
</sect1>
|
||||||
|
<sect1><title>File Locks</title>
|
||||||
|
!Efs/locks.c
|
||||||
|
!Ifs/locks.c
|
||||||
|
</sect1>
|
||||||
|
<sect1><title>Other Functions</title>
|
||||||
|
!Efs/mpage.c
|
||||||
|
!Efs/namei.c
|
||||||
|
!Efs/buffer.c
|
||||||
|
!Efs/bio.c
|
||||||
|
!Efs/seq_file.c
|
||||||
|
!Efs/filesystems.c
|
||||||
|
!Efs/fs-writeback.c
|
||||||
|
!Efs/block_dev.c
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="proc">
|
||||||
|
<title>The proc filesystem</title>
|
||||||
|
|
||||||
|
<sect1><title>sysctl interface</title>
|
||||||
|
!Ekernel/sysctl.c
|
||||||
|
</sect1>
|
||||||
|
|
||||||
|
<sect1><title>proc filesystem interface</title>
|
||||||
|
!Ifs/proc/base.c
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="sysfs">
|
||||||
|
<title>The Filesystem for Exporting Kernel Objects</title>
|
||||||
|
!Efs/sysfs/file.c
|
||||||
|
!Efs/sysfs/symlink.c
|
||||||
|
!Efs/sysfs/bin.c
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="debugfs">
|
||||||
|
<title>The debugfs filesystem</title>
|
||||||
|
|
||||||
|
<sect1><title>debugfs interface</title>
|
||||||
|
!Efs/debugfs/inode.c
|
||||||
|
!Efs/debugfs/file.c
|
||||||
|
</sect1>
|
||||||
|
</chapter>
|
||||||
|
|
||||||
|
<chapter id="LinuxJDBAPI">
|
||||||
|
<chapterinfo>
|
||||||
|
<title>The Linux Journalling API</title>
|
||||||
|
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Roger</firstname>
|
||||||
|
<surname>Gammans</surname>
|
||||||
|
<affiliation>
|
||||||
|
<address>
|
||||||
|
<email>rgammans@computer-surgery.co.uk</email>
|
||||||
|
</address>
|
||||||
|
</affiliation>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
|
||||||
|
<authorgroup>
|
||||||
|
<author>
|
||||||
|
<firstname>Stephen</firstname>
|
||||||
|
<surname>Tweedie</surname>
|
||||||
|
<affiliation>
|
||||||
|
<address>
|
||||||
|
<email>sct@redhat.com</email>
|
||||||
|
</address>
|
||||||
|
</affiliation>
|
||||||
|
</author>
|
||||||
|
</authorgroup>
|
||||||
|
|
||||||
|
<copyright>
|
||||||
|
<year>2002</year>
|
||||||
|
<holder>Roger Gammans</holder>
|
||||||
|
</copyright>
|
||||||
|
</chapterinfo>
|
||||||
|
|
||||||
|
<title>The Linux Journalling API</title>
|
||||||
|
|
||||||
|
<sect1>
|
||||||
<title>Overview</title>
|
<title>Overview</title>
|
||||||
<sect1>
|
<sect2>
|
||||||
<title>Details</title>
|
<title>Details</title>
|
||||||
<para>
|
<para>
|
||||||
The journalling layer is easy to use. You need to
|
The journalling layer is easy to use. You need to
|
||||||
|
@ -111,7 +179,6 @@ Now you can go ahead and start modifying the underlying
|
||||||
filesystem. Almost.
|
filesystem. Almost.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
|
|
||||||
You still need to actually journal your filesystem changes, this
|
You still need to actually journal your filesystem changes, this
|
||||||
|
@ -156,7 +223,6 @@ Then at umount time , in your put_super() (2.4) or write_super() (2.5)
|
||||||
you can then call journal_destroy() to clean up your in-core journal object.
|
you can then call journal_destroy() to clean up your in-core journal object.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
Unfortunately there a couple of ways the journal layer can cause a deadlock.
|
Unfortunately there a couple of ways the journal layer can cause a deadlock.
|
||||||
The first thing to note is that each task can only have
|
The first thing to note is that each task can only have
|
||||||
|
@ -239,10 +305,10 @@ this would be useful if you needed to know when data was committed to a
|
||||||
particular inode.
|
particular inode.
|
||||||
</para>
|
</para>
|
||||||
|
|
||||||
</sect1>
|
</sect2>
|
||||||
|
|
||||||
<sect1>
|
<sect2>
|
||||||
<title>Summary</title>
|
<title>Summary</title>
|
||||||
<para>
|
<para>
|
||||||
Using the journal is a matter of wrapping the different context changes,
|
Using the journal is a matter of wrapping the different context changes,
|
||||||
being each mount, each modification (transaction) and each changed buffer
|
being each mount, each modification (transaction) and each changed buffer
|
||||||
|
@ -279,11 +345,11 @@ an example.
|
||||||
}
|
}
|
||||||
journal_destroy(my_jrnl);
|
journal_destroy(my_jrnl);
|
||||||
</programlisting>
|
</programlisting>
|
||||||
</sect1>
|
</sect2>
|
||||||
|
|
||||||
</chapter>
|
</sect1>
|
||||||
|
|
||||||
<chapter id="adt">
|
<sect1>
|
||||||
<title>Data Types</title>
|
<title>Data Types</title>
|
||||||
<para>
|
<para>
|
||||||
The journalling layer uses typedefs to 'hide' the concrete definitions
|
The journalling layer uses typedefs to 'hide' the concrete definitions
|
||||||
|
@ -291,43 +357,45 @@ an example.
|
||||||
just rely on the using the pointer as a magic cookie of some sort.
|
just rely on the using the pointer as a magic cookie of some sort.
|
||||||
|
|
||||||
Obviously the hiding is not enforced as this is 'C'.
|
Obviously the hiding is not enforced as this is 'C'.
|
||||||
</para>
|
</para>
|
||||||
<sect1><title>Structures</title>
|
<sect2><title>Structures</title>
|
||||||
!Iinclude/linux/jbd.h
|
!Iinclude/linux/jbd.h
|
||||||
</sect1>
|
</sect2>
|
||||||
</chapter>
|
</sect1>
|
||||||
|
|
||||||
<chapter id="calls">
|
<sect1>
|
||||||
<title>Functions</title>
|
<title>Functions</title>
|
||||||
<para>
|
<para>
|
||||||
The functions here are split into two groups those that
|
The functions here are split into two groups those that
|
||||||
affect a journal as a whole, and those which are used to
|
affect a journal as a whole, and those which are used to
|
||||||
manage transactions
|
manage transactions
|
||||||
</para>
|
</para>
|
||||||
<sect1><title>Journal Level</title>
|
<sect2><title>Journal Level</title>
|
||||||
!Efs/jbd/journal.c
|
!Efs/jbd/journal.c
|
||||||
!Ifs/jbd/recovery.c
|
!Ifs/jbd/recovery.c
|
||||||
</sect1>
|
</sect2>
|
||||||
<sect1><title>Transasction Level</title>
|
<sect2><title>Transasction Level</title>
|
||||||
!Efs/jbd/transaction.c
|
!Efs/jbd/transaction.c
|
||||||
</sect1>
|
</sect2>
|
||||||
</chapter>
|
</sect1>
|
||||||
<chapter>
|
<sect1>
|
||||||
<title>See also</title>
|
<title>See also</title>
|
||||||
<para>
|
<para>
|
||||||
<citation>
|
<citation>
|
||||||
<ulink url="ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/journal-design.ps.gz">
|
<ulink url="ftp://ftp.uk.linux.org/pub/linux/sct/fs/jfs/journal-design.ps.gz">
|
||||||
Journaling the Linux ext2fs Filesystem,LinuxExpo 98, Stephen Tweedie
|
Journaling the Linux ext2fs Filesystem, LinuxExpo 98, Stephen Tweedie
|
||||||
</ulink>
|
</ulink>
|
||||||
</citation>
|
</citation>
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
<citation>
|
<citation>
|
||||||
<ulink url="http://olstrans.sourceforge.net/release/OLS2000-ext3/OLS2000-ext3.html">
|
<ulink url="http://olstrans.sourceforge.net/release/OLS2000-ext3/OLS2000-ext3.html">
|
||||||
Ext3 Journalling FileSystem , OLS 2000, Dr. Stephen Tweedie
|
Ext3 Journalling FileSystem, OLS 2000, Dr. Stephen Tweedie
|
||||||
</ulink>
|
</ulink>
|
||||||
</citation>
|
</citation>
|
||||||
</para>
|
</para>
|
||||||
</chapter>
|
</sect1>
|
||||||
|
|
||||||
|
</chapter>
|
||||||
|
|
||||||
</book>
|
</book>
|
|
@ -182,66 +182,6 @@ X!Ilib/string.c
|
||||||
</sect1>
|
</sect1>
|
||||||
</chapter>
|
</chapter>
|
||||||
|
|
||||||
<chapter id="vfs">
|
|
||||||
<title>The Linux VFS</title>
|
|
||||||
<sect1><title>The Filesystem types</title>
|
|
||||||
!Iinclude/linux/fs.h
|
|
||||||
</sect1>
|
|
||||||
<sect1><title>The Directory Cache</title>
|
|
||||||
!Efs/dcache.c
|
|
||||||
!Iinclude/linux/dcache.h
|
|
||||||
</sect1>
|
|
||||||
<sect1><title>Inode Handling</title>
|
|
||||||
!Efs/inode.c
|
|
||||||
!Efs/bad_inode.c
|
|
||||||
</sect1>
|
|
||||||
<sect1><title>Registration and Superblocks</title>
|
|
||||||
!Efs/super.c
|
|
||||||
</sect1>
|
|
||||||
<sect1><title>File Locks</title>
|
|
||||||
!Efs/locks.c
|
|
||||||
!Ifs/locks.c
|
|
||||||
</sect1>
|
|
||||||
<sect1><title>Other Functions</title>
|
|
||||||
!Efs/mpage.c
|
|
||||||
!Efs/namei.c
|
|
||||||
!Efs/buffer.c
|
|
||||||
!Efs/bio.c
|
|
||||||
!Efs/seq_file.c
|
|
||||||
!Efs/filesystems.c
|
|
||||||
!Efs/fs-writeback.c
|
|
||||||
!Efs/block_dev.c
|
|
||||||
</sect1>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="proc">
|
|
||||||
<title>The proc filesystem</title>
|
|
||||||
|
|
||||||
<sect1><title>sysctl interface</title>
|
|
||||||
!Ekernel/sysctl.c
|
|
||||||
</sect1>
|
|
||||||
|
|
||||||
<sect1><title>proc filesystem interface</title>
|
|
||||||
!Ifs/proc/base.c
|
|
||||||
</sect1>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="sysfs">
|
|
||||||
<title>The Filesystem for Exporting Kernel Objects</title>
|
|
||||||
!Efs/sysfs/file.c
|
|
||||||
!Efs/sysfs/symlink.c
|
|
||||||
!Efs/sysfs/bin.c
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="debugfs">
|
|
||||||
<title>The debugfs filesystem</title>
|
|
||||||
|
|
||||||
<sect1><title>debugfs interface</title>
|
|
||||||
!Efs/debugfs/inode.c
|
|
||||||
!Efs/debugfs/file.c
|
|
||||||
</sect1>
|
|
||||||
</chapter>
|
|
||||||
|
|
||||||
<chapter id="relayfs">
|
<chapter id="relayfs">
|
||||||
<title>relay interface support</title>
|
<title>relay interface support</title>
|
||||||
|
|
||||||
|
|
|
@ -49,7 +49,7 @@ __u64 stime, utime;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Maximum size of response requested or message sent */
|
/* Maximum size of response requested or message sent */
|
||||||
#define MAX_MSG_SIZE 256
|
#define MAX_MSG_SIZE 1024
|
||||||
/* Maximum number of cpus expected to be specified in a cpumask */
|
/* Maximum number of cpus expected to be specified in a cpumask */
|
||||||
#define MAX_CPUS 32
|
#define MAX_CPUS 32
|
||||||
/* Maximum length of pathname to log file */
|
/* Maximum length of pathname to log file */
|
||||||
|
|
|
@ -53,18 +53,6 @@ Who: Mauro Carvalho Chehab <mchehab@brturbo.com.br>
|
||||||
|
|
||||||
---------------------------
|
---------------------------
|
||||||
|
|
||||||
What: sys_sysctl
|
|
||||||
When: January 2007
|
|
||||||
Why: The same information is available through /proc/sys and that is the
|
|
||||||
interface user space prefers to use. And there do not appear to be
|
|
||||||
any existing user in user space of sys_sysctl. The additional
|
|
||||||
maintenance overhead of keeping a set of binary names gets
|
|
||||||
in the way of doing a good job of maintaining this interface.
|
|
||||||
|
|
||||||
Who: Eric Biederman <ebiederm@xmission.com>
|
|
||||||
|
|
||||||
---------------------------
|
|
||||||
|
|
||||||
What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
|
What: PCMCIA control ioctl (needed for pcmcia-cs [cardmgr, cardctl])
|
||||||
When: November 2005
|
When: November 2005
|
||||||
Files: drivers/pcmcia/: pcmcia_ioctl.c
|
Files: drivers/pcmcia/: pcmcia_ioctl.c
|
||||||
|
|
|
@ -7,8 +7,17 @@ If you encounter problems with reading UDF discs using this driver,
|
||||||
please report them to linux_udf@hpesjro.fc.hp.com, which is the
|
please report them to linux_udf@hpesjro.fc.hp.com, which is the
|
||||||
developer's list.
|
developer's list.
|
||||||
|
|
||||||
Write support requires a block driver which supports writing. The current
|
Write support requires a block driver which supports writing. Currently
|
||||||
scsi and ide cdrom drivers do not support writing.
|
dvd+rw drives and media support true random sector writes, and so a udf
|
||||||
|
filesystem on such devices can be directly mounted read/write. CD-RW
|
||||||
|
media however, does not support this. Instead the media can be formatted
|
||||||
|
for packet mode using the utility cdrwtool, then the pktcdvd driver can
|
||||||
|
be bound to the underlying cd device to provide the required buffering
|
||||||
|
and read-modify-write cycles to allow the filesystem random sector writes
|
||||||
|
while providing the hardware with only full packet writes. While not
|
||||||
|
required for dvd+rw media, use of the pktcdvd driver often enhances
|
||||||
|
performance due to very poor read-modify-write support supplied internally
|
||||||
|
by drive firmware.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
The following mount options are supported:
|
The following mount options are supported:
|
||||||
|
|
|
@ -17,7 +17,7 @@ are:
|
||||||
special place-holders for where the extracted documentation should
|
special place-holders for where the extracted documentation should
|
||||||
go.
|
go.
|
||||||
|
|
||||||
- scripts/docproc.c
|
- scripts/basic/docproc.c
|
||||||
|
|
||||||
This is a program for converting SGML template files into SGML
|
This is a program for converting SGML template files into SGML
|
||||||
files. When a file is referenced it is searched for symbols
|
files. When a file is referenced it is searched for symbols
|
||||||
|
|
|
@ -164,6 +164,10 @@ and is between 256 and 4096 characters. It is defined in the file
|
||||||
acpi_skip_timer_override [HW,ACPI]
|
acpi_skip_timer_override [HW,ACPI]
|
||||||
Recognize and ignore IRQ0/pin2 Interrupt Override.
|
Recognize and ignore IRQ0/pin2 Interrupt Override.
|
||||||
For broken nForce2 BIOS resulting in XT-PIC timer.
|
For broken nForce2 BIOS resulting in XT-PIC timer.
|
||||||
|
acpi_use_timer_override [HW,ACPI}
|
||||||
|
Use timer override. For some broken Nvidia NF5 boards
|
||||||
|
that require a timer override, but don't have
|
||||||
|
HPET
|
||||||
|
|
||||||
acpi_dbg_layer= [HW,ACPI]
|
acpi_dbg_layer= [HW,ACPI]
|
||||||
Format: <int>
|
Format: <int>
|
||||||
|
|
|
@ -442,9 +442,10 @@ static int __init kprobe_init(void)
|
||||||
kp.fault_handler = handler_fault;
|
kp.fault_handler = handler_fault;
|
||||||
kp.symbol_name = "do_fork";
|
kp.symbol_name = "do_fork";
|
||||||
|
|
||||||
if ((ret = register_kprobe(&kp) < 0)) {
|
ret = register_kprobe(&kp);
|
||||||
|
if (ret < 0) {
|
||||||
printk("register_kprobe failed, returned %d\n", ret);
|
printk("register_kprobe failed, returned %d\n", ret);
|
||||||
return -1;
|
return ret;
|
||||||
}
|
}
|
||||||
printk("kprobe registered\n");
|
printk("kprobe registered\n");
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
@ -1016,7 +1016,7 @@ There are some more advanced barrier functions:
|
||||||
|
|
||||||
(*) set_mb(var, value)
|
(*) set_mb(var, value)
|
||||||
|
|
||||||
This assigns the value to the variable and then inserts at least a write
|
This assigns the value to the variable and then inserts a full memory
|
||||||
barrier after it, depending on the function. It isn't guaranteed to
|
barrier after it, depending on the function. It isn't guaranteed to
|
||||||
insert anything more than a compiler barrier in a UP compilation.
|
insert anything more than a compiler barrier in a UP compilation.
|
||||||
|
|
||||||
|
|
|
@ -38,17 +38,12 @@ The new time code provide the following services:
|
||||||
|
|
||||||
a) Implements functions required by Linux common code:
|
a) Implements functions required by Linux common code:
|
||||||
time_init
|
time_init
|
||||||
do_gettimeofday
|
|
||||||
do_settimeofday
|
|
||||||
|
|
||||||
b) provides an abstraction of RTC and null RTC implementation as default.
|
b) provides an abstraction of RTC and null RTC implementation as default.
|
||||||
extern unsigned long (*rtc_get_time)(void);
|
extern unsigned long (*rtc_get_time)(void);
|
||||||
extern int (*rtc_set_time)(unsigned long);
|
extern int (*rtc_set_time)(unsigned long);
|
||||||
|
|
||||||
c) a set of gettimeoffset functions for different CPUs and different
|
c) high-level and low-level timer interrupt routines where the timer
|
||||||
needs.
|
|
||||||
|
|
||||||
d) high-level and low-level timer interrupt routines where the timer
|
|
||||||
interrupt source may or may not be the CPU timer. The high-level
|
interrupt source may or may not be the CPU timer. The high-level
|
||||||
routine is dispatched through do_IRQ() while the low-level is
|
routine is dispatched through do_IRQ() while the low-level is
|
||||||
dispatched in assemably code (usually int-handler.S)
|
dispatched in assemably code (usually int-handler.S)
|
||||||
|
@ -63,7 +58,7 @@ the following functions or values:
|
||||||
a) board_time_init - a function pointer. Invoked at the beginnig of
|
a) board_time_init - a function pointer. Invoked at the beginnig of
|
||||||
time_init(). It is optional.
|
time_init(). It is optional.
|
||||||
1. (optional) set up RTC routines
|
1. (optional) set up RTC routines
|
||||||
2. (optional) calibrate and set the mips_counter_frequency
|
2. (optional) calibrate and set the mips_hpt_frequency
|
||||||
|
|
||||||
b) plat_timer_setup - a function pointer. Invoked at the end of time_init()
|
b) plat_timer_setup - a function pointer. Invoked at the end of time_init()
|
||||||
1. (optional) over-ride any decisions made in time_init()
|
1. (optional) over-ride any decisions made in time_init()
|
||||||
|
@ -72,9 +67,8 @@ the following functions or values:
|
||||||
|
|
||||||
c) (optional) board-specific RTC routines.
|
c) (optional) board-specific RTC routines.
|
||||||
|
|
||||||
d) (optional) mips_counter_frequency - It must be definied if the board
|
d) (optional) mips_hpt_frequency - It must be definied if the board
|
||||||
is using CPU counter for timer interrupt or it is using fixed rate
|
is using CPU counter for timer interrupt.
|
||||||
gettimeoffset().
|
|
||||||
|
|
||||||
|
|
||||||
PORTING GUIDE
|
PORTING GUIDE
|
||||||
|
@ -89,22 +83,12 @@ Step 1: decide how you like to implement the time services.
|
||||||
If the answer is no, you need a timer to provide the timer interrupt
|
If the answer is no, you need a timer to provide the timer interrupt
|
||||||
at 100 HZ speed.
|
at 100 HZ speed.
|
||||||
|
|
||||||
You cannot use the fast gettimeoffset functions, i.e.,
|
|
||||||
|
|
||||||
unsigned long fixed_rate_gettimeoffset(void);
|
|
||||||
unsigned long calibrate_div32_gettimeoffset(void);
|
|
||||||
unsigned long calibrate_div64_gettimeoffset(void);
|
|
||||||
|
|
||||||
You can use null_gettimeoffset() will gives the same time resolution as
|
|
||||||
jiffy. Or you can implement your own gettimeoffset (probably based on
|
|
||||||
some ad hoc hardware on your machine.)
|
|
||||||
|
|
||||||
c) The following sub steps assume your CPU has counter register.
|
c) The following sub steps assume your CPU has counter register.
|
||||||
Do you plan to use the CPU counter register as the timer interrupt
|
Do you plan to use the CPU counter register as the timer interrupt
|
||||||
or use an exnternal timer?
|
or use an exnternal timer?
|
||||||
|
|
||||||
In order to use CPU counter register as the timer interrupt source, you
|
In order to use CPU counter register as the timer interrupt source, you
|
||||||
must know the counter speed (mips_counter_frequency). It is usually the
|
must know the counter speed (mips_hpt_frequency). It is usually the
|
||||||
same as the CPU speed or an integral divisor of it.
|
same as the CPU speed or an integral divisor of it.
|
||||||
|
|
||||||
d) decide on whether you want to use high-level or low-level timer
|
d) decide on whether you want to use high-level or low-level timer
|
||||||
|
@ -122,9 +106,9 @@ Step 3: implement rtc routines, board_time_init() and plat_timer_setup()
|
||||||
|
|
||||||
board_time_init() -
|
board_time_init() -
|
||||||
a) (optional) set up RTC routines,
|
a) (optional) set up RTC routines,
|
||||||
b) (optional) calibrate and set the mips_counter_frequency
|
b) (optional) calibrate and set the mips_hpt_frequency
|
||||||
(only needed if you intended to use fixed_rate_gettimeoffset
|
(only needed if you intended to use cpu counter as timer interrupt
|
||||||
or use cpu counter as timer interrupt source)
|
source)
|
||||||
|
|
||||||
plat_timer_setup() -
|
plat_timer_setup() -
|
||||||
a) (optional) over-write any choices made above by time_init().
|
a) (optional) over-write any choices made above by time_init().
|
||||||
|
@ -154,8 +138,8 @@ for some of the functions in time.c.
|
||||||
For example, you may define your own timer interrupt routine, which does
|
For example, you may define your own timer interrupt routine, which does
|
||||||
some of its own processing and then calls timer_interrupt().
|
some of its own processing and then calls timer_interrupt().
|
||||||
|
|
||||||
You can also over-ride any of the built-in functions (gettimeoffset,
|
You can also over-ride any of the built-in functions (RTC routines
|
||||||
RTC routines and/or timer interrupt routine).
|
and/or timer interrupt routine).
|
||||||
|
|
||||||
|
|
||||||
PORTING NOTES FOR SMP
|
PORTING NOTES FOR SMP
|
||||||
|
@ -187,10 +171,3 @@ You need to decide on your timer interrupt sources.
|
||||||
|
|
||||||
You can also do the low-level version of those interrupt routines,
|
You can also do the low-level version of those interrupt routines,
|
||||||
following similar dispatching routes described above.
|
following similar dispatching routes described above.
|
||||||
|
|
||||||
Note about do_gettimeoffset():
|
|
||||||
|
|
||||||
It is very likely the CPU counter registers are not sync'ed up in a SMP box.
|
|
||||||
Therefore you cannot really use the many of the existing routines that
|
|
||||||
are based on CPU counter. You should wirte your own gettimeoffset rouinte
|
|
||||||
if you want intra-jiffy resolution.
|
|
||||||
|
|
|
@ -30,6 +30,17 @@ testing). The system will support either 'firmware' or 'platform', and
|
||||||
that is known a priori. But, the user may choose 'shutdown' or
|
that is known a priori. But, the user may choose 'shutdown' or
|
||||||
'reboot' as alternatives.
|
'reboot' as alternatives.
|
||||||
|
|
||||||
|
Additionally, /sys/power/disk can be used to turn on one of the two testing
|
||||||
|
modes of the suspend-to-disk mechanism: 'testproc' or 'test'. If the
|
||||||
|
suspend-to-disk mechanism is in the 'testproc' mode, writing 'disk' to
|
||||||
|
/sys/power/state will cause the kernel to disable nonboot CPUs and freeze
|
||||||
|
tasks, wait for 5 seconds, unfreeze tasks and enable nonboot CPUs. If it is
|
||||||
|
in the 'test' mode, writing 'disk' to /sys/power/state will cause the kernel
|
||||||
|
to disable nonboot CPUs and freeze tasks, shrink memory, suspend devices, wait
|
||||||
|
for 5 seconds, resume devices, unfreeze tasks and enable nonboot CPUs. Then,
|
||||||
|
we are able to look in the log messages and work out, for example, which code
|
||||||
|
is being slow and which device drivers are misbehaving.
|
||||||
|
|
||||||
Reading from this file will display what the mode is currently set
|
Reading from this file will display what the mode is currently set
|
||||||
to. Writing to this file will accept one of
|
to. Writing to this file will accept one of
|
||||||
|
|
||||||
|
@ -37,6 +48,8 @@ to. Writing to this file will accept one of
|
||||||
'platform'
|
'platform'
|
||||||
'shutdown'
|
'shutdown'
|
||||||
'reboot'
|
'reboot'
|
||||||
|
'testproc'
|
||||||
|
'test'
|
||||||
|
|
||||||
It will only change to 'firmware' or 'platform' if the system supports
|
It will only change to 'firmware' or 'platform' if the system supports
|
||||||
it.
|
it.
|
||||||
|
|
|
@ -753,7 +753,7 @@ Prior to version 0.9.0rc4 options had a 'snd_' prefix. This was removed.
|
||||||
position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size)
|
position_fix - Fix DMA pointer (0 = auto, 1 = none, 2 = POSBUF, 3 = FIFO size)
|
||||||
single_cmd - Use single immediate commands to communicate with
|
single_cmd - Use single immediate commands to communicate with
|
||||||
codecs (for debugging only)
|
codecs (for debugging only)
|
||||||
disable_msi - Disable Message Signaled Interrupt (MSI)
|
enable_msi - Enable Message Signaled Interrupt (MSI) (default = off)
|
||||||
|
|
||||||
This module supports one card and autoprobe.
|
This module supports one card and autoprobe.
|
||||||
|
|
||||||
|
|
|
@ -428,12 +428,6 @@ Options supported:
|
||||||
See http://www.uuhaus.de/linux/palmconnect.html for up-to-date
|
See http://www.uuhaus.de/linux/palmconnect.html for up-to-date
|
||||||
information on this driver.
|
information on this driver.
|
||||||
|
|
||||||
AIRcable USB Dongle Bluetooth driver
|
|
||||||
If there is the cdc_acm driver loaded in the system, you will find that the
|
|
||||||
cdc_acm claims the device before AIRcable can. This is simply corrected
|
|
||||||
by unloading both modules and then loading the aircable module before
|
|
||||||
cdc_acm module
|
|
||||||
|
|
||||||
Generic Serial driver
|
Generic Serial driver
|
||||||
|
|
||||||
If your device is not one of the above listed devices, compatible with
|
If your device is not one of the above listed devices, compatible with
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <unistd.h>
|
||||||
#include <fcntl.h>
|
#include <fcntl.h>
|
||||||
|
|
||||||
int main(int argc, const char *argv[]) {
|
int main(int argc, const char *argv[]) {
|
||||||
|
|
14
MAINTAINERS
14
MAINTAINERS
|
@ -493,7 +493,7 @@ S: Maintained
|
||||||
|
|
||||||
BFS FILE SYSTEM
|
BFS FILE SYSTEM
|
||||||
P: Tigran A. Aivazian
|
P: Tigran A. Aivazian
|
||||||
M: tigran@veritas.com
|
M: tigran@aivazian.fsnet.co.uk
|
||||||
L: linux-kernel@vger.kernel.org
|
L: linux-kernel@vger.kernel.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
@ -1513,7 +1513,7 @@ S: Maintained
|
||||||
|
|
||||||
INTEL IA32 MICROCODE UPDATE SUPPORT
|
INTEL IA32 MICROCODE UPDATE SUPPORT
|
||||||
P: Tigran Aivazian
|
P: Tigran Aivazian
|
||||||
M: tigran@veritas.com
|
M: tigran@aivazian.fsnet.co.uk
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT
|
INTEL IXP4XX RANDOM NUMBER GENERATOR SUPPORT
|
||||||
|
@ -3072,6 +3072,13 @@ L: video4linux-list@redhat.com
|
||||||
W: http://www.linux-projects.org
|
W: http://www.linux-projects.org
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
|
USB GADGET/PERIPHERAL SUBSYSTEM
|
||||||
|
P: David Brownell
|
||||||
|
M: dbrownell@users.sourceforge.net
|
||||||
|
L: linux-usb-devel@lists.sourceforge.net
|
||||||
|
W: http://www.linux-usb.org/gadget
|
||||||
|
S: Maintained
|
||||||
|
|
||||||
USB HID/HIDBP DRIVERS
|
USB HID/HIDBP DRIVERS
|
||||||
P: Vojtech Pavlik
|
P: Vojtech Pavlik
|
||||||
M: vojtech@suse.cz
|
M: vojtech@suse.cz
|
||||||
|
@ -3255,10 +3262,11 @@ L: linux-usb-users@lists.sourceforge.net
|
||||||
L: linux-usb-devel@lists.sourceforge.net
|
L: linux-usb-devel@lists.sourceforge.net
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
USB "USBNET" DRIVER
|
USB "USBNET" DRIVER FRAMEWORK
|
||||||
P: David Brownell
|
P: David Brownell
|
||||||
M: dbrownell@users.sourceforge.net
|
M: dbrownell@users.sourceforge.net
|
||||||
L: linux-usb-devel@lists.sourceforge.net
|
L: linux-usb-devel@lists.sourceforge.net
|
||||||
|
W: http://www.linux-usb.org/usbnet
|
||||||
S: Maintained
|
S: Maintained
|
||||||
|
|
||||||
USB W996[87]CF DRIVER
|
USB W996[87]CF DRIVER
|
||||||
|
|
2
Makefile
2
Makefile
|
@ -1,7 +1,7 @@
|
||||||
VERSION = 2
|
VERSION = 2
|
||||||
PATCHLEVEL = 6
|
PATCHLEVEL = 6
|
||||||
SUBLEVEL = 19
|
SUBLEVEL = 19
|
||||||
EXTRAVERSION =-rc2
|
EXTRAVERSION =-rc6
|
||||||
NAME=Avast! A bilge rat!
|
NAME=Avast! A bilge rat!
|
||||||
|
|
||||||
# *DOCUMENTATION*
|
# *DOCUMENTATION*
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* srm_env.c - Access to SRM environment
|
* srm_env.c - Access to SRM environment
|
||||||
* variables through linux' procfs
|
* variables through linux' procfs
|
||||||
*
|
*
|
||||||
* Copyright (C) 2001-2002 Jan-Benedict Glaw <jbglaw@lug-owl.de>
|
* (C) 2001,2002,2006 by Jan-Benedict Glaw <jbglaw@lug-owl.de>
|
||||||
*
|
*
|
||||||
* This driver is at all a modified version of Erik Mouw's
|
* This driver is at all a modified version of Erik Mouw's
|
||||||
* Documentation/DocBook/procfs_example.c, so: thank
|
* Documentation/DocBook/procfs_example.c, so: thank
|
||||||
|
@ -29,33 +29,6 @@
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/*
|
|
||||||
* Changelog
|
|
||||||
* ~~~~~~~~~
|
|
||||||
*
|
|
||||||
* Thu, 22 Aug 2002 15:10:43 +0200
|
|
||||||
* - Update Config.help entry. I got a number of emails asking
|
|
||||||
* me to tell their senders if they could make use of this
|
|
||||||
* piece of code... So: "SRM is something like BIOS for your
|
|
||||||
* Alpha"
|
|
||||||
* - Update code formatting a bit to better conform CodingStyle
|
|
||||||
* rules.
|
|
||||||
* - So this is v0.0.5, with no changes (except formatting)
|
|
||||||
*
|
|
||||||
* Wed, 22 May 2002 00:11:21 +0200
|
|
||||||
* - Fix typo on comment (SRC -> SRM)
|
|
||||||
* - Call this "Version 0.0.4"
|
|
||||||
*
|
|
||||||
* Tue, 9 Apr 2002 18:44:40 +0200
|
|
||||||
* - Implement access by variable name and additionally
|
|
||||||
* by number. This is done by creating two subdirectories
|
|
||||||
* where one holds all names (like the old directory
|
|
||||||
* did) and the other holding 256 files named like "0",
|
|
||||||
* "1" and so on.
|
|
||||||
* - Call this "Version 0.0.3"
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include <linux/kernel.h>
|
#include <linux/kernel.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
|
@ -67,7 +40,7 @@
|
||||||
#define BASE_DIR "srm_environment" /* Subdir in /proc/ */
|
#define BASE_DIR "srm_environment" /* Subdir in /proc/ */
|
||||||
#define NAMED_DIR "named_variables" /* Subdir for known variables */
|
#define NAMED_DIR "named_variables" /* Subdir for known variables */
|
||||||
#define NUMBERED_DIR "numbered_variables" /* Subdir for all variables */
|
#define NUMBERED_DIR "numbered_variables" /* Subdir for all variables */
|
||||||
#define VERSION "0.0.5" /* Module version */
|
#define VERSION "0.0.6" /* Module version */
|
||||||
#define NAME "srm_env" /* Module name */
|
#define NAME "srm_env" /* Module name */
|
||||||
|
|
||||||
MODULE_AUTHOR("Jan-Benedict Glaw <jbglaw@lug-owl.de>");
|
MODULE_AUTHOR("Jan-Benedict Glaw <jbglaw@lug-owl.de>");
|
||||||
|
@ -106,7 +79,6 @@ static srm_env_t srm_named_entries[] = {
|
||||||
static srm_env_t srm_numbered_entries[256];
|
static srm_env_t srm_numbered_entries[256];
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
srm_env_read(char *page, char **start, off_t off, int count, int *eof,
|
srm_env_read(char *page, char **start, off_t off, int count, int *eof,
|
||||||
void *data)
|
void *data)
|
||||||
|
@ -115,21 +87,23 @@ srm_env_read(char *page, char **start, off_t off, int count, int *eof,
|
||||||
unsigned long ret;
|
unsigned long ret;
|
||||||
srm_env_t *entry;
|
srm_env_t *entry;
|
||||||
|
|
||||||
if(off != 0)
|
if (off != 0) {
|
||||||
return -EFAULT;
|
*eof = 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
entry = (srm_env_t *) data;
|
entry = (srm_env_t *) data;
|
||||||
ret = callback_getenv(entry->id, page, count);
|
ret = callback_getenv(entry->id, page, count);
|
||||||
|
|
||||||
if((ret >> 61) == 0)
|
if ((ret >> 61) == 0) {
|
||||||
nbytes = (int) ret;
|
nbytes = (int) ret;
|
||||||
else
|
*eof = 1;
|
||||||
|
} else
|
||||||
nbytes = -EFAULT;
|
nbytes = -EFAULT;
|
||||||
|
|
||||||
return nbytes;
|
return nbytes;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
srm_env_write(struct file *file, const char __user *buffer, unsigned long count,
|
srm_env_write(struct file *file, const char __user *buffer, unsigned long count,
|
||||||
void *data)
|
void *data)
|
||||||
|
@ -172,14 +146,14 @@ srm_env_cleanup(void)
|
||||||
srm_env_t *entry;
|
srm_env_t *entry;
|
||||||
unsigned long var_num;
|
unsigned long var_num;
|
||||||
|
|
||||||
if(base_dir) {
|
if (base_dir) {
|
||||||
/*
|
/*
|
||||||
* Remove named entries
|
* Remove named entries
|
||||||
*/
|
*/
|
||||||
if(named_dir) {
|
if (named_dir) {
|
||||||
entry = srm_named_entries;
|
entry = srm_named_entries;
|
||||||
while(entry->name != NULL && entry->id != 0) {
|
while (entry->name != NULL && entry->id != 0) {
|
||||||
if(entry->proc_entry) {
|
if (entry->proc_entry) {
|
||||||
remove_proc_entry(entry->name,
|
remove_proc_entry(entry->name,
|
||||||
named_dir);
|
named_dir);
|
||||||
entry->proc_entry = NULL;
|
entry->proc_entry = NULL;
|
||||||
|
@ -192,11 +166,11 @@ srm_env_cleanup(void)
|
||||||
/*
|
/*
|
||||||
* Remove numbered entries
|
* Remove numbered entries
|
||||||
*/
|
*/
|
||||||
if(numbered_dir) {
|
if (numbered_dir) {
|
||||||
for(var_num = 0; var_num <= 255; var_num++) {
|
for (var_num = 0; var_num <= 255; var_num++) {
|
||||||
entry = &srm_numbered_entries[var_num];
|
entry = &srm_numbered_entries[var_num];
|
||||||
|
|
||||||
if(entry->proc_entry) {
|
if (entry->proc_entry) {
|
||||||
remove_proc_entry(entry->name,
|
remove_proc_entry(entry->name,
|
||||||
numbered_dir);
|
numbered_dir);
|
||||||
entry->proc_entry = NULL;
|
entry->proc_entry = NULL;
|
||||||
|
@ -212,7 +186,6 @@ srm_env_cleanup(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static int __init
|
static int __init
|
||||||
srm_env_init(void)
|
srm_env_init(void)
|
||||||
{
|
{
|
||||||
|
@ -222,7 +195,7 @@ srm_env_init(void)
|
||||||
/*
|
/*
|
||||||
* Check system
|
* Check system
|
||||||
*/
|
*/
|
||||||
if(!alpha_using_srm) {
|
if (!alpha_using_srm) {
|
||||||
printk(KERN_INFO "%s: This Alpha system doesn't "
|
printk(KERN_INFO "%s: This Alpha system doesn't "
|
||||||
"know about SRM (or you've booted "
|
"know about SRM (or you've booted "
|
||||||
"SRM->MILO->Linux, which gets "
|
"SRM->MILO->Linux, which gets "
|
||||||
|
@ -233,14 +206,14 @@ srm_env_init(void)
|
||||||
/*
|
/*
|
||||||
* Init numbers
|
* Init numbers
|
||||||
*/
|
*/
|
||||||
for(var_num = 0; var_num <= 255; var_num++)
|
for (var_num = 0; var_num <= 255; var_num++)
|
||||||
sprintf(number[var_num], "%ld", var_num);
|
sprintf(number[var_num], "%ld", var_num);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Create base directory
|
* Create base directory
|
||||||
*/
|
*/
|
||||||
base_dir = proc_mkdir(BASE_DIR, NULL);
|
base_dir = proc_mkdir(BASE_DIR, NULL);
|
||||||
if(base_dir == NULL) {
|
if (!base_dir) {
|
||||||
printk(KERN_ERR "Couldn't create base dir /proc/%s\n",
|
printk(KERN_ERR "Couldn't create base dir /proc/%s\n",
|
||||||
BASE_DIR);
|
BASE_DIR);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -251,7 +224,7 @@ srm_env_init(void)
|
||||||
* Create per-name subdirectory
|
* Create per-name subdirectory
|
||||||
*/
|
*/
|
||||||
named_dir = proc_mkdir(NAMED_DIR, base_dir);
|
named_dir = proc_mkdir(NAMED_DIR, base_dir);
|
||||||
if(named_dir == NULL) {
|
if (!named_dir) {
|
||||||
printk(KERN_ERR "Couldn't create dir /proc/%s/%s\n",
|
printk(KERN_ERR "Couldn't create dir /proc/%s/%s\n",
|
||||||
BASE_DIR, NAMED_DIR);
|
BASE_DIR, NAMED_DIR);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -262,7 +235,7 @@ srm_env_init(void)
|
||||||
* Create per-number subdirectory
|
* Create per-number subdirectory
|
||||||
*/
|
*/
|
||||||
numbered_dir = proc_mkdir(NUMBERED_DIR, base_dir);
|
numbered_dir = proc_mkdir(NUMBERED_DIR, base_dir);
|
||||||
if(numbered_dir == NULL) {
|
if (!numbered_dir) {
|
||||||
printk(KERN_ERR "Couldn't create dir /proc/%s/%s\n",
|
printk(KERN_ERR "Couldn't create dir /proc/%s/%s\n",
|
||||||
BASE_DIR, NUMBERED_DIR);
|
BASE_DIR, NUMBERED_DIR);
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
@ -274,10 +247,10 @@ srm_env_init(void)
|
||||||
* Create all named nodes
|
* Create all named nodes
|
||||||
*/
|
*/
|
||||||
entry = srm_named_entries;
|
entry = srm_named_entries;
|
||||||
while(entry->name != NULL && entry->id != 0) {
|
while (entry->name && entry->id) {
|
||||||
entry->proc_entry = create_proc_entry(entry->name,
|
entry->proc_entry = create_proc_entry(entry->name,
|
||||||
0644, named_dir);
|
0644, named_dir);
|
||||||
if(entry->proc_entry == NULL)
|
if (!entry->proc_entry)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
entry->proc_entry->data = (void *) entry;
|
entry->proc_entry->data = (void *) entry;
|
||||||
|
@ -291,13 +264,13 @@ srm_env_init(void)
|
||||||
/*
|
/*
|
||||||
* Create all numbered nodes
|
* Create all numbered nodes
|
||||||
*/
|
*/
|
||||||
for(var_num = 0; var_num <= 255; var_num++) {
|
for (var_num = 0; var_num <= 255; var_num++) {
|
||||||
entry = &srm_numbered_entries[var_num];
|
entry = &srm_numbered_entries[var_num];
|
||||||
entry->name = number[var_num];
|
entry->name = number[var_num];
|
||||||
|
|
||||||
entry->proc_entry = create_proc_entry(entry->name,
|
entry->proc_entry = create_proc_entry(entry->name,
|
||||||
0644, numbered_dir);
|
0644, numbered_dir);
|
||||||
if(entry->proc_entry == NULL)
|
if (!entry->proc_entry)
|
||||||
goto cleanup;
|
goto cleanup;
|
||||||
|
|
||||||
entry->id = var_num;
|
entry->id = var_num;
|
||||||
|
@ -318,7 +291,6 @@ cleanup:
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
static void __exit
|
static void __exit
|
||||||
srm_env_exit(void)
|
srm_env_exit(void)
|
||||||
{
|
{
|
||||||
|
@ -328,7 +300,5 @@ srm_env_exit(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
module_init(srm_env_init);
|
module_init(srm_env_init);
|
||||||
module_exit(srm_env_exit);
|
module_exit(srm_env_exit);
|
||||||
|
|
||||||
|
|
|
@ -48,13 +48,7 @@ SECTIONS
|
||||||
. = ALIGN(8);
|
. = ALIGN(8);
|
||||||
__initcall_start = .;
|
__initcall_start = .;
|
||||||
.initcall.init : {
|
.initcall.init : {
|
||||||
*(.initcall1.init)
|
INITCALLS
|
||||||
*(.initcall2.init)
|
|
||||||
*(.initcall3.init)
|
|
||||||
*(.initcall4.init)
|
|
||||||
*(.initcall5.init)
|
|
||||||
*(.initcall6.init)
|
|
||||||
*(.initcall7.init)
|
|
||||||
}
|
}
|
||||||
__initcall_end = .;
|
__initcall_end = .;
|
||||||
|
|
||||||
|
|
|
@ -174,11 +174,13 @@ libs-y := arch/arm/lib/ $(libs-y)
|
||||||
|
|
||||||
# Default target when executing plain make
|
# Default target when executing plain make
|
||||||
ifeq ($(CONFIG_XIP_KERNEL),y)
|
ifeq ($(CONFIG_XIP_KERNEL),y)
|
||||||
all: xipImage
|
KBUILD_IMAGE := xipImage
|
||||||
else
|
else
|
||||||
all: zImage
|
KBUILD_IMAGE := zImage
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
all: $(KBUILD_IMAGE)
|
||||||
|
|
||||||
boot := arch/arm/boot
|
boot := arch/arm/boot
|
||||||
|
|
||||||
# Update machine arch and proc symlinks if something which affects
|
# Update machine arch and proc symlinks if something which affects
|
||||||
|
|
|
@ -662,7 +662,8 @@ EXPORT_SYMBOL(dma_map_single);
|
||||||
EXPORT_SYMBOL(dma_unmap_single);
|
EXPORT_SYMBOL(dma_unmap_single);
|
||||||
EXPORT_SYMBOL(dma_map_sg);
|
EXPORT_SYMBOL(dma_map_sg);
|
||||||
EXPORT_SYMBOL(dma_unmap_sg);
|
EXPORT_SYMBOL(dma_unmap_sg);
|
||||||
EXPORT_SYMBOL(dma_sync_single);
|
EXPORT_SYMBOL(dma_sync_single_for_cpu);
|
||||||
|
EXPORT_SYMBOL(dma_sync_single_for_device);
|
||||||
EXPORT_SYMBOL(dma_sync_sg);
|
EXPORT_SYMBOL(dma_sync_sg);
|
||||||
EXPORT_SYMBOL(dmabounce_register_dev);
|
EXPORT_SYMBOL(dmabounce_register_dev);
|
||||||
EXPORT_SYMBOL(dmabounce_unregister_dev);
|
EXPORT_SYMBOL(dmabounce_unregister_dev);
|
||||||
|
|
|
@ -577,7 +577,7 @@ CONFIG_WATCHDOG_NOWAYOUT=y
|
||||||
# Watchdog Device Drivers
|
# Watchdog Device Drivers
|
||||||
#
|
#
|
||||||
# CONFIG_SOFT_WATCHDOG is not set
|
# CONFIG_SOFT_WATCHDOG is not set
|
||||||
CONFIG_AT91_WATCHDOG=y
|
CONFIG_AT91RM9200_WATCHDOG=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB-based Watchdog Cards
|
# USB-based Watchdog Cards
|
||||||
|
|
|
@ -558,7 +558,7 @@ CONFIG_WATCHDOG_NOWAYOUT=y
|
||||||
# Watchdog Device Drivers
|
# Watchdog Device Drivers
|
||||||
#
|
#
|
||||||
# CONFIG_SOFT_WATCHDOG is not set
|
# CONFIG_SOFT_WATCHDOG is not set
|
||||||
CONFIG_AT91_WATCHDOG=y
|
CONFIG_AT91RM9200_WATCHDOG=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB-based Watchdog Cards
|
# USB-based Watchdog Cards
|
||||||
|
|
|
@ -217,7 +217,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
# Power management options
|
# Power management options
|
||||||
#
|
#
|
||||||
CONFIG_PM=y
|
CONFIG_PM=y
|
||||||
CONFIG_PM_LEGACY=y
|
# CONFIG_PM_LEGACY is not set
|
||||||
# CONFIG_PM_DEBUG is not set
|
# CONFIG_PM_DEBUG is not set
|
||||||
# CONFIG_APM is not set
|
# CONFIG_APM is not set
|
||||||
|
|
||||||
|
|
|
@ -219,7 +219,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
# Power management options
|
# Power management options
|
||||||
#
|
#
|
||||||
CONFIG_PM=y
|
CONFIG_PM=y
|
||||||
CONFIG_PM_LEGACY=y
|
# CONFIG_PM_LEGACY is not set
|
||||||
# CONFIG_PM_DEBUG is not set
|
# CONFIG_PM_DEBUG is not set
|
||||||
CONFIG_APM=y
|
CONFIG_APM=y
|
||||||
|
|
||||||
|
|
|
@ -615,7 +615,7 @@ CONFIG_WATCHDOG_NOWAYOUT=y
|
||||||
# Watchdog Device Drivers
|
# Watchdog Device Drivers
|
||||||
#
|
#
|
||||||
# CONFIG_SOFT_WATCHDOG is not set
|
# CONFIG_SOFT_WATCHDOG is not set
|
||||||
CONFIG_AT91_WATCHDOG=y
|
CONFIG_AT91RM9200_WATCHDOG=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB-based Watchdog Cards
|
# USB-based Watchdog Cards
|
||||||
|
|
|
@ -615,7 +615,7 @@ CONFIG_WATCHDOG_NOWAYOUT=y
|
||||||
# Watchdog Device Drivers
|
# Watchdog Device Drivers
|
||||||
#
|
#
|
||||||
# CONFIG_SOFT_WATCHDOG is not set
|
# CONFIG_SOFT_WATCHDOG is not set
|
||||||
CONFIG_AT91_WATCHDOG=y
|
CONFIG_AT91RM9200_WATCHDOG=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB-based Watchdog Cards
|
# USB-based Watchdog Cards
|
||||||
|
|
|
@ -206,10 +206,8 @@ CONFIG_BINFMT_ELF=y
|
||||||
#
|
#
|
||||||
# Power management options
|
# Power management options
|
||||||
#
|
#
|
||||||
CONFIG_PM=y
|
# CONFIG_PM is not set
|
||||||
CONFIG_PM_LEGACY=y
|
# CONFIG_APM is not set
|
||||||
# CONFIG_PM_DEBUG is not set
|
|
||||||
CONFIG_APM=y
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Networking
|
# Networking
|
||||||
|
|
|
@ -560,7 +560,7 @@ CONFIG_WATCHDOG_NOWAYOUT=y
|
||||||
# Watchdog Device Drivers
|
# Watchdog Device Drivers
|
||||||
#
|
#
|
||||||
# CONFIG_SOFT_WATCHDOG is not set
|
# CONFIG_SOFT_WATCHDOG is not set
|
||||||
CONFIG_AT91_WATCHDOG=y
|
CONFIG_AT91RM9200_WATCHDOG=y
|
||||||
# CONFIG_NVRAM is not set
|
# CONFIG_NVRAM is not set
|
||||||
# CONFIG_DTLK is not set
|
# CONFIG_DTLK is not set
|
||||||
# CONFIG_R3964 is not set
|
# CONFIG_R3964 is not set
|
||||||
|
|
|
@ -257,7 +257,7 @@ CONFIG_BINFMT_AOUT=y
|
||||||
# Power management options
|
# Power management options
|
||||||
#
|
#
|
||||||
CONFIG_PM=y
|
CONFIG_PM=y
|
||||||
CONFIG_PM_LEGACY=y
|
# CONFIG_PM_LEGACY is not set
|
||||||
# CONFIG_PM_DEBUG is not set
|
# CONFIG_PM_DEBUG is not set
|
||||||
# CONFIG_APM is not set
|
# CONFIG_APM is not set
|
||||||
|
|
||||||
|
|
|
@ -607,7 +607,7 @@ CONFIG_WATCHDOG_NOWAYOUT=y
|
||||||
# Watchdog Device Drivers
|
# Watchdog Device Drivers
|
||||||
#
|
#
|
||||||
# CONFIG_SOFT_WATCHDOG is not set
|
# CONFIG_SOFT_WATCHDOG is not set
|
||||||
CONFIG_AT91_WATCHDOG=y
|
CONFIG_AT91RM9200_WATCHDOG=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# USB-based Watchdog Cards
|
# USB-based Watchdog Cards
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,9 +1,10 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Linux kernel version: 2.6.18
|
# Linux kernel version: 2.6.19-rc4
|
||||||
# Wed Sep 20 20:27:31 2006
|
# Fri Nov 3 17:41:31 2006
|
||||||
#
|
#
|
||||||
CONFIG_ARM=y
|
CONFIG_ARM=y
|
||||||
|
# CONFIG_GENERIC_TIME is not set
|
||||||
CONFIG_MMU=y
|
CONFIG_MMU=y
|
||||||
CONFIG_GENERIC_HARDIRQS=y
|
CONFIG_GENERIC_HARDIRQS=y
|
||||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||||
|
@ -29,17 +30,20 @@ CONFIG_LOCALVERSION=""
|
||||||
CONFIG_LOCALVERSION_AUTO=y
|
CONFIG_LOCALVERSION_AUTO=y
|
||||||
CONFIG_SWAP=y
|
CONFIG_SWAP=y
|
||||||
CONFIG_SYSVIPC=y
|
CONFIG_SYSVIPC=y
|
||||||
|
# CONFIG_IPC_NS is not set
|
||||||
# CONFIG_POSIX_MQUEUE is not set
|
# CONFIG_POSIX_MQUEUE is not set
|
||||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||||
# CONFIG_TASKSTATS is not set
|
# CONFIG_TASKSTATS is not set
|
||||||
|
# CONFIG_UTS_NS is not set
|
||||||
# CONFIG_AUDIT is not set
|
# CONFIG_AUDIT is not set
|
||||||
# CONFIG_IKCONFIG is not set
|
# CONFIG_IKCONFIG is not set
|
||||||
# CONFIG_RELAY is not set
|
# CONFIG_RELAY is not set
|
||||||
CONFIG_INITRAMFS_SOURCE=""
|
CONFIG_INITRAMFS_SOURCE=""
|
||||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||||
|
CONFIG_SYSCTL=y
|
||||||
# CONFIG_EMBEDDED is not set
|
# CONFIG_EMBEDDED is not set
|
||||||
CONFIG_UID16=y
|
CONFIG_UID16=y
|
||||||
CONFIG_SYSCTL=y
|
# CONFIG_SYSCTL_SYSCALL is not set
|
||||||
CONFIG_KALLSYMS=y
|
CONFIG_KALLSYMS=y
|
||||||
# CONFIG_KALLSYMS_ALL is not set
|
# CONFIG_KALLSYMS_ALL is not set
|
||||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||||
|
@ -62,7 +66,8 @@ CONFIG_BASE_SMALL=0
|
||||||
# Loadable module support
|
# Loadable module support
|
||||||
#
|
#
|
||||||
CONFIG_MODULES=y
|
CONFIG_MODULES=y
|
||||||
# CONFIG_MODULE_UNLOAD is not set
|
CONFIG_MODULE_UNLOAD=y
|
||||||
|
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||||
# CONFIG_MODVERSIONS is not set
|
# CONFIG_MODVERSIONS is not set
|
||||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||||
CONFIG_KMOD=y
|
CONFIG_KMOD=y
|
||||||
|
@ -70,6 +75,7 @@ CONFIG_KMOD=y
|
||||||
#
|
#
|
||||||
# Block layer
|
# Block layer
|
||||||
#
|
#
|
||||||
|
CONFIG_BLOCK=y
|
||||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -120,6 +126,7 @@ CONFIG_ARCH_S3C2410=y
|
||||||
#
|
#
|
||||||
# S3C24XX Implementations
|
# S3C24XX Implementations
|
||||||
#
|
#
|
||||||
|
# CONFIG_MACH_AML_M5900 is not set
|
||||||
CONFIG_MACH_ANUBIS=y
|
CONFIG_MACH_ANUBIS=y
|
||||||
CONFIG_MACH_OSIRIS=y
|
CONFIG_MACH_OSIRIS=y
|
||||||
CONFIG_ARCH_BAST=y
|
CONFIG_ARCH_BAST=y
|
||||||
|
@ -178,6 +185,8 @@ CONFIG_CPU_CACHE_V4WT=y
|
||||||
CONFIG_CPU_CACHE_VIVT=y
|
CONFIG_CPU_CACHE_VIVT=y
|
||||||
CONFIG_CPU_COPY_V4WB=y
|
CONFIG_CPU_COPY_V4WB=y
|
||||||
CONFIG_CPU_TLB_V4WBI=y
|
CONFIG_CPU_TLB_V4WBI=y
|
||||||
|
CONFIG_CPU_CP15=y
|
||||||
|
CONFIG_CPU_CP15_MMU=y
|
||||||
|
|
||||||
#
|
#
|
||||||
# Processor Features
|
# Processor Features
|
||||||
|
@ -249,8 +258,9 @@ CONFIG_BINFMT_AOUT=y
|
||||||
# Power management options
|
# Power management options
|
||||||
#
|
#
|
||||||
CONFIG_PM=y
|
CONFIG_PM=y
|
||||||
CONFIG_PM_LEGACY=y
|
# CONFIG_PM_LEGACY is not set
|
||||||
# CONFIG_PM_DEBUG is not set
|
# CONFIG_PM_DEBUG is not set
|
||||||
|
# CONFIG_PM_SYSFS_DEPRECATED is not set
|
||||||
CONFIG_APM=y
|
CONFIG_APM=y
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -266,6 +276,7 @@ CONFIG_NET=y
|
||||||
CONFIG_UNIX=y
|
CONFIG_UNIX=y
|
||||||
CONFIG_XFRM=y
|
CONFIG_XFRM=y
|
||||||
# CONFIG_XFRM_USER is not set
|
# CONFIG_XFRM_USER is not set
|
||||||
|
# CONFIG_XFRM_SUB_POLICY is not set
|
||||||
# CONFIG_NET_KEY is not set
|
# CONFIG_NET_KEY is not set
|
||||||
CONFIG_INET=y
|
CONFIG_INET=y
|
||||||
# CONFIG_IP_MULTICAST is not set
|
# CONFIG_IP_MULTICAST is not set
|
||||||
|
@ -286,10 +297,12 @@ CONFIG_IP_PNP_BOOTP=y
|
||||||
# CONFIG_INET_TUNNEL is not set
|
# CONFIG_INET_TUNNEL is not set
|
||||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||||
|
CONFIG_INET_XFRM_MODE_BEET=y
|
||||||
CONFIG_INET_DIAG=y
|
CONFIG_INET_DIAG=y
|
||||||
CONFIG_INET_TCP_DIAG=y
|
CONFIG_INET_TCP_DIAG=y
|
||||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||||
CONFIG_TCP_CONG_BIC=y
|
CONFIG_TCP_CONG_CUBIC=y
|
||||||
|
CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||||
# CONFIG_IPV6 is not set
|
# CONFIG_IPV6 is not set
|
||||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||||
# CONFIG_INET6_TUNNEL is not set
|
# CONFIG_INET6_TUNNEL is not set
|
||||||
|
@ -377,6 +390,7 @@ CONFIG_MTD_BLOCK=y
|
||||||
# CONFIG_NFTL is not set
|
# CONFIG_NFTL is not set
|
||||||
# CONFIG_INFTL is not set
|
# CONFIG_INFTL is not set
|
||||||
# CONFIG_RFD_FTL is not set
|
# CONFIG_RFD_FTL is not set
|
||||||
|
# CONFIG_SSFDC is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# RAM/ROM/Flash chip drivers
|
# RAM/ROM/Flash chip drivers
|
||||||
|
@ -418,6 +432,8 @@ CONFIG_MTD_BAST_MAXSIZE=4
|
||||||
#
|
#
|
||||||
# Self-contained MTD device drivers
|
# Self-contained MTD device drivers
|
||||||
#
|
#
|
||||||
|
# CONFIG_MTD_DATAFLASH is not set
|
||||||
|
# CONFIG_MTD_M25P80 is not set
|
||||||
# CONFIG_MTD_SLRAM is not set
|
# CONFIG_MTD_SLRAM is not set
|
||||||
# CONFIG_MTD_PHRAM is not set
|
# CONFIG_MTD_PHRAM is not set
|
||||||
# CONFIG_MTD_MTDRAM is not set
|
# CONFIG_MTD_MTDRAM is not set
|
||||||
|
@ -512,6 +528,7 @@ CONFIG_BLK_DEV_IDE_BAST=y
|
||||||
#
|
#
|
||||||
# CONFIG_RAID_ATTRS is not set
|
# CONFIG_RAID_ATTRS is not set
|
||||||
# CONFIG_SCSI is not set
|
# CONFIG_SCSI is not set
|
||||||
|
# CONFIG_SCSI_NETLINK is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Multi-device support (RAID and LVM)
|
# Multi-device support (RAID and LVM)
|
||||||
|
@ -606,6 +623,7 @@ CONFIG_DM9000=y
|
||||||
# Input device support
|
# Input device support
|
||||||
#
|
#
|
||||||
CONFIG_INPUT=y
|
CONFIG_INPUT=y
|
||||||
|
# CONFIG_INPUT_FF_MEMLESS is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Userland interfaces
|
# Userland interfaces
|
||||||
|
@ -628,6 +646,7 @@ CONFIG_KEYBOARD_ATKBD=y
|
||||||
# CONFIG_KEYBOARD_LKKBD is not set
|
# CONFIG_KEYBOARD_LKKBD is not set
|
||||||
# CONFIG_KEYBOARD_XTKBD is not set
|
# CONFIG_KEYBOARD_XTKBD is not set
|
||||||
# CONFIG_KEYBOARD_NEWTON is not set
|
# CONFIG_KEYBOARD_NEWTON is not set
|
||||||
|
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||||
CONFIG_INPUT_MOUSE=y
|
CONFIG_INPUT_MOUSE=y
|
||||||
CONFIG_MOUSE_PS2=y
|
CONFIG_MOUSE_PS2=y
|
||||||
# CONFIG_MOUSE_SERIAL is not set
|
# CONFIG_MOUSE_SERIAL is not set
|
||||||
|
@ -734,7 +753,6 @@ CONFIG_S3C2410_WATCHDOG=y
|
||||||
# CONFIG_USBPCWATCHDOG is not set
|
# CONFIG_USBPCWATCHDOG is not set
|
||||||
CONFIG_HW_RANDOM=y
|
CONFIG_HW_RANDOM=y
|
||||||
# CONFIG_NVRAM is not set
|
# CONFIG_NVRAM is not set
|
||||||
CONFIG_S3C2410_RTC=y
|
|
||||||
# CONFIG_DTLK is not set
|
# CONFIG_DTLK is not set
|
||||||
# CONFIG_R3964 is not set
|
# CONFIG_R3964 is not set
|
||||||
|
|
||||||
|
@ -747,7 +765,6 @@ CONFIG_S3C2410_RTC=y
|
||||||
# TPM devices
|
# TPM devices
|
||||||
#
|
#
|
||||||
# CONFIG_TCG_TPM is not set
|
# CONFIG_TCG_TPM is not set
|
||||||
# CONFIG_TELCLOCK is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# I2C support
|
# I2C support
|
||||||
|
@ -792,12 +809,26 @@ CONFIG_SENSORS_EEPROM=m
|
||||||
#
|
#
|
||||||
# SPI support
|
# SPI support
|
||||||
#
|
#
|
||||||
# CONFIG_SPI is not set
|
CONFIG_SPI=y
|
||||||
# CONFIG_SPI_MASTER is not set
|
# CONFIG_SPI_DEBUG is not set
|
||||||
|
CONFIG_SPI_MASTER=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# SPI Master Controller Drivers
|
||||||
|
#
|
||||||
|
CONFIG_SPI_BITBANG=m
|
||||||
|
# CONFIG_SPI_BUTTERFLY is not set
|
||||||
|
CONFIG_SPI_S3C24XX_GPIO=m
|
||||||
|
CONFIG_SPI_S3C24XX=m
|
||||||
|
|
||||||
|
#
|
||||||
|
# SPI Protocol Masters
|
||||||
|
#
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dallas's 1-wire bus
|
# Dallas's 1-wire bus
|
||||||
#
|
#
|
||||||
|
# CONFIG_W1 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Hardware Monitoring support
|
# Hardware Monitoring support
|
||||||
|
@ -820,6 +851,7 @@ CONFIG_HWMON_VID=m
|
||||||
# CONFIG_SENSORS_GL520SM is not set
|
# CONFIG_SENSORS_GL520SM is not set
|
||||||
# CONFIG_SENSORS_IT87 is not set
|
# CONFIG_SENSORS_IT87 is not set
|
||||||
# CONFIG_SENSORS_LM63 is not set
|
# CONFIG_SENSORS_LM63 is not set
|
||||||
|
# CONFIG_SENSORS_LM70 is not set
|
||||||
CONFIG_SENSORS_LM75=m
|
CONFIG_SENSORS_LM75=m
|
||||||
# CONFIG_SENSORS_LM77 is not set
|
# CONFIG_SENSORS_LM77 is not set
|
||||||
CONFIG_SENSORS_LM78=m
|
CONFIG_SENSORS_LM78=m
|
||||||
|
@ -834,6 +866,7 @@ CONFIG_SENSORS_LM85=m
|
||||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||||
# CONFIG_SENSORS_SMSC47M192 is not set
|
# CONFIG_SENSORS_SMSC47M192 is not set
|
||||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||||
|
# CONFIG_SENSORS_VT1211 is not set
|
||||||
# CONFIG_SENSORS_W83781D is not set
|
# CONFIG_SENSORS_W83781D is not set
|
||||||
# CONFIG_SENSORS_W83791D is not set
|
# CONFIG_SENSORS_W83791D is not set
|
||||||
# CONFIG_SENSORS_W83792D is not set
|
# CONFIG_SENSORS_W83792D is not set
|
||||||
|
@ -845,25 +878,31 @@ CONFIG_SENSORS_LM85=m
|
||||||
#
|
#
|
||||||
# Misc devices
|
# Misc devices
|
||||||
#
|
#
|
||||||
|
# CONFIG_TIFM_CORE is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# LED devices
|
# LED devices
|
||||||
#
|
#
|
||||||
# CONFIG_NEW_LEDS is not set
|
CONFIG_NEW_LEDS=y
|
||||||
|
CONFIG_LEDS_CLASS=m
|
||||||
|
|
||||||
#
|
#
|
||||||
# LED drivers
|
# LED drivers
|
||||||
#
|
#
|
||||||
|
CONFIG_LEDS_S3C24XX=m
|
||||||
|
|
||||||
#
|
#
|
||||||
# LED Triggers
|
# LED Triggers
|
||||||
#
|
#
|
||||||
|
CONFIG_LEDS_TRIGGERS=y
|
||||||
|
CONFIG_LEDS_TRIGGER_TIMER=m
|
||||||
|
# CONFIG_LEDS_TRIGGER_IDE_DISK is not set
|
||||||
|
CONFIG_LEDS_TRIGGER_HEARTBEAT=m
|
||||||
|
|
||||||
#
|
#
|
||||||
# Multimedia devices
|
# Multimedia devices
|
||||||
#
|
#
|
||||||
# CONFIG_VIDEO_DEV is not set
|
# CONFIG_VIDEO_DEV is not set
|
||||||
CONFIG_VIDEO_V4L2=y
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Digital Video Broadcasting Devices
|
# Digital Video Broadcasting Devices
|
||||||
|
@ -876,6 +915,7 @@ CONFIG_VIDEO_V4L2=y
|
||||||
#
|
#
|
||||||
CONFIG_FIRMWARE_EDID=y
|
CONFIG_FIRMWARE_EDID=y
|
||||||
CONFIG_FB=y
|
CONFIG_FB=y
|
||||||
|
# CONFIG_FB_DDC is not set
|
||||||
CONFIG_FB_CFB_FILLRECT=y
|
CONFIG_FB_CFB_FILLRECT=y
|
||||||
CONFIG_FB_CFB_COPYAREA=y
|
CONFIG_FB_CFB_COPYAREA=y
|
||||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||||
|
@ -951,7 +991,6 @@ CONFIG_USB_OHCI_LITTLE_ENDIAN=y
|
||||||
#
|
#
|
||||||
# may also be needed; see USB_STORAGE Help for more information
|
# may also be needed; see USB_STORAGE Help for more information
|
||||||
#
|
#
|
||||||
# CONFIG_USB_STORAGE is not set
|
|
||||||
# CONFIG_USB_LIBUSUAL is not set
|
# CONFIG_USB_LIBUSUAL is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1007,6 +1046,7 @@ CONFIG_USB_MON=y
|
||||||
#
|
#
|
||||||
# CONFIG_USB_EMI62 is not set
|
# CONFIG_USB_EMI62 is not set
|
||||||
# CONFIG_USB_EMI26 is not set
|
# CONFIG_USB_EMI26 is not set
|
||||||
|
# CONFIG_USB_ADUTUX is not set
|
||||||
# CONFIG_USB_AUERSWALD is not set
|
# CONFIG_USB_AUERSWALD is not set
|
||||||
# CONFIG_USB_RIO500 is not set
|
# CONFIG_USB_RIO500 is not set
|
||||||
# CONFIG_USB_LEGOTOWER is not set
|
# CONFIG_USB_LEGOTOWER is not set
|
||||||
|
@ -1014,11 +1054,12 @@ CONFIG_USB_MON=y
|
||||||
# CONFIG_USB_LED is not set
|
# CONFIG_USB_LED is not set
|
||||||
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
# CONFIG_USB_CYPRESS_CY7C63 is not set
|
||||||
# CONFIG_USB_CYTHERM is not set
|
# CONFIG_USB_CYTHERM is not set
|
||||||
# CONFIG_USB_PHIDGETKIT is not set
|
# CONFIG_USB_PHIDGET is not set
|
||||||
# CONFIG_USB_PHIDGETSERVO is not set
|
|
||||||
# CONFIG_USB_IDMOUSE is not set
|
# CONFIG_USB_IDMOUSE is not set
|
||||||
|
# CONFIG_USB_FTDI_ELAN is not set
|
||||||
# CONFIG_USB_APPLEDISPLAY is not set
|
# CONFIG_USB_APPLEDISPLAY is not set
|
||||||
# CONFIG_USB_LD is not set
|
# CONFIG_USB_LD is not set
|
||||||
|
# CONFIG_USB_TRANCEVIBRATOR is not set
|
||||||
# CONFIG_USB_TEST is not set
|
# CONFIG_USB_TEST is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -1039,7 +1080,37 @@ CONFIG_USB_MON=y
|
||||||
# Real Time Clock
|
# Real Time Clock
|
||||||
#
|
#
|
||||||
CONFIG_RTC_LIB=y
|
CONFIG_RTC_LIB=y
|
||||||
# CONFIG_RTC_CLASS is not set
|
CONFIG_RTC_CLASS=y
|
||||||
|
CONFIG_RTC_HCTOSYS=y
|
||||||
|
CONFIG_RTC_HCTOSYS_DEVICE="rtc0"
|
||||||
|
# CONFIG_RTC_DEBUG is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RTC interfaces
|
||||||
|
#
|
||||||
|
CONFIG_RTC_INTF_SYSFS=y
|
||||||
|
CONFIG_RTC_INTF_PROC=y
|
||||||
|
CONFIG_RTC_INTF_DEV=y
|
||||||
|
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RTC drivers
|
||||||
|
#
|
||||||
|
# CONFIG_RTC_DRV_X1205 is not set
|
||||||
|
# CONFIG_RTC_DRV_DS1307 is not set
|
||||||
|
# CONFIG_RTC_DRV_DS1553 is not set
|
||||||
|
# CONFIG_RTC_DRV_ISL1208 is not set
|
||||||
|
# CONFIG_RTC_DRV_DS1672 is not set
|
||||||
|
# CONFIG_RTC_DRV_DS1742 is not set
|
||||||
|
# CONFIG_RTC_DRV_PCF8563 is not set
|
||||||
|
# CONFIG_RTC_DRV_PCF8583 is not set
|
||||||
|
# CONFIG_RTC_DRV_RS5C348 is not set
|
||||||
|
# CONFIG_RTC_DRV_RS5C372 is not set
|
||||||
|
CONFIG_RTC_DRV_S3C=y
|
||||||
|
# CONFIG_RTC_DRV_M48T86 is not set
|
||||||
|
# CONFIG_RTC_DRV_TEST is not set
|
||||||
|
# CONFIG_RTC_DRV_MAX6902 is not set
|
||||||
|
# CONFIG_RTC_DRV_V3020 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# File systems
|
# File systems
|
||||||
|
@ -1051,6 +1122,7 @@ CONFIG_EXT3_FS=y
|
||||||
CONFIG_EXT3_FS_XATTR=y
|
CONFIG_EXT3_FS_XATTR=y
|
||||||
# CONFIG_EXT3_FS_POSIX_ACL is not set
|
# CONFIG_EXT3_FS_POSIX_ACL is not set
|
||||||
# CONFIG_EXT3_FS_SECURITY is not set
|
# CONFIG_EXT3_FS_SECURITY is not set
|
||||||
|
# CONFIG_EXT4DEV_FS is not set
|
||||||
CONFIG_JBD=y
|
CONFIG_JBD=y
|
||||||
# CONFIG_JBD_DEBUG is not set
|
# CONFIG_JBD_DEBUG is not set
|
||||||
CONFIG_FS_MBCACHE=y
|
CONFIG_FS_MBCACHE=y
|
||||||
|
@ -1058,6 +1130,7 @@ CONFIG_FS_MBCACHE=y
|
||||||
# CONFIG_JFS_FS is not set
|
# CONFIG_JFS_FS is not set
|
||||||
# CONFIG_FS_POSIX_ACL is not set
|
# CONFIG_FS_POSIX_ACL is not set
|
||||||
# CONFIG_XFS_FS is not set
|
# CONFIG_XFS_FS is not set
|
||||||
|
# CONFIG_GFS2_FS is not set
|
||||||
# CONFIG_OCFS2_FS is not set
|
# CONFIG_OCFS2_FS is not set
|
||||||
# CONFIG_MINIX_FS is not set
|
# CONFIG_MINIX_FS is not set
|
||||||
CONFIG_ROMFS_FS=y
|
CONFIG_ROMFS_FS=y
|
||||||
|
@ -1089,6 +1162,7 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
|
||||||
# Pseudo filesystems
|
# Pseudo filesystems
|
||||||
#
|
#
|
||||||
CONFIG_PROC_FS=y
|
CONFIG_PROC_FS=y
|
||||||
|
CONFIG_PROC_SYSCTL=y
|
||||||
CONFIG_SYSFS=y
|
CONFIG_SYSFS=y
|
||||||
# CONFIG_TMPFS is not set
|
# CONFIG_TMPFS is not set
|
||||||
# CONFIG_HUGETLB_PAGE is not set
|
# CONFIG_HUGETLB_PAGE is not set
|
||||||
|
@ -1219,6 +1293,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
|
||||||
# Kernel hacking
|
# Kernel hacking
|
||||||
#
|
#
|
||||||
# CONFIG_PRINTK_TIME is not set
|
# CONFIG_PRINTK_TIME is not set
|
||||||
|
CONFIG_ENABLE_MUST_CHECK=y
|
||||||
CONFIG_MAGIC_SYSRQ=y
|
CONFIG_MAGIC_SYSRQ=y
|
||||||
# CONFIG_UNUSED_SYMBOLS is not set
|
# CONFIG_UNUSED_SYMBOLS is not set
|
||||||
CONFIG_DEBUG_KERNEL=y
|
CONFIG_DEBUG_KERNEL=y
|
||||||
|
@ -1238,9 +1313,10 @@ CONFIG_DEBUG_BUGVERBOSE=y
|
||||||
CONFIG_DEBUG_INFO=y
|
CONFIG_DEBUG_INFO=y
|
||||||
# CONFIG_DEBUG_FS is not set
|
# CONFIG_DEBUG_FS is not set
|
||||||
# CONFIG_DEBUG_VM is not set
|
# CONFIG_DEBUG_VM is not set
|
||||||
|
# CONFIG_DEBUG_LIST is not set
|
||||||
CONFIG_FRAME_POINTER=y
|
CONFIG_FRAME_POINTER=y
|
||||||
# CONFIG_UNWIND_INFO is not set
|
|
||||||
CONFIG_FORCED_INLINING=y
|
CONFIG_FORCED_INLINING=y
|
||||||
|
# CONFIG_HEADERS_CHECK is not set
|
||||||
# CONFIG_RCU_TORTURE_TEST is not set
|
# CONFIG_RCU_TORTURE_TEST is not set
|
||||||
CONFIG_DEBUG_USER=y
|
CONFIG_DEBUG_USER=y
|
||||||
# CONFIG_DEBUG_WAITQ is not set
|
# CONFIG_DEBUG_WAITQ is not set
|
||||||
|
@ -1261,10 +1337,6 @@ CONFIG_DEBUG_S3C2410_UART=0
|
||||||
#
|
#
|
||||||
# CONFIG_CRYPTO is not set
|
# CONFIG_CRYPTO is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Hardware crypto devices
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Library routines
|
# Library routines
|
||||||
#
|
#
|
||||||
|
|
|
@ -1,735 +0,0 @@
|
||||||
#
|
|
||||||
# Automatically generated make config: don't edit
|
|
||||||
# Linux kernel version: 2.6.12-rc1-bk2
|
|
||||||
# Sun Mar 27 22:42:40 2005
|
|
||||||
#
|
|
||||||
CONFIG_ARM=y
|
|
||||||
CONFIG_MMU=y
|
|
||||||
CONFIG_UID16=y
|
|
||||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
|
||||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
|
||||||
CONFIG_GENERIC_IOMAP=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Code maturity level options
|
|
||||||
#
|
|
||||||
CONFIG_EXPERIMENTAL=y
|
|
||||||
CONFIG_CLEAN_COMPILE=y
|
|
||||||
CONFIG_BROKEN_ON_SMP=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# General setup
|
|
||||||
#
|
|
||||||
CONFIG_LOCALVERSION=""
|
|
||||||
CONFIG_SWAP=y
|
|
||||||
CONFIG_SYSVIPC=y
|
|
||||||
# CONFIG_POSIX_MQUEUE is not set
|
|
||||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
|
||||||
CONFIG_SYSCTL=y
|
|
||||||
# CONFIG_AUDIT is not set
|
|
||||||
# CONFIG_HOTPLUG is not set
|
|
||||||
CONFIG_KOBJECT_UEVENT=y
|
|
||||||
# CONFIG_IKCONFIG is not set
|
|
||||||
# CONFIG_EMBEDDED is not set
|
|
||||||
CONFIG_KALLSYMS=y
|
|
||||||
# CONFIG_KALLSYMS_ALL is not set
|
|
||||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
|
||||||
CONFIG_BASE_FULL=y
|
|
||||||
CONFIG_FUTEX=y
|
|
||||||
CONFIG_EPOLL=y
|
|
||||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
|
||||||
CONFIG_SHMEM=y
|
|
||||||
CONFIG_CC_ALIGN_FUNCTIONS=0
|
|
||||||
CONFIG_CC_ALIGN_LABELS=0
|
|
||||||
CONFIG_CC_ALIGN_LOOPS=0
|
|
||||||
CONFIG_CC_ALIGN_JUMPS=0
|
|
||||||
# CONFIG_TINY_SHMEM is not set
|
|
||||||
CONFIG_BASE_SMALL=0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Loadable module support
|
|
||||||
#
|
|
||||||
# CONFIG_MODULES is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# System Type
|
|
||||||
#
|
|
||||||
# CONFIG_ARCH_CLPS7500 is not set
|
|
||||||
# CONFIG_ARCH_CLPS711X is not set
|
|
||||||
# CONFIG_ARCH_CO285 is not set
|
|
||||||
# CONFIG_ARCH_EBSA110 is not set
|
|
||||||
# CONFIG_ARCH_FOOTBRIDGE is not set
|
|
||||||
# CONFIG_ARCH_INTEGRATOR is not set
|
|
||||||
# CONFIG_ARCH_IOP3XX is not set
|
|
||||||
# CONFIG_ARCH_IXP4XX is not set
|
|
||||||
# CONFIG_ARCH_IXP2000 is not set
|
|
||||||
# CONFIG_ARCH_L7200 is not set
|
|
||||||
# CONFIG_ARCH_PXA is not set
|
|
||||||
# CONFIG_ARCH_RPC is not set
|
|
||||||
# CONFIG_ARCH_SA1100 is not set
|
|
||||||
CONFIG_ARCH_S3C2410=y
|
|
||||||
# CONFIG_ARCH_SHARK is not set
|
|
||||||
# CONFIG_ARCH_LH7A40X is not set
|
|
||||||
# CONFIG_ARCH_OMAP is not set
|
|
||||||
# CONFIG_ARCH_VERSATILE is not set
|
|
||||||
# CONFIG_ARCH_IMX is not set
|
|
||||||
# CONFIG_ARCH_H720X is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# S3C24XX Implementations
|
|
||||||
#
|
|
||||||
# CONFIG_ARCH_BAST is not set
|
|
||||||
# CONFIG_ARCH_H1940 is not set
|
|
||||||
# CONFIG_MACH_N30 is not set
|
|
||||||
CONFIG_ARCH_SMDK2410=y
|
|
||||||
# CONFIG_ARCH_S3C2440 is not set
|
|
||||||
# CONFIG_MACH_VR1000 is not set
|
|
||||||
# CONFIG_MACH_RX3715 is not set
|
|
||||||
# CONFIG_MACH_OTOM is not set
|
|
||||||
# CONFIG_MACH_NEXCODER_2440 is not set
|
|
||||||
CONFIG_CPU_S3C2410=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# S3C2410 Boot
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# S3C2410 Setup
|
|
||||||
#
|
|
||||||
# CONFIG_S3C2410_DMA is not set
|
|
||||||
CONFIG_S3C2410_LOWLEVEL_UART_PORT=0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Processor Type
|
|
||||||
#
|
|
||||||
CONFIG_CPU_32=y
|
|
||||||
CONFIG_CPU_ARM920T=y
|
|
||||||
CONFIG_CPU_32v4=y
|
|
||||||
CONFIG_CPU_ABRT_EV4T=y
|
|
||||||
CONFIG_CPU_CACHE_V4WT=y
|
|
||||||
CONFIG_CPU_CACHE_VIVT=y
|
|
||||||
CONFIG_CPU_COPY_V4WB=y
|
|
||||||
CONFIG_CPU_TLB_V4WBI=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Processor Features
|
|
||||||
#
|
|
||||||
CONFIG_ARM_THUMB=y
|
|
||||||
# CONFIG_CPU_ICACHE_DISABLE is not set
|
|
||||||
# CONFIG_CPU_DCACHE_DISABLE is not set
|
|
||||||
# CONFIG_CPU_DCACHE_WRITETHROUGH is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Bus support
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# PCCARD (PCMCIA/CardBus) support
|
|
||||||
#
|
|
||||||
# CONFIG_PCCARD is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Kernel Features
|
|
||||||
#
|
|
||||||
# CONFIG_PREEMPT is not set
|
|
||||||
CONFIG_ALIGNMENT_TRAP=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Boot options
|
|
||||||
#
|
|
||||||
CONFIG_ZBOOT_ROM_TEXT=0x0
|
|
||||||
CONFIG_ZBOOT_ROM_BSS=0x0
|
|
||||||
CONFIG_CMDLINE="root=1f04 mem=32M"
|
|
||||||
# CONFIG_XIP_KERNEL is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Floating point emulation
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# At least one emulation must be selected
|
|
||||||
#
|
|
||||||
# CONFIG_FPE_NWFPE is not set
|
|
||||||
# CONFIG_FPE_FASTFPE is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Userspace binary formats
|
|
||||||
#
|
|
||||||
CONFIG_BINFMT_ELF=y
|
|
||||||
CONFIG_BINFMT_AOUT=y
|
|
||||||
# CONFIG_BINFMT_MISC is not set
|
|
||||||
# CONFIG_ARTHUR is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Power management options
|
|
||||||
#
|
|
||||||
# CONFIG_PM is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Device Drivers
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Generic Driver Options
|
|
||||||
#
|
|
||||||
CONFIG_STANDALONE=y
|
|
||||||
CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|
||||||
# CONFIG_FW_LOADER is not set
|
|
||||||
# CONFIG_DEBUG_DRIVER is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Memory Technology Devices (MTD)
|
|
||||||
#
|
|
||||||
CONFIG_MTD=y
|
|
||||||
# CONFIG_MTD_DEBUG is not set
|
|
||||||
# CONFIG_MTD_CONCAT is not set
|
|
||||||
# CONFIG_MTD_PARTITIONS is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# User Modules And Translation Layers
|
|
||||||
#
|
|
||||||
CONFIG_MTD_CHAR=y
|
|
||||||
CONFIG_MTD_BLOCK=y
|
|
||||||
# CONFIG_FTL is not set
|
|
||||||
# CONFIG_NFTL is not set
|
|
||||||
# CONFIG_INFTL is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# RAM/ROM/Flash chip drivers
|
|
||||||
#
|
|
||||||
CONFIG_MTD_CFI=y
|
|
||||||
# CONFIG_MTD_JEDECPROBE is not set
|
|
||||||
CONFIG_MTD_GEN_PROBE=y
|
|
||||||
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
|
|
||||||
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
|
||||||
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
|
||||||
CONFIG_MTD_MAP_BANK_WIDTH_4=y
|
|
||||||
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
|
|
||||||
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
|
|
||||||
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
|
|
||||||
CONFIG_MTD_CFI_I1=y
|
|
||||||
CONFIG_MTD_CFI_I2=y
|
|
||||||
# CONFIG_MTD_CFI_I4 is not set
|
|
||||||
# CONFIG_MTD_CFI_I8 is not set
|
|
||||||
CONFIG_MTD_CFI_INTELEXT=y
|
|
||||||
# CONFIG_MTD_CFI_AMDSTD is not set
|
|
||||||
# CONFIG_MTD_CFI_STAA is not set
|
|
||||||
CONFIG_MTD_CFI_UTIL=y
|
|
||||||
# CONFIG_MTD_RAM is not set
|
|
||||||
# CONFIG_MTD_ROM is not set
|
|
||||||
# CONFIG_MTD_ABSENT is not set
|
|
||||||
# CONFIG_MTD_XIP is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Mapping drivers for chip access
|
|
||||||
#
|
|
||||||
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
|
||||||
# CONFIG_MTD_PHYSMAP is not set
|
|
||||||
# CONFIG_MTD_ARM_INTEGRATOR is not set
|
|
||||||
# CONFIG_MTD_EDB7312 is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Self-contained MTD device drivers
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
#
|
|
||||||
# Disk-On-Chip Device Drivers
|
|
||||||
#
|
|
||||||
# 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
|
|
||||||
|
|
||||||
#
|
|
||||||
# Parallel port support
|
|
||||||
#
|
|
||||||
# CONFIG_PARPORT is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Plug and Play support
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Block devices
|
|
||||||
#
|
|
||||||
# CONFIG_BLK_DEV_FD is not set
|
|
||||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
|
||||||
# CONFIG_BLK_DEV_LOOP is not set
|
|
||||||
# CONFIG_BLK_DEV_NBD is not set
|
|
||||||
CONFIG_BLK_DEV_RAM=y
|
|
||||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
|
||||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
|
||||||
# CONFIG_BLK_DEV_INITRD is not set
|
|
||||||
CONFIG_INITRAMFS_SOURCE=""
|
|
||||||
# CONFIG_CDROM_PKTCDVD is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# IO Schedulers
|
|
||||||
#
|
|
||||||
CONFIG_IOSCHED_NOOP=y
|
|
||||||
CONFIG_IOSCHED_AS=y
|
|
||||||
CONFIG_IOSCHED_DEADLINE=y
|
|
||||||
CONFIG_IOSCHED_CFQ=y
|
|
||||||
# CONFIG_ATA_OVER_ETH is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# ATA/ATAPI/MFM/RLL support
|
|
||||||
#
|
|
||||||
# CONFIG_IDE is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# SCSI device support
|
|
||||||
#
|
|
||||||
# CONFIG_SCSI is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Multi-device support (RAID and LVM)
|
|
||||||
#
|
|
||||||
# CONFIG_MD is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Fusion MPT device support
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# IEEE 1394 (FireWire) support
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# I2O device support
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Networking support
|
|
||||||
#
|
|
||||||
CONFIG_NET=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Networking options
|
|
||||||
#
|
|
||||||
# CONFIG_PACKET is not set
|
|
||||||
# CONFIG_NETLINK_DEV is not set
|
|
||||||
CONFIG_UNIX=y
|
|
||||||
# CONFIG_NET_KEY is not set
|
|
||||||
CONFIG_INET=y
|
|
||||||
# CONFIG_IP_MULTICAST is not set
|
|
||||||
# CONFIG_IP_ADVANCED_ROUTER is not set
|
|
||||||
CONFIG_IP_PNP=y
|
|
||||||
# CONFIG_IP_PNP_DHCP is not set
|
|
||||||
CONFIG_IP_PNP_BOOTP=y
|
|
||||||
# CONFIG_IP_PNP_RARP is not set
|
|
||||||
# CONFIG_NET_IPIP is not set
|
|
||||||
# CONFIG_NET_IPGRE is not set
|
|
||||||
# CONFIG_ARPD is not set
|
|
||||||
# CONFIG_SYN_COOKIES is not set
|
|
||||||
# CONFIG_INET_AH is not set
|
|
||||||
# CONFIG_INET_ESP is not set
|
|
||||||
# CONFIG_INET_IPCOMP is not set
|
|
||||||
# CONFIG_INET_TUNNEL is not set
|
|
||||||
# CONFIG_IP_TCPDIAG is not set
|
|
||||||
# CONFIG_IP_TCPDIAG_IPV6 is not set
|
|
||||||
# CONFIG_IPV6 is not set
|
|
||||||
# CONFIG_NETFILTER is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# SCTP Configuration (EXPERIMENTAL)
|
|
||||||
#
|
|
||||||
# CONFIG_IP_SCTP is not set
|
|
||||||
# CONFIG_ATM is not set
|
|
||||||
# CONFIG_BRIDGE is not set
|
|
||||||
# CONFIG_VLAN_8021Q is not set
|
|
||||||
# CONFIG_DECNET is not set
|
|
||||||
# CONFIG_LLC2 is not set
|
|
||||||
# CONFIG_IPX is not set
|
|
||||||
# CONFIG_ATALK is not set
|
|
||||||
# CONFIG_X25 is not set
|
|
||||||
# CONFIG_LAPB is not set
|
|
||||||
# CONFIG_NET_DIVERT is not set
|
|
||||||
# CONFIG_ECONET is not set
|
|
||||||
# CONFIG_WAN_ROUTER is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# QoS and/or fair queueing
|
|
||||||
#
|
|
||||||
# CONFIG_NET_SCHED is not set
|
|
||||||
# CONFIG_NET_CLS_ROUTE is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Network testing
|
|
||||||
#
|
|
||||||
# CONFIG_NET_PKTGEN is not set
|
|
||||||
# CONFIG_NETPOLL is not set
|
|
||||||
# CONFIG_NET_POLL_CONTROLLER is not set
|
|
||||||
# CONFIG_HAMRADIO is not set
|
|
||||||
# CONFIG_IRDA is not set
|
|
||||||
# CONFIG_BT is not set
|
|
||||||
CONFIG_NETDEVICES=y
|
|
||||||
# CONFIG_DUMMY is not set
|
|
||||||
# CONFIG_BONDING is not set
|
|
||||||
# CONFIG_EQUALIZER is not set
|
|
||||||
# CONFIG_TUN is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Ethernet (10 or 100Mbit)
|
|
||||||
#
|
|
||||||
CONFIG_NET_ETHERNET=y
|
|
||||||
# CONFIG_MII is not set
|
|
||||||
# CONFIG_SMC91X is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Ethernet (1000 Mbit)
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Ethernet (10000 Mbit)
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Token Ring devices
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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_SHAPER is not set
|
|
||||||
# CONFIG_NETCONSOLE is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# ISDN subsystem
|
|
||||||
#
|
|
||||||
# CONFIG_ISDN is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Input device support
|
|
||||||
#
|
|
||||||
CONFIG_INPUT=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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_TSDEV 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_INPUT_MOUSE=y
|
|
||||||
CONFIG_MOUSE_PS2=y
|
|
||||||
# CONFIG_MOUSE_SERIAL is not set
|
|
||||||
# CONFIG_MOUSE_VSXXXAA 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=y
|
|
||||||
CONFIG_SERIO_SERPORT=y
|
|
||||||
CONFIG_SERIO_LIBPS2=y
|
|
||||||
# CONFIG_SERIO_RAW is not set
|
|
||||||
# CONFIG_GAMEPORT is not set
|
|
||||||
CONFIG_SOUND_GAMEPORT=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Character devices
|
|
||||||
#
|
|
||||||
CONFIG_VT=y
|
|
||||||
CONFIG_VT_CONSOLE=y
|
|
||||||
CONFIG_HW_CONSOLE=y
|
|
||||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Serial drivers
|
|
||||||
#
|
|
||||||
# CONFIG_SERIAL_8250 is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Non-8250 serial port support
|
|
||||||
#
|
|
||||||
CONFIG_SERIAL_S3C2410=y
|
|
||||||
CONFIG_SERIAL_S3C2410_CONSOLE=y
|
|
||||||
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_NVRAM is not set
|
|
||||||
# CONFIG_RTC is not set
|
|
||||||
# CONFIG_S3C2410_RTC is not set
|
|
||||||
# CONFIG_DTLK is not set
|
|
||||||
# CONFIG_R3964 is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Ftape, the floppy tape device driver
|
|
||||||
#
|
|
||||||
# CONFIG_DRM is not set
|
|
||||||
# CONFIG_RAW_DRIVER is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# TPM devices
|
|
||||||
#
|
|
||||||
# CONFIG_TCG_TPM is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# I2C support
|
|
||||||
#
|
|
||||||
# CONFIG_I2C is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Misc devices
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Multimedia devices
|
|
||||||
#
|
|
||||||
# CONFIG_VIDEO_DEV is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Digital Video Broadcasting Devices
|
|
||||||
#
|
|
||||||
# CONFIG_DVB is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Graphics support
|
|
||||||
#
|
|
||||||
CONFIG_FB=y
|
|
||||||
CONFIG_FB_CFB_FILLRECT=y
|
|
||||||
CONFIG_FB_CFB_COPYAREA=y
|
|
||||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
|
||||||
CONFIG_FB_SOFT_CURSOR=y
|
|
||||||
# CONFIG_FB_MODE_HELPERS is not set
|
|
||||||
# CONFIG_FB_TILEBLITTING is not set
|
|
||||||
CONFIG_FB_VIRTUAL=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Console display driver support
|
|
||||||
#
|
|
||||||
# CONFIG_VGA_CONSOLE is not set
|
|
||||||
CONFIG_DUMMY_CONSOLE=y
|
|
||||||
CONFIG_FRAMEBUFFER_CONSOLE=y
|
|
||||||
# CONFIG_FONTS is not set
|
|
||||||
CONFIG_FONT_8x8=y
|
|
||||||
CONFIG_FONT_8x16=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# Logo configuration
|
|
||||||
#
|
|
||||||
# CONFIG_LOGO is not set
|
|
||||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Sound
|
|
||||||
#
|
|
||||||
# CONFIG_SOUND is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# USB support
|
|
||||||
#
|
|
||||||
CONFIG_USB_ARCH_HAS_HCD=y
|
|
||||||
# CONFIG_USB_ARCH_HAS_OHCI is not set
|
|
||||||
# CONFIG_USB is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# USB Gadget Support
|
|
||||||
#
|
|
||||||
# CONFIG_USB_GADGET is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# MMC/SD Card support
|
|
||||||
#
|
|
||||||
# CONFIG_MMC is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# File systems
|
|
||||||
#
|
|
||||||
CONFIG_EXT2_FS=y
|
|
||||||
# CONFIG_EXT2_FS_XATTR is not set
|
|
||||||
# CONFIG_EXT3_FS is not set
|
|
||||||
# CONFIG_JBD is not set
|
|
||||||
# CONFIG_REISERFS_FS is not set
|
|
||||||
# CONFIG_JFS_FS is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# XFS support
|
|
||||||
#
|
|
||||||
# CONFIG_XFS_FS is not set
|
|
||||||
# CONFIG_MINIX_FS is not set
|
|
||||||
CONFIG_ROMFS_FS=y
|
|
||||||
# CONFIG_QUOTA is not set
|
|
||||||
CONFIG_DNOTIFY=y
|
|
||||||
# CONFIG_AUTOFS_FS is not set
|
|
||||||
# CONFIG_AUTOFS4_FS is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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_SYSFS=y
|
|
||||||
# CONFIG_DEVFS_FS is not set
|
|
||||||
# CONFIG_DEVPTS_FS_XATTR is not set
|
|
||||||
# CONFIG_TMPFS is not set
|
|
||||||
# CONFIG_HUGETLB_PAGE is not set
|
|
||||||
CONFIG_RAMFS=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# 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_JFFS_FS is not set
|
|
||||||
# CONFIG_JFFS2_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 is not set
|
|
||||||
# CONFIG_NFS_V4 is not set
|
|
||||||
# CONFIG_NFS_DIRECTIO is not set
|
|
||||||
# CONFIG_NFSD is not set
|
|
||||||
CONFIG_ROOT_NFS=y
|
|
||||||
CONFIG_LOCKD=y
|
|
||||||
CONFIG_SUNRPC=y
|
|
||||||
# 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 is not set
|
|
||||||
# CONFIG_LDM_PARTITION is not set
|
|
||||||
# CONFIG_SGI_PARTITION is not set
|
|
||||||
# CONFIG_ULTRIX_PARTITION is not set
|
|
||||||
# CONFIG_SUN_PARTITION is not set
|
|
||||||
# CONFIG_EFI_PARTITION is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Native Language Support
|
|
||||||
#
|
|
||||||
# CONFIG_NLS is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Profiling support
|
|
||||||
#
|
|
||||||
# CONFIG_PROFILING is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Kernel hacking
|
|
||||||
#
|
|
||||||
# CONFIG_PRINTK_TIME is not set
|
|
||||||
CONFIG_DEBUG_KERNEL=y
|
|
||||||
# CONFIG_MAGIC_SYSRQ is not set
|
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
|
||||||
# CONFIG_SCHEDSTATS is not set
|
|
||||||
# CONFIG_DEBUG_SLAB is not set
|
|
||||||
# CONFIG_DEBUG_SPINLOCK is not set
|
|
||||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
|
||||||
# CONFIG_DEBUG_KOBJECT is not set
|
|
||||||
CONFIG_DEBUG_BUGVERBOSE=y
|
|
||||||
# CONFIG_DEBUG_INFO is not set
|
|
||||||
# CONFIG_DEBUG_FS is not set
|
|
||||||
CONFIG_FRAME_POINTER=y
|
|
||||||
CONFIG_DEBUG_USER=y
|
|
||||||
# CONFIG_DEBUG_WAITQ is not set
|
|
||||||
# CONFIG_DEBUG_ERRORS is not set
|
|
||||||
CONFIG_DEBUG_LL=y
|
|
||||||
# CONFIG_DEBUG_ICEDCC is not set
|
|
||||||
CONFIG_DEBUG_S3C2410_PORT=y
|
|
||||||
CONFIG_DEBUG_S3C2410_UART=0
|
|
||||||
|
|
||||||
#
|
|
||||||
# Security options
|
|
||||||
#
|
|
||||||
# CONFIG_KEYS is not set
|
|
||||||
# CONFIG_SECURITY is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Cryptographic options
|
|
||||||
#
|
|
||||||
# CONFIG_CRYPTO is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Hardware crypto devices
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
|
||||||
# Library routines
|
|
||||||
#
|
|
||||||
# CONFIG_CRC_CCITT is not set
|
|
||||||
CONFIG_CRC32=y
|
|
||||||
CONFIG_LIBCRC32C=y
|
|
|
@ -200,7 +200,7 @@ CONFIG_BINFMT_ELF=y
|
||||||
# Power management options
|
# Power management options
|
||||||
#
|
#
|
||||||
CONFIG_PM=y
|
CONFIG_PM=y
|
||||||
CONFIG_PM_LEGACY=y
|
# CONFIG_PM_LEGACY is not set
|
||||||
# CONFIG_PM_DEBUG is not set
|
# CONFIG_PM_DEBUG is not set
|
||||||
# CONFIG_APM is not set
|
# CONFIG_APM is not set
|
||||||
|
|
||||||
|
|
|
@ -357,6 +357,9 @@ static void __init setup_processor(void)
|
||||||
#ifndef CONFIG_VFP
|
#ifndef CONFIG_VFP
|
||||||
elf_hwcap &= ~HWCAP_VFP;
|
elf_hwcap &= ~HWCAP_VFP;
|
||||||
#endif
|
#endif
|
||||||
|
#ifndef CONFIG_IWMMXT
|
||||||
|
elf_hwcap &= ~HWCAP_IWMMXT;
|
||||||
|
#endif
|
||||||
|
|
||||||
cpu_proc_init();
|
cpu_proc_init();
|
||||||
}
|
}
|
||||||
|
@ -854,6 +857,7 @@ static const char *hwcap_str[] = {
|
||||||
"vfp",
|
"vfp",
|
||||||
"edsp",
|
"edsp",
|
||||||
"java",
|
"java",
|
||||||
|
"iwmmxt",
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
|
#include <linux/module.h>
|
||||||
#include <linux/delay.h>
|
#include <linux/delay.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/spinlock.h>
|
#include <linux/spinlock.h>
|
||||||
|
@ -19,6 +20,7 @@
|
||||||
#include <linux/cpu.h>
|
#include <linux/cpu.h>
|
||||||
#include <linux/smp.h>
|
#include <linux/smp.h>
|
||||||
#include <linux/seq_file.h>
|
#include <linux/seq_file.h>
|
||||||
|
#include <linux/irq.h>
|
||||||
|
|
||||||
#include <asm/atomic.h>
|
#include <asm/atomic.h>
|
||||||
#include <asm/cacheflush.h>
|
#include <asm/cacheflush.h>
|
||||||
|
@ -474,25 +476,26 @@ void show_local_irqs(struct seq_file *p)
|
||||||
seq_putc(p, '\n');
|
seq_putc(p, '\n');
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ipi_timer(struct pt_regs *regs)
|
static void ipi_timer(void)
|
||||||
{
|
{
|
||||||
int user = user_mode(regs);
|
|
||||||
|
|
||||||
irq_enter();
|
irq_enter();
|
||||||
profile_tick(CPU_PROFILING, regs);
|
profile_tick(CPU_PROFILING);
|
||||||
update_process_times(user);
|
update_process_times(user_mode(get_irq_regs()));
|
||||||
irq_exit();
|
irq_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
#ifdef CONFIG_LOCAL_TIMERS
|
#ifdef CONFIG_LOCAL_TIMERS
|
||||||
asmlinkage void do_local_timer(struct pt_regs *regs)
|
asmlinkage void do_local_timer(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
|
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||||
int cpu = smp_processor_id();
|
int cpu = smp_processor_id();
|
||||||
|
|
||||||
if (local_timer_ack()) {
|
if (local_timer_ack()) {
|
||||||
irq_stat[cpu].local_timer_irqs++;
|
irq_stat[cpu].local_timer_irqs++;
|
||||||
ipi_timer(regs);
|
ipi_timer();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_irq_regs(old_regs);
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -551,6 +554,7 @@ asmlinkage void do_IPI(struct pt_regs *regs)
|
||||||
{
|
{
|
||||||
unsigned int cpu = smp_processor_id();
|
unsigned int cpu = smp_processor_id();
|
||||||
struct ipi_data *ipi = &per_cpu(ipi_data, cpu);
|
struct ipi_data *ipi = &per_cpu(ipi_data, cpu);
|
||||||
|
struct pt_regs *old_regs = set_irq_regs(regs);
|
||||||
|
|
||||||
ipi->ipi_count++;
|
ipi->ipi_count++;
|
||||||
|
|
||||||
|
@ -574,7 +578,7 @@ asmlinkage void do_IPI(struct pt_regs *regs)
|
||||||
|
|
||||||
switch (nextmsg) {
|
switch (nextmsg) {
|
||||||
case IPI_TIMER:
|
case IPI_TIMER:
|
||||||
ipi_timer(regs);
|
ipi_timer();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case IPI_RESCHEDULE:
|
case IPI_RESCHEDULE:
|
||||||
|
@ -599,6 +603,8 @@ asmlinkage void do_IPI(struct pt_regs *regs)
|
||||||
}
|
}
|
||||||
} while (msgs);
|
} while (msgs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
set_irq_regs(old_regs);
|
||||||
}
|
}
|
||||||
|
|
||||||
void smp_send_reschedule(int cpu)
|
void smp_send_reschedule(int cpu)
|
||||||
|
|
|
@ -220,10 +220,10 @@ EXPORT_SYMBOL(leds_event);
|
||||||
#ifdef CONFIG_LEDS_TIMER
|
#ifdef CONFIG_LEDS_TIMER
|
||||||
static inline void do_leds(void)
|
static inline void do_leds(void)
|
||||||
{
|
{
|
||||||
static unsigned int count = 50;
|
static unsigned int count = HZ/2;
|
||||||
|
|
||||||
if (--count == 0) {
|
if (--count == 0) {
|
||||||
count = 50;
|
count = HZ/2;
|
||||||
leds_event(led_timer);
|
leds_event(led_timer);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -327,13 +327,12 @@ EXPORT_SYMBOL(restore_time_delta);
|
||||||
*/
|
*/
|
||||||
void timer_tick(void)
|
void timer_tick(void)
|
||||||
{
|
{
|
||||||
struct pt_regs *regs = get_irq_regs();
|
|
||||||
profile_tick(CPU_PROFILING);
|
profile_tick(CPU_PROFILING);
|
||||||
do_leds();
|
do_leds();
|
||||||
do_set_rtc();
|
do_set_rtc();
|
||||||
do_timer(1);
|
do_timer(1);
|
||||||
#ifndef CONFIG_SMP
|
#ifndef CONFIG_SMP
|
||||||
update_process_times(user_mode(regs));
|
update_process_times(user_mode(get_irq_regs()));
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,13 +45,7 @@ SECTIONS
|
||||||
*(.early_param.init)
|
*(.early_param.init)
|
||||||
__early_end = .;
|
__early_end = .;
|
||||||
__initcall_start = .;
|
__initcall_start = .;
|
||||||
*(.initcall1.init)
|
INITCALLS
|
||||||
*(.initcall2.init)
|
|
||||||
*(.initcall3.init)
|
|
||||||
*(.initcall4.init)
|
|
||||||
*(.initcall5.init)
|
|
||||||
*(.initcall6.init)
|
|
||||||
*(.initcall7.init)
|
|
||||||
__initcall_end = .;
|
__initcall_end = .;
|
||||||
__con_initcall_start = .;
|
__con_initcall_start = .;
|
||||||
*(.con_initcall.init)
|
*(.con_initcall.init)
|
||||||
|
|
|
@ -85,7 +85,7 @@ n2100_pci_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
|
||||||
irq = IRQ_IOP32X_XINT0;
|
irq = IRQ_IOP32X_XINT0;
|
||||||
} else if (PCI_SLOT(dev->devfn) == 2) {
|
} else if (PCI_SLOT(dev->devfn) == 2) {
|
||||||
/* RTL8110SB #2 */
|
/* RTL8110SB #2 */
|
||||||
irq = IRQ_IOP32X_XINT1;
|
irq = IRQ_IOP32X_XINT3;
|
||||||
} else if (PCI_SLOT(dev->devfn) == 3) {
|
} else if (PCI_SLOT(dev->devfn) == 3) {
|
||||||
/* Sil3512 */
|
/* Sil3512 */
|
||||||
irq = IRQ_IOP32X_XINT2;
|
irq = IRQ_IOP32X_XINT2;
|
||||||
|
|
|
@ -135,11 +135,11 @@ static void ixdp2400_pci_postinit(void)
|
||||||
if (ixdp2x00_master_npu()) {
|
if (ixdp2x00_master_npu()) {
|
||||||
dev = pci_get_bus_and_slot(1, IXDP2400_SLAVE_ENET_DEVFN);
|
dev = pci_get_bus_and_slot(1, IXDP2400_SLAVE_ENET_DEVFN);
|
||||||
pci_remove_bus_device(dev);
|
pci_remove_bus_device(dev);
|
||||||
pci_dev_put(dev)
|
pci_dev_put(dev);
|
||||||
} else {
|
} else {
|
||||||
dev = pci_get_bus_and_slot(1, IXDP2400_MASTER_ENET_DEVFN);
|
dev = pci_get_bus_and_slot(1, IXDP2400_MASTER_ENET_DEVFN);
|
||||||
pci_remove_bus_device(dev);
|
pci_remove_bus_device(dev);
|
||||||
pci_dev_put(dev)
|
pci_dev_put(dev);
|
||||||
|
|
||||||
ixdp2x00_slave_pci_postinit();
|
ixdp2x00_slave_pci_postinit();
|
||||||
}
|
}
|
||||||
|
|
|
@ -86,7 +86,8 @@ enum ixp4xx_irq_type {
|
||||||
IXP4XX_IRQ_LEVEL, IXP4XX_IRQ_EDGE
|
IXP4XX_IRQ_LEVEL, IXP4XX_IRQ_EDGE
|
||||||
};
|
};
|
||||||
|
|
||||||
static void ixp4xx_config_irq(unsigned irq, enum ixp4xx_irq_type type);
|
/* Each bit represents an IRQ: 1: edge-triggered, 0: level triggered */
|
||||||
|
static unsigned long long ixp4xx_irq_edge = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* IRQ -> GPIO mapping table
|
* IRQ -> GPIO mapping table
|
||||||
|
@ -135,7 +136,11 @@ static int ixp4xx_set_irq_type(unsigned int irq, unsigned int type)
|
||||||
default:
|
default:
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
ixp4xx_config_irq(irq, irq_type);
|
|
||||||
|
if (irq_type == IXP4XX_IRQ_EDGE)
|
||||||
|
ixp4xx_irq_edge |= (1 << irq);
|
||||||
|
else
|
||||||
|
ixp4xx_irq_edge &= ~(1 << irq);
|
||||||
|
|
||||||
if (line >= 8) { /* pins 8-15 */
|
if (line >= 8) { /* pins 8-15 */
|
||||||
line -= 8;
|
line -= 8;
|
||||||
|
@ -167,14 +172,6 @@ static void ixp4xx_irq_mask(unsigned int irq)
|
||||||
*IXP4XX_ICMR &= ~(1 << irq);
|
*IXP4XX_ICMR &= ~(1 << irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void ixp4xx_irq_unmask(unsigned int irq)
|
|
||||||
{
|
|
||||||
if (cpu_is_ixp46x() && irq >= 32)
|
|
||||||
*IXP4XX_ICMR2 |= (1 << (irq - 32));
|
|
||||||
else
|
|
||||||
*IXP4XX_ICMR |= (1 << irq);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void ixp4xx_irq_ack(unsigned int irq)
|
static void ixp4xx_irq_ack(unsigned int irq)
|
||||||
{
|
{
|
||||||
int line = (irq < 32) ? irq2gpio[irq] : -1;
|
int line = (irq < 32) ? irq2gpio[irq] : -1;
|
||||||
|
@ -187,41 +184,25 @@ static void ixp4xx_irq_ack(unsigned int irq)
|
||||||
* Level triggered interrupts on GPIO lines can only be cleared when the
|
* Level triggered interrupts on GPIO lines can only be cleared when the
|
||||||
* interrupt condition disappears.
|
* interrupt condition disappears.
|
||||||
*/
|
*/
|
||||||
static void ixp4xx_irq_level_unmask(unsigned int irq)
|
static void ixp4xx_irq_unmask(unsigned int irq)
|
||||||
{
|
{
|
||||||
ixp4xx_irq_ack(irq);
|
if (!(ixp4xx_irq_edge & (1 << irq)))
|
||||||
ixp4xx_irq_unmask(irq);
|
ixp4xx_irq_ack(irq);
|
||||||
|
|
||||||
|
if (cpu_is_ixp46x() && irq >= 32)
|
||||||
|
*IXP4XX_ICMR2 |= (1 << (irq - 32));
|
||||||
|
else
|
||||||
|
*IXP4XX_ICMR |= (1 << irq);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct irqchip ixp4xx_irq_level_chip = {
|
static struct irqchip ixp4xx_irq_chip = {
|
||||||
.ack = ixp4xx_irq_mask,
|
.name = "IXP4xx",
|
||||||
.mask = ixp4xx_irq_mask,
|
|
||||||
.unmask = ixp4xx_irq_level_unmask,
|
|
||||||
.set_type = ixp4xx_set_irq_type,
|
|
||||||
};
|
|
||||||
|
|
||||||
static struct irqchip ixp4xx_irq_edge_chip = {
|
|
||||||
.ack = ixp4xx_irq_ack,
|
.ack = ixp4xx_irq_ack,
|
||||||
.mask = ixp4xx_irq_mask,
|
.mask = ixp4xx_irq_mask,
|
||||||
.unmask = ixp4xx_irq_unmask,
|
.unmask = ixp4xx_irq_unmask,
|
||||||
.set_type = ixp4xx_set_irq_type,
|
.set_type = ixp4xx_set_irq_type,
|
||||||
};
|
};
|
||||||
|
|
||||||
static void ixp4xx_config_irq(unsigned irq, enum ixp4xx_irq_type type)
|
|
||||||
{
|
|
||||||
switch (type) {
|
|
||||||
case IXP4XX_IRQ_LEVEL:
|
|
||||||
set_irq_chip(irq, &ixp4xx_irq_level_chip);
|
|
||||||
set_irq_handler(irq, do_level_IRQ);
|
|
||||||
break;
|
|
||||||
case IXP4XX_IRQ_EDGE:
|
|
||||||
set_irq_chip(irq, &ixp4xx_irq_edge_chip);
|
|
||||||
set_irq_handler(irq, do_edge_IRQ);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
set_irq_flags(irq, IRQF_VALID);
|
|
||||||
}
|
|
||||||
|
|
||||||
void __init ixp4xx_init_irq(void)
|
void __init ixp4xx_init_irq(void)
|
||||||
{
|
{
|
||||||
int i = 0;
|
int i = 0;
|
||||||
|
@ -241,8 +222,11 @@ void __init ixp4xx_init_irq(void)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Default to all level triggered */
|
/* Default to all level triggered */
|
||||||
for(i = 0; i < NR_IRQS; i++)
|
for(i = 0; i < NR_IRQS; i++) {
|
||||||
ixp4xx_config_irq(i, IXP4XX_IRQ_LEVEL);
|
set_irq_chip(i, &ixp4xx_irq_chip);
|
||||||
|
set_irq_handler(i, do_level_IRQ);
|
||||||
|
set_irq_flags(i, IRQF_VALID);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -14,7 +14,7 @@ config MACH_LPD7A400
|
||||||
bool "LPD7A400 Card Engine"
|
bool "LPD7A400 Card Engine"
|
||||||
select ARCH_LH7A400
|
select ARCH_LH7A400
|
||||||
# select IDE_POLL
|
# select IDE_POLL
|
||||||
select HAS_TOUCHSCREEN_ADS7843_LH7
|
# select HAS_TOUCHSCREEN_ADS7843_LH7
|
||||||
help
|
help
|
||||||
Say Y here if you are using Logic Product Development's
|
Say Y here if you are using Logic Product Development's
|
||||||
LPD7A400 CardEngine. For the time being, the LPD7A400 and
|
LPD7A400 CardEngine. For the time being, the LPD7A400 and
|
||||||
|
@ -24,7 +24,7 @@ config MACH_LPD7A404
|
||||||
bool "LPD7A404 Card Engine"
|
bool "LPD7A404 Card Engine"
|
||||||
select ARCH_LH7A404
|
select ARCH_LH7A404
|
||||||
# select IDE_POLL
|
# select IDE_POLL
|
||||||
select HAS_TOUCHSCREEN_ADC_LH7
|
# select HAS_TOUCHSCREEN_ADC_LH7
|
||||||
help
|
help
|
||||||
Say Y here if you are using Logic Product Development's
|
Say Y here if you are using Logic Product Development's
|
||||||
LPD7A404 CardEngine. For the time being, the LPD7A400 and
|
LPD7A404 CardEngine. For the time being, the LPD7A400 and
|
||||||
|
|
|
@ -133,10 +133,79 @@ static struct platform_device serial_device = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
static struct platform_device nand_flash_device = {
|
||||||
|
.name = "pnx4008-flash",
|
||||||
|
.id = -1,
|
||||||
|
.dev = {
|
||||||
|
.coherent_dma_mask = 0xFFFFFFFF,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
/* The dmamask must be set for OHCI to work */
|
||||||
|
static u64 ohci_dmamask = ~(u32) 0;
|
||||||
|
|
||||||
|
static struct resource ohci_resources[] = {
|
||||||
|
{
|
||||||
|
.start = IO_ADDRESS(PNX4008_USB_CONFIG_BASE),
|
||||||
|
.end = IO_ADDRESS(PNX4008_USB_CONFIG_BASE + 0x100),
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
}, {
|
||||||
|
.start = USB_HOST_INT,
|
||||||
|
.flags = IORESOURCE_IRQ,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device ohci_device = {
|
||||||
|
.name = "pnx4008-usb-ohci",
|
||||||
|
.id = -1,
|
||||||
|
.dev = {
|
||||||
|
.dma_mask = &ohci_dmamask,
|
||||||
|
.coherent_dma_mask = 0xffffffff,
|
||||||
|
},
|
||||||
|
.num_resources = ARRAY_SIZE(ohci_resources),
|
||||||
|
.resource = ohci_resources,
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device sdum_device = {
|
||||||
|
.name = "pnx4008-sdum",
|
||||||
|
.id = 0,
|
||||||
|
.dev = {
|
||||||
|
.coherent_dma_mask = 0xffffffff,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device rgbfb_device = {
|
||||||
|
.name = "pnx4008-rgbfb",
|
||||||
|
.id = 0,
|
||||||
|
.dev = {
|
||||||
|
.coherent_dma_mask = 0xffffffff,
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
struct resource watchdog_resources[] = {
|
||||||
|
{
|
||||||
|
.start = PNX4008_WDOG_BASE,
|
||||||
|
.end = PNX4008_WDOG_BASE + SZ_4K - 1,
|
||||||
|
.flags = IORESOURCE_MEM,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
static struct platform_device watchdog_device = {
|
||||||
|
.name = "pnx4008-watchdog",
|
||||||
|
.id = -1,
|
||||||
|
.num_resources = ARRAY_SIZE(watchdog_resources),
|
||||||
|
.resource = watchdog_resources,
|
||||||
|
};
|
||||||
|
|
||||||
static struct platform_device *devices[] __initdata = {
|
static struct platform_device *devices[] __initdata = {
|
||||||
&spipnx_1,
|
&spipnx_1,
|
||||||
&spipnx_2,
|
&spipnx_2,
|
||||||
&serial_device,
|
&serial_device,
|
||||||
|
&ohci_device,
|
||||||
|
&nand_flash_device,
|
||||||
|
&sdum_device,
|
||||||
|
&rgbfb_device,
|
||||||
|
&watchdog_device,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@
|
||||||
* Copyright (c) 2004-2005 Simtec Electronics
|
* Copyright (c) 2004-2005 Simtec Electronics
|
||||||
* Ben Dooks <ben@simtec.co.uk>
|
* Ben Dooks <ben@simtec.co.uk>
|
||||||
*
|
*
|
||||||
* S3C2410 GPIO support
|
* S3C24XX GPIO support
|
||||||
*
|
*
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
@ -163,3 +163,22 @@ unsigned int s3c2410_modify_misccr(unsigned int clear, unsigned int change)
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPORT_SYMBOL(s3c2410_modify_misccr);
|
EXPORT_SYMBOL(s3c2410_modify_misccr);
|
||||||
|
|
||||||
|
int s3c2410_gpio_getirq(unsigned int pin)
|
||||||
|
{
|
||||||
|
if (pin < S3C2410_GPF0 || pin > S3C2410_GPG15)
|
||||||
|
return -1; /* not valid interrupts */
|
||||||
|
|
||||||
|
if (pin < S3C2410_GPG0 && pin > S3C2410_GPF7)
|
||||||
|
return -1; /* not valid pin */
|
||||||
|
|
||||||
|
if (pin < S3C2410_GPF4)
|
||||||
|
return (pin - S3C2410_GPF0) + IRQ_EINT0;
|
||||||
|
|
||||||
|
if (pin < S3C2410_GPG0)
|
||||||
|
return (pin - S3C2410_GPF4) + IRQ_EINT4;
|
||||||
|
|
||||||
|
return (pin - S3C2410_GPG0) + IRQ_EINT8;
|
||||||
|
}
|
||||||
|
|
||||||
|
EXPORT_SYMBOL(s3c2410_gpio_getirq);
|
||||||
|
|
|
@ -69,22 +69,3 @@ int s3c2410_gpio_irqfilter(unsigned int pin, unsigned int on,
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPORT_SYMBOL(s3c2410_gpio_irqfilter);
|
EXPORT_SYMBOL(s3c2410_gpio_irqfilter);
|
||||||
|
|
||||||
int s3c2410_gpio_getirq(unsigned int pin)
|
|
||||||
{
|
|
||||||
if (pin < S3C2410_GPF0 || pin > S3C2410_GPG15)
|
|
||||||
return -1; /* not valid interrupts */
|
|
||||||
|
|
||||||
if (pin < S3C2410_GPG0 && pin > S3C2410_GPF7)
|
|
||||||
return -1; /* not valid pin */
|
|
||||||
|
|
||||||
if (pin < S3C2410_GPF4)
|
|
||||||
return (pin - S3C2410_GPF0) + IRQ_EINT0;
|
|
||||||
|
|
||||||
if (pin < S3C2410_GPG0)
|
|
||||||
return (pin - S3C2410_GPF4) + IRQ_EINT4;
|
|
||||||
|
|
||||||
return (pin - S3C2410_GPG0) + IRQ_EINT8;
|
|
||||||
}
|
|
||||||
|
|
||||||
EXPORT_SYMBOL(s3c2410_gpio_getirq);
|
|
||||||
|
|
|
@ -83,7 +83,7 @@ static struct sdram_params sdram_tbl[] __initdata = {
|
||||||
.refresh = 64000,
|
.refresh = 64000,
|
||||||
.cas_latency = 3,
|
.cas_latency = 3,
|
||||||
}, { /* Samsung K4S281632B-1H */
|
}, { /* Samsung K4S281632B-1H */
|
||||||
.name = "K4S281632b-1H",
|
.name = "K4S281632B-1H",
|
||||||
.rows = 12,
|
.rows = 12,
|
||||||
.tck = 10,
|
.tck = 10,
|
||||||
.trp = 20,
|
.trp = 20,
|
||||||
|
|
|
@ -32,40 +32,51 @@ extern unsigned long phys_initrd_start;
|
||||||
extern unsigned long phys_initrd_size;
|
extern unsigned long phys_initrd_size;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The sole use of this is to pass memory configuration
|
* This is used to pass memory configuration data from paging_init
|
||||||
* data from paging_init to mem_init.
|
* to mem_init, and by show_mem() to skip holes in the memory map.
|
||||||
*/
|
*/
|
||||||
static struct meminfo meminfo __initdata = { 0, };
|
static struct meminfo meminfo = { 0, };
|
||||||
|
|
||||||
|
#define for_each_nodebank(iter,mi,no) \
|
||||||
|
for (iter = 0; iter < mi->nr_banks; iter++) \
|
||||||
|
if (mi->bank[iter].node == no)
|
||||||
|
|
||||||
void show_mem(void)
|
void show_mem(void)
|
||||||
{
|
{
|
||||||
int free = 0, total = 0, reserved = 0;
|
int free = 0, total = 0, reserved = 0;
|
||||||
int shared = 0, cached = 0, slab = 0, node;
|
int shared = 0, cached = 0, slab = 0, node, i;
|
||||||
|
struct meminfo * mi = &meminfo;
|
||||||
|
|
||||||
printk("Mem-info:\n");
|
printk("Mem-info:\n");
|
||||||
show_free_areas();
|
show_free_areas();
|
||||||
printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
|
printk("Free swap: %6ldkB\n", nr_swap_pages<<(PAGE_SHIFT-10));
|
||||||
|
|
||||||
for_each_online_node(node) {
|
for_each_online_node(node) {
|
||||||
struct page *page, *end;
|
for_each_nodebank (i,mi,node) {
|
||||||
|
unsigned int pfn1, pfn2;
|
||||||
|
struct page *page, *end;
|
||||||
|
|
||||||
page = NODE_MEM_MAP(node);
|
pfn1 = mi->bank[i].start >> PAGE_SHIFT;
|
||||||
end = page + NODE_DATA(node)->node_spanned_pages;
|
pfn2 = (mi->bank[i].size + mi->bank[i].start) >> PAGE_SHIFT;
|
||||||
|
|
||||||
do {
|
page = NODE_MEM_MAP(node) + pfn1;
|
||||||
total++;
|
end = NODE_MEM_MAP(node) + pfn2;
|
||||||
if (PageReserved(page))
|
|
||||||
reserved++;
|
do {
|
||||||
else if (PageSwapCache(page))
|
total++;
|
||||||
cached++;
|
if (PageReserved(page))
|
||||||
else if (PageSlab(page))
|
reserved++;
|
||||||
slab++;
|
else if (PageSwapCache(page))
|
||||||
else if (!page_count(page))
|
cached++;
|
||||||
free++;
|
else if (PageSlab(page))
|
||||||
else
|
slab++;
|
||||||
shared += page_count(page) - 1;
|
else if (!page_count(page))
|
||||||
page++;
|
free++;
|
||||||
} while (page < end);
|
else
|
||||||
|
shared += page_count(page) - 1;
|
||||||
|
page++;
|
||||||
|
} while (page < end);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
printk("%d pages of RAM\n", total);
|
printk("%d pages of RAM\n", total);
|
||||||
|
@ -76,10 +87,6 @@ void show_mem(void)
|
||||||
printk("%d pages swap cached\n", cached);
|
printk("%d pages swap cached\n", cached);
|
||||||
}
|
}
|
||||||
|
|
||||||
#define for_each_nodebank(iter,mi,no) \
|
|
||||||
for (iter = 0; iter < mi->nr_banks; iter++) \
|
|
||||||
if (mi->bank[iter].node == no)
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* FIXME: We really want to avoid allocating the bootmap bitmap
|
* FIXME: We really want to avoid allocating the bootmap bitmap
|
||||||
* over the top of the initrd. Hopefully, this is located towards
|
* over the top of the initrd. Hopefully, this is located towards
|
||||||
|
|
|
@ -909,7 +909,7 @@ __pxa270_proc_info:
|
||||||
b __xscale_setup
|
b __xscale_setup
|
||||||
.long cpu_arch_name
|
.long cpu_arch_name
|
||||||
.long cpu_elf_name
|
.long cpu_elf_name
|
||||||
.long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP
|
.long HWCAP_SWP|HWCAP_HALF|HWCAP_THUMB|HWCAP_FAST_MULT|HWCAP_EDSP|HWCAP_IWMMXT
|
||||||
.long cpu_pxa270_name
|
.long cpu_pxa270_name
|
||||||
.long xscale_processor_functions
|
.long xscale_processor_functions
|
||||||
.long v4wbi_tlb_fns
|
.long v4wbi_tlb_fns
|
||||||
|
|
|
@ -10,8 +10,6 @@
|
||||||
#ifndef OP_COUNTER_H
|
#ifndef OP_COUNTER_H
|
||||||
#define OP_COUNTER_H
|
#define OP_COUNTER_H
|
||||||
|
|
||||||
#define OP_MAX_COUNTER 5
|
|
||||||
|
|
||||||
/* Per performance monitor configuration as set via
|
/* Per performance monitor configuration as set via
|
||||||
* oprofilefs.
|
* oprofilefs.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -56,7 +56,7 @@ static void vfp_double_normalise_denormal(struct vfp_double *vd)
|
||||||
{
|
{
|
||||||
int bits = 31 - fls(vd->significand >> 32);
|
int bits = 31 - fls(vd->significand >> 32);
|
||||||
if (bits == 31)
|
if (bits == 31)
|
||||||
bits = 62 - fls(vd->significand);
|
bits = 63 - fls(vd->significand);
|
||||||
|
|
||||||
vfp_double_dump("normalise_denormal: in", vd);
|
vfp_double_dump("normalise_denormal: in", vd);
|
||||||
|
|
||||||
|
|
|
@ -148,6 +148,7 @@ static void vfp_raise_exceptions(u32 exceptions, u32 inst, u32 fpscr, struct pt_
|
||||||
/*
|
/*
|
||||||
* These are arranged in priority order, least to highest.
|
* These are arranged in priority order, least to highest.
|
||||||
*/
|
*/
|
||||||
|
RAISE(FPSCR_DZC, FPSCR_DZE, FPE_FLTDIV);
|
||||||
RAISE(FPSCR_IXC, FPSCR_IXE, FPE_FLTRES);
|
RAISE(FPSCR_IXC, FPSCR_IXE, FPE_FLTRES);
|
||||||
RAISE(FPSCR_UFC, FPSCR_UFE, FPE_FLTUND);
|
RAISE(FPSCR_UFC, FPSCR_UFE, FPE_FLTUND);
|
||||||
RAISE(FPSCR_OFC, FPSCR_OFE, FPE_FLTOVF);
|
RAISE(FPSCR_OFC, FPSCR_OFE, FPE_FLTOVF);
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
# Default target when executing plain make
|
# Default target when executing plain make
|
||||||
.PHONY: all
|
.PHONY: all
|
||||||
all: uImage vmlinux.elf linux.lst
|
all: uImage vmlinux.elf
|
||||||
|
|
||||||
KBUILD_DEFCONFIG := atstk1002_defconfig
|
KBUILD_DEFCONFIG := atstk1002_defconfig
|
||||||
|
|
||||||
|
@ -21,9 +21,7 @@ cpuflags-$(CONFIG_CPU_AP7000) += -mcpu=ap7000
|
||||||
CFLAGS += $(cpuflags-y)
|
CFLAGS += $(cpuflags-y)
|
||||||
AFLAGS += $(cpuflags-y)
|
AFLAGS += $(cpuflags-y)
|
||||||
|
|
||||||
CHECKFLAGS += -D__avr32__
|
CHECKFLAGS += -D__avr32__ -D__BIG_ENDIAN
|
||||||
|
|
||||||
LIBGCC := $(shell $(CC) $(CFLAGS) -print-libgcc-file-name)
|
|
||||||
|
|
||||||
head-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/head.o
|
head-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/head.o
|
||||||
head-y += arch/avr32/kernel/head.o
|
head-y += arch/avr32/kernel/head.o
|
||||||
|
@ -32,7 +30,7 @@ core-$(CONFIG_BOARD_ATSTK1000) += arch/avr32/boards/atstk1000/
|
||||||
core-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/
|
core-$(CONFIG_LOADER_U_BOOT) += arch/avr32/boot/u-boot/
|
||||||
core-y += arch/avr32/kernel/
|
core-y += arch/avr32/kernel/
|
||||||
core-y += arch/avr32/mm/
|
core-y += arch/avr32/mm/
|
||||||
libs-y += arch/avr32/lib/ #$(LIBGCC)
|
libs-y += arch/avr32/lib/
|
||||||
|
|
||||||
archincdir-$(CONFIG_PLATFORM_AT32AP) := arch-at32ap
|
archincdir-$(CONFIG_PLATFORM_AT32AP) := arch-at32ap
|
||||||
|
|
||||||
|
@ -48,6 +46,8 @@ endif
|
||||||
|
|
||||||
archprepare: include/asm-avr32/.arch
|
archprepare: include/asm-avr32/.arch
|
||||||
|
|
||||||
|
CLEAN_FILES += include/asm-avr32/.arch include/asm-avr32/arch
|
||||||
|
|
||||||
BOOT_TARGETS := vmlinux.elf vmlinux.bin uImage uImage.srec
|
BOOT_TARGETS := vmlinux.elf vmlinux.bin uImage uImage.srec
|
||||||
|
|
||||||
.PHONY: $(BOOT_TARGETS) install
|
.PHONY: $(BOOT_TARGETS) install
|
||||||
|
@ -71,14 +71,19 @@ vmlinux.elf vmlinux.bin uImage.srec uImage vmlinux.cso: vmlinux
|
||||||
install: vmlinux
|
install: vmlinux
|
||||||
$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@
|
$(Q)$(MAKE) $(build)=$(boot) BOOTIMAGE=$(KBUILD_IMAGE) $@
|
||||||
|
|
||||||
linux.s: vmlinux
|
vmlinux.s: vmlinux
|
||||||
$(call if_changed,disasm)
|
$(call if_changed,disasm)
|
||||||
|
|
||||||
linux.lst: vmlinux
|
vmlinux.lst: vmlinux
|
||||||
$(call if_changed,listing)
|
$(call if_changed,listing)
|
||||||
|
|
||||||
|
CLEAN_FILES += vmlinux.s vmlinux.lst
|
||||||
|
|
||||||
|
archclean:
|
||||||
|
$(Q)$(MAKE) $(clean)=$(boot)
|
||||||
|
|
||||||
define archhelp
|
define archhelp
|
||||||
@echo '* vmlinux.elf - ELF image with load address 0'
|
@echo '* vmlinux.elf - ELF image with load address 0'
|
||||||
@echo ' vmlinux.cso - PathFinder CSO image'
|
@echo ' vmlinux.cso - PathFinder CSO image'
|
||||||
@echo ' uImage - Create a bootable image for U-Boot'
|
@echo '* uImage - Create a bootable image for U-Boot'
|
||||||
endef
|
endef
|
||||||
|
|
|
@ -21,15 +21,6 @@ struct tag *bootloader_tags __initdata;
|
||||||
|
|
||||||
struct lcdc_platform_data __initdata atstk1000_fb0_data;
|
struct lcdc_platform_data __initdata atstk1000_fb0_data;
|
||||||
|
|
||||||
asmlinkage void __init board_early_init(void)
|
|
||||||
{
|
|
||||||
extern void sdram_init(void);
|
|
||||||
|
|
||||||
#ifdef CONFIG_LOADER_STANDALONE
|
|
||||||
sdram_init();
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
void __init board_setup_fbmem(unsigned long fbmem_start,
|
void __init board_setup_fbmem(unsigned long fbmem_start,
|
||||||
unsigned long fbmem_size)
|
unsigned long fbmem_size)
|
||||||
{
|
{
|
||||||
|
|
|
@ -37,14 +37,12 @@ OBJCOPYFLAGS_vmlinux.elf := --change-section-lma .text-0x80000000 \
|
||||||
--change-section-lma .data-0x80000000 \
|
--change-section-lma .data-0x80000000 \
|
||||||
--change-section-lma .init-0x80000000 \
|
--change-section-lma .init-0x80000000 \
|
||||||
--change-section-lma .bss-0x80000000 \
|
--change-section-lma .bss-0x80000000 \
|
||||||
--change-section-lma .initrd-0x80000000 \
|
|
||||||
--change-section-lma __param-0x80000000 \
|
--change-section-lma __param-0x80000000 \
|
||||||
--change-section-lma __ksymtab-0x80000000 \
|
--change-section-lma __ksymtab-0x80000000 \
|
||||||
--change-section-lma __ksymtab_gpl-0x80000000 \
|
--change-section-lma __ksymtab_gpl-0x80000000 \
|
||||||
--change-section-lma __kcrctab-0x80000000 \
|
--change-section-lma __kcrctab-0x80000000 \
|
||||||
--change-section-lma __kcrctab_gpl-0x80000000 \
|
--change-section-lma __kcrctab_gpl-0x80000000 \
|
||||||
--change-section-lma __ksymtab_strings-0x80000000 \
|
--change-section-lma __ksymtab_strings-0x80000000 \
|
||||||
--change-section-lma .got-0x80000000 \
|
|
||||||
--set-start 0xa0000000
|
--set-start 0xa0000000
|
||||||
$(obj)/vmlinux.elf: vmlinux FORCE
|
$(obj)/vmlinux.elf: vmlinux FORCE
|
||||||
$(call if_changed,objcopy)
|
$(call if_changed,objcopy)
|
||||||
|
@ -59,4 +57,4 @@ install: $(BOOTIMAGE)
|
||||||
sh $(srctree)/install-kernel.sh $<
|
sh $(srctree)/install-kernel.sh $<
|
||||||
|
|
||||||
# Generated files to be removed upon make clean
|
# Generated files to be removed upon make clean
|
||||||
clean-files := vmlinux* uImage uImage.srec
|
clean-files := vmlinux.elf vmlinux.bin vmlinux.gz uImage uImage.srec
|
||||||
|
|
|
@ -1,13 +1,14 @@
|
||||||
#
|
#
|
||||||
# Automatically generated make config: don't edit
|
# Automatically generated make config: don't edit
|
||||||
# Linux kernel version: 2.6.18-rc1
|
# Linux kernel version: 2.6.19-rc2
|
||||||
# Tue Jul 11 12:41:36 2006
|
# Fri Oct 20 11:52:37 2006
|
||||||
#
|
#
|
||||||
CONFIG_AVR32=y
|
CONFIG_AVR32=y
|
||||||
CONFIG_GENERIC_HARDIRQS=y
|
CONFIG_GENERIC_HARDIRQS=y
|
||||||
CONFIG_HARDIRQS_SW_RESEND=y
|
CONFIG_HARDIRQS_SW_RESEND=y
|
||||||
CONFIG_GENERIC_IRQ_PROBE=y
|
CONFIG_GENERIC_IRQ_PROBE=y
|
||||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||||
|
CONFIG_GENERIC_TIME=y
|
||||||
CONFIG_GENERIC_HWEIGHT=y
|
CONFIG_GENERIC_HWEIGHT=y
|
||||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||||
|
@ -25,16 +26,23 @@ CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||||
CONFIG_LOCALVERSION=""
|
CONFIG_LOCALVERSION=""
|
||||||
# CONFIG_LOCALVERSION_AUTO is not set
|
# CONFIG_LOCALVERSION_AUTO is not set
|
||||||
CONFIG_SWAP=y
|
CONFIG_SWAP=y
|
||||||
# CONFIG_SYSVIPC is not set
|
CONFIG_SYSVIPC=y
|
||||||
# CONFIG_POSIX_MQUEUE is not set
|
# CONFIG_IPC_NS is not set
|
||||||
# CONFIG_BSD_PROCESS_ACCT is not set
|
CONFIG_POSIX_MQUEUE=y
|
||||||
CONFIG_SYSCTL=y
|
CONFIG_BSD_PROCESS_ACCT=y
|
||||||
# CONFIG_AUDIT is not set
|
CONFIG_BSD_PROCESS_ACCT_V3=y
|
||||||
|
CONFIG_TASKSTATS=y
|
||||||
|
CONFIG_TASK_DELAY_ACCT=y
|
||||||
|
# CONFIG_UTS_NS is not set
|
||||||
|
CONFIG_AUDIT=y
|
||||||
# CONFIG_IKCONFIG is not set
|
# CONFIG_IKCONFIG is not set
|
||||||
# CONFIG_RELAY is not set
|
CONFIG_RELAY=y
|
||||||
CONFIG_INITRAMFS_SOURCE=""
|
CONFIG_INITRAMFS_SOURCE=""
|
||||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||||
|
# CONFIG_TASK_XACCT is not set
|
||||||
|
CONFIG_SYSCTL=y
|
||||||
CONFIG_EMBEDDED=y
|
CONFIG_EMBEDDED=y
|
||||||
|
# CONFIG_SYSCTL_SYSCALL is not set
|
||||||
CONFIG_KALLSYMS=y
|
CONFIG_KALLSYMS=y
|
||||||
# CONFIG_KALLSYMS_ALL is not set
|
# CONFIG_KALLSYMS_ALL is not set
|
||||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||||
|
@ -43,14 +51,15 @@ CONFIG_PRINTK=y
|
||||||
CONFIG_BUG=y
|
CONFIG_BUG=y
|
||||||
CONFIG_ELF_CORE=y
|
CONFIG_ELF_CORE=y
|
||||||
# CONFIG_BASE_FULL is not set
|
# CONFIG_BASE_FULL is not set
|
||||||
# CONFIG_FUTEX is not set
|
CONFIG_FUTEX=y
|
||||||
# CONFIG_EPOLL is not set
|
CONFIG_EPOLL=y
|
||||||
CONFIG_SHMEM=y
|
CONFIG_SHMEM=y
|
||||||
# CONFIG_SLAB is not set
|
CONFIG_SLAB=y
|
||||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
CONFIG_VM_EVENT_COUNTERS=y
|
||||||
|
CONFIG_RT_MUTEXES=y
|
||||||
# CONFIG_TINY_SHMEM is not set
|
# CONFIG_TINY_SHMEM is not set
|
||||||
CONFIG_BASE_SMALL=1
|
CONFIG_BASE_SMALL=1
|
||||||
CONFIG_SLOB=y
|
# CONFIG_SLOB is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Loadable module support
|
# Loadable module support
|
||||||
|
@ -65,6 +74,7 @@ CONFIG_MODULE_UNLOAD=y
|
||||||
#
|
#
|
||||||
# Block layer
|
# Block layer
|
||||||
#
|
#
|
||||||
|
CONFIG_BLOCK=y
|
||||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
|
@ -166,10 +176,12 @@ CONFIG_IP_PNP_DHCP=y
|
||||||
# CONFIG_INET_TUNNEL is not set
|
# CONFIG_INET_TUNNEL is not set
|
||||||
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
# CONFIG_INET_XFRM_MODE_TRANSPORT is not set
|
||||||
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
# CONFIG_INET_XFRM_MODE_TUNNEL is not set
|
||||||
|
# CONFIG_INET_XFRM_MODE_BEET is not set
|
||||||
CONFIG_INET_DIAG=y
|
CONFIG_INET_DIAG=y
|
||||||
CONFIG_INET_TCP_DIAG=y
|
CONFIG_INET_TCP_DIAG=y
|
||||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||||
CONFIG_TCP_CONG_BIC=y
|
CONFIG_TCP_CONG_CUBIC=y
|
||||||
|
CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||||
# CONFIG_IPV6 is not set
|
# CONFIG_IPV6 is not set
|
||||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||||
# CONFIG_INET6_TUNNEL is not set
|
# CONFIG_INET6_TUNNEL is not set
|
||||||
|
@ -199,7 +211,6 @@ CONFIG_TCP_CONG_BIC=y
|
||||||
# CONFIG_ATALK is not set
|
# CONFIG_ATALK is not set
|
||||||
# CONFIG_X25 is not set
|
# CONFIG_X25 is not set
|
||||||
# CONFIG_LAPB is not set
|
# CONFIG_LAPB is not set
|
||||||
# CONFIG_NET_DIVERT is not set
|
|
||||||
# CONFIG_ECONET is not set
|
# CONFIG_ECONET is not set
|
||||||
# CONFIG_WAN_ROUTER is not set
|
# CONFIG_WAN_ROUTER is not set
|
||||||
|
|
||||||
|
@ -212,7 +223,6 @@ CONFIG_TCP_CONG_BIC=y
|
||||||
# Network testing
|
# Network testing
|
||||||
#
|
#
|
||||||
# CONFIG_NET_PKTGEN is not set
|
# CONFIG_NET_PKTGEN is not set
|
||||||
# CONFIG_NET_TCPPROBE is not set
|
|
||||||
# CONFIG_HAMRADIO is not set
|
# CONFIG_HAMRADIO is not set
|
||||||
# CONFIG_IRDA is not set
|
# CONFIG_IRDA is not set
|
||||||
# CONFIG_BT is not set
|
# CONFIG_BT is not set
|
||||||
|
@ -239,7 +249,84 @@ CONFIG_STANDALONE=y
|
||||||
#
|
#
|
||||||
# Memory Technology Devices (MTD)
|
# Memory Technology Devices (MTD)
|
||||||
#
|
#
|
||||||
# CONFIG_MTD is not set
|
CONFIG_MTD=y
|
||||||
|
# CONFIG_MTD_DEBUG is not set
|
||||||
|
# CONFIG_MTD_CONCAT is not set
|
||||||
|
CONFIG_MTD_PARTITIONS=y
|
||||||
|
# CONFIG_MTD_REDBOOT_PARTS is not set
|
||||||
|
CONFIG_MTD_CMDLINE_PARTS=y
|
||||||
|
|
||||||
|
#
|
||||||
|
# User Modules And Translation Layers
|
||||||
|
#
|
||||||
|
CONFIG_MTD_CHAR=y
|
||||||
|
CONFIG_MTD_BLOCK=y
|
||||||
|
# CONFIG_FTL is not set
|
||||||
|
# CONFIG_NFTL is not set
|
||||||
|
# CONFIG_INFTL is not set
|
||||||
|
# CONFIG_RFD_FTL is not set
|
||||||
|
# CONFIG_SSFDC is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# RAM/ROM/Flash chip drivers
|
||||||
|
#
|
||||||
|
CONFIG_MTD_CFI=y
|
||||||
|
# CONFIG_MTD_JEDECPROBE is not set
|
||||||
|
CONFIG_MTD_GEN_PROBE=y
|
||||||
|
# CONFIG_MTD_CFI_ADV_OPTIONS is not set
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_1=y
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_2=y
|
||||||
|
CONFIG_MTD_MAP_BANK_WIDTH_4=y
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_8 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_16 is not set
|
||||||
|
# CONFIG_MTD_MAP_BANK_WIDTH_32 is not set
|
||||||
|
CONFIG_MTD_CFI_I1=y
|
||||||
|
CONFIG_MTD_CFI_I2=y
|
||||||
|
# CONFIG_MTD_CFI_I4 is not set
|
||||||
|
# CONFIG_MTD_CFI_I8 is not set
|
||||||
|
# CONFIG_MTD_CFI_INTELEXT is not set
|
||||||
|
CONFIG_MTD_CFI_AMDSTD=y
|
||||||
|
# CONFIG_MTD_CFI_STAA is not set
|
||||||
|
CONFIG_MTD_CFI_UTIL=y
|
||||||
|
# CONFIG_MTD_RAM is not set
|
||||||
|
# CONFIG_MTD_ROM is not set
|
||||||
|
# CONFIG_MTD_ABSENT is not set
|
||||||
|
# CONFIG_MTD_OBSOLETE_CHIPS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Mapping drivers for chip access
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_COMPLEX_MAPPINGS is not set
|
||||||
|
CONFIG_MTD_PHYSMAP=y
|
||||||
|
CONFIG_MTD_PHYSMAP_START=0x8000000
|
||||||
|
CONFIG_MTD_PHYSMAP_LEN=0x0
|
||||||
|
CONFIG_MTD_PHYSMAP_BANKWIDTH=2
|
||||||
|
# CONFIG_MTD_PLATRAM is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Self-contained MTD device drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_SLRAM is not set
|
||||||
|
# CONFIG_MTD_PHRAM is not set
|
||||||
|
# CONFIG_MTD_MTDRAM is not set
|
||||||
|
# CONFIG_MTD_BLOCK2MTD is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Disk-On-Chip Device Drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_DOC2000 is not set
|
||||||
|
# CONFIG_MTD_DOC2001 is not set
|
||||||
|
# CONFIG_MTD_DOC2001PLUS is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# NAND Flash Device Drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_NAND is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# OneNAND Flash Device Drivers
|
||||||
|
#
|
||||||
|
# CONFIG_MTD_ONENAND is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Parallel port support
|
# Parallel port support
|
||||||
|
@ -260,10 +347,17 @@ CONFIG_BLK_DEV_NBD=m
|
||||||
CONFIG_BLK_DEV_RAM=m
|
CONFIG_BLK_DEV_RAM=m
|
||||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||||
|
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||||
CONFIG_BLK_DEV_INITRD=y
|
CONFIG_BLK_DEV_INITRD=y
|
||||||
# CONFIG_CDROM_PKTCDVD is not set
|
# CONFIG_CDROM_PKTCDVD is not set
|
||||||
# CONFIG_ATA_OVER_ETH is not set
|
# CONFIG_ATA_OVER_ETH is not set
|
||||||
|
|
||||||
|
#
|
||||||
|
# Misc devices
|
||||||
|
#
|
||||||
|
# CONFIG_SGI_IOC4 is not set
|
||||||
|
# CONFIG_TIFM_CORE is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# ATA/ATAPI/MFM/RLL support
|
# ATA/ATAPI/MFM/RLL support
|
||||||
#
|
#
|
||||||
|
@ -274,6 +368,12 @@ CONFIG_BLK_DEV_INITRD=y
|
||||||
#
|
#
|
||||||
# CONFIG_RAID_ATTRS is not set
|
# CONFIG_RAID_ATTRS is not set
|
||||||
# CONFIG_SCSI 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
|
||||||
|
|
||||||
#
|
#
|
||||||
# Multi-device support (RAID and LVM)
|
# Multi-device support (RAID and LVM)
|
||||||
|
@ -305,14 +405,11 @@ CONFIG_TUN=m
|
||||||
#
|
#
|
||||||
# PHY device support
|
# PHY device support
|
||||||
#
|
#
|
||||||
# CONFIG_PHYLIB is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Ethernet (10 or 100Mbit)
|
# Ethernet (10 or 100Mbit)
|
||||||
#
|
#
|
||||||
CONFIG_NET_ETHERNET=y
|
# CONFIG_NET_ETHERNET is not set
|
||||||
CONFIG_MII=y
|
|
||||||
CONFIG_MACB=y
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Ethernet (1000 Mbit)
|
# Ethernet (1000 Mbit)
|
||||||
|
@ -341,10 +438,11 @@ CONFIG_PPP=m
|
||||||
CONFIG_PPP_ASYNC=m
|
CONFIG_PPP_ASYNC=m
|
||||||
# CONFIG_PPP_SYNC_TTY is not set
|
# CONFIG_PPP_SYNC_TTY is not set
|
||||||
CONFIG_PPP_DEFLATE=m
|
CONFIG_PPP_DEFLATE=m
|
||||||
# CONFIG_PPP_BSDCOMP is not set
|
CONFIG_PPP_BSDCOMP=m
|
||||||
# CONFIG_PPP_MPPE is not set
|
# CONFIG_PPP_MPPE is not set
|
||||||
# CONFIG_PPPOE is not set
|
# CONFIG_PPPOE is not set
|
||||||
# CONFIG_SLIP is not set
|
# CONFIG_SLIP is not set
|
||||||
|
CONFIG_SLHC=m
|
||||||
# CONFIG_SHAPER is not set
|
# CONFIG_SHAPER is not set
|
||||||
# CONFIG_NETCONSOLE is not set
|
# CONFIG_NETCONSOLE is not set
|
||||||
# CONFIG_NETPOLL is not set
|
# CONFIG_NETPOLL is not set
|
||||||
|
@ -417,7 +515,6 @@ CONFIG_UNIX98_PTYS=y
|
||||||
# TPM devices
|
# TPM devices
|
||||||
#
|
#
|
||||||
# CONFIG_TCG_TPM is not set
|
# CONFIG_TCG_TPM is not set
|
||||||
# CONFIG_TELCLOCK is not set
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# I2C support
|
# I2C support
|
||||||
|
@ -427,23 +524,13 @@ CONFIG_UNIX98_PTYS=y
|
||||||
#
|
#
|
||||||
# SPI support
|
# SPI support
|
||||||
#
|
#
|
||||||
CONFIG_SPI=y
|
# CONFIG_SPI is not set
|
||||||
# CONFIG_SPI_DEBUG is not set
|
# CONFIG_SPI_MASTER is not set
|
||||||
CONFIG_SPI_MASTER=y
|
|
||||||
|
|
||||||
#
|
|
||||||
# SPI Master Controller Drivers
|
|
||||||
#
|
|
||||||
CONFIG_SPI_ATMEL=m
|
|
||||||
# CONFIG_SPI_BITBANG is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# SPI Protocol Masters
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Dallas's 1-wire bus
|
# Dallas's 1-wire bus
|
||||||
#
|
#
|
||||||
|
# CONFIG_W1 is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Hardware Monitoring support
|
# Hardware Monitoring support
|
||||||
|
@ -451,15 +538,10 @@ CONFIG_SPI_ATMEL=m
|
||||||
# CONFIG_HWMON is not set
|
# CONFIG_HWMON is not set
|
||||||
# CONFIG_HWMON_VID is not set
|
# CONFIG_HWMON_VID is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Misc devices
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Multimedia devices
|
# Multimedia devices
|
||||||
#
|
#
|
||||||
# CONFIG_VIDEO_DEV is not set
|
# CONFIG_VIDEO_DEV is not set
|
||||||
CONFIG_VIDEO_V4L2=y
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Digital Video Broadcasting Devices
|
# Digital Video Broadcasting Devices
|
||||||
|
@ -470,28 +552,8 @@ CONFIG_VIDEO_V4L2=y
|
||||||
# Graphics support
|
# Graphics support
|
||||||
#
|
#
|
||||||
# CONFIG_FIRMWARE_EDID is not set
|
# CONFIG_FIRMWARE_EDID is not set
|
||||||
CONFIG_FB=m
|
# CONFIG_FB is not set
|
||||||
CONFIG_FB_CFB_FILLRECT=m
|
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||||
CONFIG_FB_CFB_COPYAREA=m
|
|
||||||
CONFIG_FB_CFB_IMAGEBLIT=m
|
|
||||||
# CONFIG_FB_MACMODES is not set
|
|
||||||
# CONFIG_FB_BACKLIGHT is not set
|
|
||||||
# CONFIG_FB_MODE_HELPERS is not set
|
|
||||||
# CONFIG_FB_TILEBLITTING is not set
|
|
||||||
CONFIG_FB_SIDSA=m
|
|
||||||
CONFIG_FB_SIDSA_DEFAULT_BPP=24
|
|
||||||
# CONFIG_FB_S1D13XXX is not set
|
|
||||||
# CONFIG_FB_VIRTUAL is not set
|
|
||||||
|
|
||||||
#
|
|
||||||
# Logo configuration
|
|
||||||
#
|
|
||||||
# CONFIG_LOGO is not set
|
|
||||||
CONFIG_BACKLIGHT_LCD_SUPPORT=y
|
|
||||||
# CONFIG_BACKLIGHT_CLASS_DEVICE is not set
|
|
||||||
CONFIG_LCD_CLASS_DEVICE=m
|
|
||||||
CONFIG_LCD_DEVICE=y
|
|
||||||
CONFIG_LCD_LTV350QV=m
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Sound
|
# Sound
|
||||||
|
@ -561,18 +623,21 @@ CONFIG_LCD_LTV350QV=m
|
||||||
#
|
#
|
||||||
# File systems
|
# File systems
|
||||||
#
|
#
|
||||||
CONFIG_EXT2_FS=y
|
CONFIG_EXT2_FS=m
|
||||||
# CONFIG_EXT2_FS_XATTR is not set
|
# CONFIG_EXT2_FS_XATTR is not set
|
||||||
# CONFIG_EXT2_FS_XIP is not set
|
# CONFIG_EXT2_FS_XIP is not set
|
||||||
# CONFIG_EXT3_FS is not set
|
# CONFIG_EXT3_FS is not set
|
||||||
|
# CONFIG_EXT4DEV_FS is not set
|
||||||
# CONFIG_REISERFS_FS is not set
|
# CONFIG_REISERFS_FS is not set
|
||||||
# CONFIG_JFS_FS is not set
|
# CONFIG_JFS_FS is not set
|
||||||
# CONFIG_FS_POSIX_ACL is not set
|
# CONFIG_FS_POSIX_ACL is not set
|
||||||
# CONFIG_XFS_FS is not set
|
# CONFIG_XFS_FS is not set
|
||||||
|
# CONFIG_GFS2_FS is not set
|
||||||
# CONFIG_OCFS2_FS is not set
|
# CONFIG_OCFS2_FS is not set
|
||||||
CONFIG_MINIX_FS=m
|
CONFIG_MINIX_FS=m
|
||||||
CONFIG_ROMFS_FS=m
|
# CONFIG_ROMFS_FS is not set
|
||||||
# CONFIG_INOTIFY is not set
|
CONFIG_INOTIFY=y
|
||||||
|
CONFIG_INOTIFY_USER=y
|
||||||
# CONFIG_QUOTA is not set
|
# CONFIG_QUOTA is not set
|
||||||
# CONFIG_DNOTIFY is not set
|
# CONFIG_DNOTIFY is not set
|
||||||
# CONFIG_AUTOFS_FS is not set
|
# CONFIG_AUTOFS_FS is not set
|
||||||
|
@ -600,8 +665,10 @@ CONFIG_FAT_DEFAULT_IOCHARSET="iso8859-1"
|
||||||
#
|
#
|
||||||
CONFIG_PROC_FS=y
|
CONFIG_PROC_FS=y
|
||||||
CONFIG_PROC_KCORE=y
|
CONFIG_PROC_KCORE=y
|
||||||
|
CONFIG_PROC_SYSCTL=y
|
||||||
CONFIG_SYSFS=y
|
CONFIG_SYSFS=y
|
||||||
CONFIG_TMPFS=y
|
CONFIG_TMPFS=y
|
||||||
|
# CONFIG_TMPFS_POSIX_ACL is not set
|
||||||
# CONFIG_HUGETLB_PAGE is not set
|
# CONFIG_HUGETLB_PAGE is not set
|
||||||
CONFIG_RAMFS=y
|
CONFIG_RAMFS=y
|
||||||
CONFIG_CONFIGFS_FS=m
|
CONFIG_CONFIGFS_FS=m
|
||||||
|
@ -616,6 +683,16 @@ CONFIG_CONFIGFS_FS=m
|
||||||
# CONFIG_BEFS_FS is not set
|
# CONFIG_BEFS_FS is not set
|
||||||
# CONFIG_BFS_FS is not set
|
# CONFIG_BFS_FS is not set
|
||||||
# CONFIG_EFS_FS is not set
|
# CONFIG_EFS_FS is not set
|
||||||
|
# CONFIG_JFFS_FS is not set
|
||||||
|
CONFIG_JFFS2_FS=y
|
||||||
|
CONFIG_JFFS2_FS_DEBUG=0
|
||||||
|
CONFIG_JFFS2_FS_WRITEBUFFER=y
|
||||||
|
# CONFIG_JFFS2_SUMMARY is not set
|
||||||
|
# CONFIG_JFFS2_FS_XATTR is not set
|
||||||
|
# CONFIG_JFFS2_COMPRESSION_OPTIONS is not set
|
||||||
|
CONFIG_JFFS2_ZLIB=y
|
||||||
|
CONFIG_JFFS2_RTIME=y
|
||||||
|
# CONFIG_JFFS2_RUBIN is not set
|
||||||
# CONFIG_CRAMFS is not set
|
# CONFIG_CRAMFS is not set
|
||||||
# CONFIG_VXFS_FS is not set
|
# CONFIG_VXFS_FS is not set
|
||||||
# CONFIG_HPFS_FS is not set
|
# CONFIG_HPFS_FS is not set
|
||||||
|
@ -626,26 +703,10 @@ CONFIG_CONFIGFS_FS=m
|
||||||
#
|
#
|
||||||
# Network File Systems
|
# Network File Systems
|
||||||
#
|
#
|
||||||
CONFIG_NFS_FS=y
|
# CONFIG_NFS_FS is not set
|
||||||
CONFIG_NFS_V3=y
|
|
||||||
# CONFIG_NFS_V3_ACL is not set
|
|
||||||
# CONFIG_NFS_V4 is not set
|
|
||||||
# CONFIG_NFS_DIRECTIO is not set
|
|
||||||
# CONFIG_NFSD is not set
|
# CONFIG_NFSD is not set
|
||||||
CONFIG_ROOT_NFS=y
|
|
||||||
CONFIG_LOCKD=y
|
|
||||||
CONFIG_LOCKD_V4=y
|
|
||||||
CONFIG_NFS_COMMON=y
|
|
||||||
CONFIG_SUNRPC=y
|
|
||||||
# CONFIG_RPCSEC_GSS_KRB5 is not set
|
|
||||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
|
||||||
# CONFIG_SMB_FS is not set
|
# CONFIG_SMB_FS is not set
|
||||||
CONFIG_CIFS=m
|
# CONFIG_CIFS is not set
|
||||||
# CONFIG_CIFS_STATS is not set
|
|
||||||
# CONFIG_CIFS_WEAK_PW_HASH is not set
|
|
||||||
# CONFIG_CIFS_XATTR is not set
|
|
||||||
# CONFIG_CIFS_DEBUG2 is not set
|
|
||||||
# CONFIG_CIFS_EXPERIMENTAL is not set
|
|
||||||
# CONFIG_NCP_FS is not set
|
# CONFIG_NCP_FS is not set
|
||||||
# CONFIG_CODA_FS is not set
|
# CONFIG_CODA_FS is not set
|
||||||
# CONFIG_AFS_FS is not set
|
# CONFIG_AFS_FS is not set
|
||||||
|
@ -665,7 +726,7 @@ CONFIG_NLS_DEFAULT="iso8859-1"
|
||||||
CONFIG_NLS_CODEPAGE_437=m
|
CONFIG_NLS_CODEPAGE_437=m
|
||||||
# CONFIG_NLS_CODEPAGE_737 is not set
|
# CONFIG_NLS_CODEPAGE_737 is not set
|
||||||
# CONFIG_NLS_CODEPAGE_775 is not set
|
# CONFIG_NLS_CODEPAGE_775 is not set
|
||||||
CONFIG_NLS_CODEPAGE_850=m
|
# CONFIG_NLS_CODEPAGE_850 is not set
|
||||||
# CONFIG_NLS_CODEPAGE_852 is not set
|
# CONFIG_NLS_CODEPAGE_852 is not set
|
||||||
# CONFIG_NLS_CODEPAGE_855 is not set
|
# CONFIG_NLS_CODEPAGE_855 is not set
|
||||||
# CONFIG_NLS_CODEPAGE_857 is not set
|
# CONFIG_NLS_CODEPAGE_857 is not set
|
||||||
|
@ -705,13 +766,17 @@ CONFIG_NLS_UTF8=m
|
||||||
# Kernel hacking
|
# Kernel hacking
|
||||||
#
|
#
|
||||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||||
CONFIG_PRINTK_TIME=y
|
# CONFIG_PRINTK_TIME is not set
|
||||||
|
CONFIG_ENABLE_MUST_CHECK=y
|
||||||
CONFIG_MAGIC_SYSRQ=y
|
CONFIG_MAGIC_SYSRQ=y
|
||||||
# CONFIG_UNUSED_SYMBOLS is not set
|
# CONFIG_UNUSED_SYMBOLS is not set
|
||||||
CONFIG_DEBUG_KERNEL=y
|
CONFIG_DEBUG_KERNEL=y
|
||||||
CONFIG_LOG_BUF_SHIFT=14
|
CONFIG_LOG_BUF_SHIFT=14
|
||||||
CONFIG_DETECT_SOFTLOCKUP=y
|
CONFIG_DETECT_SOFTLOCKUP=y
|
||||||
# CONFIG_SCHEDSTATS is not set
|
# CONFIG_SCHEDSTATS is not set
|
||||||
|
# CONFIG_DEBUG_SLAB is not set
|
||||||
|
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||||
|
# CONFIG_RT_MUTEX_TESTER is not set
|
||||||
# CONFIG_DEBUG_SPINLOCK is not set
|
# CONFIG_DEBUG_SPINLOCK is not set
|
||||||
# CONFIG_DEBUG_MUTEXES is not set
|
# CONFIG_DEBUG_MUTEXES is not set
|
||||||
# CONFIG_DEBUG_RWSEMS is not set
|
# CONFIG_DEBUG_RWSEMS is not set
|
||||||
|
@ -722,11 +787,13 @@ CONFIG_DEBUG_BUGVERBOSE=y
|
||||||
# CONFIG_DEBUG_INFO is not set
|
# CONFIG_DEBUG_INFO is not set
|
||||||
CONFIG_DEBUG_FS=y
|
CONFIG_DEBUG_FS=y
|
||||||
# CONFIG_DEBUG_VM is not set
|
# CONFIG_DEBUG_VM is not set
|
||||||
|
# CONFIG_DEBUG_LIST is not set
|
||||||
CONFIG_FRAME_POINTER=y
|
CONFIG_FRAME_POINTER=y
|
||||||
# CONFIG_UNWIND_INFO is not set
|
# CONFIG_UNWIND_INFO is not set
|
||||||
CONFIG_FORCED_INLINING=y
|
CONFIG_FORCED_INLINING=y
|
||||||
|
# CONFIG_HEADERS_CHECK is not set
|
||||||
# CONFIG_RCU_TORTURE_TEST is not set
|
# CONFIG_RCU_TORTURE_TEST is not set
|
||||||
CONFIG_KPROBES=y
|
# CONFIG_KPROBES is not set
|
||||||
|
|
||||||
#
|
#
|
||||||
# Security options
|
# Security options
|
||||||
|
@ -739,16 +806,14 @@ CONFIG_KPROBES=y
|
||||||
#
|
#
|
||||||
# CONFIG_CRYPTO is not set
|
# CONFIG_CRYPTO is not set
|
||||||
|
|
||||||
#
|
|
||||||
# Hardware crypto devices
|
|
||||||
#
|
|
||||||
|
|
||||||
#
|
#
|
||||||
# Library routines
|
# Library routines
|
||||||
#
|
#
|
||||||
CONFIG_CRC_CCITT=m
|
CONFIG_CRC_CCITT=m
|
||||||
# CONFIG_CRC16 is not set
|
# CONFIG_CRC16 is not set
|
||||||
CONFIG_CRC32=m
|
CONFIG_CRC32=y
|
||||||
# CONFIG_LIBCRC32C is not set
|
# CONFIG_LIBCRC32C is not set
|
||||||
CONFIG_ZLIB_INFLATE=m
|
CONFIG_AUDIT_GENERIC=y
|
||||||
CONFIG_ZLIB_DEFLATE=m
|
CONFIG_ZLIB_INFLATE=y
|
||||||
|
CONFIG_ZLIB_DEFLATE=y
|
||||||
|
CONFIG_PLIST=y
|
||||||
|
|
|
@ -7,6 +7,7 @@
|
||||||
* it under the terms of the GNU General Public License version 2 as
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
* published by the Free Software Foundation.
|
* published by the Free Software Foundation.
|
||||||
*/
|
*/
|
||||||
|
#include <linux/io.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|
||||||
#include <asm/checksum.h>
|
#include <asm/checksum.h>
|
||||||
|
@ -53,3 +54,11 @@ EXPORT_SYMBOL(find_next_zero_bit);
|
||||||
EXPORT_SYMBOL(find_first_bit);
|
EXPORT_SYMBOL(find_first_bit);
|
||||||
EXPORT_SYMBOL(find_next_bit);
|
EXPORT_SYMBOL(find_next_bit);
|
||||||
EXPORT_SYMBOL(generic_find_next_zero_le_bit);
|
EXPORT_SYMBOL(generic_find_next_zero_le_bit);
|
||||||
|
|
||||||
|
/* I/O primitives (lib/io-*.S) */
|
||||||
|
EXPORT_SYMBOL(__raw_readsb);
|
||||||
|
EXPORT_SYMBOL(__raw_readsw);
|
||||||
|
EXPORT_SYMBOL(__raw_readsl);
|
||||||
|
EXPORT_SYMBOL(__raw_writesb);
|
||||||
|
EXPORT_SYMBOL(__raw_writesw);
|
||||||
|
EXPORT_SYMBOL(__raw_writesl);
|
||||||
|
|
|
@ -30,9 +30,6 @@ kernel_entry:
|
||||||
mov r7, 0
|
mov r7, 0
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/* Set up the PIO, SDRAM controller, early printk, etc. */
|
|
||||||
rcall board_early_init
|
|
||||||
|
|
||||||
/* Start the show */
|
/* Start the show */
|
||||||
lddpc pc, kernel_start_addr
|
lddpc pc, kernel_start_addr
|
||||||
|
|
||||||
|
|
|
@ -109,7 +109,7 @@ static int __kprobes kprobe_handler(struct pt_regs *regs)
|
||||||
void *addr = (void *)regs->pc;
|
void *addr = (void *)regs->pc;
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
pr_debug("kprobe_handler: kprobe_running=%d\n",
|
pr_debug("kprobe_handler: kprobe_running=%p\n",
|
||||||
kprobe_running());
|
kprobe_running());
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
|
@ -263,7 +263,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab,
|
||||||
* value of PC. Just subtract the value of
|
* value of PC. Just subtract the value of
|
||||||
* GOT, and we're done.
|
* GOT, and we're done.
|
||||||
*/
|
*/
|
||||||
pr_debug("GOTPC: PC=0x%lx, got_offset=0x%lx, core=0x%p\n",
|
pr_debug("GOTPC: PC=0x%x, got_offset=0x%lx, core=0x%p\n",
|
||||||
relocation, module->arch.got_offset,
|
relocation, module->arch.got_offset,
|
||||||
module->module_core);
|
module->module_core);
|
||||||
relocation -= ((unsigned long)module->module_core
|
relocation -= ((unsigned long)module->module_core
|
||||||
|
@ -282,7 +282,7 @@ int apply_relocate_add(Elf32_Shdr *sechdrs, const char *strtab,
|
||||||
&& (relocation & 0xffff0000) != 0xffff0000)
|
&& (relocation & 0xffff0000) != 0xffff0000)
|
||||||
return reloc_overflow(module, "R_AVR32_GOT16S",
|
return reloc_overflow(module, "R_AVR32_GOT16S",
|
||||||
relocation);
|
relocation);
|
||||||
pr_debug("GOT reloc @ 0x%lx -> %lu\n",
|
pr_debug("GOT reloc @ 0x%x -> %u\n",
|
||||||
rel->r_offset, relocation);
|
rel->r_offset, relocation);
|
||||||
value = *location;
|
value = *location;
|
||||||
value = ((value & 0xffff0000)
|
value = ((value & 0xffff0000)
|
||||||
|
|
|
@ -157,7 +157,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
||||||
unsigned long tmp;
|
unsigned long tmp;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
pr_debug("arch_ptrace(%ld, %ld, %#lx, %#lx)\n",
|
pr_debug("arch_ptrace(%ld, %d, %#lx, %#lx)\n",
|
||||||
request, child->pid, addr, data);
|
request, child->pid, addr, data);
|
||||||
|
|
||||||
pr_debug("ptrace: Enabling monitor mode...\n");
|
pr_debug("ptrace: Enabling monitor mode...\n");
|
||||||
|
|
|
@ -100,3 +100,12 @@ __sys_splice:
|
||||||
rcall sys_splice
|
rcall sys_splice
|
||||||
sub sp, -4
|
sub sp, -4
|
||||||
popm pc
|
popm pc
|
||||||
|
|
||||||
|
.global __sys_epoll_pwait
|
||||||
|
.type __sys_epoll_pwait,@function
|
||||||
|
__sys_epoll_pwait:
|
||||||
|
pushm lr
|
||||||
|
st.w --sp, ARG6
|
||||||
|
rcall sys_epoll_pwait
|
||||||
|
sub sp, -4
|
||||||
|
popm pc
|
||||||
|
|
|
@ -286,4 +286,5 @@ sys_call_table:
|
||||||
.long sys_sync_file_range
|
.long sys_sync_file_range
|
||||||
.long sys_tee
|
.long sys_tee
|
||||||
.long sys_vmsplice
|
.long sys_vmsplice
|
||||||
|
.long __sys_epoll_pwait /* 265 */
|
||||||
.long sys_ni_syscall /* r8 is saturated at nr_syscalls */
|
.long sys_ni_syscall /* r8 is saturated at nr_syscalls */
|
||||||
|
|
|
@ -38,13 +38,7 @@ SECTIONS
|
||||||
__setup_end = .;
|
__setup_end = .;
|
||||||
. = ALIGN(4);
|
. = ALIGN(4);
|
||||||
__initcall_start = .;
|
__initcall_start = .;
|
||||||
*(.initcall1.init)
|
INITCALLS
|
||||||
*(.initcall2.init)
|
|
||||||
*(.initcall3.init)
|
|
||||||
*(.initcall4.init)
|
|
||||||
*(.initcall5.init)
|
|
||||||
*(.initcall6.init)
|
|
||||||
*(.initcall7.init)
|
|
||||||
__initcall_end = .;
|
__initcall_end = .;
|
||||||
__con_initcall_start = .;
|
__con_initcall_start = .;
|
||||||
*(.con_initcall.init)
|
*(.con_initcall.init)
|
||||||
|
|
|
@ -7,4 +7,5 @@ lib-y += strncpy_from_user.o strnlen_user.o
|
||||||
lib-y += delay.o memset.o memcpy.o findbit.o
|
lib-y += delay.o memset.o memcpy.o findbit.o
|
||||||
lib-y += csum_partial.o csum_partial_copy_generic.o
|
lib-y += csum_partial.o csum_partial_copy_generic.o
|
||||||
lib-y += io-readsw.o io-readsl.o io-writesw.o io-writesl.o
|
lib-y += io-readsw.o io-readsl.o io-writesw.o io-writesl.o
|
||||||
|
lib-y += io-readsb.o io-writesb.o
|
||||||
lib-y += __avr32_lsl64.o __avr32_lsr64.o __avr32_asr64.o
|
lib-y += __avr32_lsl64.o __avr32_lsr64.o __avr32_asr64.o
|
||||||
|
|
|
@ -136,6 +136,7 @@ ENTRY(generic_find_next_zero_le_bit)
|
||||||
/* offset is not word-aligned. Handle the first (32 - r10) bits */
|
/* offset is not word-aligned. Handle the first (32 - r10) bits */
|
||||||
ldswp.w r8, r12[0]
|
ldswp.w r8, r12[0]
|
||||||
sub r12, -4
|
sub r12, -4
|
||||||
|
com r8
|
||||||
lsr r8, r8, r10
|
lsr r8, r8, r10
|
||||||
brne .L_found
|
brne .L_found
|
||||||
|
|
||||||
|
@ -146,7 +147,7 @@ ENTRY(generic_find_next_zero_le_bit)
|
||||||
|
|
||||||
/* Main loop. offset must be word-aligned */
|
/* Main loop. offset must be word-aligned */
|
||||||
1: ldswp.w r8, r12[0]
|
1: ldswp.w r8, r12[0]
|
||||||
cp.w r8, 0
|
com r8
|
||||||
brne .L_found
|
brne .L_found
|
||||||
sub r12, -4
|
sub r12, -4
|
||||||
sub r9, 32
|
sub r9, 32
|
||||||
|
|
|
@ -0,0 +1,49 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2004-2006 Atmel Corporation
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.text
|
||||||
|
.Lnot_word_aligned:
|
||||||
|
1: ld.ub r8, r12[0]
|
||||||
|
sub r10, 1
|
||||||
|
st.b r11++, r8
|
||||||
|
reteq r12
|
||||||
|
tst r11, r9
|
||||||
|
brne 1b
|
||||||
|
|
||||||
|
/* fall through */
|
||||||
|
|
||||||
|
.global __raw_readsb
|
||||||
|
.type __raw_readsb,@function
|
||||||
|
__raw_readsb:
|
||||||
|
cp.w r10, 0
|
||||||
|
mov r9, 3
|
||||||
|
reteq r12
|
||||||
|
|
||||||
|
tst r11, r9
|
||||||
|
brne .Lnot_word_aligned
|
||||||
|
|
||||||
|
sub r10, 4
|
||||||
|
brlt 2f
|
||||||
|
|
||||||
|
1: ldins.b r8:t, r12[0]
|
||||||
|
ldins.b r8:u, r12[0]
|
||||||
|
ldins.b r8:l, r12[0]
|
||||||
|
ldins.b r8:b, r12[0]
|
||||||
|
st.w r11++, r8
|
||||||
|
sub r10, 4
|
||||||
|
brge 1b
|
||||||
|
|
||||||
|
2: sub r10, -4
|
||||||
|
reteq r12
|
||||||
|
|
||||||
|
3: ld.uh r8, r12[0]
|
||||||
|
sub r10, 1
|
||||||
|
st.b r11++, r8
|
||||||
|
brne 3b
|
||||||
|
|
||||||
|
retal r12
|
|
@ -0,0 +1,52 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2004-2006 Atmel Corporation
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License version 2 as
|
||||||
|
* published by the Free Software Foundation.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.text
|
||||||
|
.Lnot_word_aligned:
|
||||||
|
1: ld.ub r8, r11++
|
||||||
|
sub r10, 1
|
||||||
|
st.b r12[0], r8
|
||||||
|
reteq r12
|
||||||
|
tst r11, r9
|
||||||
|
brne 1b
|
||||||
|
|
||||||
|
/* fall through */
|
||||||
|
|
||||||
|
.global __raw_writesb
|
||||||
|
.type __raw_writesb,@function
|
||||||
|
__raw_writesb:
|
||||||
|
cp.w r10, 0
|
||||||
|
mov r9, 3
|
||||||
|
reteq r12
|
||||||
|
|
||||||
|
tst r11, r9
|
||||||
|
brne .Lnot_word_aligned
|
||||||
|
|
||||||
|
sub r10, 4
|
||||||
|
brlt 2f
|
||||||
|
|
||||||
|
1: ld.w r8, r11++
|
||||||
|
bfextu r9, r8, 24, 8
|
||||||
|
st.b r12[0], r9
|
||||||
|
bfextu r9, r8, 16, 8
|
||||||
|
st.b r12[0], r9
|
||||||
|
bfextu r9, r8, 8, 8
|
||||||
|
st.b r12[0], r9
|
||||||
|
st.b r12[0], r8
|
||||||
|
sub r10, 4
|
||||||
|
brge 1b
|
||||||
|
|
||||||
|
2: sub r10, -4
|
||||||
|
reteq r12
|
||||||
|
|
||||||
|
3: ld.ub r8, r11++
|
||||||
|
sub r10, 1
|
||||||
|
st.b r12[0], r8
|
||||||
|
brne 3b
|
||||||
|
|
||||||
|
retal r12
|
|
@ -120,8 +120,8 @@
|
||||||
|
|
||||||
/* Register access macros */
|
/* Register access macros */
|
||||||
#define hsmc_readl(port,reg) \
|
#define hsmc_readl(port,reg) \
|
||||||
readl((port)->regs + HSMC_##reg)
|
__raw_readl((port)->regs + HSMC_##reg)
|
||||||
#define hsmc_writel(port,reg,value) \
|
#define hsmc_writel(port,reg,value) \
|
||||||
writel((value), (port)->regs + HSMC_##reg)
|
__raw_writel((value), (port)->regs + HSMC_##reg)
|
||||||
|
|
||||||
#endif /* __ASM_AVR32_HSMC_H__ */
|
#endif /* __ASM_AVR32_HSMC_H__ */
|
||||||
|
|
|
@ -321,7 +321,9 @@
|
||||||
#define INTC_MKBF(name, value) (((value) & ((1 << INTC_##name##_SIZE) - 1)) << INTC_##name##_OFFSET)
|
#define INTC_MKBF(name, value) (((value) & ((1 << INTC_##name##_SIZE) - 1)) << INTC_##name##_OFFSET)
|
||||||
#define INTC_GETBF(name, value) (((value) >> INTC_##name##_OFFSET) & ((1 << INTC_##name##_SIZE) - 1))
|
#define INTC_GETBF(name, value) (((value) >> INTC_##name##_OFFSET) & ((1 << INTC_##name##_SIZE) - 1))
|
||||||
|
|
||||||
#define intc_readl(port,reg) readl((port)->regs + INTC_##reg)
|
#define intc_readl(port,reg) \
|
||||||
#define intc_writel(port,reg,value) writel((value), (port)->regs + INTC_##reg)
|
__raw_readl((port)->regs + INTC_##reg)
|
||||||
|
#define intc_writel(port,reg,value) \
|
||||||
|
__raw_writel((value), (port)->regs + INTC_##reg)
|
||||||
|
|
||||||
#endif /* __ASM_AVR32_PERIHP_INTC_H__ */
|
#endif /* __ASM_AVR32_PERIHP_INTC_H__ */
|
||||||
|
|
|
@ -170,8 +170,10 @@
|
||||||
#define PIO_BFINS(name,value,old) (((old) & ~(((1 << PIO_##name##_SIZE) - 1) << PIO_##name##_OFFSET)) | PIO_BF(name,value))
|
#define PIO_BFINS(name,value,old) (((old) & ~(((1 << PIO_##name##_SIZE) - 1) << PIO_##name##_OFFSET)) | PIO_BF(name,value))
|
||||||
|
|
||||||
/* Register access macros */
|
/* Register access macros */
|
||||||
#define pio_readl(port,reg) readl((port)->regs + PIO_##reg)
|
#define pio_readl(port,reg) \
|
||||||
#define pio_writel(port,reg,value) writel((value), (port)->regs + PIO_##reg)
|
__raw_readl((port)->regs + PIO_##reg)
|
||||||
|
#define pio_writel(port,reg,value) \
|
||||||
|
__raw_writel((value), (port)->regs + PIO_##reg)
|
||||||
|
|
||||||
void at32_init_pio(struct platform_device *pdev);
|
void at32_init_pio(struct platform_device *pdev);
|
||||||
|
|
||||||
|
|
|
@ -234,7 +234,9 @@
|
||||||
#define SM_BFINS(name,value,old) (((old) & ~(((1 << SM_##name##_SIZE) - 1) << SM_##name##_OFFSET)) | SM_BF(name,value))
|
#define SM_BFINS(name,value,old) (((old) & ~(((1 << SM_##name##_SIZE) - 1) << SM_##name##_OFFSET)) | SM_BF(name,value))
|
||||||
|
|
||||||
/* Register access macros */
|
/* Register access macros */
|
||||||
#define sm_readl(port,reg) readl((port)->regs + SM_##reg)
|
#define sm_readl(port,reg) \
|
||||||
#define sm_writel(port,reg,value) writel((value), (port)->regs + SM_##reg)
|
__raw_readl((port)->regs + SM_##reg)
|
||||||
|
#define sm_writel(port,reg,value) \
|
||||||
|
__raw_writel((value), (port)->regs + SM_##reg)
|
||||||
|
|
||||||
#endif /* __ASM_AVR32_SM_H__ */
|
#endif /* __ASM_AVR32_SM_H__ */
|
||||||
|
|
|
@ -206,7 +206,7 @@ void __init setup_bootmem(void)
|
||||||
|
|
||||||
if (mem_ramdisk) {
|
if (mem_ramdisk) {
|
||||||
#ifdef CONFIG_BLK_DEV_INITRD
|
#ifdef CONFIG_BLK_DEV_INITRD
|
||||||
initrd_start = __va(mem_ramdisk->addr);
|
initrd_start = (unsigned long)__va(mem_ramdisk->addr);
|
||||||
initrd_end = initrd_start + mem_ramdisk->size;
|
initrd_end = initrd_start + mem_ramdisk->size;
|
||||||
|
|
||||||
print_memory_map("RAMDISK images", mem_ramdisk);
|
print_memory_map("RAMDISK images", mem_ramdisk);
|
||||||
|
|
|
@ -77,6 +77,8 @@ void __iounmap(void __iomem *addr)
|
||||||
|
|
||||||
if ((unsigned long)addr >= P4SEG)
|
if ((unsigned long)addr >= P4SEG)
|
||||||
return;
|
return;
|
||||||
|
if (PXSEG(addr) == P2SEG)
|
||||||
|
return;
|
||||||
|
|
||||||
p = remove_vm_area((void *)(PAGE_MASK & (unsigned long __force)addr));
|
p = remove_vm_area((void *)(PAGE_MASK & (unsigned long __force)addr));
|
||||||
if (unlikely(!p)) {
|
if (unlikely(!p)) {
|
||||||
|
|
|
@ -2051,7 +2051,6 @@ static void cryptocop_job_queue_close(void)
|
||||||
spin_lock_irqsave(&cryptocop_process_lock, process_flags);
|
spin_lock_irqsave(&cryptocop_process_lock, process_flags);
|
||||||
|
|
||||||
/* Empty the job queue. */
|
/* Empty the job queue. */
|
||||||
spin_lock_irqsave(&cryptocop_process_lock, process_flags);
|
|
||||||
for (i = 0; i < cryptocop_prio_no_prios; i++){
|
for (i = 0; i < cryptocop_prio_no_prios; i++){
|
||||||
if (!list_empty(&(cryptocop_job_queues[i].jobs))){
|
if (!list_empty(&(cryptocop_job_queues[i].jobs))){
|
||||||
list_for_each_safe(node, tmp, &(cryptocop_job_queues[i].jobs)) {
|
list_for_each_safe(node, tmp, &(cryptocop_job_queues[i].jobs)) {
|
||||||
|
|
|
@ -44,13 +44,7 @@ SECTIONS
|
||||||
|
|
||||||
__initcall_start = .;
|
__initcall_start = .;
|
||||||
.initcall.init : {
|
.initcall.init : {
|
||||||
*(.initcall1.init)
|
INITCALLS
|
||||||
*(.initcall2.init)
|
|
||||||
*(.initcall3.init)
|
|
||||||
*(.initcall4.init)
|
|
||||||
*(.initcall5.init)
|
|
||||||
*(.initcall6.init)
|
|
||||||
*(.initcall7.init)
|
|
||||||
}
|
}
|
||||||
__initcall_end = .;
|
__initcall_end = .;
|
||||||
__con_initcall_start = .;
|
__con_initcall_start = .;
|
||||||
|
|
|
@ -118,13 +118,7 @@ SECTIONS
|
||||||
. = ALIGN(0x4) ;
|
. = ALIGN(0x4) ;
|
||||||
___setup_end = .;
|
___setup_end = .;
|
||||||
___initcall_start = .;
|
___initcall_start = .;
|
||||||
*(.initcall1.init)
|
INITCALLS
|
||||||
*(.initcall2.init)
|
|
||||||
*(.initcall3.init)
|
|
||||||
*(.initcall4.init)
|
|
||||||
*(.initcall5.init)
|
|
||||||
*(.initcall6.init)
|
|
||||||
*(.initcall7.init)
|
|
||||||
___initcall_end = .;
|
___initcall_end = .;
|
||||||
___con_initcall_start = .;
|
___con_initcall_start = .;
|
||||||
*(.con_initcall.init)
|
*(.con_initcall.init)
|
||||||
|
|
|
@ -70,7 +70,7 @@ static inline int acpi_madt_oem_check(char *oem_id, char *oem_table_id) { return
|
||||||
|
|
||||||
#define PREFIX "ACPI: "
|
#define PREFIX "ACPI: "
|
||||||
|
|
||||||
int acpi_noirq __initdata; /* skip ACPI IRQ initialization */
|
int acpi_noirq; /* skip ACPI IRQ initialization */
|
||||||
int acpi_pci_disabled __initdata; /* skip ACPI PCI scan and IRQ initialization */
|
int acpi_pci_disabled __initdata; /* skip ACPI PCI scan and IRQ initialization */
|
||||||
int acpi_ht __initdata = 1; /* enable HT */
|
int acpi_ht __initdata = 1; /* enable HT */
|
||||||
|
|
||||||
|
@ -82,6 +82,7 @@ EXPORT_SYMBOL(acpi_strict);
|
||||||
acpi_interrupt_flags acpi_sci_flags __initdata;
|
acpi_interrupt_flags acpi_sci_flags __initdata;
|
||||||
int acpi_sci_override_gsi __initdata;
|
int acpi_sci_override_gsi __initdata;
|
||||||
int acpi_skip_timer_override __initdata;
|
int acpi_skip_timer_override __initdata;
|
||||||
|
int acpi_use_timer_override __initdata;
|
||||||
|
|
||||||
#ifdef CONFIG_X86_LOCAL_APIC
|
#ifdef CONFIG_X86_LOCAL_APIC
|
||||||
static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
|
static u64 acpi_lapic_addr __initdata = APIC_DEFAULT_PHYS_BASE;
|
||||||
|
@ -1300,6 +1301,13 @@ static int __init parse_acpi_skip_timer_override(char *arg)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
early_param("acpi_skip_timer_override", parse_acpi_skip_timer_override);
|
early_param("acpi_skip_timer_override", parse_acpi_skip_timer_override);
|
||||||
|
|
||||||
|
static int __init parse_acpi_use_timer_override(char *arg)
|
||||||
|
{
|
||||||
|
acpi_use_timer_override = 1;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
early_param("acpi_use_timer_override", parse_acpi_use_timer_override);
|
||||||
#endif /* CONFIG_X86_IO_APIC */
|
#endif /* CONFIG_X86_IO_APIC */
|
||||||
|
|
||||||
static int __init setup_acpi_sci(char *s)
|
static int __init setup_acpi_sci(char *s)
|
||||||
|
|
|
@ -27,11 +27,17 @@ static int __init check_bridge(int vendor, int device)
|
||||||
#ifdef CONFIG_ACPI
|
#ifdef CONFIG_ACPI
|
||||||
/* According to Nvidia all timer overrides are bogus unless HPET
|
/* According to Nvidia all timer overrides are bogus unless HPET
|
||||||
is enabled. */
|
is enabled. */
|
||||||
if (vendor == PCI_VENDOR_ID_NVIDIA) {
|
if (!acpi_use_timer_override && vendor == PCI_VENDOR_ID_NVIDIA) {
|
||||||
nvidia_hpet_detected = 0;
|
nvidia_hpet_detected = 0;
|
||||||
acpi_table_parse(ACPI_HPET, nvidia_hpet_check);
|
acpi_table_parse(ACPI_HPET, nvidia_hpet_check);
|
||||||
if (nvidia_hpet_detected == 0) {
|
if (nvidia_hpet_detected == 0) {
|
||||||
acpi_skip_timer_override = 1;
|
acpi_skip_timer_override = 1;
|
||||||
|
printk(KERN_INFO "Nvidia board "
|
||||||
|
"detected. Ignoring ACPI "
|
||||||
|
"timer override.\n");
|
||||||
|
printk(KERN_INFO "If you got timer trouble "
|
||||||
|
"try acpi_use_timer_override\n");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -198,7 +198,7 @@
|
||||||
* (APM) BIOS Interface Specification, Revision 1.2, February 1996.
|
* (APM) BIOS Interface Specification, Revision 1.2, February 1996.
|
||||||
*
|
*
|
||||||
* [This document is available from Microsoft at:
|
* [This document is available from Microsoft at:
|
||||||
* http://www.microsoft.com/hwdev/busbios/amp_12.htm]
|
* http://www.microsoft.com/whdc/archive/amp_12.mspx]
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
|
|
|
@ -91,6 +91,46 @@ static struct irq_pin_list {
|
||||||
int apic, pin, next;
|
int apic, pin, next;
|
||||||
} irq_2_pin[PIN_MAP_SIZE];
|
} irq_2_pin[PIN_MAP_SIZE];
|
||||||
|
|
||||||
|
struct io_apic {
|
||||||
|
unsigned int index;
|
||||||
|
unsigned int unused[3];
|
||||||
|
unsigned int data;
|
||||||
|
};
|
||||||
|
|
||||||
|
static __attribute_const__ struct io_apic __iomem *io_apic_base(int idx)
|
||||||
|
{
|
||||||
|
return (void __iomem *) __fix_to_virt(FIX_IO_APIC_BASE_0 + idx)
|
||||||
|
+ (mp_ioapics[idx].mpc_apicaddr & ~PAGE_MASK);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline unsigned int io_apic_read(unsigned int apic, unsigned int reg)
|
||||||
|
{
|
||||||
|
struct io_apic __iomem *io_apic = io_apic_base(apic);
|
||||||
|
writel(reg, &io_apic->index);
|
||||||
|
return readl(&io_apic->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
static inline void io_apic_write(unsigned int apic, unsigned int reg, unsigned int value)
|
||||||
|
{
|
||||||
|
struct io_apic __iomem *io_apic = io_apic_base(apic);
|
||||||
|
writel(reg, &io_apic->index);
|
||||||
|
writel(value, &io_apic->data);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Re-write a value: to be used for read-modify-write
|
||||||
|
* cycles where the read already set up the index register.
|
||||||
|
*
|
||||||
|
* Older SiS APIC requires we rewrite the index register
|
||||||
|
*/
|
||||||
|
static inline void io_apic_modify(unsigned int apic, unsigned int reg, unsigned int value)
|
||||||
|
{
|
||||||
|
volatile struct io_apic *io_apic = io_apic_base(apic);
|
||||||
|
if (sis_apic_bug)
|
||||||
|
writel(reg, &io_apic->index);
|
||||||
|
writel(value, &io_apic->data);
|
||||||
|
}
|
||||||
|
|
||||||
union entry_union {
|
union entry_union {
|
||||||
struct { u32 w1, w2; };
|
struct { u32 w1, w2; };
|
||||||
struct IO_APIC_route_entry entry;
|
struct IO_APIC_route_entry entry;
|
||||||
|
@ -107,11 +147,33 @@ static struct IO_APIC_route_entry ioapic_read_entry(int apic, int pin)
|
||||||
return eu.entry;
|
return eu.entry;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When we write a new IO APIC routing entry, we need to write the high
|
||||||
|
* word first! If the mask bit in the low word is clear, we will enable
|
||||||
|
* the interrupt, and we need to make sure the entry is fully populated
|
||||||
|
* before that happens.
|
||||||
|
*/
|
||||||
static void ioapic_write_entry(int apic, int pin, struct IO_APIC_route_entry e)
|
static void ioapic_write_entry(int apic, int pin, struct IO_APIC_route_entry e)
|
||||||
{
|
{
|
||||||
unsigned long flags;
|
unsigned long flags;
|
||||||
union entry_union eu;
|
union entry_union eu;
|
||||||
eu.entry = e;
|
eu.entry = e;
|
||||||
|
spin_lock_irqsave(&ioapic_lock, flags);
|
||||||
|
io_apic_write(apic, 0x11 + 2*pin, eu.w2);
|
||||||
|
io_apic_write(apic, 0x10 + 2*pin, eu.w1);
|
||||||
|
spin_unlock_irqrestore(&ioapic_lock, flags);
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* When we mask an IO APIC routing entry, we need to write the low
|
||||||
|
* word first, in order to set the mask bit before we change the
|
||||||
|
* high bits!
|
||||||
|
*/
|
||||||
|
static void ioapic_mask_entry(int apic, int pin)
|
||||||
|
{
|
||||||
|
unsigned long flags;
|
||||||
|
union entry_union eu = { .entry.mask = 1 };
|
||||||
|
|
||||||
spin_lock_irqsave(&ioapic_lock, flags);
|
spin_lock_irqsave(&ioapic_lock, flags);
|
||||||
io_apic_write(apic, 0x10 + 2*pin, eu.w1);
|
io_apic_write(apic, 0x10 + 2*pin, eu.w1);
|
||||||
io_apic_write(apic, 0x11 + 2*pin, eu.w2);
|
io_apic_write(apic, 0x11 + 2*pin, eu.w2);
|
||||||
|
@ -234,9 +296,7 @@ static void clear_IO_APIC_pin(unsigned int apic, unsigned int pin)
|
||||||
/*
|
/*
|
||||||
* Disable it in the IO-APIC irq-routing table:
|
* Disable it in the IO-APIC irq-routing table:
|
||||||
*/
|
*/
|
||||||
memset(&entry, 0, sizeof(entry));
|
ioapic_mask_entry(apic, pin);
|
||||||
entry.mask = 1;
|
|
||||||
ioapic_write_entry(apic, pin, entry);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void clear_IO_APIC (void)
|
static void clear_IO_APIC (void)
|
||||||
|
@ -1227,9 +1287,11 @@ static void ioapic_register_intr(int irq, int vector, unsigned long trigger)
|
||||||
trigger == IOAPIC_LEVEL)
|
trigger == IOAPIC_LEVEL)
|
||||||
set_irq_chip_and_handler_name(irq, &ioapic_chip,
|
set_irq_chip_and_handler_name(irq, &ioapic_chip,
|
||||||
handle_fasteoi_irq, "fasteoi");
|
handle_fasteoi_irq, "fasteoi");
|
||||||
else
|
else {
|
||||||
|
irq_desc[irq].status |= IRQ_DELAYED_DISABLE;
|
||||||
set_irq_chip_and_handler_name(irq, &ioapic_chip,
|
set_irq_chip_and_handler_name(irq, &ioapic_chip,
|
||||||
handle_edge_irq, "edge");
|
handle_edge_irq, "edge");
|
||||||
|
}
|
||||||
set_intr_gate(vector, interrupt[irq]);
|
set_intr_gate(vector, interrupt[irq]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -2564,18 +2626,16 @@ void arch_teardown_msi_irq(unsigned int irq)
|
||||||
|
|
||||||
static void target_ht_irq(unsigned int irq, unsigned int dest)
|
static void target_ht_irq(unsigned int irq, unsigned int dest)
|
||||||
{
|
{
|
||||||
u32 low, high;
|
struct ht_irq_msg msg;
|
||||||
low = read_ht_irq_low(irq);
|
fetch_ht_irq_msg(irq, &msg);
|
||||||
high = read_ht_irq_high(irq);
|
|
||||||
|
|
||||||
low &= ~(HT_IRQ_LOW_DEST_ID_MASK);
|
msg.address_lo &= ~(HT_IRQ_LOW_DEST_ID_MASK);
|
||||||
high &= ~(HT_IRQ_HIGH_DEST_ID_MASK);
|
msg.address_hi &= ~(HT_IRQ_HIGH_DEST_ID_MASK);
|
||||||
|
|
||||||
low |= HT_IRQ_LOW_DEST_ID(dest);
|
msg.address_lo |= HT_IRQ_LOW_DEST_ID(dest);
|
||||||
high |= HT_IRQ_HIGH_DEST_ID(dest);
|
msg.address_hi |= HT_IRQ_HIGH_DEST_ID(dest);
|
||||||
|
|
||||||
write_ht_irq_low(irq, low);
|
write_ht_irq_msg(irq, &msg);
|
||||||
write_ht_irq_high(irq, high);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
static void set_ht_irq_affinity(unsigned int irq, cpumask_t mask)
|
static void set_ht_irq_affinity(unsigned int irq, cpumask_t mask)
|
||||||
|
@ -2613,7 +2673,7 @@ int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev)
|
||||||
|
|
||||||
vector = assign_irq_vector(irq);
|
vector = assign_irq_vector(irq);
|
||||||
if (vector >= 0) {
|
if (vector >= 0) {
|
||||||
u32 low, high;
|
struct ht_irq_msg msg;
|
||||||
unsigned dest;
|
unsigned dest;
|
||||||
cpumask_t tmp;
|
cpumask_t tmp;
|
||||||
|
|
||||||
|
@ -2621,9 +2681,10 @@ int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev)
|
||||||
cpu_set(vector >> 8, tmp);
|
cpu_set(vector >> 8, tmp);
|
||||||
dest = cpu_mask_to_apicid(tmp);
|
dest = cpu_mask_to_apicid(tmp);
|
||||||
|
|
||||||
high = HT_IRQ_HIGH_DEST_ID(dest);
|
msg.address_hi = HT_IRQ_HIGH_DEST_ID(dest);
|
||||||
|
|
||||||
low = HT_IRQ_LOW_BASE |
|
msg.address_lo =
|
||||||
|
HT_IRQ_LOW_BASE |
|
||||||
HT_IRQ_LOW_DEST_ID(dest) |
|
HT_IRQ_LOW_DEST_ID(dest) |
|
||||||
HT_IRQ_LOW_VECTOR(vector) |
|
HT_IRQ_LOW_VECTOR(vector) |
|
||||||
((INT_DEST_MODE == 0) ?
|
((INT_DEST_MODE == 0) ?
|
||||||
|
@ -2635,8 +2696,7 @@ int arch_setup_ht_irq(unsigned int irq, struct pci_dev *dev)
|
||||||
HT_IRQ_LOW_MT_ARBITRATED) |
|
HT_IRQ_LOW_MT_ARBITRATED) |
|
||||||
HT_IRQ_LOW_IRQ_MASKED;
|
HT_IRQ_LOW_IRQ_MASKED;
|
||||||
|
|
||||||
write_ht_irq_low(irq, low);
|
write_ht_irq_msg(irq, &msg);
|
||||||
write_ht_irq_high(irq, high);
|
|
||||||
|
|
||||||
set_irq_chip_and_handler_name(irq, &ht_irq_chip,
|
set_irq_chip_and_handler_name(irq, &ht_irq_chip,
|
||||||
handle_edge_irq, "edge");
|
handle_edge_irq, "edge");
|
||||||
|
|
|
@ -361,8 +361,11 @@ no_kprobe:
|
||||||
asm volatile ( ".global kretprobe_trampoline\n"
|
asm volatile ( ".global kretprobe_trampoline\n"
|
||||||
"kretprobe_trampoline: \n"
|
"kretprobe_trampoline: \n"
|
||||||
" pushf\n"
|
" pushf\n"
|
||||||
/* skip cs, eip, orig_eax, es, ds */
|
/* skip cs, eip, orig_eax */
|
||||||
" subl $20, %esp\n"
|
" subl $12, %esp\n"
|
||||||
|
" pushl %gs\n"
|
||||||
|
" pushl %ds\n"
|
||||||
|
" pushl %es\n"
|
||||||
" pushl %eax\n"
|
" pushl %eax\n"
|
||||||
" pushl %ebp\n"
|
" pushl %ebp\n"
|
||||||
" pushl %edi\n"
|
" pushl %edi\n"
|
||||||
|
@ -373,10 +376,10 @@ no_kprobe:
|
||||||
" movl %esp, %eax\n"
|
" movl %esp, %eax\n"
|
||||||
" call trampoline_handler\n"
|
" call trampoline_handler\n"
|
||||||
/* move eflags to cs */
|
/* move eflags to cs */
|
||||||
" movl 48(%esp), %edx\n"
|
" movl 52(%esp), %edx\n"
|
||||||
" movl %edx, 44(%esp)\n"
|
" movl %edx, 48(%esp)\n"
|
||||||
/* save true return address on eflags */
|
/* save true return address on eflags */
|
||||||
" movl %eax, 48(%esp)\n"
|
" movl %eax, 52(%esp)\n"
|
||||||
" popl %ebx\n"
|
" popl %ebx\n"
|
||||||
" popl %ecx\n"
|
" popl %ecx\n"
|
||||||
" popl %edx\n"
|
" popl %edx\n"
|
||||||
|
@ -384,8 +387,8 @@ no_kprobe:
|
||||||
" popl %edi\n"
|
" popl %edi\n"
|
||||||
" popl %ebp\n"
|
" popl %ebp\n"
|
||||||
" popl %eax\n"
|
" popl %eax\n"
|
||||||
/* skip eip, orig_eax, es, ds */
|
/* skip eip, orig_eax, es, ds, gs */
|
||||||
" addl $16, %esp\n"
|
" addl $20, %esp\n"
|
||||||
" popf\n"
|
" popf\n"
|
||||||
" ret\n");
|
" ret\n");
|
||||||
}
|
}
|
||||||
|
@ -404,6 +407,10 @@ fastcall void *__kprobes trampoline_handler(struct pt_regs *regs)
|
||||||
INIT_HLIST_HEAD(&empty_rp);
|
INIT_HLIST_HEAD(&empty_rp);
|
||||||
spin_lock_irqsave(&kretprobe_lock, flags);
|
spin_lock_irqsave(&kretprobe_lock, flags);
|
||||||
head = kretprobe_inst_table_head(current);
|
head = kretprobe_inst_table_head(current);
|
||||||
|
/* fixup registers */
|
||||||
|
regs->xcs = __KERNEL_CS;
|
||||||
|
regs->eip = trampoline_address;
|
||||||
|
regs->orig_eax = 0xffffffff;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* It is possible to have multiple instances associated with a given
|
* It is possible to have multiple instances associated with a given
|
||||||
|
@ -425,6 +432,7 @@ fastcall void *__kprobes trampoline_handler(struct pt_regs *regs)
|
||||||
|
|
||||||
if (ri->rp && ri->rp->handler){
|
if (ri->rp && ri->rp->handler){
|
||||||
__get_cpu_var(current_kprobe) = &ri->rp->kp;
|
__get_cpu_var(current_kprobe) = &ri->rp->kp;
|
||||||
|
get_kprobe_ctlblk()->kprobe_status = KPROBE_HIT_ACTIVE;
|
||||||
ri->rp->handler(ri, regs);
|
ri->rp->handler(ri, regs);
|
||||||
__get_cpu_var(current_kprobe) = NULL;
|
__get_cpu_var(current_kprobe) = NULL;
|
||||||
}
|
}
|
||||||
|
|
|
@ -577,7 +577,7 @@ static void microcode_init_cpu(int cpu)
|
||||||
set_cpus_allowed(current, cpumask_of_cpu(cpu));
|
set_cpus_allowed(current, cpumask_of_cpu(cpu));
|
||||||
mutex_lock(µcode_mutex);
|
mutex_lock(µcode_mutex);
|
||||||
collect_cpu_info(cpu);
|
collect_cpu_info(cpu);
|
||||||
if (uci->valid)
|
if (uci->valid && system_state == SYSTEM_RUNNING)
|
||||||
cpu_request_microcode(cpu);
|
cpu_request_microcode(cpu);
|
||||||
mutex_unlock(µcode_mutex);
|
mutex_unlock(µcode_mutex);
|
||||||
set_cpus_allowed(current, old);
|
set_cpus_allowed(current, old);
|
||||||
|
|
|
@ -205,7 +205,7 @@ void cpu_idle(void)
|
||||||
void cpu_idle_wait(void)
|
void cpu_idle_wait(void)
|
||||||
{
|
{
|
||||||
unsigned int cpu, this_cpu = get_cpu();
|
unsigned int cpu, this_cpu = get_cpu();
|
||||||
cpumask_t map;
|
cpumask_t map, tmp = current->cpus_allowed;
|
||||||
|
|
||||||
set_cpus_allowed(current, cpumask_of_cpu(this_cpu));
|
set_cpus_allowed(current, cpumask_of_cpu(this_cpu));
|
||||||
put_cpu();
|
put_cpu();
|
||||||
|
@ -227,6 +227,8 @@ void cpu_idle_wait(void)
|
||||||
}
|
}
|
||||||
cpus_and(map, map, cpu_online_map);
|
cpus_and(map, map, cpu_online_map);
|
||||||
} while (!cpus_empty(map));
|
} while (!cpus_empty(map));
|
||||||
|
|
||||||
|
set_cpus_allowed(current, tmp);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(cpu_idle_wait);
|
EXPORT_SYMBOL_GPL(cpu_idle_wait);
|
||||||
|
|
||||||
|
|
|
@ -846,7 +846,7 @@ efi_find_max_pfn(unsigned long start, unsigned long end, void *arg)
|
||||||
static int __init
|
static int __init
|
||||||
efi_memory_present_wrapper(unsigned long start, unsigned long end, void *arg)
|
efi_memory_present_wrapper(unsigned long start, unsigned long end, void *arg)
|
||||||
{
|
{
|
||||||
memory_present(0, start, end);
|
memory_present(0, PFN_UP(start), PFN_DOWN(end));
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -129,15 +129,19 @@ static inline unsigned long print_context_stack(struct thread_info *tinfo,
|
||||||
|
|
||||||
#ifdef CONFIG_FRAME_POINTER
|
#ifdef CONFIG_FRAME_POINTER
|
||||||
while (valid_stack_ptr(tinfo, (void *)ebp)) {
|
while (valid_stack_ptr(tinfo, (void *)ebp)) {
|
||||||
|
unsigned long new_ebp;
|
||||||
addr = *(unsigned long *)(ebp + 4);
|
addr = *(unsigned long *)(ebp + 4);
|
||||||
ops->address(data, addr);
|
ops->address(data, addr);
|
||||||
/*
|
/*
|
||||||
* break out of recursive entries (such as
|
* break out of recursive entries (such as
|
||||||
* end_of_stack_stop_unwind_function):
|
* end_of_stack_stop_unwind_function). Also,
|
||||||
|
* we can never allow a frame pointer to
|
||||||
|
* move downwards!
|
||||||
*/
|
*/
|
||||||
if (ebp == *(unsigned long *)ebp)
|
new_ebp = *(unsigned long *)ebp;
|
||||||
|
if (new_ebp <= ebp)
|
||||||
break;
|
break;
|
||||||
ebp = *(unsigned long *)ebp;
|
ebp = new_ebp;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
while (valid_stack_ptr(tinfo, stack)) {
|
while (valid_stack_ptr(tinfo, stack)) {
|
||||||
|
|
|
@ -51,6 +51,7 @@ SECTIONS
|
||||||
__tracedata_end = .;
|
__tracedata_end = .;
|
||||||
|
|
||||||
/* writeable */
|
/* writeable */
|
||||||
|
. = ALIGN(4096);
|
||||||
.data : AT(ADDR(.data) - LOAD_OFFSET) { /* Data */
|
.data : AT(ADDR(.data) - LOAD_OFFSET) { /* Data */
|
||||||
*(.data)
|
*(.data)
|
||||||
CONSTRUCTORS
|
CONSTRUCTORS
|
||||||
|
@ -126,13 +127,7 @@ SECTIONS
|
||||||
__setup_end = .;
|
__setup_end = .;
|
||||||
__initcall_start = .;
|
__initcall_start = .;
|
||||||
.initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) {
|
.initcall.init : AT(ADDR(.initcall.init) - LOAD_OFFSET) {
|
||||||
*(.initcall1.init)
|
INITCALLS
|
||||||
*(.initcall2.init)
|
|
||||||
*(.initcall3.init)
|
|
||||||
*(.initcall4.init)
|
|
||||||
*(.initcall5.init)
|
|
||||||
*(.initcall6.init)
|
|
||||||
*(.initcall7.init)
|
|
||||||
}
|
}
|
||||||
__initcall_end = .;
|
__initcall_end = .;
|
||||||
__con_initcall_start = .;
|
__con_initcall_start = .;
|
||||||
|
|
|
@ -122,7 +122,7 @@ static void end_cobalt_irq(unsigned int irq)
|
||||||
spin_unlock_irqrestore(&cobalt_lock, flags);
|
spin_unlock_irqrestore(&cobalt_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct hw_interrupt_type cobalt_irq_type = {
|
static struct irq_chip cobalt_irq_type = {
|
||||||
.typename = "Cobalt-APIC",
|
.typename = "Cobalt-APIC",
|
||||||
.startup = startup_cobalt_irq,
|
.startup = startup_cobalt_irq,
|
||||||
.shutdown = disable_cobalt_irq,
|
.shutdown = disable_cobalt_irq,
|
||||||
|
@ -159,7 +159,7 @@ static void end_piix4_master_irq(unsigned int irq)
|
||||||
spin_unlock_irqrestore(&cobalt_lock, flags);
|
spin_unlock_irqrestore(&cobalt_lock, flags);
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct hw_interrupt_type piix4_master_irq_type = {
|
static struct irq_chip piix4_master_irq_type = {
|
||||||
.typename = "PIIX4-master",
|
.typename = "PIIX4-master",
|
||||||
.startup = startup_piix4_master_irq,
|
.startup = startup_piix4_master_irq,
|
||||||
.ack = ack_cobalt_irq,
|
.ack = ack_cobalt_irq,
|
||||||
|
@ -167,9 +167,8 @@ static struct hw_interrupt_type piix4_master_irq_type = {
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static struct hw_interrupt_type piix4_virtual_irq_type = {
|
static struct irq_chip piix4_virtual_irq_type = {
|
||||||
.typename = "PIIX4-virtual",
|
.typename = "PIIX4-virtual",
|
||||||
.startup = startup_8259A_irq,
|
|
||||||
.shutdown = disable_8259A_irq,
|
.shutdown = disable_8259A_irq,
|
||||||
.enable = enable_8259A_irq,
|
.enable = enable_8259A_irq,
|
||||||
.disable = disable_8259A_irq,
|
.disable = disable_8259A_irq,
|
||||||
|
|
|
@ -343,7 +343,6 @@ int pcibios_enable_device(struct pci_dev *dev, int mask)
|
||||||
|
|
||||||
void pcibios_disable_device (struct pci_dev *dev)
|
void pcibios_disable_device (struct pci_dev *dev)
|
||||||
{
|
{
|
||||||
pcibios_disable_resources(dev);
|
|
||||||
if (pcibios_disable_irq)
|
if (pcibios_disable_irq)
|
||||||
pcibios_disable_irq(dev);
|
pcibios_disable_irq(dev);
|
||||||
}
|
}
|
||||||
|
|
|
@ -342,6 +342,61 @@ DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PB1, pcie_r
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PC, pcie_rootport_aspm_quirk );
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PC, pcie_rootport_aspm_quirk );
|
||||||
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PC1, pcie_rootport_aspm_quirk );
|
DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_MCH_PC1, pcie_rootport_aspm_quirk );
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Fixup to mark boot BIOS video selected by BIOS before it changes
|
||||||
|
*
|
||||||
|
* From information provided by "Jon Smirl" <jonsmirl@gmail.com>
|
||||||
|
*
|
||||||
|
* The standard boot ROM sequence for an x86 machine uses the BIOS
|
||||||
|
* to select an initial video card for boot display. This boot video
|
||||||
|
* card will have it's BIOS copied to C0000 in system RAM.
|
||||||
|
* IORESOURCE_ROM_SHADOW is used to associate the boot video
|
||||||
|
* card with this copy. On laptops this copy has to be used since
|
||||||
|
* the main ROM may be compressed or combined with another image.
|
||||||
|
* See pci_map_rom() for use of this flag. IORESOURCE_ROM_SHADOW
|
||||||
|
* is marked here since the boot video device will be the only enabled
|
||||||
|
* video device at this point.
|
||||||
|
*/
|
||||||
|
|
||||||
|
static void __devinit pci_fixup_video(struct pci_dev *pdev)
|
||||||
|
{
|
||||||
|
struct pci_dev *bridge;
|
||||||
|
struct pci_bus *bus;
|
||||||
|
u16 config;
|
||||||
|
|
||||||
|
if ((pdev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
|
||||||
|
return;
|
||||||
|
|
||||||
|
/* Is VGA routed to us? */
|
||||||
|
bus = pdev->bus;
|
||||||
|
while (bus) {
|
||||||
|
bridge = bus->self;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* From information provided by
|
||||||
|
* "David Miller" <davem@davemloft.net>
|
||||||
|
* The bridge control register is valid for PCI header
|
||||||
|
* type BRIDGE, or CARDBUS. Host to PCI controllers use
|
||||||
|
* PCI header type NORMAL.
|
||||||
|
*/
|
||||||
|
if (bridge
|
||||||
|
&&((bridge->hdr_type == PCI_HEADER_TYPE_BRIDGE)
|
||||||
|
||(bridge->hdr_type == PCI_HEADER_TYPE_CARDBUS))) {
|
||||||
|
pci_read_config_word(bridge, PCI_BRIDGE_CONTROL,
|
||||||
|
&config);
|
||||||
|
if (!(config & PCI_BRIDGE_CTL_VGA))
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
bus = bus->parent;
|
||||||
|
}
|
||||||
|
pci_read_config_word(pdev, PCI_COMMAND, &config);
|
||||||
|
if (config & (PCI_COMMAND_IO | PCI_COMMAND_MEMORY)) {
|
||||||
|
pdev->resource[PCI_ROM_RESOURCE].flags |= IORESOURCE_ROM_SHADOW;
|
||||||
|
printk(KERN_DEBUG "Boot video device is %s\n", pci_name(pdev));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
DECLARE_PCI_FIXUP_HEADER(PCI_ANY_ID, PCI_ANY_ID, pci_fixup_video);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Some Toshiba laptops need extra code to enable their TI TSB43AB22/A.
|
* Some Toshiba laptops need extra code to enable their TI TSB43AB22/A.
|
||||||
*
|
*
|
||||||
|
|
|
@ -242,15 +242,6 @@ int pcibios_enable_resources(struct pci_dev *dev, int mask)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void pcibios_disable_resources(struct pci_dev *dev)
|
|
||||||
{
|
|
||||||
u16 cmd;
|
|
||||||
|
|
||||||
pci_read_config_word(dev, PCI_COMMAND, &cmd);
|
|
||||||
cmd &= ~(PCI_COMMAND_IO | PCI_COMMAND_MEMORY);
|
|
||||||
pci_write_config_word(dev, PCI_COMMAND, cmd);
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* If we set up a device for bus mastering, we need to check the latency
|
* If we set up a device for bus mastering, we need to check the latency
|
||||||
* timer as certain crappy BIOSes forget to set it properly.
|
* timer as certain crappy BIOSes forget to set it properly.
|
||||||
|
|
|
@ -255,13 +255,13 @@ static int pirq_via_set(struct pci_dev *router, struct pci_dev *dev, int pirq, i
|
||||||
*/
|
*/
|
||||||
static int pirq_via586_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
|
static int pirq_via586_get(struct pci_dev *router, struct pci_dev *dev, int pirq)
|
||||||
{
|
{
|
||||||
static const unsigned int pirqmap[4] = { 3, 2, 5, 1 };
|
static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
|
||||||
return read_config_nybble(router, 0x55, pirqmap[pirq-1]);
|
return read_config_nybble(router, 0x55, pirqmap[pirq-1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int pirq_via586_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
|
static int pirq_via586_set(struct pci_dev *router, struct pci_dev *dev, int pirq, int irq)
|
||||||
{
|
{
|
||||||
static const unsigned int pirqmap[4] = { 3, 2, 5, 1 };
|
static const unsigned int pirqmap[5] = { 3, 2, 5, 1, 1 };
|
||||||
write_config_nybble(router, 0x55, pirqmap[pirq-1], irq);
|
write_config_nybble(router, 0x55, pirqmap[pirq-1], irq);
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
|
@ -154,38 +154,6 @@ static struct pci_raw_ops pci_mmcfg = {
|
||||||
.write = pci_mmcfg_write,
|
.write = pci_mmcfg_write,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
static __init void pci_mmcfg_insert_resources(void)
|
|
||||||
{
|
|
||||||
#define PCI_MMCFG_RESOURCE_NAME_LEN 19
|
|
||||||
int i;
|
|
||||||
struct resource *res;
|
|
||||||
char *names;
|
|
||||||
unsigned num_buses;
|
|
||||||
|
|
||||||
res = kcalloc(PCI_MMCFG_RESOURCE_NAME_LEN + sizeof(*res),
|
|
||||||
pci_mmcfg_config_num, GFP_KERNEL);
|
|
||||||
|
|
||||||
if (!res) {
|
|
||||||
printk(KERN_ERR "PCI: Unable to allocate MMCONFIG resources\n");
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
names = (void *)&res[pci_mmcfg_config_num];
|
|
||||||
for (i = 0; i < pci_mmcfg_config_num; i++, res++) {
|
|
||||||
num_buses = pci_mmcfg_config[i].end_bus_number -
|
|
||||||
pci_mmcfg_config[i].start_bus_number + 1;
|
|
||||||
res->name = names;
|
|
||||||
snprintf(names, PCI_MMCFG_RESOURCE_NAME_LEN, "PCI MMCONFIG %u",
|
|
||||||
pci_mmcfg_config[i].pci_segment_group_number);
|
|
||||||
res->start = pci_mmcfg_config[i].base_address;
|
|
||||||
res->end = res->start + (num_buses << 20) - 1;
|
|
||||||
res->flags = IORESOURCE_MEM | IORESOURCE_BUSY;
|
|
||||||
insert_resource(&iomem_resource, res);
|
|
||||||
names += PCI_MMCFG_RESOURCE_NAME_LEN;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
/* K8 systems have some devices (typically in the builtin northbridge)
|
/* K8 systems have some devices (typically in the builtin northbridge)
|
||||||
that are only accessible using type1
|
that are only accessible using type1
|
||||||
Normally this can be expressed in the MCFG by not listing them
|
Normally this can be expressed in the MCFG by not listing them
|
||||||
|
@ -222,8 +190,6 @@ static __init void unreachable_devices(void)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
void __init pci_mmcfg_init(int type)
|
void __init pci_mmcfg_init(int type)
|
||||||
{
|
{
|
||||||
if ((pci_probe & PCI_PROBE_MMCONF) == 0)
|
if ((pci_probe & PCI_PROBE_MMCONF) == 0)
|
||||||
|
@ -251,5 +217,4 @@ void __init pci_mmcfg_init(int type)
|
||||||
pci_probe = (pci_probe & ~PCI_PROBE_MASK) | PCI_PROBE_MMCONF;
|
pci_probe = (pci_probe & ~PCI_PROBE_MASK) | PCI_PROBE_MMCONF;
|
||||||
|
|
||||||
unreachable_devices();
|
unreachable_devices();
|
||||||
pci_mmcfg_insert_resources();
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -43,7 +43,6 @@ extern unsigned int pcibios_max_latency;
|
||||||
|
|
||||||
void pcibios_resource_survey(void);
|
void pcibios_resource_survey(void);
|
||||||
int pcibios_enable_resources(struct pci_dev *, int);
|
int pcibios_enable_resources(struct pci_dev *, int);
|
||||||
void pcibios_disable_resources(struct pci_dev *);
|
|
||||||
|
|
||||||
/* pci-pc.c */
|
/* pci-pc.c */
|
||||||
|
|
||||||
|
|
|
@ -341,6 +341,7 @@ config NUMA
|
||||||
bool "NUMA support"
|
bool "NUMA support"
|
||||||
depends on !IA64_HP_SIM && !FLATMEM
|
depends on !IA64_HP_SIM && !FLATMEM
|
||||||
default y if IA64_SGI_SN2
|
default y if IA64_SGI_SN2
|
||||||
|
select ACPI_NUMA if ACPI
|
||||||
help
|
help
|
||||||
Say Y to compile the kernel to support NUMA (Non-Uniform Memory
|
Say Y to compile the kernel to support NUMA (Non-Uniform Memory
|
||||||
Access). This option is for configuring high-end multiprocessor
|
Access). This option is for configuring high-end multiprocessor
|
||||||
|
@ -483,6 +484,15 @@ source "net/Kconfig"
|
||||||
|
|
||||||
source "drivers/Kconfig"
|
source "drivers/Kconfig"
|
||||||
|
|
||||||
|
config MSPEC
|
||||||
|
tristate "Memory special operations driver"
|
||||||
|
depends on IA64
|
||||||
|
select IA64_UNCACHED_ALLOCATOR
|
||||||
|
help
|
||||||
|
If you have an ia64 and you want to enable memory special
|
||||||
|
operations support (formerly known as fetchop), say Y here,
|
||||||
|
otherwise say N.
|
||||||
|
|
||||||
source "fs/Kconfig"
|
source "fs/Kconfig"
|
||||||
|
|
||||||
source "lib/Kconfig"
|
source "lib/Kconfig"
|
||||||
|
|
|
@ -13,8 +13,8 @@ config HP_SIMSERIAL_CONSOLE
|
||||||
depends on HP_SIMSERIAL
|
depends on HP_SIMSERIAL
|
||||||
|
|
||||||
config HP_SIMSCSI
|
config HP_SIMSCSI
|
||||||
tristate "Simulated SCSI disk"
|
bool "Simulated SCSI disk"
|
||||||
depends on SCSI
|
depends on SCSI=y
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
|
||||||
|
|
|
@ -27,7 +27,7 @@ hpsim_set_affinity_noop (unsigned int a, cpumask_t b)
|
||||||
}
|
}
|
||||||
|
|
||||||
static struct hw_interrupt_type irq_type_hp_sim = {
|
static struct hw_interrupt_type irq_type_hp_sim = {
|
||||||
.typename = "hpsim",
|
.name = "hpsim",
|
||||||
.startup = hpsim_irq_startup,
|
.startup = hpsim_irq_startup,
|
||||||
.shutdown = hpsim_irq_noop,
|
.shutdown = hpsim_irq_noop,
|
||||||
.enable = hpsim_irq_noop,
|
.enable = hpsim_irq_noop,
|
||||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue