Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6
* master.kernel.org:/pub/scm/linux/kernel/git/lethal/sh-2.6: (68 commits) sh: sh-rtc support for SH7709. sh: Revert __xdiv64_32 size change. sh: Update r7785rp defconfig. sh: Export div symbols for GCC 4.2 and ST GCC. sh: fix race in parallel out-of-tree build sh: Kill off dead mach.c for hp6xx. sh: hd64461.h cleanup and added comments. sh: Update the alignment when 4K stacks are used. sh: Add a .bss.page_aligned section for 4K stacks. sh: Don't let SH-4A clobber SH-4 CFLAGS. sh: Add parport stub for SuperIO ports. sh: Drop -Wa,-dsp for DSP tuning. sh: Update dreamcast defconfig. fb: pvr2fb: A few more __devinit annotations for PCI. fb: pvr2fb: Fix up section mismatch warnings. sh: Select IPR-IRQ for SH7091. sh: Correct __xdiv64_32/div64_32 return value size. sh: Fix timer-tmu build for SH-3. sh: Add cpu and mach links to CLEAN_FILES. sh: Preliminary support for the SH-X3 CPU. ...
This commit is contained in:
commit
b91cba52e9
529
arch/sh/Kconfig
529
arch/sh/Kconfig
|
@ -55,8 +55,21 @@ config GENERIC_TIME
|
|||
config GENERIC_CLOCKEVENTS
|
||||
def_bool n
|
||||
|
||||
config SYS_SUPPORTS_PM
|
||||
bool
|
||||
|
||||
config SYS_SUPPORTS_APM_EMULATION
|
||||
bool
|
||||
select SYS_SUPPORTS_PM
|
||||
|
||||
config SYS_SUPPORTS_SMP
|
||||
bool
|
||||
|
||||
config SYS_SUPPORTS_NUMA
|
||||
bool
|
||||
|
||||
config SYS_SUPPORTS_PCI
|
||||
bool
|
||||
|
||||
config ARCH_MAY_HAVE_PC_FDC
|
||||
bool
|
||||
|
@ -81,257 +94,8 @@ source "init/Kconfig"
|
|||
|
||||
menu "System type"
|
||||
|
||||
config SOLUTION_ENGINE
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "SuperH system type"
|
||||
default SH_UNKNOWN
|
||||
|
||||
config SH_SOLUTION_ENGINE
|
||||
bool "SolutionEngine"
|
||||
select SOLUTION_ENGINE
|
||||
help
|
||||
Select SolutionEngine if configuring for a Hitachi SH7709
|
||||
or SH7750 evaluation board.
|
||||
|
||||
config SH_7722_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7722"
|
||||
select SOLUTION_ENGINE
|
||||
select CPU_SUBTYPE_SH7722
|
||||
help
|
||||
Select 7722 SolutionEngine if configuring for a Hitachi SH772
|
||||
evaluation board.
|
||||
|
||||
config SH_7751_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7751"
|
||||
select SOLUTION_ENGINE
|
||||
select CPU_SUBTYPE_SH7751
|
||||
help
|
||||
Select 7751 SolutionEngine if configuring for a Hitachi SH7751
|
||||
evaluation board.
|
||||
|
||||
config SH_7780_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7780"
|
||||
select SOLUTION_ENGINE
|
||||
select CPU_SUBTYPE_SH7780
|
||||
help
|
||||
Select 7780 SolutionEngine if configuring for a Renesas SH7780
|
||||
evaluation board.
|
||||
|
||||
config SH_7300_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7300"
|
||||
select SOLUTION_ENGINE
|
||||
select CPU_SUBTYPE_SH7300
|
||||
help
|
||||
Select 7300 SolutionEngine if configuring for a Hitachi
|
||||
SH7300(SH-Mobile V) evaluation board.
|
||||
|
||||
config SH_7343_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7343"
|
||||
select SOLUTION_ENGINE
|
||||
select CPU_SUBTYPE_SH7343
|
||||
help
|
||||
Select 7343 SolutionEngine if configuring for a Hitachi
|
||||
SH7343 (SH-Mobile 3AS) evaluation board.
|
||||
|
||||
config SH_73180_SOLUTION_ENGINE
|
||||
bool "SolutionEngine73180"
|
||||
select SOLUTION_ENGINE
|
||||
select CPU_SUBTYPE_SH73180
|
||||
help
|
||||
Select 73180 SolutionEngine if configuring for a Hitachi
|
||||
SH73180(SH-Mobile 3) evaluation board.
|
||||
|
||||
config SH_7751_SYSTEMH
|
||||
bool "SystemH7751R"
|
||||
select CPU_SUBTYPE_SH7751R
|
||||
help
|
||||
Select SystemH if you are configuring for a Renesas SystemH
|
||||
7751R evaluation board.
|
||||
|
||||
config SH_HP6XX
|
||||
bool "HP6XX"
|
||||
select SYS_SUPPORTS_APM_EMULATION
|
||||
help
|
||||
Select HP6XX if configuring for a HP jornada HP6xx.
|
||||
More information (hardware only) at
|
||||
<http://www.hp.com/jornada/>.
|
||||
|
||||
config SH_SATURN
|
||||
bool "Saturn"
|
||||
select CPU_SUBTYPE_SH7604
|
||||
help
|
||||
Select Saturn if configuring for a SEGA Saturn.
|
||||
|
||||
config SH_DREAMCAST
|
||||
bool "Dreamcast"
|
||||
select CPU_SUBTYPE_SH7091
|
||||
help
|
||||
Select Dreamcast if configuring for a SEGA Dreamcast.
|
||||
More information at
|
||||
<http://www.m17n.org/linux-sh/dreamcast/>. There is a
|
||||
Dreamcast project is at <http://linuxdc.sourceforge.net/>.
|
||||
|
||||
config SH_MPC1211
|
||||
bool "Interface MPC1211"
|
||||
help
|
||||
CTP/PCI-SH02 is a CPU module computer that is produced
|
||||
by Interface Corporation.
|
||||
More information at <http://www.interface.co.jp>
|
||||
|
||||
config SH_SH03
|
||||
bool "Interface CTP/PCI-SH03"
|
||||
help
|
||||
CTP/PCI-SH03 is a CPU module computer that is produced
|
||||
by Interface Corporation.
|
||||
More information at <http://www.interface.co.jp>
|
||||
|
||||
config SH_SECUREEDGE5410
|
||||
bool "SecureEdge5410"
|
||||
select CPU_SUBTYPE_SH7751R
|
||||
help
|
||||
Select SecureEdge5410 if configuring for a SnapGear SH board.
|
||||
This includes both the OEM SecureEdge products as well as the
|
||||
SME product line.
|
||||
|
||||
config SH_HS7751RVOIP
|
||||
bool "HS7751RVOIP"
|
||||
select CPU_SUBTYPE_SH7751R
|
||||
help
|
||||
Select HS7751RVOIP if configuring for a Renesas Technology
|
||||
Sales VoIP board.
|
||||
|
||||
config SH_7710VOIPGW
|
||||
bool "SH7710-VOIP-GW"
|
||||
select CPU_SUBTYPE_SH7710
|
||||
help
|
||||
Select this option to build a kernel for the SH7710 based
|
||||
VOIP GW.
|
||||
|
||||
config SH_RTS7751R2D
|
||||
bool "RTS7751R2D"
|
||||
select CPU_SUBTYPE_SH7751R
|
||||
help
|
||||
Select RTS7751R2D if configuring for a Renesas Technology
|
||||
Sales SH-Graphics board.
|
||||
|
||||
config SH_HIGHLANDER
|
||||
bool "Highlander"
|
||||
|
||||
config SH_EDOSK7705
|
||||
bool "EDOSK7705"
|
||||
select CPU_SUBTYPE_SH7705
|
||||
|
||||
config SH_SH4202_MICRODEV
|
||||
bool "SH4-202 MicroDev"
|
||||
select CPU_SUBTYPE_SH4_202
|
||||
help
|
||||
Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
|
||||
with an SH4-202 CPU.
|
||||
|
||||
config SH_LANDISK
|
||||
bool "LANDISK"
|
||||
select CPU_SUBTYPE_SH7751R
|
||||
help
|
||||
I-O DATA DEVICE, INC. "LANDISK Series" support.
|
||||
|
||||
config SH_TITAN
|
||||
bool "TITAN"
|
||||
select CPU_SUBTYPE_SH7751R
|
||||
help
|
||||
Select Titan if you are configuring for a Nimble Microsystems
|
||||
NetEngine NP51R.
|
||||
|
||||
config SH_SHMIN
|
||||
bool "SHMIN"
|
||||
select CPU_SUBTYPE_SH7706
|
||||
help
|
||||
Select SHMIN if configuring for the SHMIN board.
|
||||
|
||||
config SH_7206_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7206"
|
||||
select CPU_SUBTYPE_SH7206
|
||||
help
|
||||
Select 7206 SolutionEngine if configuring for a Hitachi SH7206
|
||||
evaluation board.
|
||||
|
||||
config SH_7619_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7619"
|
||||
select CPU_SUBTYPE_SH7619
|
||||
help
|
||||
Select 7619 SolutionEngine if configuring for a Hitachi SH7619
|
||||
evaluation board.
|
||||
|
||||
config SH_LBOX_RE2
|
||||
bool "L-BOX RE2"
|
||||
select CPU_SUBTYPE_SH7751R
|
||||
help
|
||||
Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
|
||||
|
||||
config SH_UNKNOWN
|
||||
bool "BareCPU"
|
||||
help
|
||||
"Bare CPU" aka "unknown" means an SH-based system which is not one
|
||||
of the specific ones mentioned above, which means you need to enter
|
||||
all sorts of stuff like CONFIG_MEMORY_START because the config
|
||||
system doesn't already know what it is. You get a machine vector
|
||||
without any platform-specific code in it, so things like the RTC may
|
||||
not work.
|
||||
|
||||
This option is for the early stages of porting to a new machine.
|
||||
|
||||
endchoice
|
||||
|
||||
source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
|
||||
source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
|
||||
source "arch/sh/boards/renesas/r7780rp/Kconfig"
|
||||
|
||||
source "arch/sh/mm/Kconfig"
|
||||
|
||||
config CF_ENABLER
|
||||
bool "Compact Flash Enabler support"
|
||||
depends on SH_SOLUTION_ENGINE || SH_UNKNOWN || SH_SH03
|
||||
---help---
|
||||
Compact Flash is a small, removable mass storage device introduced
|
||||
in 1994 originally as a PCMCIA device. If you say `Y' here, you
|
||||
compile in support for Compact Flash devices directly connected to
|
||||
a SuperH processor. A Compact Flash FAQ is available at
|
||||
<http://www.compactflash.org/faqs/faq.htm>.
|
||||
|
||||
If your board has "Directly Connected" CompactFlash at area 5 or 6,
|
||||
you may want to enable this option. Then, you can use CF as
|
||||
primary IDE drive (only tested for SanDisk).
|
||||
|
||||
If in doubt, select 'N'.
|
||||
|
||||
choice
|
||||
prompt "Compact Flash Connection Area"
|
||||
depends on CF_ENABLER
|
||||
default CF_AREA6
|
||||
|
||||
config CF_AREA5
|
||||
bool "Area5"
|
||||
help
|
||||
If your board has "Directly Connected" CompactFlash, You should
|
||||
select the area where your CF is connected to.
|
||||
|
||||
- "Area5" if CompactFlash is connected to Area 5 (0x14000000)
|
||||
- "Area6" if it is connected to Area 6 (0x18000000)
|
||||
|
||||
"Area6" will work for most boards.
|
||||
|
||||
config CF_AREA6
|
||||
bool "Area6"
|
||||
|
||||
endchoice
|
||||
|
||||
config CF_BASE_ADDR
|
||||
hex
|
||||
depends on CF_ENABLER
|
||||
default "0xb8000000" if CF_AREA6
|
||||
default "0xb4000000" if CF_AREA5
|
||||
|
||||
menu "Processor features"
|
||||
|
||||
choice
|
||||
|
@ -351,7 +115,7 @@ endchoice
|
|||
|
||||
config SH_FPU
|
||||
bool "FPU support"
|
||||
depends on !CPU_SH3
|
||||
depends on CPU_SH4
|
||||
default y
|
||||
help
|
||||
Selecting this option will enable support for SH processors that
|
||||
|
@ -437,6 +201,209 @@ config CPU_HAS_PTEA
|
|||
|
||||
endmenu
|
||||
|
||||
menu "Board support"
|
||||
|
||||
config SOLUTION_ENGINE
|
||||
bool
|
||||
|
||||
config SH_SOLUTION_ENGINE
|
||||
bool "SolutionEngine"
|
||||
select SOLUTION_ENGINE
|
||||
depends on CPU_SUBTYPE_SH7709 || CPU_SUBTYPE_SH7750
|
||||
help
|
||||
Select SolutionEngine if configuring for a Hitachi SH7709
|
||||
or SH7750 evaluation board.
|
||||
|
||||
config SH_7206_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7206"
|
||||
select SOLUTION_ENGINE
|
||||
depends on CPU_SUBTYPE_SH7206
|
||||
help
|
||||
Select 7206 SolutionEngine if configuring for a Hitachi SH7206
|
||||
evaluation board.
|
||||
|
||||
config SH_7619_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7619"
|
||||
select SOLUTION_ENGINE
|
||||
depends on CPU_SUBTYPE_SH7619
|
||||
help
|
||||
Select 7619 SolutionEngine if configuring for a Hitachi SH7619
|
||||
evaluation board.
|
||||
|
||||
config SH_7722_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7722"
|
||||
select SOLUTION_ENGINE
|
||||
depends on CPU_SUBTYPE_SH7722
|
||||
help
|
||||
Select 7722 SolutionEngine if configuring for a Hitachi SH772
|
||||
evaluation board.
|
||||
|
||||
config SH_7751_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7751"
|
||||
select SOLUTION_ENGINE
|
||||
depends on CPU_SUBTYPE_SH7751
|
||||
help
|
||||
Select 7751 SolutionEngine if configuring for a Hitachi SH7751
|
||||
evaluation board.
|
||||
|
||||
config SH_7780_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7780"
|
||||
select SOLUTION_ENGINE
|
||||
select SYS_SUPPORTS_PCI
|
||||
depends on CPU_SUBTYPE_SH7780
|
||||
help
|
||||
Select 7780 SolutionEngine if configuring for a Renesas SH7780
|
||||
evaluation board.
|
||||
|
||||
config SH_7300_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7300"
|
||||
select SOLUTION_ENGINE
|
||||
depends on CPU_SUBTYPE_SH7300
|
||||
help
|
||||
Select 7300 SolutionEngine if configuring for a Hitachi
|
||||
SH7300(SH-Mobile V) evaluation board.
|
||||
|
||||
config SH_7343_SOLUTION_ENGINE
|
||||
bool "SolutionEngine7343"
|
||||
select SOLUTION_ENGINE
|
||||
depends on CPU_SUBTYPE_SH7343
|
||||
help
|
||||
Select 7343 SolutionEngine if configuring for a Hitachi
|
||||
SH7343 (SH-Mobile 3AS) evaluation board.
|
||||
|
||||
config SH_73180_SOLUTION_ENGINE
|
||||
bool "SolutionEngine73180"
|
||||
select SOLUTION_ENGINE
|
||||
depends on CPU_SUBTYPE_SH73180
|
||||
help
|
||||
Select 73180 SolutionEngine if configuring for a Hitachi
|
||||
SH73180(SH-Mobile 3) evaluation board.
|
||||
|
||||
config SH_7751_SYSTEMH
|
||||
bool "SystemH7751R"
|
||||
depends on CPU_SUBTYPE_SH7751R
|
||||
help
|
||||
Select SystemH if you are configuring for a Renesas SystemH
|
||||
7751R evaluation board.
|
||||
|
||||
config SH_HP6XX
|
||||
bool "HP6XX"
|
||||
select SYS_SUPPORTS_APM_EMULATION
|
||||
select HD6446X_SERIES
|
||||
depends on CPU_SUBTYPE_SH7709
|
||||
help
|
||||
Select HP6XX if configuring for a HP jornada HP6xx.
|
||||
More information (hardware only) at
|
||||
<http://www.hp.com/jornada/>.
|
||||
|
||||
config SH_DREAMCAST
|
||||
bool "Dreamcast"
|
||||
select SYS_SUPPORTS_PCI
|
||||
depends on CPU_SUBTYPE_SH7091
|
||||
help
|
||||
Select Dreamcast if configuring for a SEGA Dreamcast.
|
||||
More information at
|
||||
<http://www.m17n.org/linux-sh/dreamcast/>. There is a
|
||||
Dreamcast project is at <http://linuxdc.sourceforge.net/>.
|
||||
|
||||
config SH_MPC1211
|
||||
bool "Interface MPC1211"
|
||||
depends on CPU_SUBTYPE_SH7751 && BROKEN
|
||||
help
|
||||
CTP/PCI-SH02 is a CPU module computer that is produced
|
||||
by Interface Corporation.
|
||||
More information at <http://www.interface.co.jp>
|
||||
|
||||
config SH_SH03
|
||||
bool "Interface CTP/PCI-SH03"
|
||||
depends on CPU_SUBTYPE_SH7751 && BROKEN
|
||||
select SYS_SUPPORTS_PCI
|
||||
help
|
||||
CTP/PCI-SH03 is a CPU module computer that is produced
|
||||
by Interface Corporation.
|
||||
More information at <http://www.interface.co.jp>
|
||||
|
||||
config SH_SECUREEDGE5410
|
||||
bool "SecureEdge5410"
|
||||
depends on CPU_SUBTYPE_SH7751R
|
||||
select SYS_SUPPORTS_PCI
|
||||
help
|
||||
Select SecureEdge5410 if configuring for a SnapGear SH board.
|
||||
This includes both the OEM SecureEdge products as well as the
|
||||
SME product line.
|
||||
|
||||
config SH_HS7751RVOIP
|
||||
bool "HS7751RVOIP"
|
||||
depends on CPU_SUBTYPE_SH7751R
|
||||
help
|
||||
Select HS7751RVOIP if configuring for a Renesas Technology
|
||||
Sales VoIP board.
|
||||
|
||||
config SH_7710VOIPGW
|
||||
bool "SH7710-VOIP-GW"
|
||||
depends on CPU_SUBTYPE_SH7710
|
||||
help
|
||||
Select this option to build a kernel for the SH7710 based
|
||||
VOIP GW.
|
||||
|
||||
config SH_RTS7751R2D
|
||||
bool "RTS7751R2D"
|
||||
depends on CPU_SUBTYPE_SH7751R
|
||||
select SYS_SUPPORTS_PCI
|
||||
help
|
||||
Select RTS7751R2D if configuring for a Renesas Technology
|
||||
Sales SH-Graphics board.
|
||||
|
||||
config SH_HIGHLANDER
|
||||
bool "Highlander"
|
||||
depends on CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785
|
||||
select SYS_SUPPORTS_PCI
|
||||
|
||||
config SH_EDOSK7705
|
||||
bool "EDOSK7705"
|
||||
depends on CPU_SUBTYPE_SH7705
|
||||
|
||||
config SH_SH4202_MICRODEV
|
||||
bool "SH4-202 MicroDev"
|
||||
depends on CPU_SUBTYPE_SH4_202
|
||||
help
|
||||
Select SH4-202 MicroDev if configuring for a SuperH MicroDev board
|
||||
with an SH4-202 CPU.
|
||||
|
||||
config SH_LANDISK
|
||||
bool "LANDISK"
|
||||
depends on CPU_SUBTYPE_SH7751R
|
||||
select SYS_SUPPORTS_PCI
|
||||
help
|
||||
I-O DATA DEVICE, INC. "LANDISK Series" support.
|
||||
|
||||
config SH_TITAN
|
||||
bool "TITAN"
|
||||
depends on CPU_SUBTYPE_SH7751R
|
||||
select SYS_SUPPORTS_PCI
|
||||
help
|
||||
Select Titan if you are configuring for a Nimble Microsystems
|
||||
NetEngine NP51R.
|
||||
|
||||
config SH_SHMIN
|
||||
bool "SHMIN"
|
||||
depends on CPU_SUBTYPE_SH7706
|
||||
help
|
||||
Select SHMIN if configuring for the SHMIN board.
|
||||
|
||||
config SH_LBOX_RE2
|
||||
bool "L-BOX RE2"
|
||||
depends on CPU_SUBTYPE_SH7751R
|
||||
select SYS_SUPPORTS_PCI
|
||||
help
|
||||
Select L-BOX RE2 if configuring for the NTT COMWARE L-BOX RE2.
|
||||
|
||||
endmenu
|
||||
|
||||
source "arch/sh/boards/renesas/hs7751rvoip/Kconfig"
|
||||
source "arch/sh/boards/renesas/rts7751r2d/Kconfig"
|
||||
source "arch/sh/boards/renesas/r7780rp/Kconfig"
|
||||
|
||||
menu "Timer and clock configuration"
|
||||
|
||||
config SH_TMU
|
||||
|
@ -473,13 +440,13 @@ config SH_PCLK_FREQ
|
|||
int "Peripheral clock frequency (in Hz)"
|
||||
default "27000000" if CPU_SUBTYPE_SH73180 || CPU_SUBTYPE_SH7343
|
||||
default "31250000" if CPU_SUBTYPE_SH7619
|
||||
default "32000000" if CPU_SUBTYPE_SH7722
|
||||
default "33333333" if CPU_SUBTYPE_SH7300 || CPU_SUBTYPE_SH7770 || \
|
||||
CPU_SUBTYPE_SH7760 || CPU_SUBTYPE_SH7705 || \
|
||||
CPU_SUBTYPE_SH7206
|
||||
default "50000000" if CPU_SUBTYPE_SH7750 || CPU_SUBTYPE_SH7780 || \
|
||||
CPU_SUBTYPE_SH7785
|
||||
default "60000000" if CPU_SUBTYPE_SH7751
|
||||
default "60000000" if CPU_SUBTYPE_SH7751 || CPU_SUBTYPE_SH7751R
|
||||
default "66000000" if CPU_SUBTYPE_SH4_202
|
||||
default "50000000"
|
||||
help
|
||||
This option is used to specify the peripheral clock frequency.
|
||||
This is necessary for determining the reference clock value on
|
||||
|
@ -487,8 +454,10 @@ config SH_PCLK_FREQ
|
|||
|
||||
config SH_CLK_MD
|
||||
int "CPU Mode Pin Setting"
|
||||
default 0
|
||||
depends on CPU_SUBTYPE_SH7619 || CPU_SUBTYPE_SH7206
|
||||
default 6 if CPU_SUBTYPE_SH7206
|
||||
default 5 if CPU_SUBTYPE_SH7619
|
||||
default 0
|
||||
help
|
||||
MD2 - MD0 pin setting.
|
||||
|
||||
|
@ -560,6 +529,7 @@ config CRASH_DUMP
|
|||
|
||||
config SMP
|
||||
bool "Symmetric multi-processing support"
|
||||
depends on SYS_SUPPORTS_SMP
|
||||
---help---
|
||||
This enables support for systems with more than one CPU. If you have
|
||||
a system with only one CPU, like most personal computers, say N. If
|
||||
|
@ -584,6 +554,7 @@ config NR_CPUS
|
|||
int "Maximum number of CPUs (2-32)"
|
||||
range 2 32
|
||||
depends on SMP
|
||||
default "4" if CPU_SHX3
|
||||
default "2"
|
||||
help
|
||||
This allows you to specify the maximum number of CPUs which this
|
||||
|
@ -623,6 +594,7 @@ config BOOT_LINK_OFFSET
|
|||
|
||||
config UBC_WAKEUP
|
||||
bool "Wakeup UBC on startup"
|
||||
depends on CPU_SH4
|
||||
help
|
||||
Selecting this option will wakeup the User Break Controller (UBC) on
|
||||
startup. Although the UBC is left in an awake state when the processor
|
||||
|
@ -651,8 +623,8 @@ menu "Bus options"
|
|||
# we're not using PCMCIA, so we make it dependent on
|
||||
# PCMCIA outright. -- PFM.
|
||||
config ISA
|
||||
bool
|
||||
default y if PCMCIA
|
||||
def_bool y
|
||||
depends on PCMCIA && HD6446X_SERIES
|
||||
help
|
||||
Find out whether you have ISA slots on your motherboard. ISA is the
|
||||
name of a bus system, i.e. the way the CPU talks to the other stuff
|
||||
|
@ -690,6 +662,49 @@ config SUPERHYWAY
|
|||
tristate "SuperHyway Bus support"
|
||||
depends on CPU_SUBTYPE_SH4_202
|
||||
|
||||
config CF_ENABLER
|
||||
bool "Compact Flash Enabler support"
|
||||
depends on SOLUTION_ENGINE || SH_SH03
|
||||
---help---
|
||||
Compact Flash is a small, removable mass storage device introduced
|
||||
in 1994 originally as a PCMCIA device. If you say `Y' here, you
|
||||
compile in support for Compact Flash devices directly connected to
|
||||
a SuperH processor. A Compact Flash FAQ is available at
|
||||
<http://www.compactflash.org/faqs/faq.htm>.
|
||||
|
||||
If your board has "Directly Connected" CompactFlash at area 5 or 6,
|
||||
you may want to enable this option. Then, you can use CF as
|
||||
primary IDE drive (only tested for SanDisk).
|
||||
|
||||
If in doubt, select 'N'.
|
||||
|
||||
choice
|
||||
prompt "Compact Flash Connection Area"
|
||||
depends on CF_ENABLER
|
||||
default CF_AREA6
|
||||
|
||||
config CF_AREA5
|
||||
bool "Area5"
|
||||
help
|
||||
If your board has "Directly Connected" CompactFlash, You should
|
||||
select the area where your CF is connected to.
|
||||
|
||||
- "Area5" if CompactFlash is connected to Area 5 (0x14000000)
|
||||
- "Area6" if it is connected to Area 6 (0x18000000)
|
||||
|
||||
"Area6" will work for most boards.
|
||||
|
||||
config CF_AREA6
|
||||
bool "Area6"
|
||||
|
||||
endchoice
|
||||
|
||||
config CF_BASE_ADDR
|
||||
hex
|
||||
depends on CF_ENABLER
|
||||
default "0xb8000000" if CF_AREA6
|
||||
default "0xb4000000" if CF_AREA5
|
||||
|
||||
source "arch/sh/drivers/pci/Kconfig"
|
||||
|
||||
source "drivers/pci/Kconfig"
|
||||
|
@ -707,7 +722,7 @@ source "fs/Kconfig.binfmt"
|
|||
endmenu
|
||||
|
||||
menu "Power management options (EXPERIMENTAL)"
|
||||
depends on EXPERIMENTAL
|
||||
depends on EXPERIMENTAL && SYS_SUPPORTS_PM
|
||||
|
||||
source kernel/power/Kconfig
|
||||
|
||||
|
|
|
@ -52,6 +52,10 @@ config EARLY_PRINTK
|
|||
select both the EARLY_SCIF_CONSOLE and SH_STANDARD_BIOS, using
|
||||
the kernel command line option to toggle back and forth.
|
||||
|
||||
config DEBUG_BOOTMEM
|
||||
depends on DEBUG_KERNEL
|
||||
bool "Debug BOOTMEM initialization"
|
||||
|
||||
config DEBUG_STACKOVERFLOW
|
||||
bool "Check for stack overflows"
|
||||
depends on DEBUG_KERNEL
|
||||
|
@ -82,6 +86,7 @@ config SH_KGDB
|
|||
bool "Include KGDB kernel debugger"
|
||||
select FRAME_POINTER
|
||||
select DEBUG_INFO
|
||||
depends on CPU_SH3 || CPU_SH4
|
||||
help
|
||||
Include in-kernel hooks for kgdb, the Linux kernel source level
|
||||
debugger. See <http://kgdb.sourceforge.net/> for more information.
|
||||
|
|
102
arch/sh/Makefile
102
arch/sh/Makefile
|
@ -34,20 +34,20 @@ isa-y := $(isa-y)-nofpu
|
|||
endif
|
||||
endif
|
||||
|
||||
cflags-$(CONFIG_CPU_SH2) := -m2
|
||||
cflags-$(CONFIG_CPU_SH2A) := -m2a $(call cc-option,-m2a-nofpu,)
|
||||
cflags-$(CONFIG_CPU_SH3) := -m3
|
||||
cflags-$(CONFIG_CPU_SH4) := -m4 \
|
||||
cflags-$(CONFIG_CPU_SH2) := $(call cc-option,-m2,)
|
||||
cflags-$(CONFIG_CPU_SH2A) += $(call cc-option,-m2a,) \
|
||||
$(call cc-option,-m2a-nofpu,)
|
||||
cflags-$(CONFIG_CPU_SH3) := $(call cc-option,-m3,)
|
||||
cflags-$(CONFIG_CPU_SH4) := $(call cc-option,-m4,) \
|
||||
$(call cc-option,-mno-implicit-fp,-m4-nofpu)
|
||||
cflags-$(CONFIG_CPU_SH4A) := $(call cc-option,-m4a,) $(call cc-option,-m4a-nofpu,)
|
||||
cflags-$(CONFIG_CPU_SH4A) += $(call cc-option,-m4a,) \
|
||||
$(call cc-option,-m4a-nofpu,)
|
||||
|
||||
cflags-$(CONFIG_CPU_BIG_ENDIAN) += -mb
|
||||
cflags-$(CONFIG_CPU_LITTLE_ENDIAN) += -ml
|
||||
|
||||
cflags-y += $(call as-option,-Wa$(comma)-isa=$(isa-y),) -ffreestanding
|
||||
|
||||
cflags-$(CONFIG_SH_DSP) += -Wa,-dsp
|
||||
|
||||
cflags-$(CONFIG_MORE_COMPILE_OPTIONS) += \
|
||||
$(shell echo $(CONFIG_COMPILE_OPTIONS) | sed -e 's/"//g')
|
||||
|
||||
|
@ -87,39 +87,37 @@ core-y += arch/sh/kernel/ arch/sh/mm/
|
|||
core-$(CONFIG_SH_FPU_EMU) += arch/sh/math-emu/
|
||||
|
||||
# Boards
|
||||
machdir-$(CONFIG_SH_SOLUTION_ENGINE) := se/770x
|
||||
machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) := se/7722
|
||||
machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) := se/7751
|
||||
machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) := se/7780
|
||||
machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) := se/7300
|
||||
machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) := se/7343
|
||||
machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) := se/73180
|
||||
machdir-$(CONFIG_SH_HP6XX) := hp6xx
|
||||
machdir-$(CONFIG_SH_SATURN) := saturn
|
||||
machdir-$(CONFIG_SH_DREAMCAST) := dreamcast
|
||||
machdir-$(CONFIG_SH_MPC1211) := mpc1211
|
||||
machdir-$(CONFIG_SH_SH03) := sh03
|
||||
machdir-$(CONFIG_SH_SECUREEDGE5410) := snapgear
|
||||
machdir-$(CONFIG_SH_HS7751RVOIP) := renesas/hs7751rvoip
|
||||
machdir-$(CONFIG_SH_RTS7751R2D) := renesas/rts7751r2d
|
||||
machdir-$(CONFIG_SH_7751_SYSTEMH) := renesas/systemh
|
||||
machdir-$(CONFIG_SH_EDOSK7705) := renesas/edosk7705
|
||||
machdir-$(CONFIG_SH_HIGHLANDER) := renesas/r7780rp
|
||||
machdir-$(CONFIG_SH_7710VOIPGW) := renesas/sh7710voipgw
|
||||
machdir-$(CONFIG_SH_SH4202_MICRODEV) := superh/microdev
|
||||
machdir-$(CONFIG_SH_LANDISK) := landisk
|
||||
machdir-$(CONFIG_SH_TITAN) := titan
|
||||
machdir-$(CONFIG_SH_SHMIN) := shmin
|
||||
machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) := se/7206
|
||||
machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) := se/7619
|
||||
machdir-$(CONFIG_SH_LBOX_RE2) := lboxre2
|
||||
machdir-$(CONFIG_SH_UNKNOWN) := unknown
|
||||
machdir-$(CONFIG_SH_SOLUTION_ENGINE) += se/770x
|
||||
machdir-$(CONFIG_SH_7722_SOLUTION_ENGINE) += se/7722
|
||||
machdir-$(CONFIG_SH_7751_SOLUTION_ENGINE) += se/7751
|
||||
machdir-$(CONFIG_SH_7780_SOLUTION_ENGINE) += se/7780
|
||||
machdir-$(CONFIG_SH_7300_SOLUTION_ENGINE) += se/7300
|
||||
machdir-$(CONFIG_SH_7343_SOLUTION_ENGINE) += se/7343
|
||||
machdir-$(CONFIG_SH_73180_SOLUTION_ENGINE) += se/73180
|
||||
machdir-$(CONFIG_SH_HP6XX) += hp6xx
|
||||
machdir-$(CONFIG_SH_DREAMCAST) += dreamcast
|
||||
machdir-$(CONFIG_SH_MPC1211) += mpc1211
|
||||
machdir-$(CONFIG_SH_SH03) += sh03
|
||||
machdir-$(CONFIG_SH_SECUREEDGE5410) += snapgear
|
||||
machdir-$(CONFIG_SH_HS7751RVOIP) += renesas/hs7751rvoip
|
||||
machdir-$(CONFIG_SH_RTS7751R2D) += renesas/rts7751r2d
|
||||
machdir-$(CONFIG_SH_7751_SYSTEMH) += renesas/systemh
|
||||
machdir-$(CONFIG_SH_EDOSK7705) += renesas/edosk7705
|
||||
machdir-$(CONFIG_SH_HIGHLANDER) += renesas/r7780rp
|
||||
machdir-$(CONFIG_SH_7710VOIPGW) += renesas/sh7710voipgw
|
||||
machdir-$(CONFIG_SH_SH4202_MICRODEV) += superh/microdev
|
||||
machdir-$(CONFIG_SH_LANDISK) += landisk
|
||||
machdir-$(CONFIG_SH_TITAN) += titan
|
||||
machdir-$(CONFIG_SH_SHMIN) += shmin
|
||||
machdir-$(CONFIG_SH_7206_SOLUTION_ENGINE) += se/7206
|
||||
machdir-$(CONFIG_SH_7619_SOLUTION_ENGINE) += se/7619
|
||||
machdir-$(CONFIG_SH_LBOX_RE2) += lboxre2
|
||||
|
||||
incdir-y := $(notdir $(machdir-y))
|
||||
incdir-$(CONFIG_SH_HP6XX) := hp6xx
|
||||
incdir-y := $(notdir $(machdir-y))
|
||||
|
||||
ifneq ($(machdir-y),)
|
||||
core-y += arch/sh/boards/$(machdir-y)/
|
||||
core-y += $(addprefix arch/sh/boards/, \
|
||||
$(filter-out ., $(patsubst %,%/,$(machdir-y))))
|
||||
endif
|
||||
|
||||
# Companion chips
|
||||
|
@ -157,19 +155,31 @@ include/asm-sh/.cpu: $(wildcard include/config/cpu/*.h) \
|
|||
# Most boards have their own mach directories. For the ones that
|
||||
# don't, just reference the parent directory so the semantics are
|
||||
# kept roughly the same.
|
||||
#
|
||||
# When multiple boards are compiled in at the same time, preference
|
||||
# for the mach link is given to whichever has a directory for its
|
||||
# headers. However, this is only a workaround until platforms that
|
||||
# can live in the same kernel image back away from relying on the
|
||||
# mach link.
|
||||
|
||||
include/asm-sh/.mach: $(wildcard include/config/sh/*.h) \
|
||||
include/config/auto.conf FORCE
|
||||
@echo -n ' SYMLINK include/asm-sh/mach -> '
|
||||
$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
|
||||
$(Q)if [ -d $(incdir-prefix)$(incdir-y) ]; then \
|
||||
echo -e 'include/asm-sh/$(incdir-y)'; \
|
||||
ln -fsn $(incdir-prefix)$(incdir-y) \
|
||||
$(Q)rm -f include/asm-sh/mach
|
||||
$(Q)for i in $(incdir-y); do \
|
||||
if [ -d $(incdir-prefix)$$i ]; then \
|
||||
echo -n ' SYMLINK include/asm-sh/mach -> '; \
|
||||
echo -e "include/asm-sh/$$i"; \
|
||||
ln -fsn $(incdir-prefix)$$i \
|
||||
include/asm-sh/mach; \
|
||||
else \
|
||||
echo -e 'include/asm-sh'; \
|
||||
ln -fsn $(incdir-prefix) include/asm-sh/mach; \
|
||||
fi
|
||||
if [ ! -d include/asm-sh/mach ]; then \
|
||||
echo -n ' SYMLINK include/asm-sh/mach -> '; \
|
||||
echo -e 'include/asm-sh'; \
|
||||
ln -fsn $(incdir-prefix) include/asm-sh/mach; \
|
||||
fi; \
|
||||
fi; \
|
||||
done
|
||||
@touch $@
|
||||
|
||||
archprepare: include/asm-sh/.cpu include/asm-sh/.mach maketools
|
||||
|
@ -188,7 +198,9 @@ compressed: zImage
|
|||
archclean:
|
||||
$(Q)$(MAKE) $(clean)=$(boot)
|
||||
|
||||
CLEAN_FILES += include/asm-sh/machtypes.h
|
||||
CLEAN_FILES += include/asm-sh/machtypes.h \
|
||||
include/asm-sh/cpu include/asm-sh/.cpu \
|
||||
include/asm-sh/mach include/asm-sh/.mach
|
||||
|
||||
define archhelp
|
||||
@echo '* zImage - Compressed kernel image'
|
||||
|
|
|
@ -60,7 +60,7 @@ static void __init dreamcast_setup(char **cmdline_p)
|
|||
#endif
|
||||
}
|
||||
|
||||
struct sh_machine_vector mv_dreamcast __initmv = {
|
||||
static struct sh_machine_vector mv_dreamcast __initmv = {
|
||||
.mv_name = "Sega Dreamcast",
|
||||
.mv_setup = dreamcast_setup,
|
||||
.mv_irq_demux = systemasic_irq_demux,
|
||||
|
@ -70,4 +70,3 @@ struct sh_machine_vector mv_dreamcast __initmv = {
|
|||
.mv_consistent_free = dreamcast_consistent_free,
|
||||
#endif
|
||||
};
|
||||
ALIAS_MV(dreamcast)
|
||||
|
|
|
@ -1,46 +0,0 @@
|
|||
/*
|
||||
* linux/arch/sh/boards/hp6xx/mach.c
|
||||
*
|
||||
* Copyright (C) 2000 Stuart Menefy (stuart.menefy@st.com)
|
||||
*
|
||||
* May be copied or modified under the terms of the GNU General Public
|
||||
* License. See linux/COPYING for more information.
|
||||
*
|
||||
* Machine vector for the HP680
|
||||
*/
|
||||
#include <asm/machvec.h>
|
||||
#include <asm/hd64461.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
|
||||
struct sh_machine_vector mv_hp6xx __initmv = {
|
||||
.mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM,
|
||||
|
||||
.mv_inb = hd64461_inb,
|
||||
.mv_inw = hd64461_inw,
|
||||
.mv_inl = hd64461_inl,
|
||||
.mv_outb = hd64461_outb,
|
||||
.mv_outw = hd64461_outw,
|
||||
.mv_outl = hd64461_outl,
|
||||
|
||||
.mv_inb_p = hd64461_inb_p,
|
||||
.mv_inw_p = hd64461_inw,
|
||||
.mv_inl_p = hd64461_inl,
|
||||
.mv_outb_p = hd64461_outb_p,
|
||||
.mv_outw_p = hd64461_outw,
|
||||
.mv_outl_p = hd64461_outl,
|
||||
|
||||
.mv_insb = hd64461_insb,
|
||||
.mv_insw = hd64461_insw,
|
||||
.mv_insl = hd64461_insl,
|
||||
.mv_outsb = hd64461_outsb,
|
||||
.mv_outsw = hd64461_outsw,
|
||||
.mv_outsl = hd64461_outsl,
|
||||
|
||||
.mv_readw = hd64461_readw,
|
||||
.mv_writew = hd64461_writew,
|
||||
|
||||
.mv_irq_demux = hd64461_irq_demux,
|
||||
};
|
||||
|
||||
ALIAS_MV(hp6xx)
|
|
@ -98,10 +98,9 @@ static void __init hp6xx_setup(char **cmdline_p)
|
|||
}
|
||||
device_initcall(hp6xx_devices_setup);
|
||||
|
||||
struct sh_machine_vector mv_hp6xx __initmv = {
|
||||
static struct sh_machine_vector mv_hp6xx __initmv = {
|
||||
.mv_name = "hp6xx",
|
||||
.mv_setup = hp6xx_setup,
|
||||
.mv_nr_irqs = HD64461_IRQBASE + HD64461_IRQ_NUM,
|
||||
.mv_irq_demux = hd64461_irq_demux,
|
||||
};
|
||||
ALIAS_MV(hp6xx)
|
||||
|
|
|
@ -97,10 +97,9 @@ static void __init landisk_setup(char **cmdline_p)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_landisk __initmv = {
|
||||
static struct sh_machine_vector mv_landisk __initmv = {
|
||||
.mv_name = "LANDISK",
|
||||
.mv_nr_irqs = 72,
|
||||
.mv_setup = landisk_setup,
|
||||
.mv_init_irq = init_landisk_IRQ,
|
||||
};
|
||||
ALIAS_MV(landisk)
|
||||
|
|
|
@ -77,9 +77,8 @@ device_initcall(lboxre2_devices_setup);
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_lboxre2 __initmv = {
|
||||
static struct sh_machine_vector mv_lboxre2 __initmv = {
|
||||
.mv_name = "L-BOX RE2",
|
||||
.mv_nr_irqs = 72,
|
||||
.mv_init_irq = init_lboxre2_IRQ,
|
||||
};
|
||||
ALIAS_MV(lboxre2)
|
||||
|
|
|
@ -338,11 +338,10 @@ static void __init mpc1211_setup(char **cmdline_p)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_mpc1211 __initmv = {
|
||||
static struct sh_machine_vector mv_mpc1211 __initmv = {
|
||||
.mv_name = "Interface MPC-1211(CTP/PCI/MPC-SH02)",
|
||||
.mv_setup = mpc1211_setup,
|
||||
.mv_nr_irqs = 48,
|
||||
.mv_irq_demux = mpc1211_irq_demux,
|
||||
.mv_init_irq = init_mpc1211_IRQ,
|
||||
};
|
||||
ALIAS_MV(mpc1211)
|
||||
|
|
|
@ -21,7 +21,7 @@ static void __init sh_edosk7705_init_irq(void)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_edosk7705 __initmv = {
|
||||
static struct sh_machine_vector mv_edosk7705 __initmv = {
|
||||
.mv_name = "EDOSK7705",
|
||||
.mv_nr_irqs = 80,
|
||||
|
||||
|
@ -41,4 +41,3 @@ struct sh_machine_vector mv_edosk7705 __initmv = {
|
|||
.mv_isa_port2addr = sh_edosk7705_isa_port2addr,
|
||||
.mv_init_irq = sh_edosk7705_init_irq,
|
||||
};
|
||||
ALIAS_MV(edosk7705)
|
||||
|
|
|
@ -89,7 +89,7 @@ static void __init hs7751rvoip_setup(char **cmdline_p)
|
|||
printk(KERN_INFO "Renesas Technology Sales HS7751RVoIP-2 support.\n");
|
||||
}
|
||||
|
||||
struct sh_machine_vector mv_hs7751rvoip __initmv = {
|
||||
static struct sh_machine_vector mv_hs7751rvoip __initmv = {
|
||||
.mv_name = "HS7751RVoIP",
|
||||
.mv_setup = hs7751rvoip_setup,
|
||||
.mv_nr_irqs = 72,
|
||||
|
@ -118,4 +118,3 @@ struct sh_machine_vector mv_hs7751rvoip __initmv = {
|
|||
.mv_init_irq = hs7751rvoip_init_irq,
|
||||
.mv_ioport_map = hs7751rvoip_ioport_map,
|
||||
};
|
||||
ALIAS_MV(hs7751rvoip)
|
||||
|
|
|
@ -6,18 +6,18 @@ choice
|
|||
|
||||
config SH_R7780RP
|
||||
bool "R7780RP-1 board support"
|
||||
select CPU_SUBTYPE_SH7780
|
||||
depends on CPU_SUBTYPE_SH7780
|
||||
|
||||
config SH_R7780MP
|
||||
bool "R7780MP board support"
|
||||
select CPU_SUBTYPE_SH7780
|
||||
depends on CPU_SUBTYPE_SH7780
|
||||
help
|
||||
Selecting this option will enable support for the mass-production
|
||||
version of the R7780RP. If in doubt, say Y.
|
||||
|
||||
config SH_R7785RP
|
||||
bool "R7785RP board support"
|
||||
select CPU_SUBTYPE_SH7785
|
||||
depends on CPU_SUBTYPE_SH7785
|
||||
|
||||
endchoice
|
||||
|
||||
|
|
|
@ -166,10 +166,9 @@ static void __init highlander_setup(char **cmdline_p)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_highlander __initmv = {
|
||||
static struct sh_machine_vector mv_highlander __initmv = {
|
||||
.mv_name = "Highlander",
|
||||
.mv_nr_irqs = 109,
|
||||
.mv_setup = highlander_setup,
|
||||
.mv_init_irq = highlander_init_irq,
|
||||
};
|
||||
ALIAS_MV(highlander)
|
||||
|
|
|
@ -176,7 +176,7 @@ static void __init rts7751r2d_setup(char **cmdline_p)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_rts7751r2d __initmv = {
|
||||
static struct sh_machine_vector mv_rts7751r2d __initmv = {
|
||||
.mv_name = "RTS7751R2D",
|
||||
.mv_setup = rts7751r2d_setup,
|
||||
.mv_nr_irqs = 72,
|
||||
|
@ -189,4 +189,3 @@ struct sh_machine_vector mv_rts7751r2d __initmv = {
|
|||
.mv_consistent_free = voyagergx_consistent_free,
|
||||
#endif
|
||||
};
|
||||
ALIAS_MV(rts7751r2d)
|
||||
|
|
|
@ -88,9 +88,8 @@ static void __init sh7710voipgw_init_irq(void)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_sh7710voipgw __initmv = {
|
||||
static struct sh_machine_vector mv_sh7710voipgw __initmv = {
|
||||
.mv_name = "SH7710 VoIP Gateway",
|
||||
.mv_nr_irqs = 104,
|
||||
.mv_init_irq = sh7710voipgw_init_irq,
|
||||
};
|
||||
ALIAS_MV(sh7710voipgw)
|
||||
|
|
|
@ -28,7 +28,7 @@ static void __init sh7751systemh_init_irq(void)
|
|||
make_systemh_irq(0xb); /* Ethernet interrupt */
|
||||
}
|
||||
|
||||
struct sh_machine_vector mv_7751systemh __initmv = {
|
||||
static struct sh_machine_vector mv_7751systemh __initmv = {
|
||||
.mv_name = "7751 SystemH",
|
||||
.mv_nr_irqs = 72,
|
||||
|
||||
|
@ -55,4 +55,3 @@ struct sh_machine_vector mv_7751systemh __initmv = {
|
|||
|
||||
.mv_init_irq = sh7751systemh_init_irq,
|
||||
};
|
||||
ALIAS_MV(7751systemh)
|
||||
|
|
|
@ -1,8 +0,0 @@
|
|||
#
|
||||
# Makefile for the Sega Saturn specific parts of the kernel
|
||||
#
|
||||
|
||||
obj-y := setup.o io.o irq.o
|
||||
|
||||
obj-$(CONFIG_SMP) += smp.o
|
||||
|
|
@ -1,26 +0,0 @@
|
|||
/*
|
||||
* arch/sh/boards/saturn/io.c
|
||||
*
|
||||
* I/O routines for the Sega Saturn.
|
||||
*
|
||||
* Copyright (C) 2002 Paul Mundt
|
||||
*
|
||||
* Released under the terms of the GNU GPL v2.0.
|
||||
*/
|
||||
#include <asm/saturn/io.h>
|
||||
#include <asm/machvec.h>
|
||||
|
||||
unsigned long saturn_isa_port2addr(unsigned long offset)
|
||||
{
|
||||
return offset;
|
||||
}
|
||||
|
||||
void *saturn_ioremap(unsigned long offset, unsigned long size)
|
||||
{
|
||||
return (void *)offset;
|
||||
}
|
||||
|
||||
void saturn_iounmap(void *addr)
|
||||
{
|
||||
}
|
||||
|
|
@ -1,118 +0,0 @@
|
|||
/*
|
||||
* arch/sh/boards/saturn/irq.c
|
||||
*
|
||||
* Copyright (C) 2002 Paul Mundt
|
||||
*
|
||||
* Released under the terms of the GNU GPL v2.0.
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
/*
|
||||
* Interrupts map out as follows:
|
||||
*
|
||||
* Vector Name Mask
|
||||
*
|
||||
* 64 VBLANKIN 0x0001
|
||||
* 65 VBLANKOUT 0x0002
|
||||
* 66 HBLANKIN 0x0004
|
||||
* 67 TIMER0 0x0008
|
||||
* 68 TIMER1 0x0010
|
||||
* 69 DSPEND 0x0020
|
||||
* 70 SOUNDREQUEST 0x0040
|
||||
* 71 SYSTEMMANAGER 0x0080
|
||||
* 72 PAD 0x0100
|
||||
* 73 LEVEL2DMAEND 0x0200
|
||||
* 74 LEVEL1DMAEND 0x0400
|
||||
* 75 LEVEL0DMAEND 0x0800
|
||||
* 76 DMAILLEGAL 0x1000
|
||||
* 77 SRITEDRAWEND 0x2000
|
||||
* 78 ABUS 0x8000
|
||||
*
|
||||
*/
|
||||
#define SATURN_IRQ_MIN 64 /* VBLANKIN */
|
||||
#define SATURN_IRQ_MAX 78 /* ABUS */
|
||||
|
||||
#define SATURN_IRQ_MASK 0xbfff
|
||||
|
||||
static inline u32 saturn_irq_mask(unsigned int irq_nr)
|
||||
{
|
||||
u32 mask;
|
||||
|
||||
mask = (1 << (irq_nr - SATURN_IRQ_MIN));
|
||||
mask <<= (irq_nr == SATURN_IRQ_MAX);
|
||||
mask &= SATURN_IRQ_MASK;
|
||||
|
||||
return mask;
|
||||
}
|
||||
|
||||
static inline void mask_saturn_irq(unsigned int irq_nr)
|
||||
{
|
||||
u32 mask;
|
||||
|
||||
mask = ctrl_inl(SATURN_IMR);
|
||||
mask |= saturn_irq_mask(irq_nr);
|
||||
ctrl_outl(mask, SATURN_IMR);
|
||||
}
|
||||
|
||||
static inline void unmask_saturn_irq(unsigned int irq_nr)
|
||||
{
|
||||
u32 mask;
|
||||
|
||||
mask = ctrl_inl(SATURN_IMR);
|
||||
mask &= ~saturn_irq_mask(irq_nr);
|
||||
ctrl_outl(mask, SATURN_IMR);
|
||||
}
|
||||
|
||||
static void disable_saturn_irq(unsigned int irq_nr)
|
||||
{
|
||||
mask_saturn_irq(irq_nr);
|
||||
}
|
||||
|
||||
static void enable_saturn_irq(unsigned int irq_nr)
|
||||
{
|
||||
unmask_saturn_irq(irq_nr);
|
||||
}
|
||||
|
||||
static void mask_and_ack_saturn_irq(unsigned int irq_nr)
|
||||
{
|
||||
mask_saturn_irq(irq_nr);
|
||||
}
|
||||
|
||||
static void end_saturn_irq(unsigned int irq_nr)
|
||||
{
|
||||
if (!(irq_desc[irq_nr].status & (IRQ_DISABLED | IRQ_INPROGRESS)))
|
||||
unmask_saturn_irq(irq_nr);
|
||||
}
|
||||
|
||||
static unsigned int startup_saturn_irq(unsigned int irq_nr)
|
||||
{
|
||||
unmask_saturn_irq(irq_nr);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void shutdown_saturn_irq(unsigned int irq_nr)
|
||||
{
|
||||
mask_saturn_irq(irq_nr);
|
||||
}
|
||||
|
||||
static struct hw_interrupt_type saturn_int = {
|
||||
.typename = "Saturn",
|
||||
.enable = enable_saturn_irq,
|
||||
.disable = disable_saturn_irq,
|
||||
.ack = mask_and_ack_saturn_irq,
|
||||
.end = end_saturn_irq,
|
||||
.startup = startup_saturn_irq,
|
||||
.shutdown = shutdown_saturn_irq,
|
||||
};
|
||||
|
||||
int saturn_irq_demux(int irq_nr)
|
||||
{
|
||||
/* FIXME */
|
||||
return irq_nr;
|
||||
}
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
/*
|
||||
* arch/sh/boards/saturn/setup.c
|
||||
*
|
||||
* Hardware support for the Sega Saturn.
|
||||
*
|
||||
* Copyright (c) 2002 Paul Mundt
|
||||
*
|
||||
* Released under the terms of the GNU GPL v2.0.
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/machvec.h>
|
||||
#include <asm/mach/io.h>
|
||||
|
||||
extern int saturn_irq_demux(int irq_nr);
|
||||
|
||||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_saturn __initmv = {
|
||||
.mv_name = "Sega Saturn",
|
||||
.mv_nr_irqs = 80, /* Fix this later */
|
||||
|
||||
.mv_isa_port2addr = saturn_isa_port2addr,
|
||||
.mv_irq_demux = saturn_irq_demux,
|
||||
|
||||
.mv_ioremap = saturn_ioremap,
|
||||
.mv_iounmap = saturn_iounmap,
|
||||
};
|
||||
ALIAS_MV(saturn)
|
|
@ -1,68 +0,0 @@
|
|||
/*
|
||||
* arch/sh/boards/saturn/smp.c
|
||||
*
|
||||
* SMP support for the Sega Saturn.
|
||||
*
|
||||
* Copyright (c) 2002 Paul Mundt
|
||||
*
|
||||
* Released under the terms of the GNU GPL v2.0.
|
||||
*/
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/smp.h>
|
||||
|
||||
#include <asm/saturn/smpc.h>
|
||||
|
||||
extern void start_secondary(void);
|
||||
|
||||
void __smp_send_ipi(unsigned int cpu, unsigned int action)
|
||||
{
|
||||
/* Nothing here yet .. */
|
||||
}
|
||||
|
||||
unsigned int __smp_probe_cpus(void)
|
||||
{
|
||||
/*
|
||||
* This is just a straightforward master/slave configuration,
|
||||
* and probing isn't really supported..
|
||||
*/
|
||||
return 2;
|
||||
}
|
||||
|
||||
/*
|
||||
* We're only allowed to do byte-access to SMPC registers. In
|
||||
* addition to which, we treat them as write-only, since
|
||||
* reading from them will return undefined data.
|
||||
*/
|
||||
static inline void smpc_slave_stop(unsigned int cpu)
|
||||
{
|
||||
smpc_barrier();
|
||||
ctrl_outb(1, SMPC_STATUS);
|
||||
|
||||
ctrl_outb(SMPC_CMD_SSHOFF, SMPC_COMMAND);
|
||||
smpc_barrier();
|
||||
}
|
||||
|
||||
static inline void smpc_slave_start(unsigned int cpu)
|
||||
{
|
||||
ctrl_outb(1, SMPC_STATUS);
|
||||
ctrl_outb(SMPC_CMD_SSHON, SMPC_COMMAND);
|
||||
|
||||
smpc_barrier();
|
||||
}
|
||||
|
||||
void __smp_slave_init(unsigned int cpu)
|
||||
{
|
||||
register unsigned long vbr;
|
||||
void **entry;
|
||||
|
||||
__asm__ __volatile__ ("stc vbr, %0\n\t" : "=r" (vbr));
|
||||
entry = (void **)(vbr + 0x310 + 0x94);
|
||||
|
||||
smpc_slave_stop(cpu);
|
||||
|
||||
*(void **)entry = (void *)start_secondary;
|
||||
|
||||
smpc_slave_start(cpu);
|
||||
}
|
||||
|
|
@ -70,7 +70,7 @@ __initcall(se7206_devices_setup);
|
|||
* The Machine Vector
|
||||
*/
|
||||
|
||||
struct sh_machine_vector mv_se __initmv = {
|
||||
static struct sh_machine_vector mv_se __initmv = {
|
||||
.mv_name = "SolutionEngine",
|
||||
.mv_nr_irqs = 256,
|
||||
.mv_inb = se7206_inb,
|
||||
|
@ -96,4 +96,3 @@ struct sh_machine_vector mv_se __initmv = {
|
|||
|
||||
.mv_init_irq = init_se7206_IRQ,
|
||||
};
|
||||
ALIAS_MV(se)
|
||||
|
|
|
@ -46,7 +46,7 @@ __initcall(se7300_devices_setup);
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_7300se __initmv = {
|
||||
static struct sh_machine_vector mv_7300se __initmv = {
|
||||
.mv_name = "SolutionEngine 7300",
|
||||
.mv_nr_irqs = 109,
|
||||
.mv_inb = sh7300se_inb,
|
||||
|
@ -72,4 +72,3 @@ struct sh_machine_vector mv_7300se __initmv = {
|
|||
|
||||
.mv_init_irq = init_7300se_IRQ,
|
||||
};
|
||||
ALIAS_MV(7300se)
|
||||
|
|
|
@ -46,7 +46,7 @@ __initcall(se73180_devices_setup);
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_73180se __initmv = {
|
||||
static struct sh_machine_vector mv_73180se __initmv = {
|
||||
.mv_name = "SolutionEngine 73180",
|
||||
.mv_nr_irqs = 108,
|
||||
.mv_inb = sh73180se_inb,
|
||||
|
@ -73,4 +73,3 @@ struct sh_machine_vector mv_73180se __initmv = {
|
|||
.mv_init_irq = init_73180se_IRQ,
|
||||
.mv_irq_demux = shmse_irq_demux,
|
||||
};
|
||||
ALIAS_MV(73180se)
|
||||
|
|
|
@ -64,7 +64,7 @@ static void __init sh7343se_setup(char **cmdline_p)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_7343se __initmv = {
|
||||
static struct sh_machine_vector mv_7343se __initmv = {
|
||||
.mv_name = "SolutionEngine 7343",
|
||||
.mv_setup = sh7343se_setup,
|
||||
.mv_nr_irqs = 108,
|
||||
|
@ -92,4 +92,3 @@ struct sh_machine_vector mv_7343se __initmv = {
|
|||
.mv_init_irq = init_7343se_IRQ,
|
||||
.mv_irq_demux = shmse_irq_demux,
|
||||
};
|
||||
ALIAS_MV(7343se)
|
||||
|
|
|
@ -15,8 +15,7 @@
|
|||
* The Machine Vector
|
||||
*/
|
||||
|
||||
struct sh_machine_vector mv_se __initmv = {
|
||||
static struct sh_machine_vector mv_se __initmv = {
|
||||
.mv_name = "SolutionEngine",
|
||||
.mv_nr_irqs = 108,
|
||||
};
|
||||
ALIAS_MV(se)
|
||||
|
|
|
@ -15,46 +15,7 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/se.h>
|
||||
|
||||
/*
|
||||
* If the problem of make_ipr_irq is solved,
|
||||
* this code will become unnecessary. :-)
|
||||
*/
|
||||
static void se770x_disable_ipr_irq(unsigned int irq)
|
||||
{
|
||||
struct ipr_data *p = get_irq_chip_data(irq);
|
||||
|
||||
ctrl_outw(ctrl_inw(p->addr) & (0xffff ^ (0xf << p->shift)), p->addr);
|
||||
}
|
||||
|
||||
static void se770x_enable_ipr_irq(unsigned int irq)
|
||||
{
|
||||
struct ipr_data *p = get_irq_chip_data(irq);
|
||||
|
||||
ctrl_outw(ctrl_inw(p->addr) | (p->priority << p->shift), p->addr);
|
||||
}
|
||||
|
||||
static struct irq_chip se770x_irq_chip = {
|
||||
.name = "MS770xSE-FPGA",
|
||||
.mask = se770x_disable_ipr_irq,
|
||||
.unmask = se770x_enable_ipr_irq,
|
||||
.mask_ack = se770x_disable_ipr_irq,
|
||||
};
|
||||
|
||||
void make_se770x_irq(struct ipr_data *table, unsigned int nr_irqs)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < nr_irqs; i++) {
|
||||
unsigned int irq = table[i].irq;
|
||||
disable_irq_nosync(irq);
|
||||
set_irq_chip_and_handler_name(irq, &se770x_irq_chip,
|
||||
handle_level_irq, "level");
|
||||
set_irq_chip_data(irq, &table[i]);
|
||||
se770x_enable_ipr_irq(irq);
|
||||
}
|
||||
}
|
||||
|
||||
static struct ipr_data se770x_ipr_map[] = {
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
/*
|
||||
* Super I/O (Just mimic PC):
|
||||
* 1: keyboard
|
||||
|
@ -68,46 +29,67 @@ static struct ipr_data se770x_ipr_map[] = {
|
|||
*/
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7705)
|
||||
/* This is default value */
|
||||
{ 13, 0, 8, 0x0f-13 ,BCR_ILCRA},
|
||||
{ 5 , 0, 4, 0x0f- 5 ,BCR_ILCRA},
|
||||
{ 10, 0, 0, 0x0f-10, BCR_ILCRB},
|
||||
{ 7 , 0, 4, 0x0f- 7, BCR_ILCRC},
|
||||
{ 3 , 0, 0, 0x0f- 3, BCR_ILCRC},
|
||||
{ 1 , 0, 12, 0x0f- 1, BCR_ILCRD},
|
||||
{ 12, 0, 4, 0x0f-12, BCR_ILCRD}, /* LAN */
|
||||
{ 2 , 0, 8, 0x0f- 2, BCR_ILCRE}, /* PCIRQ2 */
|
||||
{ 6 , 0, 4, 0x0f- 6, BCR_ILCRE}, /* PCIRQ1 */
|
||||
{ 14, 0, 0, 0x0f-14, BCR_ILCRE}, /* PCIRQ0 */
|
||||
{ 0 , 0, 12, 0x0f , BCR_ILCRF},
|
||||
{ 4 , 0, 4, 0x0f- 4, BCR_ILCRF},
|
||||
{ 8 , 0, 12, 0x0f- 8, BCR_ILCRG},
|
||||
{ 9 , 0, 8, 0x0f- 9, BCR_ILCRG},
|
||||
{ 11, 0, 4, 0x0f-11, BCR_ILCRG},
|
||||
{ 13, 0, 8, 0x0f-13, },
|
||||
{ 5 , 0, 4, 0x0f- 5, },
|
||||
{ 10, 1, 0, 0x0f-10, },
|
||||
{ 7 , 2, 4, 0x0f- 7, },
|
||||
{ 3 , 2, 0, 0x0f- 3, },
|
||||
{ 1 , 3, 12, 0x0f- 1, },
|
||||
{ 12, 3, 4, 0x0f-12, }, /* LAN */
|
||||
{ 2 , 4, 8, 0x0f- 2, }, /* PCIRQ2 */
|
||||
{ 6 , 4, 4, 0x0f- 6, }, /* PCIRQ1 */
|
||||
{ 14, 4, 0, 0x0f-14, }, /* PCIRQ0 */
|
||||
{ 0 , 5, 12, 0x0f , },
|
||||
{ 4 , 5, 4, 0x0f- 4, },
|
||||
{ 8 , 6, 12, 0x0f- 8, },
|
||||
{ 9 , 6, 8, 0x0f- 9, },
|
||||
{ 11, 6, 4, 0x0f-11, },
|
||||
#else
|
||||
{ 14, 0, 8, 0x0f-14 ,BCR_ILCRA},
|
||||
{ 12, 0, 4, 0x0f-12 ,BCR_ILCRA},
|
||||
{ 8, 0, 4, 0x0f- 8 ,BCR_ILCRB},
|
||||
{ 6, 0, 12, 0x0f- 6 ,BCR_ILCRC},
|
||||
{ 5, 0, 8, 0x0f- 5 ,BCR_ILCRC},
|
||||
{ 4, 0, 4, 0x0f- 4 ,BCR_ILCRC},
|
||||
{ 3, 0, 0, 0x0f- 3 ,BCR_ILCRC},
|
||||
{ 1, 0, 12, 0x0f- 1 ,BCR_ILCRD},
|
||||
{ 14, 0, 8, 0x0f-14, },
|
||||
{ 12, 0, 4, 0x0f-12, },
|
||||
{ 8, 1, 4, 0x0f- 8, },
|
||||
{ 6, 2, 12, 0x0f- 6, },
|
||||
{ 5, 2, 8, 0x0f- 5, },
|
||||
{ 4, 2, 4, 0x0f- 4, },
|
||||
{ 3, 2, 0, 0x0f- 3, },
|
||||
{ 1, 3, 12, 0x0f- 1, },
|
||||
#if defined(CONFIG_STNIC)
|
||||
/* ST NIC */
|
||||
{ 10, 0, 4, 0x0f-10 ,BCR_ILCRD}, /* LAN */
|
||||
{ 10, 3, 4, 0x0f-10, }, /* LAN */
|
||||
#endif
|
||||
/* MRSHPC IRQs setting */
|
||||
{ 0, 0, 12, 0x0f- 0 ,BCR_ILCRE}, /* PCIRQ3 */
|
||||
{ 11, 0, 8, 0x0f-11 ,BCR_ILCRE}, /* PCIRQ2 */
|
||||
{ 9, 0, 4, 0x0f- 9 ,BCR_ILCRE}, /* PCIRQ1 */
|
||||
{ 7, 0, 0, 0x0f- 7 ,BCR_ILCRE}, /* PCIRQ0 */
|
||||
{ 0, 4, 12, 0x0f- 0, }, /* PCIRQ3 */
|
||||
{ 11, 4, 8, 0x0f-11, }, /* PCIRQ2 */
|
||||
{ 9, 4, 4, 0x0f- 9, }, /* PCIRQ1 */
|
||||
{ 7, 4, 0, 0x0f- 7, }, /* PCIRQ0 */
|
||||
/* #2, #13 are allocated for SLOT IRQ #1 and #2 (for now) */
|
||||
/* NOTE: #2 and #13 are not used on PC */
|
||||
{ 13, 0, 4, 0x0f-13 ,BCR_ILCRG}, /* SLOTIRQ2 */
|
||||
{ 2, 0, 0, 0x0f- 2 ,BCR_ILCRG}, /* SLOTIRQ1 */
|
||||
{ 13, 6, 4, 0x0f-13, }, /* SLOTIRQ2 */
|
||||
{ 2, 6, 0, 0x0f- 2, }, /* SLOTIRQ1 */
|
||||
#endif
|
||||
};
|
||||
|
||||
static unsigned long ipr_offsets[] = {
|
||||
BCR_ILCRA,
|
||||
BCR_ILCRB,
|
||||
BCR_ILCRC,
|
||||
BCR_ILCRD,
|
||||
BCR_ILCRE,
|
||||
BCR_ILCRF,
|
||||
BCR_ILCRG,
|
||||
};
|
||||
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
.chip = {
|
||||
.name = "IPR-se770x",
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* Initialize IRQ setting
|
||||
*/
|
||||
|
@ -122,5 +104,5 @@ void __init init_se_IRQ(void)
|
|||
ctrl_outw(0, BCR_ILCRF);
|
||||
ctrl_outw(0, BCR_ILCRG);
|
||||
|
||||
make_se770x_irq(se770x_ipr_map, ARRAY_SIZE(se770x_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
|
|
@ -122,7 +122,7 @@ device_initcall(se_devices_setup);
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_se __initmv = {
|
||||
static struct sh_machine_vector mv_se __initmv = {
|
||||
.mv_name = "SolutionEngine",
|
||||
.mv_setup = smsc_setup,
|
||||
#if defined(CONFIG_CPU_SH4)
|
||||
|
@ -160,4 +160,3 @@ struct sh_machine_vector mv_se __initmv = {
|
|||
|
||||
.mv_init_irq = init_se_IRQ,
|
||||
};
|
||||
ALIAS_MV(se)
|
||||
|
|
|
@ -19,15 +19,24 @@
|
|||
#define INTC_INTMSK0 0xFFD00044
|
||||
#define INTC_INTMSKCLR0 0xFFD00064
|
||||
|
||||
struct se7722_data {
|
||||
unsigned char irq;
|
||||
unsigned char ipr_idx;
|
||||
unsigned char shift;
|
||||
unsigned short priority;
|
||||
unsigned long addr;
|
||||
};
|
||||
|
||||
|
||||
static void disable_se7722_irq(unsigned int irq)
|
||||
{
|
||||
struct ipr_data *p = get_irq_chip_data(irq);
|
||||
struct se7722_data *p = get_irq_chip_data(irq);
|
||||
ctrl_outw( ctrl_inw( p->addr ) | p->priority , p->addr );
|
||||
}
|
||||
|
||||
static void enable_se7722_irq(unsigned int irq)
|
||||
{
|
||||
struct ipr_data *p = get_irq_chip_data(irq);
|
||||
struct se7722_data *p = get_irq_chip_data(irq);
|
||||
ctrl_outw( ctrl_inw( p->addr ) & ~p->priority , p->addr );
|
||||
}
|
||||
|
||||
|
@ -38,7 +47,7 @@ static struct irq_chip se7722_irq_chip __read_mostly = {
|
|||
.mask_ack = disable_se7722_irq,
|
||||
};
|
||||
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
static struct se7722_data ipr_irq_table[] = {
|
||||
/* irq ,idx,sft, priority , addr */
|
||||
{ MRSHPC_IRQ0 , 0 , 0 , MRSHPC_BIT0 , IRQ01_MASK } ,
|
||||
{ MRSHPC_IRQ1 , 0 , 0 , MRSHPC_BIT1 , IRQ01_MASK } ,
|
||||
|
|
|
@ -137,7 +137,7 @@ static void __init se7722_setup(char **cmdline_p)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_se7722 __initmv = {
|
||||
static struct sh_machine_vector mv_se7722 __initmv = {
|
||||
.mv_name = "Solution Engine 7722" ,
|
||||
.mv_setup = se7722_setup ,
|
||||
.mv_nr_irqs = 109 ,
|
||||
|
@ -145,4 +145,3 @@ struct sh_machine_vector mv_se7722 __initmv = {
|
|||
.mv_irq_demux = se7722_irq_demux,
|
||||
|
||||
};
|
||||
ALIAS_MV(se7722)
|
||||
|
|
|
@ -14,44 +14,31 @@
|
|||
#include <asm/irq.h>
|
||||
#include <asm/se7751.h>
|
||||
|
||||
static struct ipr_data se7751_ipr_map[] = {
|
||||
/* Leave old Solution Engine code in for reference. */
|
||||
#if defined(CONFIG_SH_SOLUTION_ENGINE)
|
||||
/*
|
||||
* Super I/O (Just mimic PC):
|
||||
* 1: keyboard
|
||||
* 3: serial 0
|
||||
* 4: serial 1
|
||||
* 5: printer
|
||||
* 6: floppy
|
||||
* 8: rtc
|
||||
* 12: mouse
|
||||
* 14: ide0
|
||||
*/
|
||||
{ 14, BCR_ILCRA, 2, 0x0f-14 },
|
||||
{ 12, BCR_ILCRA, 1, 0x0f-12 },
|
||||
{ 8, BCR_ILCRB, 1, 0x0f- 8 },
|
||||
{ 6, BCR_ILCRC, 3, 0x0f- 6 },
|
||||
{ 5, BCR_ILCRC, 2, 0x0f- 5 },
|
||||
{ 4, BCR_ILCRC, 1, 0x0f- 4 },
|
||||
{ 3, BCR_ILCRC, 0, 0x0f- 3 },
|
||||
{ 1, BCR_ILCRD, 3, 0x0f- 1 },
|
||||
|
||||
{ 10, BCR_ILCRD, 1, 0x0f-10 }, /* LAN */
|
||||
|
||||
{ 0, BCR_ILCRE, 3, 0x0f- 0 }, /* PCIRQ3 */
|
||||
{ 11, BCR_ILCRE, 2, 0x0f-11 }, /* PCIRQ2 */
|
||||
{ 9, BCR_ILCRE, 1, 0x0f- 9 }, /* PCIRQ1 */
|
||||
{ 7, BCR_ILCRE, 0, 0x0f- 7 }, /* PCIRQ0 */
|
||||
|
||||
/* #2, #13 are allocated for SLOT IRQ #1 and #2 (for now) */
|
||||
/* NOTE: #2 and #13 are not used on PC */
|
||||
{ 13, BCR_ILCRG, 1, 0x0f-13 }, /* SLOTIRQ2 */
|
||||
{ 2, BCR_ILCRG, 0, 0x0f- 2 }, /* SLOTIRQ1 */
|
||||
#elif defined(CONFIG_SH_7751_SOLUTION_ENGINE)
|
||||
{ 13, BCR_ILCRD, 3, 2 },
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
{ 13, 3, 3, 2 },
|
||||
/* Add additional entries here as drivers are added and tested. */
|
||||
#endif
|
||||
};
|
||||
|
||||
static unsigned long ipr_offsets[] = {
|
||||
BCR_ILCRA,
|
||||
BCR_ILCRB,
|
||||
BCR_ILCRC,
|
||||
BCR_ILCRD,
|
||||
BCR_ILCRE,
|
||||
BCR_ILCRF,
|
||||
BCR_ILCRG,
|
||||
};
|
||||
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-se7751",
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
|
@ -59,5 +46,5 @@ static struct ipr_data se7751_ipr_map[] = {
|
|||
*/
|
||||
void __init init_7751se_IRQ(void)
|
||||
{
|
||||
make_ipr_irq(se7751_ipr_map, ARRAY_SIZE(se7751_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
|
|
@ -48,7 +48,7 @@ __initcall(se7751_devices_setup);
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_7751se __initmv = {
|
||||
static struct sh_machine_vector mv_7751se __initmv = {
|
||||
.mv_name = "7751 SolutionEngine",
|
||||
.mv_nr_irqs = 72,
|
||||
|
||||
|
@ -71,4 +71,3 @@ struct sh_machine_vector mv_7751se __initmv = {
|
|||
|
||||
.mv_init_irq = init_7751se_IRQ,
|
||||
};
|
||||
ALIAS_MV(7751se)
|
||||
|
|
|
@ -16,28 +16,6 @@
|
|||
#include <asm/io.h>
|
||||
#include <asm/se7780.h>
|
||||
|
||||
#define INTC_INTMSK0 0xFFD00044
|
||||
#define INTC_INTMSKCLR0 0xFFD00064
|
||||
|
||||
static void disable_se7780_irq(unsigned int irq)
|
||||
{
|
||||
struct intc2_data *p = get_irq_chip_data(irq);
|
||||
ctrl_outl(1 << p->msk_shift, INTC_INTMSK0 + p->msk_offset);
|
||||
}
|
||||
|
||||
static void enable_se7780_irq(unsigned int irq)
|
||||
{
|
||||
struct intc2_data *p = get_irq_chip_data(irq);
|
||||
ctrl_outl(1 << p->msk_shift, INTC_INTMSKCLR0 + p->msk_offset);
|
||||
}
|
||||
|
||||
static struct irq_chip se7780_irq_chip __read_mostly = {
|
||||
.name = "SE7780",
|
||||
.mask = disable_se7780_irq,
|
||||
.unmask = enable_se7780_irq,
|
||||
.mask_ack = disable_se7780_irq,
|
||||
};
|
||||
|
||||
static struct intc2_data intc2_irq_table[] = {
|
||||
{ 2, 0, 31, 0, 31, 3 }, /* daughter board EXTINT1 */
|
||||
{ 4, 0, 30, 0, 30, 3 }, /* daughter board EXTINT2 */
|
||||
|
@ -51,13 +29,24 @@ static struct intc2_data intc2_irq_table[] = {
|
|||
{ 0 , 0, 24, 0, 24, 3 }, /* SM501 */
|
||||
};
|
||||
|
||||
static struct intc2_desc intc2_irq_desc __read_mostly = {
|
||||
.prio_base = 0, /* N/A */
|
||||
.msk_base = 0xffd00044,
|
||||
.mskclr_base = 0xffd00064,
|
||||
|
||||
.intc2_data = intc2_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(intc2_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "INTC2-se7780",
|
||||
},
|
||||
};
|
||||
|
||||
/*
|
||||
* Initialize IRQ setting
|
||||
*/
|
||||
void __init init_se7780_IRQ(void)
|
||||
{
|
||||
int i ;
|
||||
|
||||
/* enable all interrupt at FPGA */
|
||||
ctrl_outw(0, FPGA_INTMSK1);
|
||||
/* mask SM501 interrupt */
|
||||
|
@ -79,11 +68,5 @@ void __init init_se7780_IRQ(void)
|
|||
/* FPGA + 0x0A */
|
||||
ctrl_outw((IRQPIN_PCCPW << IRQPOS_PCCPW), FPGA_INTSEL3);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(intc2_irq_table); i++) {
|
||||
disable_irq_nosync(intc2_irq_table[i].irq);
|
||||
set_irq_chip_and_handler_name( intc2_irq_table[i].irq, &se7780_irq_chip,
|
||||
handle_level_irq, "level");
|
||||
set_irq_chip_data( intc2_irq_table[i].irq, &intc2_irq_table[i] );
|
||||
disable_se7780_irq(intc2_irq_table[i].irq);
|
||||
}
|
||||
register_intc2_controller(&intc2_irq_desc);
|
||||
}
|
||||
|
|
|
@ -113,10 +113,9 @@ static void __init se7780_setup(char **cmdline_p)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_se7780 __initmv = {
|
||||
static struct sh_machine_vector mv_se7780 __initmv = {
|
||||
.mv_name = "Solution Engine 7780" ,
|
||||
.mv_setup = se7780_setup ,
|
||||
.mv_nr_irqs = 111 ,
|
||||
.mv_init_irq = init_se7780_IRQ,
|
||||
};
|
||||
ALIAS_MV(se7780)
|
||||
|
|
|
@ -15,17 +15,33 @@
|
|||
#include <asm/sh03/sh03.h>
|
||||
#include <asm/addrspace.h>
|
||||
|
||||
static struct ipr_data sh03_ipr_map[] = {
|
||||
{ IRL0_IRQ, IRL0_IPR_ADDR, IRL0_IPR_POS, IRL0_PRIORITY },
|
||||
{ IRL1_IRQ, IRL1_IPR_ADDR, IRL1_IPR_POS, IRL1_PRIORITY },
|
||||
{ IRL2_IRQ, IRL2_IPR_ADDR, IRL2_IPR_POS, IRL2_PRIORITY },
|
||||
{ IRL3_IRQ, IRL3_IPR_ADDR, IRL3_IPR_POS, IRL3_PRIORITY },
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
{ IRL0_IRQ, 0, IRL0_IPR_POS, IRL0_PRIORITY },
|
||||
{ IRL1_IRQ, 0, IRL1_IPR_POS, IRL1_PRIORITY },
|
||||
{ IRL2_IRQ, 0, IRL2_IPR_POS, IRL2_PRIORITY },
|
||||
{ IRL3_IRQ, 0, IRL3_IPR_POS, IRL3_PRIORITY },
|
||||
};
|
||||
|
||||
static unsigned long ipr_offsets[] = {
|
||||
INTC_IPRD,
|
||||
};
|
||||
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-sh03",
|
||||
},
|
||||
};
|
||||
|
||||
static void __init init_sh03_IRQ(void)
|
||||
{
|
||||
ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR);
|
||||
make_ipr_irq(sh03_ipr_map, ARRAY_SIZE(sh03_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
||||
extern void *cf_io_base;
|
||||
|
@ -74,11 +90,10 @@ static int __init sh03_devices_setup(void)
|
|||
}
|
||||
__initcall(sh03_devices_setup);
|
||||
|
||||
struct sh_machine_vector mv_sh03 __initmv = {
|
||||
static struct sh_machine_vector mv_sh03 __initmv = {
|
||||
.mv_name = "Interface (CTP/PCI-SH03)",
|
||||
.mv_setup = sh03_setup,
|
||||
.mv_nr_irqs = 48,
|
||||
.mv_ioport_map = sh03_ioport_map,
|
||||
.mv_init_irq = init_sh03_IRQ,
|
||||
};
|
||||
ALIAS_MV(sh03)
|
||||
|
|
|
@ -6,28 +6,44 @@
|
|||
* SHMIN Support.
|
||||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/irq.h>
|
||||
#include <asm/machvec.h>
|
||||
#include <asm/shmin.h>
|
||||
#include <asm/clock.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
#define PFC_PHCR 0xa400010eUL
|
||||
#define INTC_ICR1 0xa4000010UL
|
||||
#define INTC_IPRC 0xa4000016UL
|
||||
|
||||
static struct ipr_data shmin_ipr_map[] = {
|
||||
{ .irq=32, .addr=INTC_IPRC, .shift= 0, .priority=0 },
|
||||
{ .irq=33, .addr=INTC_IPRC, .shift= 4, .priority=0 },
|
||||
{ .irq=34, .addr=INTC_IPRC, .shift= 8, .priority=8 },
|
||||
{ .irq=35, .addr=INTC_IPRC, .shift=12, .priority=0 },
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
{ 32, 0, 0, 0 },
|
||||
{ 33, 0, 4, 0 },
|
||||
{ 34, 0, 8, 8 },
|
||||
{ 35, 0, 12, 0 },
|
||||
};
|
||||
|
||||
static unsigned long ipr_offsets[] = {
|
||||
INTC_IPRC,
|
||||
};
|
||||
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-shmin",
|
||||
},
|
||||
};
|
||||
|
||||
static void __init init_shmin_irq(void)
|
||||
{
|
||||
ctrl_outw(0x2a00, PFC_PHCR); // IRQ0-3=IRQ
|
||||
ctrl_outw(0x0aaa, INTC_ICR1); // IRQ0-3=IRQ-mode,Low-active.
|
||||
make_ipr_irq(shmin_ipr_map, ARRAY_SIZE(shmin_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
||||
static void __iomem *shmin_ioport_map(unsigned long port, unsigned int size)
|
||||
|
@ -43,9 +59,8 @@ static void __iomem *shmin_ioport_map(unsigned long port, unsigned int size)
|
|||
|
||||
}
|
||||
|
||||
struct sh_machine_vector mv_shmin __initmv = {
|
||||
static struct sh_machine_vector mv_shmin __initmv = {
|
||||
.mv_name = "SHMIN",
|
||||
.mv_init_irq = init_shmin_irq,
|
||||
.mv_ioport_map = shmin_ioport_map,
|
||||
};
|
||||
ALIAS_MV(shmin)
|
||||
|
|
|
@ -68,11 +68,27 @@ module_init(eraseconfig_init);
|
|||
* IRL3 = crypto
|
||||
*/
|
||||
|
||||
static struct ipr_data snapgear_ipr_map[] = {
|
||||
make_ipr_irq(IRL0_IRQ, IRL0_IPR_ADDR, IRL0_IPR_POS, IRL0_PRIORITY);
|
||||
make_ipr_irq(IRL1_IRQ, IRL1_IPR_ADDR, IRL1_IPR_POS, IRL1_PRIORITY);
|
||||
make_ipr_irq(IRL2_IRQ, IRL2_IPR_ADDR, IRL2_IPR_POS, IRL2_PRIORITY);
|
||||
make_ipr_irq(IRL3_IRQ, IRL3_IPR_ADDR, IRL3_IPR_POS, IRL3_PRIORITY);
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
{ IRL0_IRQ, 0, IRL0_IPR_POS, IRL0_PRIORITY },
|
||||
{ IRL1_IRQ, 0, IRL1_IPR_POS, IRL1_PRIORITY },
|
||||
{ IRL2_IRQ, 0, IRL2_IPR_POS, IRL2_PRIORITY },
|
||||
{ IRL3_IRQ, 0, IRL3_IPR_POS, IRL3_PRIORITY },
|
||||
};
|
||||
|
||||
static unsigned long ipr_offsets[] = {
|
||||
INTC_IPRD,
|
||||
};
|
||||
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-snapgear",
|
||||
},
|
||||
};
|
||||
|
||||
static void __init init_snapgear_IRQ(void)
|
||||
|
@ -82,7 +98,7 @@ static void __init init_snapgear_IRQ(void)
|
|||
|
||||
printk("Setup SnapGear IRQ/IPR ...\n");
|
||||
|
||||
make_ipr_irq(snapgear_ipr_map, ARRAY_SIZE(snapgear_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -96,7 +112,7 @@ static void __init snapgear_setup(char **cmdline_p)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_snapgear __initmv = {
|
||||
static struct sh_machine_vector mv_snapgear __initmv = {
|
||||
.mv_name = "SnapGear SecureEdge5410",
|
||||
.mv_setup = snapgear_setup,
|
||||
.mv_nr_irqs = 72,
|
||||
|
@ -117,4 +133,3 @@ struct sh_machine_vector mv_snapgear __initmv = {
|
|||
|
||||
.mv_init_irq = init_snapgear_IRQ,
|
||||
};
|
||||
ALIAS_MV(snapgear)
|
||||
|
|
|
@ -371,7 +371,7 @@ static void __init microdev_setup(char **cmdline_p)
|
|||
/*
|
||||
* The Machine Vector
|
||||
*/
|
||||
struct sh_machine_vector mv_sh4202_microdev __initmv = {
|
||||
static struct sh_machine_vector mv_sh4202_microdev __initmv = {
|
||||
.mv_name = "SH4-202 MicroDev",
|
||||
.mv_setup = microdev_setup,
|
||||
.mv_nr_irqs = 72, /* QQQ need to check this - use the MACRO */
|
||||
|
@ -403,4 +403,3 @@ struct sh_machine_vector mv_sh4202_microdev __initmv = {
|
|||
.mv_heartbeat = microdev_heartbeat,
|
||||
#endif
|
||||
};
|
||||
ALIAS_MV(sh4202_microdev)
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
#include <asm/titan.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
static struct ipr_data titan_ipr_map[] = {
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
/* IRQ, IPR idx, shift, prio */
|
||||
{ TITAN_IRQ_WAN, 3, 12, 8 }, /* eth0 (WAN) */
|
||||
{ TITAN_IRQ_LAN, 3, 8, 8 }, /* eth1 (LAN) */
|
||||
|
@ -20,15 +20,33 @@ static struct ipr_data titan_ipr_map[] = {
|
|||
{ TITAN_IRQ_USB, 3, 0, 8 }, /* mPCI B (bottom), USB */
|
||||
};
|
||||
|
||||
static unsigned long ipr_offsets[] = { /* stolen from setup-sh7750.c */
|
||||
0xffd00004UL, /* 0: IPRA */
|
||||
0xffd00008UL, /* 1: IPRB */
|
||||
0xffd0000cUL, /* 2: IPRC */
|
||||
0xffd00010UL, /* 3: IPRD */
|
||||
};
|
||||
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-titan",
|
||||
},
|
||||
};
|
||||
static void __init init_titan_irq(void)
|
||||
{
|
||||
/* enable individual interrupt mode for externals */
|
||||
ipr_irq_enable_irlm();
|
||||
/* register ipr irqs */
|
||||
make_ipr_irq(titan_ipr_map, ARRAY_SIZE(titan_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
||||
struct sh_machine_vector mv_titan __initmv = {
|
||||
static struct sh_machine_vector mv_titan __initmv = {
|
||||
.mv_name = "Titan",
|
||||
|
||||
.mv_inb = titan_inb,
|
||||
|
@ -52,4 +70,3 @@ struct sh_machine_vector mv_titan __initmv = {
|
|||
|
||||
.mv_init_irq = init_titan_irq,
|
||||
};
|
||||
ALIAS_MV(titan)
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
#
|
||||
# Makefile for unknown SH boards
|
||||
#
|
||||
|
||||
obj-y := setup.o
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
/*
|
||||
* linux/arch/sh/boards/unknown/setup.c
|
||||
*
|
||||
* Copyright (C) 2002 Paul Mundt
|
||||
*
|
||||
* May be copied or modified under the terms of the GNU General Public
|
||||
* License. See linux/COPYING for more information.
|
||||
*
|
||||
* Setup code for an unknown machine (internal peripherals only)
|
||||
*
|
||||
* This is the simplest of all boards, and serves only as a quick and dirty
|
||||
* method to start debugging a new board during bring-up until proper board
|
||||
* setup code is written.
|
||||
*/
|
||||
#include <linux/init.h>
|
||||
#include <asm/machvec.h>
|
||||
|
||||
struct sh_machine_vector mv_unknown __initmv = {
|
||||
.mv_name = "Unknown",
|
||||
};
|
||||
ALIAS_MV(unknown)
|
|
@ -13,10 +13,8 @@ config VOYAGERGX
|
|||
are additional GPIO bits that can be used to interface to
|
||||
external as well.
|
||||
|
||||
# A board must have defined HD6446X_SERIES in order to see these
|
||||
config HD6446X_SERIES
|
||||
bool "HD6446x support"
|
||||
default n
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "HD6446x options"
|
||||
|
@ -25,7 +23,6 @@ choice
|
|||
|
||||
config HD64461
|
||||
bool "Hitachi HD64461 companion chip support"
|
||||
depends on CPU_SUBTYPE_SH7709
|
||||
---help---
|
||||
The Hitachi HD64461 provides an interface for
|
||||
the SH7709 CPU, supporting a LCD controller,
|
||||
|
@ -40,7 +37,6 @@ config HD64461
|
|||
|
||||
config HD64465
|
||||
bool "Hitachi HD64465 companion chip support"
|
||||
depends on CPU_SUBTYPE_SH7750
|
||||
---help---
|
||||
The Hitachi HD64465 provides an interface for
|
||||
the SH7750 CPU, supporting a LCD controller,
|
||||
|
|
|
@ -1,15 +1,23 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.18
|
||||
# Tue Oct 3 10:51:55 2006
|
||||
# Linux kernel version: 2.6.22-rc4
|
||||
# Sat Jul 7 03:47:45 2007
|
||||
#
|
||||
CONFIG_SUPERH=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_SYS_SUPPORTS_PCI=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
|
@ -28,6 +36,7 @@ CONFIG_LOCALVERSION_AUTO=y
|
|||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_IPC_NS is not set
|
||||
CONFIG_SYSVIPC_SYSCTL=y
|
||||
# CONFIG_POSIX_MQUEUE is not set
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
|
||||
|
@ -35,8 +44,10 @@ CONFIG_BSD_PROCESS_ACCT=y
|
|||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
|
@ -50,14 +61,19 @@ CONFIG_BUG=y
|
|||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
|
@ -93,44 +109,9 @@ CONFIG_DEFAULT_IOSCHED="anticipatory"
|
|||
#
|
||||
# System type
|
||||
#
|
||||
# CONFIG_SH_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7751_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7300_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7343_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_73180_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7751_SYSTEMH is not set
|
||||
# CONFIG_SH_HP6XX is not set
|
||||
# CONFIG_SH_EC3104 is not set
|
||||
# CONFIG_SH_SATURN is not set
|
||||
CONFIG_SH_DREAMCAST=y
|
||||
# CONFIG_SH_BIGSUR is not set
|
||||
# CONFIG_SH_MPC1211 is not set
|
||||
# CONFIG_SH_SH03 is not set
|
||||
# CONFIG_SH_SECUREEDGE5410 is not set
|
||||
# CONFIG_SH_HS7751RVOIP is not set
|
||||
# CONFIG_SH_7710VOIPGW is not set
|
||||
# CONFIG_SH_RTS7751R2D is not set
|
||||
# CONFIG_SH_R7780RP is not set
|
||||
# CONFIG_SH_EDOSK7705 is not set
|
||||
# CONFIG_SH_SH4202_MICRODEV is not set
|
||||
# CONFIG_SH_LANDISK is not set
|
||||
# CONFIG_SH_TITAN is not set
|
||||
# CONFIG_SH_SHMIN is not set
|
||||
# CONFIG_SH_UNKNOWN is not set
|
||||
|
||||
#
|
||||
# Processor selection
|
||||
#
|
||||
CONFIG_CPU_SH4=y
|
||||
|
||||
#
|
||||
# SH-2 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7604 is not set
|
||||
|
||||
#
|
||||
# SH-3 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7619 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7206 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7300 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7705 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7706 is not set
|
||||
|
@ -138,79 +119,93 @@ CONFIG_CPU_SH4=y
|
|||
# CONFIG_CPU_SUBTYPE_SH7708 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7709 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7710 is not set
|
||||
|
||||
#
|
||||
# SH-4 Processor Support
|
||||
#
|
||||
CONFIG_CPU_SUBTYPE_SH7750=y
|
||||
# CONFIG_CPU_SUBTYPE_SH7712 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750 is not set
|
||||
CONFIG_CPU_SUBTYPE_SH7091=y
|
||||
CONFIG_CPU_SUBTYPE_SH7750R=y
|
||||
# CONFIG_CPU_SUBTYPE_SH7750R is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750S is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7751 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7751R is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7760 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH4_202 is not set
|
||||
|
||||
#
|
||||
# ST40 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_ST40STB1 is not set
|
||||
# CONFIG_CPU_SUBTYPE_ST40GX1 is not set
|
||||
|
||||
#
|
||||
# SH-4A Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7770 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7780 is not set
|
||||
|
||||
#
|
||||
# SH4AL-DSP Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7785 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SHX3 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH73180 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7343 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7722 is not set
|
||||
|
||||
#
|
||||
# Memory management options
|
||||
#
|
||||
CONFIG_QUICKLIST=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_PAGE_OFFSET=0x80000000
|
||||
CONFIG_MEMORY_START=0x0c000000
|
||||
CONFIG_MEMORY_SIZE=0x01000000
|
||||
CONFIG_VSYSCALL=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||
CONFIG_MAX_ACTIVE_REGIONS=1
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_PAGE_SIZE_4KB=y
|
||||
# CONFIG_PAGE_SIZE_8KB is not set
|
||||
# CONFIG_PAGE_SIZE_64KB is not set
|
||||
CONFIG_HUGETLB_PAGE_SIZE_64K=y
|
||||
# CONFIG_HUGETLB_PAGE_SIZE_256K is not set
|
||||
# CONFIG_HUGETLB_PAGE_SIZE_1MB is not set
|
||||
# CONFIG_HUGETLB_PAGE_SIZE_4MB is not set
|
||||
# CONFIG_HUGETLB_PAGE_SIZE_64MB is not set
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPARSEMEM_STATIC=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_NR_QUICK=2
|
||||
|
||||
#
|
||||
# Cache configuration
|
||||
#
|
||||
# CONFIG_SH_DIRECT_MAPPED is not set
|
||||
# CONFIG_SH_WRITETHROUGH is not set
|
||||
# CONFIG_SH_OCRAM is not set
|
||||
|
||||
#
|
||||
# Processor features
|
||||
#
|
||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||
CONFIG_SH_FPU=y
|
||||
# CONFIG_SH_DSP is not set
|
||||
CONFIG_SH_STORE_QUEUES=y
|
||||
CONFIG_CPU_HAS_INTEVT=y
|
||||
CONFIG_CPU_HAS_IPR_IRQ=y
|
||||
CONFIG_CPU_HAS_SR_RB=y
|
||||
CONFIG_CPU_HAS_PTEA=y
|
||||
|
||||
#
|
||||
# Timer support
|
||||
# Board support
|
||||
#
|
||||
CONFIG_SH_DREAMCAST=y
|
||||
|
||||
#
|
||||
# Timer and clock configuration
|
||||
#
|
||||
CONFIG_SH_TMU=y
|
||||
CONFIG_SH_TIMER_IRQ=16
|
||||
CONFIG_SH_PCLK_FREQ=49876504
|
||||
# CONFIG_TICK_ONESHOT is not set
|
||||
# CONFIG_NO_HZ is not set
|
||||
# CONFIG_HIGH_RES_TIMERS is not set
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
|
@ -232,6 +227,7 @@ CONFIG_CPU_FREQ_GOV_USERSPACE=y
|
|||
#
|
||||
# DMA support
|
||||
#
|
||||
CONFIG_SH_DMA_API=y
|
||||
CONFIG_SH_DMA=y
|
||||
CONFIG_NR_ONCHIP_DMA_CHANNELS=4
|
||||
CONFIG_NR_DMA_CHANNELS_BOOL=y
|
||||
|
@ -240,17 +236,23 @@ CONFIG_NR_DMA_CHANNELS=9
|
|||
#
|
||||
# Companion Chips
|
||||
#
|
||||
# CONFIG_HD6446X_SERIES is not set
|
||||
|
||||
#
|
||||
# Additional SuperH Device Drivers
|
||||
#
|
||||
# CONFIG_HEARTBEAT is not set
|
||||
# CONFIG_PUSH_SWITCH is not set
|
||||
|
||||
#
|
||||
# Kernel features
|
||||
#
|
||||
# CONFIG_HZ_100 is not set
|
||||
CONFIG_HZ_250=y
|
||||
# CONFIG_HZ_300 is not set
|
||||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=250
|
||||
# CONFIG_KEXEC is not set
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
CONFIG_PREEMPT=y
|
||||
|
@ -269,32 +271,22 @@ CONFIG_CMDLINE="console=ttySC1,115200 panic=3"
|
|||
# Bus options
|
||||
#
|
||||
CONFIG_PCI=y
|
||||
# CONFIG_SH_PCIDMA_NONCOHERENT is not set
|
||||
CONFIG_SH_PCIDMA_NONCOHERENT=y
|
||||
CONFIG_PCI_AUTO=y
|
||||
# CONFIG_PCI_MULTITHREAD_PROBE is not set
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
#
|
||||
# CONFIG_PCCARD is not set
|
||||
|
||||
#
|
||||
# PCI Hotplug Support
|
||||
#
|
||||
# CONFIG_HOTPLUG_PCI is not set
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_FLAT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
|
||||
#
|
||||
# Power management options (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
|
@ -303,13 +295,13 @@ CONFIG_NET=y
|
|||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
CONFIG_XFRM=y
|
||||
# CONFIG_XFRM_USER is not set
|
||||
# CONFIG_XFRM_SUB_POLICY is not set
|
||||
# CONFIG_XFRM_MIGRATE is not set
|
||||
# CONFIG_NET_KEY is not set
|
||||
CONFIG_INET=y
|
||||
# CONFIG_IP_MULTICAST is not set
|
||||
|
@ -327,30 +319,20 @@ CONFIG_IP_FIB_HASH=y
|
|||
# CONFIG_INET_TUNNEL is not set
|
||||
CONFIG_INET_XFRM_MODE_TRANSPORT=y
|
||||
CONFIG_INET_XFRM_MODE_TUNNEL=y
|
||||
CONFIG_INET_XFRM_MODE_BEET=y
|
||||
CONFIG_INET_DIAG=y
|
||||
CONFIG_INET_TCP_DIAG=y
|
||||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_CUBIC=y
|
||||
CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||
# CONFIG_TCP_MD5SIG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# DCCP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_DCCP is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
|
||||
#
|
||||
# TIPC Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
|
@ -376,7 +358,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -394,10 +385,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
# CONFIG_MTD is not set
|
||||
|
||||
#
|
||||
|
@ -408,6 +395,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
# CONFIG_PNPACPI is not set
|
||||
|
||||
#
|
||||
# Block devices
|
||||
|
@ -421,13 +409,16 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||
# CONFIG_BLK_DEV_NBD is not set
|
||||
# CONFIG_BLK_DEV_SX8 is not set
|
||||
# CONFIG_BLK_DEV_RAM is not set
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_PHANTOM is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
# CONFIG_BLINK is not set
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
|
@ -436,10 +427,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
# CONFIG_ATA is not set
|
||||
|
||||
#
|
||||
|
@ -455,6 +442,7 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
|
||||
#
|
||||
|
@ -470,15 +458,7 @@ CONFIG_NETDEVICES=y
|
|||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# ARCnet devices
|
||||
#
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
|
@ -521,47 +501,16 @@ CONFIG_8139TOO=y
|
|||
# CONFIG_SUNDANCE is not set
|
||||
# CONFIG_TLAN is not set
|
||||
# CONFIG_VIA_RHINE is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
# CONFIG_ACENIC is not set
|
||||
# CONFIG_DL2K is not set
|
||||
# CONFIG_E1000 is not set
|
||||
# CONFIG_NS83820 is not set
|
||||
# CONFIG_HAMACHI is not set
|
||||
# CONFIG_YELLOWFIN is not set
|
||||
# CONFIG_R8169 is not set
|
||||
# CONFIG_SIS190 is not set
|
||||
# CONFIG_SKGE is not set
|
||||
# CONFIG_SKY2 is not set
|
||||
# CONFIG_SK98LIN is not set
|
||||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
# CONFIG_QLA3XXX is not set
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
# CONFIG_SC92031 is not set
|
||||
# CONFIG_NETDEV_1000 is not set
|
||||
# CONFIG_NETDEV_10000 is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
#
|
||||
# CONFIG_NET_RADIO is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_FDDI is not set
|
||||
# CONFIG_HIPPI is not set
|
||||
|
@ -604,17 +553,19 @@ CONFIG_INPUT_MOUSEDEV_SCREEN_Y=768
|
|||
# Input Device Drivers
|
||||
#
|
||||
CONFIG_INPUT_KEYBOARD=y
|
||||
CONFIG_KEYBOARD_ATKBD=y
|
||||
# CONFIG_KEYBOARD_ATKBD is not set
|
||||
# CONFIG_KEYBOARD_SUNKBD is not set
|
||||
# CONFIG_KEYBOARD_LKKBD is not set
|
||||
# CONFIG_KEYBOARD_XTKBD is not set
|
||||
# CONFIG_KEYBOARD_NEWTON is not set
|
||||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
CONFIG_INPUT_MOUSE=y
|
||||
CONFIG_MOUSE_PS2=y
|
||||
# CONFIG_MOUSE_PS2 is not set
|
||||
# CONFIG_MOUSE_SERIAL is not set
|
||||
# CONFIG_MOUSE_APPLETOUCH is not set
|
||||
# CONFIG_MOUSE_VSXXXAA is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
|
@ -660,10 +611,6 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
CONFIG_WATCHDOG=y
|
||||
# CONFIG_WATCHDOG_NOWAYOUT is not set
|
||||
|
||||
|
@ -680,14 +627,8 @@ CONFIG_SH_WDT=y
|
|||
# CONFIG_PCIPCWATCHDOG is not set
|
||||
# CONFIG_WDTPCI is not set
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_GEN_RTC is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_APPLICOM is not set
|
||||
|
||||
#
|
||||
# Ftape, the floppy tape device driver
|
||||
#
|
||||
# CONFIG_DRM is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
|
@ -695,11 +636,7 @@ CONFIG_HW_RANDOM=y
|
|||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
# CONFIG_TELCLOCK is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
CONFIG_DEVPORT=y
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
|
@ -711,44 +648,51 @@ CONFIG_HW_RANDOM=y
|
|||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_HWMON is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_F71805F is not set
|
||||
# CONFIG_SENSORS_VT1211 is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
CONFIG_VIDEO_V4L2=y
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
# CONFIG_DAB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
CONFIG_FB=y
|
||||
CONFIG_FIRMWARE_EDID=y
|
||||
# CONFIG_FB_DDC is not set
|
||||
CONFIG_FB_CFB_FILLRECT=y
|
||||
CONFIG_FB_CFB_COPYAREA=y
|
||||
CONFIG_FB_CFB_IMAGEBLIT=y
|
||||
# CONFIG_FB_SYS_FILLRECT is not set
|
||||
# CONFIG_FB_SYS_COPYAREA is not set
|
||||
# CONFIG_FB_SYS_IMAGEBLIT is not set
|
||||
# CONFIG_FB_SYS_FOPS is not set
|
||||
CONFIG_FB_DEFERRED_IO=y
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
# 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
|
||||
|
||||
#
|
||||
# Frame buffer hardware drivers
|
||||
#
|
||||
# CONFIG_FB_CIRRUS is not set
|
||||
# CONFIG_FB_PM2 is not set
|
||||
# CONFIG_FB_CYBER2000 is not set
|
||||
|
@ -763,13 +707,17 @@ CONFIG_FB_PVR2=y
|
|||
# CONFIG_FB_RADEON is not set
|
||||
# CONFIG_FB_ATY128 is not set
|
||||
# CONFIG_FB_ATY is not set
|
||||
# CONFIG_FB_S3 is not set
|
||||
# CONFIG_FB_SAVAGE is not set
|
||||
# CONFIG_FB_SIS is not set
|
||||
# CONFIG_FB_NEOMAGIC is not set
|
||||
# CONFIG_FB_KYRO is not set
|
||||
# CONFIG_FB_3DFX is not set
|
||||
# CONFIG_FB_VOODOO1 is not set
|
||||
# CONFIG_FB_VT8623 is not set
|
||||
# CONFIG_FB_TRIDENT is not set
|
||||
# CONFIG_FB_ARK is not set
|
||||
# CONFIG_FB_PM3 is not set
|
||||
# CONFIG_FB_VIRTUAL is not set
|
||||
|
||||
#
|
||||
|
@ -789,10 +737,6 @@ CONFIG_FONT_8x16=y
|
|||
# CONFIG_FONT_SUN8x16 is not set
|
||||
# CONFIG_FONT_SUN12x22 is not set
|
||||
# CONFIG_FONT_10x18 is not set
|
||||
|
||||
#
|
||||
# Logo configuration
|
||||
#
|
||||
CONFIG_LOGO=y
|
||||
# CONFIG_LOGO_LINUX_MONO is not set
|
||||
# CONFIG_LOGO_LINUX_VGA16 is not set
|
||||
|
@ -800,13 +744,18 @@ CONFIG_LOGO=y
|
|||
# CONFIG_LOGO_SUPERH_MONO is not set
|
||||
# CONFIG_LOGO_SUPERH_VGA16 is not set
|
||||
CONFIG_LOGO_SUPERH_CLUT224=y
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
|
@ -823,10 +772,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -874,10 +819,12 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
#
|
||||
# CONFIG_EXT2_FS is not set
|
||||
# CONFIG_EXT3_FS is not set
|
||||
# CONFIG_EXT4DEV_FS is not set
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_OCFS2_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
|
@ -956,6 +903,11 @@ CONFIG_MSDOS_PARTITION=y
|
|||
#
|
||||
# CONFIG_NLS is not set
|
||||
|
||||
#
|
||||
# Distributed Lock Manager
|
||||
#
|
||||
# CONFIG_DLM is not set
|
||||
|
||||
#
|
||||
# Profiling support
|
||||
#
|
||||
|
@ -965,17 +917,18 @@ CONFIG_PROFILING=y
|
|||
#
|
||||
# Kernel hacking
|
||||
#
|
||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
CONFIG_ENABLE_MUST_CHECK=y
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_SH_STANDARD_BIOS is not set
|
||||
# CONFIG_EARLY_SCIF_CONSOLE is not set
|
||||
# CONFIG_KGDB is not set
|
||||
# CONFIG_SH_KGDB is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
@ -991,8 +944,13 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.21-rc3
|
||||
# Mon Mar 12 14:26:33 2007
|
||||
# Linux kernel version: 2.6.22-rc4
|
||||
# Thu Jul 12 12:33:15 2007
|
||||
#
|
||||
CONFIG_SUPERH=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
|
@ -11,7 +11,9 @@ CONFIG_GENERIC_HWEIGHT=y
|
|||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
# CONFIG_GENERIC_TIME is not set
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_SYS_SUPPORTS_PCI=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
|
@ -43,6 +45,7 @@ CONFIG_BSD_PROCESS_ACCT=y
|
|||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_SYSFS_DEPRECATED is not set
|
||||
# CONFIG_RELAY is not set
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
|
@ -60,13 +63,18 @@ CONFIG_BUG=y
|
|||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
# CONFIG_FUTEX is not set
|
||||
CONFIG_ANON_INODES=y
|
||||
# CONFIG_EPOLL is not set
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
|
@ -102,55 +110,11 @@ CONFIG_DEFAULT_IOSCHED="noop"
|
|||
#
|
||||
# System type
|
||||
#
|
||||
# CONFIG_SH_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7751_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7300_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7343_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_73180_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7751_SYSTEMH is not set
|
||||
# CONFIG_SH_HP6XX is not set
|
||||
# CONFIG_SH_SATURN is not set
|
||||
# CONFIG_SH_DREAMCAST is not set
|
||||
# CONFIG_SH_MPC1211 is not set
|
||||
# CONFIG_SH_SH03 is not set
|
||||
# CONFIG_SH_SECUREEDGE5410 is not set
|
||||
# CONFIG_SH_HS7751RVOIP is not set
|
||||
# CONFIG_SH_7710VOIPGW is not set
|
||||
# CONFIG_SH_RTS7751R2D is not set
|
||||
CONFIG_SH_HIGHLANDER=y
|
||||
# CONFIG_SH_EDOSK7705 is not set
|
||||
# CONFIG_SH_SH4202_MICRODEV is not set
|
||||
# CONFIG_SH_LANDISK is not set
|
||||
# CONFIG_SH_TITAN is not set
|
||||
# CONFIG_SH_SHMIN is not set
|
||||
# CONFIG_SH_7206_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7619_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_UNKNOWN is not set
|
||||
# CONFIG_SH_R7780RP is not set
|
||||
# CONFIG_SH_R7780MP is not set
|
||||
CONFIG_SH_R7785RP=y
|
||||
|
||||
#
|
||||
# Processor selection
|
||||
#
|
||||
CONFIG_CPU_SH4=y
|
||||
CONFIG_CPU_SH4A=y
|
||||
CONFIG_CPU_SHX2=y
|
||||
|
||||
#
|
||||
# SH-2 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7604 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7619 is not set
|
||||
|
||||
#
|
||||
# SH-2A Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7206 is not set
|
||||
|
||||
#
|
||||
# SH-3 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7300 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7705 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7706 is not set
|
||||
|
@ -158,10 +122,7 @@ CONFIG_CPU_SHX2=y
|
|||
# CONFIG_CPU_SUBTYPE_SH7708 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7709 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7710 is not set
|
||||
|
||||
#
|
||||
# SH-4 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7712 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7091 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750R is not set
|
||||
|
@ -170,23 +131,12 @@ CONFIG_CPU_SHX2=y
|
|||
# CONFIG_CPU_SUBTYPE_SH7751R is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7760 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH4_202 is not set
|
||||
|
||||
#
|
||||
# ST40 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_ST40STB1 is not set
|
||||
# CONFIG_CPU_SUBTYPE_ST40GX1 is not set
|
||||
|
||||
#
|
||||
# SH-4A Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7770 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7780 is not set
|
||||
CONFIG_CPU_SUBTYPE_SH7785=y
|
||||
|
||||
#
|
||||
# SH4AL-DSP Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SHX3 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH73180 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7343 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7722 is not set
|
||||
|
@ -194,6 +144,7 @@ CONFIG_CPU_SUBTYPE_SH7785=y
|
|||
#
|
||||
# Memory management options
|
||||
#
|
||||
CONFIG_QUICKLIST=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_PAGE_OFFSET=0x80000000
|
||||
CONFIG_MEMORY_START=0x08000000
|
||||
|
@ -201,6 +152,12 @@ CONFIG_MEMORY_SIZE=0x08000000
|
|||
CONFIG_32BIT=y
|
||||
# CONFIG_X2TLB is not set
|
||||
CONFIG_VSYSCALL=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||
CONFIG_MAX_ACTIVE_REGIONS=1
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_PAGE_SIZE_4KB=y
|
||||
# CONFIG_PAGE_SIZE_8KB is not set
|
||||
# CONFIG_PAGE_SIZE_64KB is not set
|
||||
|
@ -215,17 +172,17 @@ CONFIG_FLATMEM_MANUAL=y
|
|||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPARSEMEM_STATIC=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_NR_QUICK=2
|
||||
|
||||
#
|
||||
# Cache configuration
|
||||
#
|
||||
# CONFIG_SH_DIRECT_MAPPED is not set
|
||||
# CONFIG_SH_WRITETHROUGH is not set
|
||||
# CONFIG_SH_OCRAM is not set
|
||||
|
||||
#
|
||||
# Processor features
|
||||
|
@ -240,13 +197,23 @@ CONFIG_CPU_HAS_INTC2_IRQ=y
|
|||
CONFIG_CPU_HAS_SR_RB=y
|
||||
CONFIG_CPU_HAS_PTEA=y
|
||||
|
||||
#
|
||||
# Board support
|
||||
#
|
||||
CONFIG_SH_HIGHLANDER=y
|
||||
# CONFIG_SH_R7780RP is not set
|
||||
# CONFIG_SH_R7780MP is not set
|
||||
CONFIG_SH_R7785RP=y
|
||||
|
||||
#
|
||||
# Timer and clock configuration
|
||||
#
|
||||
CONFIG_SH_TMU=y
|
||||
CONFIG_SH_TIMER_IRQ=28
|
||||
CONFIG_NO_IDLE_HZ=y
|
||||
CONFIG_SH_PCLK_FREQ=50000000
|
||||
# CONFIG_TICK_ONESHOT is not set
|
||||
# CONFIG_NO_HZ is not set
|
||||
# CONFIG_HIGH_RES_TIMERS is not set
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
|
@ -261,7 +228,6 @@ CONFIG_SH_PCLK_FREQ=50000000
|
|||
#
|
||||
# Companion Chips
|
||||
#
|
||||
# CONFIG_HD6446X_SERIES is not set
|
||||
|
||||
#
|
||||
# Additional SuperH Device Drivers
|
||||
|
@ -278,7 +244,7 @@ CONFIG_HZ_250=y
|
|||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=250
|
||||
CONFIG_KEXEC=y
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
CONFIG_PREEMPT=y
|
||||
|
@ -300,30 +266,21 @@ CONFIG_PCI=y
|
|||
CONFIG_SH_PCIDMA_NONCOHERENT=y
|
||||
CONFIG_PCI_AUTO=y
|
||||
CONFIG_PCI_AUTO_UPDATE_RESOURCES=y
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
# CONFIG_PCI_DEBUG is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
#
|
||||
# CONFIG_PCCARD is not set
|
||||
|
||||
#
|
||||
# PCI Hotplug Support
|
||||
#
|
||||
# CONFIG_HOTPLUG_PCI is not set
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_FLAT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
|
||||
#
|
||||
# Power management options (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
|
@ -332,7 +289,6 @@ CONFIG_NET=y
|
|||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
CONFIG_PACKET=y
|
||||
# CONFIG_PACKET_MMAP is not set
|
||||
CONFIG_UNIX=y
|
||||
|
@ -377,20 +333,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# DCCP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_DCCP is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
|
||||
#
|
||||
# TIPC Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
CONFIG_BRIDGE=m
|
||||
|
@ -417,8 +361,16 @@ CONFIG_LLC=m
|
|||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
CONFIG_WIRELESS_EXT=y
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -438,10 +390,6 @@ CONFIG_FW_LOADER=m
|
|||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
# CONFIG_MTD is not set
|
||||
|
||||
#
|
||||
|
@ -475,12 +423,10 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
|||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_PHANTOM is not set
|
||||
# CONFIG_SGI_IOC4 is not set
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
# CONFIG_BLINK is not set
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
|
@ -509,6 +455,7 @@ CONFIG_CHR_DEV_SG=m
|
|||
# CONFIG_SCSI_CONSTANTS is not set
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||
CONFIG_SCSI_WAIT_SCAN=m
|
||||
|
||||
#
|
||||
# SCSI Transports
|
||||
|
@ -554,10 +501,6 @@ CONFIG_CHR_DEV_SG=m
|
|||
# CONFIG_SCSI_NSP32 is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
# CONFIG_SCSI_SRP is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_NONSTANDARD is not set
|
||||
# CONFIG_SATA_AHCI is not set
|
||||
|
@ -580,6 +523,7 @@ CONFIG_SATA_SIL=y
|
|||
# CONFIG_PATA_AMD is not set
|
||||
# CONFIG_PATA_ARTOP is not set
|
||||
# CONFIG_PATA_ATIIXP is not set
|
||||
# CONFIG_PATA_CMD640_PCI is not set
|
||||
# CONFIG_PATA_CMD64X is not set
|
||||
# CONFIG_PATA_CS5520 is not set
|
||||
# CONFIG_PATA_CS5530 is not set
|
||||
|
@ -629,6 +573,7 @@ CONFIG_PATA_PLATFORM=y
|
|||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
# CONFIG_FIREWIRE is not set
|
||||
# CONFIG_IEEE1394 is not set
|
||||
|
||||
#
|
||||
|
@ -644,15 +589,7 @@ CONFIG_NETDEVICES=y
|
|||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# ARCnet devices
|
||||
#
|
||||
# CONFIG_ARCNET is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
|
@ -673,10 +610,7 @@ CONFIG_MII=y
|
|||
# CONFIG_NET_TULIP is not set
|
||||
# CONFIG_HP100 is not set
|
||||
# CONFIG_NET_PCI is not set
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
CONFIG_NETDEV_1000=y
|
||||
# CONFIG_ACENIC is not set
|
||||
# CONFIG_DL2K is not set
|
||||
# CONFIG_E1000 is not set
|
||||
|
@ -689,55 +623,26 @@ CONFIG_R8169=y
|
|||
# CONFIG_SKGE is not set
|
||||
# CONFIG_SKY2 is not set
|
||||
# CONFIG_SK98LIN is not set
|
||||
# CONFIG_VIA_VELOCITY is not set
|
||||
# CONFIG_TIGON3 is not set
|
||||
# CONFIG_BNX2 is not set
|
||||
# CONFIG_QLA3XXX is not set
|
||||
# CONFIG_ATL1 is not set
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
CONFIG_NETDEV_10000=y
|
||||
# CONFIG_CHELSIO_T1 is not set
|
||||
# CONFIG_CHELSIO_T3 is not set
|
||||
# CONFIG_IXGB is not set
|
||||
# CONFIG_S2IO is not set
|
||||
# CONFIG_MYRI10GE is not set
|
||||
# CONFIG_NETXEN_NIC is not set
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
# CONFIG_MLX4_CORE is not set
|
||||
# CONFIG_TR is not set
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
#
|
||||
CONFIG_NET_RADIO=y
|
||||
# CONFIG_NET_WIRELESS_RTNETLINK is not set
|
||||
|
||||
#
|
||||
# Obsolete Wireless cards support (pre-802.11)
|
||||
#
|
||||
# CONFIG_STRIP is not set
|
||||
|
||||
#
|
||||
# Wireless 802.11b ISA/PCI cards support
|
||||
#
|
||||
# CONFIG_IPW2100 is not set
|
||||
# CONFIG_IPW2200 is not set
|
||||
# CONFIG_HERMES is not set
|
||||
# CONFIG_ATMEL is not set
|
||||
|
||||
#
|
||||
# Prism GT/Duette 802.11(a/b/g) PCI/Cardbus support
|
||||
#
|
||||
# CONFIG_PRISM54 is not set
|
||||
# CONFIG_HOSTAP is not set
|
||||
CONFIG_NET_WIRELESS=y
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_FDDI is not set
|
||||
# CONFIG_HIPPI is not set
|
||||
|
@ -789,6 +694,7 @@ CONFIG_KEYBOARD_ATKBD=y
|
|||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
|
@ -831,14 +737,8 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_GEN_RTC is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_APPLICOM is not set
|
||||
# CONFIG_DRM is not set
|
||||
|
@ -848,10 +748,7 @@ CONFIG_HW_RANDOM=y
|
|||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
CONFIG_DEVPORT=y
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
|
@ -864,16 +761,15 @@ CONFIG_HW_RANDOM=y
|
|||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_F71805F is not set
|
||||
# CONFIG_SENSORS_PC87427 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VT1211 is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
|
@ -885,22 +781,30 @@ CONFIG_HWMON=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
# CONFIG_DAB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
CONFIG_FB=y
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
# CONFIG_FB_DDC is not set
|
||||
# CONFIG_FB_CFB_FILLRECT is not set
|
||||
# CONFIG_FB_CFB_COPYAREA is not set
|
||||
# CONFIG_FB_CFB_IMAGEBLIT is not set
|
||||
# CONFIG_FB_SYS_FILLRECT is not set
|
||||
# CONFIG_FB_SYS_COPYAREA is not set
|
||||
# CONFIG_FB_SYS_IMAGEBLIT is not set
|
||||
# CONFIG_FB_SYS_FOPS is not set
|
||||
CONFIG_FB_DEFERRED_IO=y
|
||||
# CONFIG_FB_SVGALIB is not set
|
||||
# CONFIG_FB_MACMODES is not set
|
||||
# CONFIG_FB_BACKLIGHT is not set
|
||||
|
@ -908,7 +812,7 @@ CONFIG_FB=y
|
|||
# CONFIG_FB_TILEBLITTING is not set
|
||||
|
||||
#
|
||||
# Frambuffer hardware drivers
|
||||
# Frame buffer hardware drivers
|
||||
#
|
||||
# CONFIG_FB_CIRRUS is not set
|
||||
# CONFIG_FB_PM2 is not set
|
||||
|
@ -930,12 +834,11 @@ CONFIG_FB=y
|
|||
# CONFIG_FB_KYRO is not set
|
||||
# CONFIG_FB_3DFX is not set
|
||||
# CONFIG_FB_VOODOO1 is not set
|
||||
# CONFIG_FB_VT8623 is not set
|
||||
# CONFIG_FB_TRIDENT is not set
|
||||
# CONFIG_FB_ARK is not set
|
||||
# CONFIG_FB_PM3 is not set
|
||||
# CONFIG_FB_VIRTUAL is not set
|
||||
|
||||
#
|
||||
# Logo configuration
|
||||
#
|
||||
# CONFIG_LOGO is not set
|
||||
|
||||
#
|
||||
|
@ -952,13 +855,10 @@ CONFIG_SOUND=m
|
|||
# Open Sound System
|
||||
#
|
||||
CONFIG_SOUND_PRIME=m
|
||||
# CONFIG_OBSOLETE_OSS is not set
|
||||
# CONFIG_SOUND_BT878 is not set
|
||||
# CONFIG_SOUND_ICH is not set
|
||||
# CONFIG_OSS_OBSOLETE is not set
|
||||
# CONFIG_SOUND_TRIDENT is not set
|
||||
# CONFIG_SOUND_MSNDCLAS is not set
|
||||
# CONFIG_SOUND_MSNDPIN is not set
|
||||
# CONFIG_SOUND_VIA82CXXX is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
|
@ -982,10 +882,6 @@ CONFIG_USB_ARCH_HAS_EHCI=y
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -1026,17 +922,29 @@ CONFIG_RTC_INTF_SYSFS=y
|
|||
CONFIG_RTC_INTF_PROC=y
|
||||
CONFIG_RTC_INTF_DEV=y
|
||||
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
|
||||
# CONFIG_RTC_DRV_TEST is not set
|
||||
|
||||
#
|
||||
# RTC drivers
|
||||
# I2C RTC drivers
|
||||
#
|
||||
|
||||
#
|
||||
# SPI RTC drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Platform RTC drivers
|
||||
#
|
||||
# CONFIG_RTC_DRV_DS1553 is not set
|
||||
# CONFIG_RTC_DRV_DS1742 is not set
|
||||
# CONFIG_RTC_DRV_M48T86 is not set
|
||||
CONFIG_RTC_DRV_SH=y
|
||||
# CONFIG_RTC_DRV_TEST is not set
|
||||
# CONFIG_RTC_DRV_V3020 is not set
|
||||
|
||||
#
|
||||
# on-CPU RTC drivers
|
||||
#
|
||||
CONFIG_RTC_DRV_SH=y
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
|
@ -1050,14 +958,6 @@ CONFIG_RTC_DRV_SH=y
|
|||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# Auxiliary Display support
|
||||
#
|
||||
|
||||
#
|
||||
# Virtualization
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -1157,6 +1057,7 @@ CONFIG_EXPORTFS=y
|
|||
CONFIG_NFS_COMMON=y
|
||||
CONFIG_SUNRPC=y
|
||||
CONFIG_SUNRPC_GSS=y
|
||||
# CONFIG_SUNRPC_BIND34 is not set
|
||||
CONFIG_RPCSEC_GSS_KRB5=y
|
||||
# CONFIG_RPCSEC_GSS_SPKM3 is not set
|
||||
# CONFIG_SMB_FS is not set
|
||||
|
@ -1239,7 +1140,6 @@ CONFIG_DEBUG_FS=y
|
|||
# CONFIG_HEADERS_CHECK is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
# CONFIG_DEBUG_SHIRQ is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DETECT_SOFTLOCKUP is not set
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_TIMER_STATS is not set
|
||||
|
@ -1266,6 +1166,7 @@ CONFIG_FORCED_INLINING=y
|
|||
CONFIG_SH_STANDARD_BIOS=y
|
||||
# CONFIG_EARLY_SCIF_CONSOLE is not set
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_DEBUG_BOOTMEM is not set
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
# CONFIG_4KSTACKS is not set
|
||||
|
@ -1300,6 +1201,7 @@ CONFIG_CRYPTO_ECB=m
|
|||
CONFIG_CRYPTO_CBC=y
|
||||
CONFIG_CRYPTO_PCBC=m
|
||||
# CONFIG_CRYPTO_LRW is not set
|
||||
# CONFIG_CRYPTO_CRYPTD is not set
|
||||
CONFIG_CRYPTO_DES=y
|
||||
# CONFIG_CRYPTO_FCRYPT is not set
|
||||
# CONFIG_CRYPTO_BLOWFISH is not set
|
||||
|
@ -1328,7 +1230,9 @@ CONFIG_CRYPTO_DES=y
|
|||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.19
|
||||
# Wed Dec 6 14:40:15 2006
|
||||
# Linux kernel version: 2.6.22-rc4
|
||||
# Fri Jun 15 19:37:46 2007
|
||||
#
|
||||
CONFIG_SUPERH=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
# CONFIG_GENERIC_TIME is not set
|
||||
# CONFIG_GENERIC_CLOCKEVENTS is not set
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
|
@ -34,8 +38,10 @@ CONFIG_LOCALVERSION=""
|
|||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_AUDIT is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
|
@ -48,12 +54,17 @@ CONFIG_BUG=y
|
|||
# CONFIG_ELF_CORE is not set
|
||||
# CONFIG_BASE_FULL is not set
|
||||
# CONFIG_FUTEX is not set
|
||||
CONFIG_ANON_INODES=y
|
||||
# CONFIG_EPOLL is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_TINY_SHMEM=y
|
||||
CONFIG_BASE_SMALL=1
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
|
@ -83,53 +94,10 @@ CONFIG_DEFAULT_IOSCHED="noop"
|
|||
#
|
||||
# System type
|
||||
#
|
||||
# CONFIG_SH_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7751_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7300_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7343_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_73180_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7751_SYSTEMH is not set
|
||||
# CONFIG_SH_HP6XX is not set
|
||||
# CONFIG_SH_EC3104 is not set
|
||||
# CONFIG_SH_SATURN is not set
|
||||
# CONFIG_SH_DREAMCAST is not set
|
||||
# CONFIG_SH_BIGSUR is not set
|
||||
# CONFIG_SH_MPC1211 is not set
|
||||
# CONFIG_SH_SH03 is not set
|
||||
# CONFIG_SH_SECUREEDGE5410 is not set
|
||||
# CONFIG_SH_HS7751RVOIP is not set
|
||||
# CONFIG_SH_7710VOIPGW is not set
|
||||
# CONFIG_SH_RTS7751R2D is not set
|
||||
# CONFIG_SH_R7780RP is not set
|
||||
# CONFIG_SH_EDOSK7705 is not set
|
||||
# CONFIG_SH_SH4202_MICRODEV is not set
|
||||
# CONFIG_SH_LANDISK is not set
|
||||
# CONFIG_SH_TITAN is not set
|
||||
# CONFIG_SH_SHMIN is not set
|
||||
CONFIG_SH_7206_SOLUTION_ENGINE=y
|
||||
# CONFIG_SH_7619_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_UNKNOWN is not set
|
||||
|
||||
#
|
||||
# Processor selection
|
||||
#
|
||||
CONFIG_CPU_SH2=y
|
||||
CONFIG_CPU_SH2A=y
|
||||
|
||||
#
|
||||
# SH-2 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7604 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7619 is not set
|
||||
|
||||
#
|
||||
# SH-2A Processor Support
|
||||
#
|
||||
CONFIG_CPU_SUBTYPE_SH7206=y
|
||||
|
||||
#
|
||||
# SH-3 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7300 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7705 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7706 is not set
|
||||
|
@ -137,10 +105,7 @@ CONFIG_CPU_SUBTYPE_SH7206=y
|
|||
# CONFIG_CPU_SUBTYPE_SH7708 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7709 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7710 is not set
|
||||
|
||||
#
|
||||
# SH-4 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7712 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7091 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750R is not set
|
||||
|
@ -149,32 +114,28 @@ CONFIG_CPU_SUBTYPE_SH7206=y
|
|||
# CONFIG_CPU_SUBTYPE_SH7751R is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7760 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH4_202 is not set
|
||||
|
||||
#
|
||||
# ST40 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_ST40STB1 is not set
|
||||
# CONFIG_CPU_SUBTYPE_ST40GX1 is not set
|
||||
|
||||
#
|
||||
# SH-4A Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7770 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7780 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7785 is not set
|
||||
|
||||
#
|
||||
# SH4AL-DSP Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH73180 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7343 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7722 is not set
|
||||
|
||||
#
|
||||
# Memory management options
|
||||
#
|
||||
CONFIG_QUICKLIST=y
|
||||
CONFIG_PAGE_OFFSET=0x00000000
|
||||
CONFIG_MEMORY_START=0x0c000000
|
||||
CONFIG_MEMORY_SIZE=0x04000000
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||
CONFIG_MAX_ACTIVE_REGIONS=1
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_PAGE_SIZE_4KB=y
|
||||
# CONFIG_PAGE_SIZE_8KB is not set
|
||||
# CONFIG_PAGE_SIZE_64KB is not set
|
||||
|
@ -184,35 +145,42 @@ CONFIG_FLATMEM_MANUAL=y
|
|||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPARSEMEM_STATIC=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_NR_QUICK=2
|
||||
|
||||
#
|
||||
# Cache configuration
|
||||
#
|
||||
# CONFIG_SH_DIRECT_MAPPED is not set
|
||||
# CONFIG_SH_WRITETHROUGH is not set
|
||||
# CONFIG_SH_OCRAM is not set
|
||||
|
||||
#
|
||||
# Processor features
|
||||
#
|
||||
# CONFIG_CPU_LITTLE_ENDIAN is not set
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
# CONFIG_SH_FPU is not set
|
||||
# CONFIG_SH_FPU_EMU is not set
|
||||
# CONFIG_SH_DSP is not set
|
||||
CONFIG_CPU_HAS_IPR_IRQ=y
|
||||
|
||||
#
|
||||
# Timer support
|
||||
# Board support
|
||||
#
|
||||
CONFIG_SOLUTION_ENGINE=y
|
||||
CONFIG_SH_7206_SOLUTION_ENGINE=y
|
||||
|
||||
#
|
||||
# Timer and clock configuration
|
||||
#
|
||||
CONFIG_SH_CMT=y
|
||||
# CONFIG_SH_MTU2 is not set
|
||||
CONFIG_SH_TIMER_IRQ=140
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
CONFIG_SH_PCLK_FREQ=33333333
|
||||
CONFIG_SH_CLK_MD=6
|
||||
# CONFIG_TICK_ONESHOT is not set
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
|
@ -227,11 +195,11 @@ CONFIG_SH_CLK_MD=6
|
|||
#
|
||||
# Companion Chips
|
||||
#
|
||||
# CONFIG_HD6446X_SERIES is not set
|
||||
|
||||
#
|
||||
# Additional SuperH Device Drivers
|
||||
#
|
||||
# CONFIG_HEARTBEAT is not set
|
||||
# CONFIG_PUSH_SWITCH is not set
|
||||
|
||||
#
|
||||
|
@ -239,10 +207,11 @@ CONFIG_SH_CLK_MD=6
|
|||
#
|
||||
CONFIG_HZ_100=y
|
||||
# CONFIG_HZ_250 is not set
|
||||
# CONFIG_HZ_300 is not set
|
||||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=100
|
||||
# CONFIG_KEXEC is not set
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
CONFIG_PREEMPT_NONE=y
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
|
@ -252,22 +221,17 @@ CONFIG_PREEMPT_NONE=y
|
|||
#
|
||||
CONFIG_ZERO_PAGE_OFFSET=0x00001000
|
||||
CONFIG_BOOT_LINK_OFFSET=0x00800000
|
||||
# CONFIG_UBC_WAKEUP is not set
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
|
||||
#
|
||||
# Bus options
|
||||
#
|
||||
# CONFIG_PCI is not set
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
#
|
||||
|
||||
#
|
||||
# PCI Hotplug Support
|
||||
#
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
|
@ -276,11 +240,6 @@ CONFIG_BINFMT_ZFLAT=y
|
|||
# CONFIG_BINFMT_SHARED_FLAT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
|
||||
#
|
||||
# Power management options (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
|
@ -289,7 +248,6 @@ CONFIG_NET=y
|
|||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
# CONFIG_PACKET is not set
|
||||
# CONFIG_UNIX is not set
|
||||
# CONFIG_NET_KEY is not set
|
||||
|
@ -314,25 +272,14 @@ CONFIG_IP_FIB_HASH=y
|
|||
# CONFIG_TCP_CONG_ADVANCED is not set
|
||||
CONFIG_TCP_CONG_CUBIC=y
|
||||
CONFIG_DEFAULT_TCP_CONG="cubic"
|
||||
# CONFIG_TCP_MD5SIG is not set
|
||||
# CONFIG_IPV6 is not set
|
||||
# CONFIG_INET6_XFRM_TUNNEL is not set
|
||||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# DCCP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_DCCP is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
|
||||
#
|
||||
# TIPC Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
|
@ -358,7 +305,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -375,10 +331,6 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
CONFIG_MTD_CONCAT=y
|
||||
|
@ -393,6 +345,7 @@ CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
|
|||
# User Modules And Translation Layers
|
||||
#
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLKDEVS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
# CONFIG_FTL is not set
|
||||
# CONFIG_NFTL is not set
|
||||
|
@ -424,7 +377,6 @@ CONFIG_MTD_CFI_UTIL=y
|
|||
# CONFIG_MTD_RAM is not set
|
||||
# CONFIG_MTD_ROM is not set
|
||||
# CONFIG_MTD_ABSENT is not set
|
||||
# CONFIG_MTD_OBSOLETE_CHIPS is not set
|
||||
|
||||
#
|
||||
# Mapping drivers for chip access
|
||||
|
@ -452,16 +404,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4
|
|||
# CONFIG_MTD_DOC2000 is not set
|
||||
# CONFIG_MTD_DOC2001 is not set
|
||||
# CONFIG_MTD_DOC2001PLUS is not set
|
||||
|
||||
#
|
||||
# NAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_NAND is not set
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
|
||||
#
|
||||
# OneNAND Flash Device Drivers
|
||||
# UBI - Unsorted block images
|
||||
#
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
# CONFIG_MTD_UBI is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
|
@ -471,6 +420,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4
|
|||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
# CONFIG_PNPACPI is not set
|
||||
|
||||
#
|
||||
# Block devices
|
||||
|
@ -479,18 +429,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4
|
|||
# CONFIG_BLK_DEV_LOOP is not set
|
||||
# CONFIG_BLK_DEV_NBD is not set
|
||||
# CONFIG_BLK_DEV_RAM is not set
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
# CONFIG_ATA_OVER_ETH is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
# CONFIG_BLINK is not set
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
|
@ -499,10 +444,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4
|
|||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
# CONFIG_ATA is not set
|
||||
|
||||
#
|
||||
|
@ -510,19 +451,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=4
|
|||
#
|
||||
# CONFIG_MD is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
#
|
||||
# CONFIG_FUSION is not set
|
||||
|
||||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
|
||||
#
|
||||
# I2O device support
|
||||
#
|
||||
|
||||
#
|
||||
# Network device support
|
||||
#
|
||||
|
@ -531,10 +459,6 @@ CONFIG_NETDEVICES=y
|
|||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
|
@ -544,27 +468,14 @@ CONFIG_NET_ETHERNET=y
|
|||
CONFIG_MII=y
|
||||
# CONFIG_STNIC is not set
|
||||
CONFIG_SMC91X=y
|
||||
CONFIG_NETDEV_1000=y
|
||||
CONFIG_NETDEV_10000=y
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
#
|
||||
# CONFIG_NET_RADIO is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
|
@ -604,6 +515,7 @@ CONFIG_INPUT=y
|
|||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
|
@ -639,29 +551,15 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_GEN_RTC is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
|
||||
#
|
||||
# Ftape, the floppy tape device driver
|
||||
#
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
|
@ -674,27 +572,30 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_HWMON is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
CONFIG_DAB=y
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
|
@ -702,6 +603,12 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
|
@ -717,10 +624,6 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -802,7 +705,6 @@ CONFIG_PROC_FS=y
|
|||
CONFIG_PROC_SYSCTL=y
|
||||
# CONFIG_SYSFS is not set
|
||||
# CONFIG_TMPFS is not set
|
||||
# CONFIG_HUGETLBFS is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_RAMFS=y
|
||||
|
||||
|
@ -816,7 +718,6 @@ CONFIG_RAMFS=y
|
|||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_JFFS_FS is not set
|
||||
# CONFIG_JFFS2_FS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
|
@ -848,6 +749,11 @@ CONFIG_MSDOS_PARTITION=y
|
|||
#
|
||||
# CONFIG_NLS is not set
|
||||
|
||||
#
|
||||
# Distributed Lock Manager
|
||||
#
|
||||
# CONFIG_DLM is not set
|
||||
|
||||
#
|
||||
# Profiling support
|
||||
#
|
||||
|
@ -861,14 +767,11 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
|||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_UNWIND_INFO is not set
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_SH_STANDARD_BIOS is not set
|
||||
# CONFIG_EARLY_SCIF_CONSOLE is not set
|
||||
# CONFIG_KGDB is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
@ -883,8 +786,13 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
|
|
@ -1,18 +1,22 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.19
|
||||
# Wed Dec 6 16:35:36 2006
|
||||
# Linux kernel version: 2.6.22-rc4
|
||||
# Fri Jun 15 19:43:06 2007
|
||||
#
|
||||
CONFIG_SUPERH=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
# CONFIG_GENERIC_TIME is not set
|
||||
# CONFIG_GENERIC_CLOCKEVENTS is not set
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
|
@ -31,8 +35,10 @@ CONFIG_LOCALVERSION=""
|
|||
# CONFIG_BSD_PROCESS_ACCT is not set
|
||||
# CONFIG_UTS_NS is not set
|
||||
# CONFIG_IKCONFIG is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
CONFIG_SYSFS_DEPRECATED=y
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
|
@ -45,12 +51,17 @@ CONFIG_BUG=y
|
|||
# CONFIG_ELF_CORE is not set
|
||||
# CONFIG_BASE_FULL is not set
|
||||
# CONFIG_FUTEX is not set
|
||||
CONFIG_ANON_INODES=y
|
||||
# CONFIG_EPOLL is not set
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
# CONFIG_VM_EVENT_COUNTERS is not set
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_TINY_SHMEM=y
|
||||
CONFIG_BASE_SMALL=1
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
|
@ -80,52 +91,9 @@ CONFIG_DEFAULT_IOSCHED="noop"
|
|||
#
|
||||
# System type
|
||||
#
|
||||
# CONFIG_SH_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7751_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7300_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7343_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_73180_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7751_SYSTEMH is not set
|
||||
# CONFIG_SH_HP6XX is not set
|
||||
# CONFIG_SH_EC3104 is not set
|
||||
# CONFIG_SH_SATURN is not set
|
||||
# CONFIG_SH_DREAMCAST is not set
|
||||
# CONFIG_SH_BIGSUR is not set
|
||||
# CONFIG_SH_MPC1211 is not set
|
||||
# CONFIG_SH_SH03 is not set
|
||||
# CONFIG_SH_SECUREEDGE5410 is not set
|
||||
# CONFIG_SH_HS7751RVOIP is not set
|
||||
# CONFIG_SH_7710VOIPGW is not set
|
||||
# CONFIG_SH_RTS7751R2D is not set
|
||||
# CONFIG_SH_R7780RP is not set
|
||||
# CONFIG_SH_EDOSK7705 is not set
|
||||
# CONFIG_SH_SH4202_MICRODEV is not set
|
||||
# CONFIG_SH_LANDISK is not set
|
||||
# CONFIG_SH_TITAN is not set
|
||||
# CONFIG_SH_SHMIN is not set
|
||||
# CONFIG_SH_7206_SOLUTION_ENGINE is not set
|
||||
CONFIG_SH_7619_SOLUTION_ENGINE=y
|
||||
# CONFIG_SH_UNKNOWN is not set
|
||||
|
||||
#
|
||||
# Processor selection
|
||||
#
|
||||
CONFIG_CPU_SH2=y
|
||||
|
||||
#
|
||||
# SH-2 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7604 is not set
|
||||
CONFIG_CPU_SUBTYPE_SH7619=y
|
||||
|
||||
#
|
||||
# SH-2A Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7206 is not set
|
||||
|
||||
#
|
||||
# SH-3 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7300 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7705 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7706 is not set
|
||||
|
@ -133,10 +101,7 @@ CONFIG_CPU_SUBTYPE_SH7619=y
|
|||
# CONFIG_CPU_SUBTYPE_SH7708 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7709 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7710 is not set
|
||||
|
||||
#
|
||||
# SH-4 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7712 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7091 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750R is not set
|
||||
|
@ -145,32 +110,28 @@ CONFIG_CPU_SUBTYPE_SH7619=y
|
|||
# CONFIG_CPU_SUBTYPE_SH7751R is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7760 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH4_202 is not set
|
||||
|
||||
#
|
||||
# ST40 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_ST40STB1 is not set
|
||||
# CONFIG_CPU_SUBTYPE_ST40GX1 is not set
|
||||
|
||||
#
|
||||
# SH-4A Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7770 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7780 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7785 is not set
|
||||
|
||||
#
|
||||
# SH4AL-DSP Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH73180 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7343 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7722 is not set
|
||||
|
||||
#
|
||||
# Memory management options
|
||||
#
|
||||
CONFIG_QUICKLIST=y
|
||||
CONFIG_PAGE_OFFSET=0x00000000
|
||||
CONFIG_MEMORY_START=0x0c000000
|
||||
CONFIG_MEMORY_SIZE=0x04000000
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||
CONFIG_MAX_ACTIVE_REGIONS=1
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_PAGE_SIZE_4KB=y
|
||||
# CONFIG_PAGE_SIZE_8KB is not set
|
||||
# CONFIG_PAGE_SIZE_64KB is not set
|
||||
|
@ -180,34 +141,41 @@ CONFIG_FLATMEM_MANUAL=y
|
|||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPARSEMEM_STATIC=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_NR_QUICK=2
|
||||
|
||||
#
|
||||
# Cache configuration
|
||||
#
|
||||
# CONFIG_SH_DIRECT_MAPPED is not set
|
||||
CONFIG_SH_WRITETHROUGH=y
|
||||
# CONFIG_SH_OCRAM is not set
|
||||
|
||||
#
|
||||
# Processor features
|
||||
#
|
||||
# CONFIG_CPU_LITTLE_ENDIAN is not set
|
||||
CONFIG_CPU_BIG_ENDIAN=y
|
||||
# CONFIG_SH_FPU is not set
|
||||
# CONFIG_SH_FPU_EMU is not set
|
||||
# CONFIG_SH_DSP is not set
|
||||
CONFIG_CPU_HAS_IPR_IRQ=y
|
||||
|
||||
#
|
||||
# Timer support
|
||||
# Board support
|
||||
#
|
||||
CONFIG_SOLUTION_ENGINE=y
|
||||
CONFIG_SH_7619_SOLUTION_ENGINE=y
|
||||
|
||||
#
|
||||
# Timer and clock configuration
|
||||
#
|
||||
CONFIG_SH_CMT=y
|
||||
CONFIG_SH_TIMER_IRQ=86
|
||||
# CONFIG_NO_IDLE_HZ is not set
|
||||
CONFIG_SH_PCLK_FREQ=31250000
|
||||
CONFIG_SH_CLK_MD=5
|
||||
# CONFIG_TICK_ONESHOT is not set
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
|
@ -222,11 +190,11 @@ CONFIG_SH_CLK_MD=5
|
|||
#
|
||||
# Companion Chips
|
||||
#
|
||||
# CONFIG_HD6446X_SERIES is not set
|
||||
|
||||
#
|
||||
# Additional SuperH Device Drivers
|
||||
#
|
||||
# CONFIG_HEARTBEAT is not set
|
||||
# CONFIG_PUSH_SWITCH is not set
|
||||
|
||||
#
|
||||
|
@ -234,10 +202,11 @@ CONFIG_SH_CLK_MD=5
|
|||
#
|
||||
CONFIG_HZ_100=y
|
||||
# CONFIG_HZ_250 is not set
|
||||
# CONFIG_HZ_300 is not set
|
||||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=100
|
||||
# CONFIG_KEXEC is not set
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
CONFIG_PREEMPT_NONE=y
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
# CONFIG_PREEMPT is not set
|
||||
|
@ -247,22 +216,17 @@ CONFIG_PREEMPT_NONE=y
|
|||
#
|
||||
CONFIG_ZERO_PAGE_OFFSET=0x00001000
|
||||
CONFIG_BOOT_LINK_OFFSET=0x00800000
|
||||
# CONFIG_UBC_WAKEUP is not set
|
||||
# CONFIG_CMDLINE_BOOL is not set
|
||||
|
||||
#
|
||||
# Bus options
|
||||
#
|
||||
# CONFIG_PCI is not set
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
#
|
||||
|
||||
#
|
||||
# PCI Hotplug Support
|
||||
#
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
|
@ -271,11 +235,6 @@ CONFIG_BINFMT_ZFLAT=y
|
|||
# CONFIG_BINFMT_SHARED_FLAT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
|
||||
#
|
||||
# Power management options (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
|
@ -295,10 +254,6 @@ CONFIG_BINFMT_ZFLAT=y
|
|||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
CONFIG_MTD=y
|
||||
# CONFIG_MTD_DEBUG is not set
|
||||
CONFIG_MTD_CONCAT=y
|
||||
|
@ -313,6 +268,7 @@ CONFIG_MTD_REDBOOT_DIRECTORY_BLOCK=-1
|
|||
# User Modules And Translation Layers
|
||||
#
|
||||
CONFIG_MTD_CHAR=y
|
||||
CONFIG_MTD_BLKDEVS=y
|
||||
CONFIG_MTD_BLOCK=y
|
||||
# CONFIG_FTL is not set
|
||||
# CONFIG_NFTL is not set
|
||||
|
@ -344,7 +300,6 @@ CONFIG_MTD_CFI_UTIL=y
|
|||
# CONFIG_MTD_RAM is not set
|
||||
# CONFIG_MTD_ROM is not set
|
||||
# CONFIG_MTD_ABSENT is not set
|
||||
# CONFIG_MTD_OBSOLETE_CHIPS is not set
|
||||
|
||||
#
|
||||
# Mapping drivers for chip access
|
||||
|
@ -372,16 +327,13 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
|
|||
# CONFIG_MTD_DOC2000 is not set
|
||||
# CONFIG_MTD_DOC2001 is not set
|
||||
# CONFIG_MTD_DOC2001PLUS is not set
|
||||
|
||||
#
|
||||
# NAND Flash Device Drivers
|
||||
#
|
||||
# CONFIG_MTD_NAND is not set
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
|
||||
#
|
||||
# OneNAND Flash Device Drivers
|
||||
# UBI - Unsorted block images
|
||||
#
|
||||
# CONFIG_MTD_ONENAND is not set
|
||||
# CONFIG_MTD_UBI is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
|
@ -391,6 +343,7 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
|
|||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
# CONFIG_PNPACPI is not set
|
||||
|
||||
#
|
||||
# Block devices
|
||||
|
@ -398,17 +351,12 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
|
|||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
# CONFIG_BLK_DEV_LOOP is not set
|
||||
# CONFIG_BLK_DEV_RAM is not set
|
||||
# CONFIG_BLK_DEV_INITRD is not set
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_TIFM_CORE is not set
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
# CONFIG_BLINK is not set
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
|
@ -417,10 +365,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
|
|||
# CONFIG_RAID_ATTRS is not set
|
||||
# CONFIG_SCSI is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
# CONFIG_ATA is not set
|
||||
|
||||
#
|
||||
|
@ -428,19 +372,6 @@ CONFIG_MTD_PHYSMAP_BANKWIDTH=2
|
|||
#
|
||||
# CONFIG_MD is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
#
|
||||
# CONFIG_FUSION is not set
|
||||
|
||||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
|
||||
#
|
||||
# I2O device support
|
||||
#
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
#
|
||||
|
@ -471,6 +402,7 @@ CONFIG_INPUT=y
|
|||
# CONFIG_INPUT_KEYBOARD is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
|
@ -506,29 +438,15 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
# CONFIG_HW_RANDOM is not set
|
||||
# CONFIG_GEN_RTC is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
|
||||
#
|
||||
# Ftape, the floppy tape device driver
|
||||
#
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
|
@ -541,26 +459,29 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_HWMON is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_HWMON is not set
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
CONFIG_DAB=y
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_FIRMWARE_EDID is not set
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
|
@ -568,6 +489,12 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
CONFIG_HID=y
|
||||
# CONFIG_HID_DEBUG is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
|
@ -583,10 +510,6 @@ CONFIG_SERIAL_CORE_CONSOLE=y
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -668,7 +591,6 @@ CONFIG_PROC_FS=y
|
|||
CONFIG_PROC_SYSCTL=y
|
||||
# CONFIG_SYSFS is not set
|
||||
# CONFIG_TMPFS is not set
|
||||
# CONFIG_HUGETLBFS is not set
|
||||
# CONFIG_HUGETLB_PAGE is not set
|
||||
CONFIG_RAMFS=y
|
||||
|
||||
|
@ -682,7 +604,6 @@ CONFIG_RAMFS=y
|
|||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_JFFS_FS is not set
|
||||
# CONFIG_JFFS2_FS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
|
@ -715,14 +636,11 @@ CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
|||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_UNWIND_INFO is not set
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_SH_STANDARD_BIOS is not set
|
||||
# CONFIG_EARLY_SCIF_CONSOLE is not set
|
||||
# CONFIG_KGDB is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
|
@ -737,8 +655,13 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_ZLIB_INFLATE=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.21-rc7
|
||||
# Fri Apr 27 16:30:30 2007
|
||||
# Linux kernel version: 2.6.22-rc4
|
||||
# Wed Jun 20 18:08:04 2007
|
||||
#
|
||||
CONFIG_SUPERH=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
|
@ -11,7 +11,9 @@ CONFIG_GENERIC_HWEIGHT=y
|
|||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
# CONFIG_GENERIC_TIME is not set
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_SYS_SUPPORTS_NUMA=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
|
@ -43,6 +45,7 @@ CONFIG_BSD_PROCESS_ACCT=y
|
|||
# CONFIG_AUDIT is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_SYSFS_DEPRECATED is not set
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
|
@ -60,14 +63,20 @@ CONFIG_BUG=y
|
|||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_SLAB=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLUB_DEBUG=y
|
||||
# CONFIG_SLAB is not set
|
||||
CONFIG_SLUB=y
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
# CONFIG_SLOB is not set
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
|
@ -103,57 +112,12 @@ CONFIG_DEFAULT_IOSCHED="noop"
|
|||
#
|
||||
# System type
|
||||
#
|
||||
CONFIG_SOLUTION_ENGINE=y
|
||||
# CONFIG_SH_SOLUTION_ENGINE is not set
|
||||
CONFIG_SH_7722_SOLUTION_ENGINE=y
|
||||
# CONFIG_SH_7751_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7780_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7300_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7343_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_73180_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7751_SYSTEMH is not set
|
||||
# CONFIG_SH_HP6XX is not set
|
||||
# CONFIG_SH_SATURN is not set
|
||||
# CONFIG_SH_DREAMCAST is not set
|
||||
# CONFIG_SH_MPC1211 is not set
|
||||
# CONFIG_SH_SH03 is not set
|
||||
# CONFIG_SH_SECUREEDGE5410 is not set
|
||||
# CONFIG_SH_HS7751RVOIP is not set
|
||||
# CONFIG_SH_7710VOIPGW is not set
|
||||
# CONFIG_SH_RTS7751R2D is not set
|
||||
# CONFIG_SH_HIGHLANDER is not set
|
||||
# CONFIG_SH_EDOSK7705 is not set
|
||||
# CONFIG_SH_SH4202_MICRODEV is not set
|
||||
# CONFIG_SH_LANDISK is not set
|
||||
# CONFIG_SH_TITAN is not set
|
||||
# CONFIG_SH_SHMIN is not set
|
||||
# CONFIG_SH_7206_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_7619_SOLUTION_ENGINE is not set
|
||||
# CONFIG_SH_LBOX_RE2 is not set
|
||||
# CONFIG_SH_UNKNOWN is not set
|
||||
|
||||
#
|
||||
# Processor selection
|
||||
#
|
||||
CONFIG_CPU_SH4=y
|
||||
CONFIG_CPU_SH4A=y
|
||||
CONFIG_CPU_SH4AL_DSP=y
|
||||
CONFIG_CPU_SHX2=y
|
||||
|
||||
#
|
||||
# SH-2 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7604 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7619 is not set
|
||||
|
||||
#
|
||||
# SH-2A Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7206 is not set
|
||||
|
||||
#
|
||||
# SH-3 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7300 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7705 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7706 is not set
|
||||
|
@ -162,10 +126,6 @@ CONFIG_CPU_SHX2=y
|
|||
# CONFIG_CPU_SUBTYPE_SH7709 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7710 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7712 is not set
|
||||
|
||||
#
|
||||
# SH-4 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7750 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7091 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750R is not set
|
||||
|
@ -174,23 +134,11 @@ CONFIG_CPU_SHX2=y
|
|||
# CONFIG_CPU_SUBTYPE_SH7751R is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7760 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH4_202 is not set
|
||||
|
||||
#
|
||||
# ST40 Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_ST40STB1 is not set
|
||||
# CONFIG_CPU_SUBTYPE_ST40GX1 is not set
|
||||
|
||||
#
|
||||
# SH-4A Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH7770 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7780 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7785 is not set
|
||||
|
||||
#
|
||||
# SH4AL-DSP Processor Support
|
||||
#
|
||||
# CONFIG_CPU_SUBTYPE_SH73180 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7343 is not set
|
||||
CONFIG_CPU_SUBTYPE_SH7722=y
|
||||
|
@ -198,15 +146,21 @@ CONFIG_CPU_SUBTYPE_SH7722=y
|
|||
#
|
||||
# Memory management options
|
||||
#
|
||||
CONFIG_QUICKLIST=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_PAGE_OFFSET=0x80000000
|
||||
CONFIG_MEMORY_START=0x0c000000
|
||||
CONFIG_MEMORY_SIZE=0x04000000
|
||||
# CONFIG_32BIT is not set
|
||||
# CONFIG_X2TLB is not set
|
||||
CONFIG_VSYSCALL=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_NUMA=y
|
||||
CONFIG_NODES_SHIFT=1
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||
CONFIG_MAX_ACTIVE_REGIONS=2
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_ARCH_ENABLE_MEMORY_HOTPLUG=y
|
||||
CONFIG_PAGE_SIZE_4KB=y
|
||||
# CONFIG_PAGE_SIZE_8KB is not set
|
||||
# CONFIG_PAGE_SIZE_64KB is not set
|
||||
|
@ -216,26 +170,25 @@ CONFIG_HUGETLB_PAGE_SIZE_64K=y
|
|||
# CONFIG_HUGETLB_PAGE_SIZE_4MB is not set
|
||||
# CONFIG_HUGETLB_PAGE_SIZE_64MB is not set
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
# CONFIG_FLATMEM_MANUAL is not set
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
# CONFIG_SPARSEMEM_STATIC is not set
|
||||
CONFIG_SPARSEMEM_MANUAL=y
|
||||
CONFIG_SPARSEMEM=y
|
||||
CONFIG_NEED_MULTIPLE_NODES=y
|
||||
CONFIG_HAVE_MEMORY_PRESENT=y
|
||||
CONFIG_SPARSEMEM_STATIC=y
|
||||
# CONFIG_MEMORY_HOTPLUG is not set
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
CONFIG_MIGRATION=y
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_NR_QUICK=2
|
||||
|
||||
#
|
||||
# Cache configuration
|
||||
#
|
||||
# CONFIG_SH_DIRECT_MAPPED is not set
|
||||
# CONFIG_SH_WRITETHROUGH is not set
|
||||
# CONFIG_SH_OCRAM is not set
|
||||
CONFIG_CF_ENABLER=y
|
||||
# CONFIG_CF_AREA5 is not set
|
||||
CONFIG_CF_AREA6=y
|
||||
CONFIG_CF_BASE_ADDR=0xb8000000
|
||||
|
||||
#
|
||||
# Processor features
|
||||
|
@ -251,13 +204,21 @@ CONFIG_CPU_HAS_IPR_IRQ=y
|
|||
CONFIG_CPU_HAS_SR_RB=y
|
||||
CONFIG_CPU_HAS_PTEA=y
|
||||
|
||||
#
|
||||
# Board support
|
||||
#
|
||||
CONFIG_SOLUTION_ENGINE=y
|
||||
CONFIG_SH_7722_SOLUTION_ENGINE=y
|
||||
|
||||
#
|
||||
# Timer and clock configuration
|
||||
#
|
||||
CONFIG_SH_TMU=y
|
||||
CONFIG_SH_TIMER_IRQ=16
|
||||
CONFIG_NO_IDLE_HZ=y
|
||||
CONFIG_SH_PCLK_FREQ=33333333
|
||||
CONFIG_TICK_ONESHOT=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
|
@ -272,7 +233,6 @@ CONFIG_SH_PCLK_FREQ=33333333
|
|||
#
|
||||
# Companion Chips
|
||||
#
|
||||
# CONFIG_HD6446X_SERIES is not set
|
||||
|
||||
#
|
||||
# Additional SuperH Device Drivers
|
||||
|
@ -290,7 +250,6 @@ CONFIG_HZ_250=y
|
|||
CONFIG_HZ=250
|
||||
CONFIG_KEXEC=y
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_SMP is not set
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
CONFIG_PREEMPT=y
|
||||
|
@ -307,29 +266,23 @@ CONFIG_BOOT_LINK_OFFSET=0x00800000
|
|||
#
|
||||
# Bus options
|
||||
#
|
||||
# CONFIG_PCI is not set
|
||||
CONFIG_CF_ENABLER=y
|
||||
# CONFIG_CF_AREA5 is not set
|
||||
CONFIG_CF_AREA6=y
|
||||
CONFIG_CF_BASE_ADDR=0xb8000000
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
#
|
||||
# CONFIG_PCCARD is not set
|
||||
|
||||
#
|
||||
# PCI Hotplug Support
|
||||
#
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_FLAT is not set
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
|
||||
#
|
||||
# Power management options (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_PM is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
|
@ -338,7 +291,6 @@ CONFIG_NET=y
|
|||
#
|
||||
# Networking options
|
||||
#
|
||||
# CONFIG_NETDEBUG is not set
|
||||
CONFIG_PACKET=y
|
||||
CONFIG_PACKET_MMAP=y
|
||||
CONFIG_UNIX=y
|
||||
|
@ -375,20 +327,8 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_INET6_TUNNEL is not set
|
||||
# CONFIG_NETWORK_SECMARK is not set
|
||||
# CONFIG_NETFILTER is not set
|
||||
|
||||
#
|
||||
# DCCP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_DCCP is not set
|
||||
|
||||
#
|
||||
# SCTP Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_IP_SCTP is not set
|
||||
|
||||
#
|
||||
# TIPC Configuration (EXPERIMENTAL)
|
||||
#
|
||||
# CONFIG_TIPC is not set
|
||||
# CONFIG_ATM is not set
|
||||
# CONFIG_BRIDGE is not set
|
||||
|
@ -414,7 +354,16 @@ CONFIG_DEFAULT_TCP_CONG="cubic"
|
|||
# CONFIG_HAMRADIO is not set
|
||||
# CONFIG_IRDA is not set
|
||||
# CONFIG_BT is not set
|
||||
# CONFIG_AF_RXRPC is not set
|
||||
|
||||
#
|
||||
# Wireless
|
||||
#
|
||||
# CONFIG_CFG80211 is not set
|
||||
# CONFIG_WIRELESS_EXT is not set
|
||||
# CONFIG_MAC80211 is not set
|
||||
# CONFIG_IEEE80211 is not set
|
||||
# CONFIG_RFKILL is not set
|
||||
|
||||
#
|
||||
# Device Drivers
|
||||
|
@ -432,10 +381,6 @@ CONFIG_PREVENT_FIRMWARE_BUILD=y
|
|||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_CONNECTOR is not set
|
||||
|
||||
#
|
||||
# Memory Technology Devices (MTD)
|
||||
#
|
||||
# CONFIG_MTD is not set
|
||||
|
||||
#
|
||||
|
@ -464,10 +409,7 @@ CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
|||
#
|
||||
# Misc devices
|
||||
#
|
||||
|
||||
#
|
||||
# ATA/ATAPI/MFM/RLL support
|
||||
#
|
||||
# CONFIG_BLINK is not set
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
|
@ -496,6 +438,7 @@ CONFIG_BLK_DEV_SD=y
|
|||
# CONFIG_SCSI_CONSTANTS is not set
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||
CONFIG_SCSI_WAIT_SCAN=m
|
||||
|
||||
#
|
||||
# SCSI Transports
|
||||
|
@ -511,10 +454,6 @@ CONFIG_BLK_DEV_SD=y
|
|||
#
|
||||
# CONFIG_ISCSI_TCP is not set
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
|
||||
#
|
||||
# Serial ATA (prod) and Parallel ATA (experimental) drivers
|
||||
#
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_NONSTANDARD is not set
|
||||
CONFIG_PATA_PLATFORM=y
|
||||
|
@ -524,19 +463,6 @@ CONFIG_PATA_PLATFORM=y
|
|||
#
|
||||
# CONFIG_MD is not set
|
||||
|
||||
#
|
||||
# Fusion MPT device support
|
||||
#
|
||||
# CONFIG_FUSION is not set
|
||||
|
||||
#
|
||||
# IEEE 1394 (FireWire) support
|
||||
#
|
||||
|
||||
#
|
||||
# I2O device support
|
||||
#
|
||||
|
||||
#
|
||||
# Network device support
|
||||
#
|
||||
|
@ -545,10 +471,6 @@ CONFIG_NETDEVICES=y
|
|||
# CONFIG_BONDING is not set
|
||||
# CONFIG_EQUALIZER is not set
|
||||
# CONFIG_TUN is not set
|
||||
|
||||
#
|
||||
# PHY device support
|
||||
#
|
||||
# CONFIG_PHYLIB is not set
|
||||
|
||||
#
|
||||
|
@ -558,27 +480,14 @@ CONFIG_NET_ETHERNET=y
|
|||
CONFIG_MII=y
|
||||
# CONFIG_STNIC is not set
|
||||
CONFIG_SMC91X=y
|
||||
CONFIG_NETDEV_1000=y
|
||||
CONFIG_NETDEV_10000=y
|
||||
|
||||
#
|
||||
# Ethernet (1000 Mbit)
|
||||
#
|
||||
|
||||
#
|
||||
# Ethernet (10000 Mbit)
|
||||
#
|
||||
|
||||
#
|
||||
# Token Ring devices
|
||||
#
|
||||
|
||||
#
|
||||
# Wireless LAN (non-hamradio)
|
||||
#
|
||||
# CONFIG_NET_RADIO is not set
|
||||
|
||||
#
|
||||
# Wan interfaces
|
||||
# Wireless LAN
|
||||
#
|
||||
# CONFIG_WLAN_PRE80211 is not set
|
||||
# CONFIG_WLAN_80211 is not set
|
||||
# CONFIG_WAN is not set
|
||||
# CONFIG_PPP is not set
|
||||
# CONFIG_SLIP is not set
|
||||
|
@ -627,6 +536,7 @@ CONFIG_KEYBOARD_ATKBD=y
|
|||
# CONFIG_KEYBOARD_STOWAWAY is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
|
@ -667,14 +577,8 @@ CONFIG_LEGACY_PTY_COUNT=256
|
|||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
|
||||
#
|
||||
# Watchdog Cards
|
||||
#
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_GEN_RTC is not set
|
||||
# CONFIG_DTLK is not set
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
|
@ -682,10 +586,6 @@ CONFIG_HW_RANDOM=y
|
|||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
|
||||
#
|
||||
# I2C support
|
||||
#
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
|
@ -698,16 +598,15 @@ CONFIG_HW_RANDOM=y
|
|||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
|
||||
#
|
||||
# Hardware Monitoring support
|
||||
#
|
||||
CONFIG_HWMON=y
|
||||
# CONFIG_HWMON_VID is not set
|
||||
# CONFIG_SENSORS_ABITUGURU is not set
|
||||
# CONFIG_SENSORS_F71805F is not set
|
||||
# CONFIG_SENSORS_PC87427 is not set
|
||||
# CONFIG_SENSORS_SMSC47M1 is not set
|
||||
# CONFIG_SENSORS_SMSC47B397 is not set
|
||||
# CONFIG_SENSORS_VT1211 is not set
|
||||
# CONFIG_SENSORS_W83627HF is not set
|
||||
# CONFIG_HWMON_DEBUG_CHIP is not set
|
||||
|
||||
#
|
||||
|
@ -719,16 +618,19 @@ CONFIG_HWMON=y
|
|||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
|
||||
#
|
||||
# Digital Video Broadcasting Devices
|
||||
#
|
||||
# CONFIG_DVB is not set
|
||||
# CONFIG_DVB_CORE is not set
|
||||
CONFIG_DAB=y
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
|
@ -757,10 +659,6 @@ CONFIG_HID=y
|
|||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
|
||||
#
|
||||
# MMC/SD Card support
|
||||
#
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
|
@ -800,17 +698,29 @@ CONFIG_RTC_INTF_SYSFS=y
|
|||
CONFIG_RTC_INTF_PROC=y
|
||||
CONFIG_RTC_INTF_DEV=y
|
||||
# CONFIG_RTC_INTF_DEV_UIE_EMUL is not set
|
||||
# CONFIG_RTC_DRV_TEST is not set
|
||||
|
||||
#
|
||||
# RTC drivers
|
||||
# I2C RTC drivers
|
||||
#
|
||||
|
||||
#
|
||||
# SPI RTC drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Platform RTC drivers
|
||||
#
|
||||
# CONFIG_RTC_DRV_DS1553 is not set
|
||||
# CONFIG_RTC_DRV_DS1742 is not set
|
||||
# CONFIG_RTC_DRV_M48T86 is not set
|
||||
CONFIG_RTC_DRV_SH=y
|
||||
# CONFIG_RTC_DRV_TEST is not set
|
||||
# CONFIG_RTC_DRV_V3020 is not set
|
||||
|
||||
#
|
||||
# on-CPU RTC drivers
|
||||
#
|
||||
CONFIG_RTC_DRV_SH=y
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
|
@ -824,14 +734,6 @@ CONFIG_RTC_DRV_SH=y
|
|||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# Auxiliary Display support
|
||||
#
|
||||
|
||||
#
|
||||
# Virtualization
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
|
@ -937,23 +839,24 @@ CONFIG_MSDOS_PARTITION=y
|
|||
#
|
||||
# Profiling support
|
||||
#
|
||||
# CONFIG_PROFILING is not set
|
||||
CONFIG_PROFILING=y
|
||||
# CONFIG_OPROFILE is not set
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
#
|
||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
# CONFIG_PRINTK_TIME is not set
|
||||
CONFIG_PRINTK_TIME=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
# CONFIG_MAGIC_SYSRQ is not set
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
# CONFIG_DEBUG_FS is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
# CONFIG_DEBUG_KERNEL is not set
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_DEBUG_BUGVERBOSE is not set
|
||||
# CONFIG_SH_STANDARD_BIOS is not set
|
||||
CONFIG_SH_STANDARD_BIOS=y
|
||||
# CONFIG_EARLY_SCIF_CONSOLE is not set
|
||||
# CONFIG_EARLY_PRINTK is not set
|
||||
# CONFIG_SH_KGDB is not set
|
||||
|
||||
#
|
||||
|
@ -973,8 +876,10 @@ CONFIG_LOG_BUF_SHIFT=14
|
|||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
||||
|
|
|
@ -0,0 +1,756 @@
|
|||
#
|
||||
# Automatically generated make config: don't edit
|
||||
# Linux kernel version: 2.6.22-rc4
|
||||
# Wed Jun 20 14:09:27 2007
|
||||
#
|
||||
CONFIG_SUPERH=y
|
||||
CONFIG_RWSEM_GENERIC_SPINLOCK=y
|
||||
CONFIG_GENERIC_BUG=y
|
||||
CONFIG_GENERIC_FIND_NEXT_BIT=y
|
||||
CONFIG_GENERIC_HWEIGHT=y
|
||||
CONFIG_GENERIC_HARDIRQS=y
|
||||
CONFIG_GENERIC_IRQ_PROBE=y
|
||||
CONFIG_GENERIC_CALIBRATE_DELAY=y
|
||||
CONFIG_GENERIC_TIME=y
|
||||
CONFIG_GENERIC_CLOCKEVENTS=y
|
||||
CONFIG_STACKTRACE_SUPPORT=y
|
||||
CONFIG_LOCKDEP_SUPPORT=y
|
||||
# CONFIG_ARCH_HAS_ILOG2_U32 is not set
|
||||
# CONFIG_ARCH_HAS_ILOG2_U64 is not set
|
||||
CONFIG_DEFCONFIG_LIST="/lib/modules/$UNAME_RELEASE/.config"
|
||||
|
||||
#
|
||||
# Code maturity level options
|
||||
#
|
||||
CONFIG_EXPERIMENTAL=y
|
||||
CONFIG_BROKEN_ON_SMP=y
|
||||
CONFIG_LOCK_KERNEL=y
|
||||
CONFIG_INIT_ENV_ARG_LIMIT=32
|
||||
|
||||
#
|
||||
# General setup
|
||||
#
|
||||
CONFIG_LOCALVERSION=""
|
||||
CONFIG_LOCALVERSION_AUTO=y
|
||||
CONFIG_SWAP=y
|
||||
CONFIG_SYSVIPC=y
|
||||
# CONFIG_IPC_NS is not set
|
||||
CONFIG_SYSVIPC_SYSCTL=y
|
||||
CONFIG_BSD_PROCESS_ACCT=y
|
||||
# CONFIG_BSD_PROCESS_ACCT_V3 is not set
|
||||
# CONFIG_UTS_NS is not set
|
||||
CONFIG_IKCONFIG=y
|
||||
CONFIG_IKCONFIG_PROC=y
|
||||
CONFIG_LOG_BUF_SHIFT=14
|
||||
# CONFIG_SYSFS_DEPRECATED is not set
|
||||
# CONFIG_RELAY is not set
|
||||
CONFIG_BLK_DEV_INITRD=y
|
||||
CONFIG_INITRAMFS_SOURCE=""
|
||||
CONFIG_CC_OPTIMIZE_FOR_SIZE=y
|
||||
CONFIG_SYSCTL=y
|
||||
CONFIG_EMBEDDED=y
|
||||
CONFIG_UID16=y
|
||||
CONFIG_SYSCTL_SYSCALL=y
|
||||
CONFIG_KALLSYMS=y
|
||||
CONFIG_KALLSYMS_ALL=y
|
||||
# CONFIG_KALLSYMS_EXTRA_PASS is not set
|
||||
CONFIG_HOTPLUG=y
|
||||
CONFIG_PRINTK=y
|
||||
CONFIG_BUG=y
|
||||
CONFIG_ELF_CORE=y
|
||||
CONFIG_BASE_FULL=y
|
||||
CONFIG_FUTEX=y
|
||||
CONFIG_ANON_INODES=y
|
||||
CONFIG_EPOLL=y
|
||||
CONFIG_SIGNALFD=y
|
||||
CONFIG_TIMERFD=y
|
||||
CONFIG_EVENTFD=y
|
||||
CONFIG_SHMEM=y
|
||||
CONFIG_VM_EVENT_COUNTERS=y
|
||||
CONFIG_SLAB=y
|
||||
# CONFIG_SLUB is not set
|
||||
# CONFIG_SLOB is not set
|
||||
CONFIG_RT_MUTEXES=y
|
||||
# CONFIG_TINY_SHMEM is not set
|
||||
CONFIG_BASE_SMALL=0
|
||||
|
||||
#
|
||||
# Loadable module support
|
||||
#
|
||||
CONFIG_MODULES=y
|
||||
CONFIG_MODULE_UNLOAD=y
|
||||
# CONFIG_MODULE_FORCE_UNLOAD is not set
|
||||
# CONFIG_MODVERSIONS is not set
|
||||
# CONFIG_MODULE_SRCVERSION_ALL is not set
|
||||
CONFIG_KMOD=y
|
||||
|
||||
#
|
||||
# Block layer
|
||||
#
|
||||
CONFIG_BLOCK=y
|
||||
# CONFIG_LBD is not set
|
||||
# CONFIG_BLK_DEV_IO_TRACE is not set
|
||||
# CONFIG_LSF is not set
|
||||
|
||||
#
|
||||
# IO Schedulers
|
||||
#
|
||||
CONFIG_IOSCHED_NOOP=y
|
||||
# CONFIG_IOSCHED_AS is not set
|
||||
# CONFIG_IOSCHED_DEADLINE is not set
|
||||
# CONFIG_IOSCHED_CFQ is not set
|
||||
# CONFIG_DEFAULT_AS is not set
|
||||
# CONFIG_DEFAULT_DEADLINE is not set
|
||||
# CONFIG_DEFAULT_CFQ is not set
|
||||
CONFIG_DEFAULT_NOOP=y
|
||||
CONFIG_DEFAULT_IOSCHED="noop"
|
||||
|
||||
#
|
||||
# System type
|
||||
#
|
||||
CONFIG_CPU_SH4=y
|
||||
CONFIG_CPU_SH4A=y
|
||||
CONFIG_CPU_SHX3=y
|
||||
# CONFIG_CPU_SUBTYPE_SH7619 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7206 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7300 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7705 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7706 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7707 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7708 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7709 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7710 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7712 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7091 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750R is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7750S is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7751 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7751R is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7760 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH4_202 is not set
|
||||
# CONFIG_CPU_SUBTYPE_ST40STB1 is not set
|
||||
# CONFIG_CPU_SUBTYPE_ST40GX1 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7770 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7780 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7785 is not set
|
||||
CONFIG_CPU_SUBTYPE_SHX3=y
|
||||
# CONFIG_CPU_SUBTYPE_SH73180 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7343 is not set
|
||||
# CONFIG_CPU_SUBTYPE_SH7722 is not set
|
||||
|
||||
#
|
||||
# Memory management options
|
||||
#
|
||||
CONFIG_QUICKLIST=y
|
||||
CONFIG_MMU=y
|
||||
CONFIG_PAGE_OFFSET=0x80000000
|
||||
CONFIG_MEMORY_START=0x0c000000
|
||||
CONFIG_MEMORY_SIZE=0x04000000
|
||||
CONFIG_VSYSCALL=y
|
||||
CONFIG_ARCH_FLATMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_ENABLE=y
|
||||
CONFIG_ARCH_SPARSEMEM_DEFAULT=y
|
||||
CONFIG_MAX_ACTIVE_REGIONS=1
|
||||
CONFIG_ARCH_POPULATES_NODE_MAP=y
|
||||
CONFIG_ARCH_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_PAGE_SIZE_4KB=y
|
||||
# CONFIG_PAGE_SIZE_8KB is not set
|
||||
# CONFIG_PAGE_SIZE_64KB is not set
|
||||
CONFIG_HUGETLB_PAGE_SIZE_64K=y
|
||||
# CONFIG_HUGETLB_PAGE_SIZE_256K is not set
|
||||
# CONFIG_HUGETLB_PAGE_SIZE_1MB is not set
|
||||
# CONFIG_HUGETLB_PAGE_SIZE_4MB is not set
|
||||
# CONFIG_HUGETLB_PAGE_SIZE_64MB is not set
|
||||
CONFIG_SELECT_MEMORY_MODEL=y
|
||||
CONFIG_FLATMEM_MANUAL=y
|
||||
# CONFIG_DISCONTIGMEM_MANUAL is not set
|
||||
# CONFIG_SPARSEMEM_MANUAL is not set
|
||||
CONFIG_FLATMEM=y
|
||||
CONFIG_FLAT_NODE_MEM_MAP=y
|
||||
CONFIG_SPARSEMEM_STATIC=y
|
||||
CONFIG_SPLIT_PTLOCK_CPUS=4
|
||||
# CONFIG_RESOURCES_64BIT is not set
|
||||
CONFIG_ZONE_DMA_FLAG=0
|
||||
CONFIG_NR_QUICK=2
|
||||
|
||||
#
|
||||
# Cache configuration
|
||||
#
|
||||
# CONFIG_SH_DIRECT_MAPPED is not set
|
||||
# CONFIG_SH_WRITETHROUGH is not set
|
||||
|
||||
#
|
||||
# Processor features
|
||||
#
|
||||
CONFIG_CPU_LITTLE_ENDIAN=y
|
||||
# CONFIG_CPU_BIG_ENDIAN is not set
|
||||
# CONFIG_SH_FPU is not set
|
||||
# CONFIG_SH_FPU_EMU is not set
|
||||
CONFIG_SH_DSP=y
|
||||
CONFIG_SH_STORE_QUEUES=y
|
||||
CONFIG_CPU_HAS_INTEVT=y
|
||||
CONFIG_CPU_HAS_INTC2_IRQ=y
|
||||
CONFIG_CPU_HAS_SR_RB=y
|
||||
|
||||
#
|
||||
# Board support
|
||||
#
|
||||
|
||||
#
|
||||
# Timer and clock configuration
|
||||
#
|
||||
CONFIG_SH_TMU=y
|
||||
CONFIG_SH_TIMER_IRQ=16
|
||||
CONFIG_SH_PCLK_FREQ=50000000
|
||||
CONFIG_TICK_ONESHOT=y
|
||||
CONFIG_NO_HZ=y
|
||||
CONFIG_HIGH_RES_TIMERS=y
|
||||
|
||||
#
|
||||
# CPU Frequency scaling
|
||||
#
|
||||
# CONFIG_CPU_FREQ is not set
|
||||
|
||||
#
|
||||
# DMA support
|
||||
#
|
||||
# CONFIG_SH_DMA is not set
|
||||
|
||||
#
|
||||
# Companion Chips
|
||||
#
|
||||
|
||||
#
|
||||
# Additional SuperH Device Drivers
|
||||
#
|
||||
CONFIG_HEARTBEAT=y
|
||||
# CONFIG_PUSH_SWITCH is not set
|
||||
|
||||
#
|
||||
# Kernel features
|
||||
#
|
||||
# CONFIG_HZ_100 is not set
|
||||
CONFIG_HZ_250=y
|
||||
# CONFIG_HZ_300 is not set
|
||||
# CONFIG_HZ_1000 is not set
|
||||
CONFIG_HZ=250
|
||||
CONFIG_KEXEC=y
|
||||
# CONFIG_CRASH_DUMP is not set
|
||||
# CONFIG_PREEMPT_NONE is not set
|
||||
# CONFIG_PREEMPT_VOLUNTARY is not set
|
||||
CONFIG_PREEMPT=y
|
||||
CONFIG_PREEMPT_BKL=y
|
||||
|
||||
#
|
||||
# Boot options
|
||||
#
|
||||
CONFIG_ZERO_PAGE_OFFSET=0x00001000
|
||||
CONFIG_BOOT_LINK_OFFSET=0x00800000
|
||||
# CONFIG_UBC_WAKEUP is not set
|
||||
CONFIG_CMDLINE_BOOL=y
|
||||
CONFIG_CMDLINE="console=ttySC0,115200 ip=192.168.1.2:::255.255.255.0 root=/dev/nfs nfsroot=192.168.1.1:/exports/devel/rfs/mobiler noaliencache earlyprintk=bios ignore_loglevel"
|
||||
|
||||
#
|
||||
# Bus options
|
||||
#
|
||||
# CONFIG_ARCH_SUPPORTS_MSI is not set
|
||||
|
||||
#
|
||||
# PCCARD (PCMCIA/CardBus) support
|
||||
#
|
||||
# CONFIG_PCCARD is not set
|
||||
|
||||
#
|
||||
# Executable file formats
|
||||
#
|
||||
CONFIG_BINFMT_ELF=y
|
||||
# CONFIG_BINFMT_MISC is not set
|
||||
|
||||
#
|
||||
# Networking
|
||||
#
|
||||
# CONFIG_NET 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
|
||||
# CONFIG_DEBUG_DEVRES is not set
|
||||
# CONFIG_SYS_HYPERVISOR is not set
|
||||
|
||||
#
|
||||
# Connector - unified userspace <-> kernelspace linker
|
||||
#
|
||||
# CONFIG_MTD is not set
|
||||
|
||||
#
|
||||
# Parallel port support
|
||||
#
|
||||
# CONFIG_PARPORT is not set
|
||||
|
||||
#
|
||||
# Plug and Play support
|
||||
#
|
||||
# CONFIG_PNPACPI is not set
|
||||
|
||||
#
|
||||
# Block devices
|
||||
#
|
||||
# CONFIG_BLK_DEV_COW_COMMON is not set
|
||||
# CONFIG_BLK_DEV_LOOP is not set
|
||||
CONFIG_BLK_DEV_RAM=y
|
||||
CONFIG_BLK_DEV_RAM_COUNT=16
|
||||
CONFIG_BLK_DEV_RAM_SIZE=4096
|
||||
CONFIG_BLK_DEV_RAM_BLOCKSIZE=1024
|
||||
# CONFIG_CDROM_PKTCDVD is not set
|
||||
|
||||
#
|
||||
# Misc devices
|
||||
#
|
||||
# CONFIG_BLINK is not set
|
||||
# CONFIG_IDE is not set
|
||||
|
||||
#
|
||||
# SCSI device support
|
||||
#
|
||||
# CONFIG_RAID_ATTRS is not set
|
||||
CONFIG_SCSI=y
|
||||
# CONFIG_SCSI_TGT is not set
|
||||
# CONFIG_SCSI_NETLINK is not set
|
||||
CONFIG_SCSI_PROC_FS=y
|
||||
|
||||
#
|
||||
# SCSI support type (disk, tape, CD-ROM)
|
||||
#
|
||||
CONFIG_BLK_DEV_SD=y
|
||||
# CONFIG_CHR_DEV_ST is not set
|
||||
# CONFIG_CHR_DEV_OSST is not set
|
||||
# CONFIG_BLK_DEV_SR is not set
|
||||
# CONFIG_CHR_DEV_SG is not set
|
||||
# CONFIG_CHR_DEV_SCH is not set
|
||||
|
||||
#
|
||||
# Some SCSI devices (e.g. CD jukebox) support multiple LUNs
|
||||
#
|
||||
# CONFIG_SCSI_MULTI_LUN is not set
|
||||
# CONFIG_SCSI_CONSTANTS is not set
|
||||
# CONFIG_SCSI_LOGGING is not set
|
||||
# CONFIG_SCSI_SCAN_ASYNC is not set
|
||||
CONFIG_SCSI_WAIT_SCAN=m
|
||||
|
||||
#
|
||||
# SCSI Transports
|
||||
#
|
||||
# CONFIG_SCSI_SPI_ATTRS is not set
|
||||
# CONFIG_SCSI_FC_ATTRS is not set
|
||||
# CONFIG_SCSI_SAS_ATTRS is not set
|
||||
# CONFIG_SCSI_SAS_LIBSAS is not set
|
||||
|
||||
#
|
||||
# SCSI low-level drivers
|
||||
#
|
||||
# CONFIG_SCSI_DEBUG is not set
|
||||
CONFIG_ATA=y
|
||||
# CONFIG_ATA_NONSTANDARD is not set
|
||||
CONFIG_PATA_PLATFORM=y
|
||||
|
||||
#
|
||||
# Multi-device support (RAID and LVM)
|
||||
#
|
||||
# CONFIG_MD is not set
|
||||
|
||||
#
|
||||
# ISDN subsystem
|
||||
#
|
||||
|
||||
#
|
||||
# Telephony Support
|
||||
#
|
||||
# CONFIG_PHONE is not set
|
||||
|
||||
#
|
||||
# Input device support
|
||||
#
|
||||
CONFIG_INPUT=y
|
||||
# CONFIG_INPUT_FF_MEMLESS is not set
|
||||
|
||||
#
|
||||
# Userland interfaces
|
||||
#
|
||||
CONFIG_INPUT_MOUSEDEV=y
|
||||
# CONFIG_INPUT_MOUSEDEV_PSAUX is not set
|
||||
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_KEYBOARD_STOWAWAY is not set
|
||||
# CONFIG_INPUT_MOUSE is not set
|
||||
# CONFIG_INPUT_JOYSTICK is not set
|
||||
# CONFIG_INPUT_TABLET is not set
|
||||
# CONFIG_INPUT_TOUCHSCREEN is not set
|
||||
# CONFIG_INPUT_MISC is not set
|
||||
|
||||
#
|
||||
# Hardware I/O ports
|
||||
#
|
||||
CONFIG_SERIO=y
|
||||
# CONFIG_SERIO_I8042 is not set
|
||||
# CONFIG_SERIO_SERPORT is not set
|
||||
CONFIG_SERIO_LIBPS2=y
|
||||
# CONFIG_SERIO_RAW is not set
|
||||
# CONFIG_GAMEPORT is not set
|
||||
|
||||
#
|
||||
# Character devices
|
||||
#
|
||||
# CONFIG_VT is not set
|
||||
# CONFIG_SERIAL_NONSTANDARD is not set
|
||||
|
||||
#
|
||||
# Serial drivers
|
||||
#
|
||||
# CONFIG_SERIAL_8250 is not set
|
||||
|
||||
#
|
||||
# Non-8250 serial port support
|
||||
#
|
||||
CONFIG_SERIAL_SH_SCI=y
|
||||
CONFIG_SERIAL_SH_SCI_NR_UARTS=2
|
||||
CONFIG_SERIAL_SH_SCI_CONSOLE=y
|
||||
CONFIG_SERIAL_CORE=y
|
||||
CONFIG_SERIAL_CORE_CONSOLE=y
|
||||
CONFIG_UNIX98_PTYS=y
|
||||
CONFIG_LEGACY_PTYS=y
|
||||
CONFIG_LEGACY_PTY_COUNT=256
|
||||
|
||||
#
|
||||
# IPMI
|
||||
#
|
||||
# CONFIG_IPMI_HANDLER is not set
|
||||
# CONFIG_WATCHDOG is not set
|
||||
CONFIG_HW_RANDOM=y
|
||||
# CONFIG_R3964 is not set
|
||||
# CONFIG_RAW_DRIVER is not set
|
||||
|
||||
#
|
||||
# TPM devices
|
||||
#
|
||||
# CONFIG_TCG_TPM is not set
|
||||
# CONFIG_I2C is not set
|
||||
|
||||
#
|
||||
# SPI support
|
||||
#
|
||||
# CONFIG_SPI is not set
|
||||
# CONFIG_SPI_MASTER is not set
|
||||
|
||||
#
|
||||
# Dallas's 1-wire bus
|
||||
#
|
||||
# CONFIG_W1 is not set
|
||||
# CONFIG_HWMON is not set
|
||||
|
||||
#
|
||||
# Multifunction device drivers
|
||||
#
|
||||
# CONFIG_MFD_SM501 is not set
|
||||
|
||||
#
|
||||
# Multimedia devices
|
||||
#
|
||||
# CONFIG_VIDEO_DEV is not set
|
||||
# CONFIG_DAB is not set
|
||||
|
||||
#
|
||||
# Graphics support
|
||||
#
|
||||
# CONFIG_BACKLIGHT_LCD_SUPPORT is not set
|
||||
|
||||
#
|
||||
# Display device support
|
||||
#
|
||||
# CONFIG_DISPLAY_SUPPORT is not set
|
||||
# CONFIG_VGASTATE is not set
|
||||
# CONFIG_FB is not set
|
||||
|
||||
#
|
||||
# Sound
|
||||
#
|
||||
# CONFIG_SOUND is not set
|
||||
|
||||
#
|
||||
# HID Devices
|
||||
#
|
||||
# CONFIG_HID is not set
|
||||
|
||||
#
|
||||
# USB support
|
||||
#
|
||||
# CONFIG_USB_ARCH_HAS_HCD is not set
|
||||
# CONFIG_USB_ARCH_HAS_OHCI is not set
|
||||
# CONFIG_USB_ARCH_HAS_EHCI is not set
|
||||
|
||||
#
|
||||
# NOTE: USB_STORAGE enables SCSI, and 'SCSI disk support'
|
||||
#
|
||||
|
||||
#
|
||||
# USB Gadget Support
|
||||
#
|
||||
# CONFIG_USB_GADGET is not set
|
||||
# CONFIG_MMC is not set
|
||||
|
||||
#
|
||||
# LED devices
|
||||
#
|
||||
# CONFIG_NEW_LEDS is not set
|
||||
|
||||
#
|
||||
# LED drivers
|
||||
#
|
||||
|
||||
#
|
||||
# LED Triggers
|
||||
#
|
||||
|
||||
#
|
||||
# InfiniBand support
|
||||
#
|
||||
|
||||
#
|
||||
# EDAC - error detection and reporting (RAS) (EXPERIMENTAL)
|
||||
#
|
||||
|
||||
#
|
||||
# Real Time Clock
|
||||
#
|
||||
CONFIG_RTC_LIB=y
|
||||
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
|
||||
# CONFIG_RTC_DRV_TEST is not set
|
||||
|
||||
#
|
||||
# I2C RTC drivers
|
||||
#
|
||||
|
||||
#
|
||||
# SPI RTC drivers
|
||||
#
|
||||
|
||||
#
|
||||
# Platform RTC drivers
|
||||
#
|
||||
# CONFIG_RTC_DRV_DS1553 is not set
|
||||
# CONFIG_RTC_DRV_DS1742 is not set
|
||||
# CONFIG_RTC_DRV_M48T86 is not set
|
||||
# CONFIG_RTC_DRV_V3020 is not set
|
||||
|
||||
#
|
||||
# on-CPU RTC drivers
|
||||
#
|
||||
CONFIG_RTC_DRV_SH=y
|
||||
|
||||
#
|
||||
# DMA Engine support
|
||||
#
|
||||
# CONFIG_DMA_ENGINE is not set
|
||||
|
||||
#
|
||||
# DMA Clients
|
||||
#
|
||||
|
||||
#
|
||||
# DMA Devices
|
||||
#
|
||||
|
||||
#
|
||||
# File systems
|
||||
#
|
||||
CONFIG_EXT2_FS=y
|
||||
# CONFIG_EXT2_FS_XATTR is not set
|
||||
# CONFIG_EXT2_FS_XIP is not set
|
||||
CONFIG_EXT3_FS=y
|
||||
CONFIG_EXT3_FS_XATTR=y
|
||||
# CONFIG_EXT3_FS_POSIX_ACL is not set
|
||||
# CONFIG_EXT3_FS_SECURITY is not set
|
||||
# CONFIG_EXT4DEV_FS is not set
|
||||
CONFIG_JBD=y
|
||||
# CONFIG_JBD_DEBUG is not set
|
||||
CONFIG_FS_MBCACHE=y
|
||||
# CONFIG_REISERFS_FS is not set
|
||||
# CONFIG_JFS_FS is not set
|
||||
# CONFIG_FS_POSIX_ACL is not set
|
||||
# CONFIG_XFS_FS is not set
|
||||
# CONFIG_GFS2_FS is not set
|
||||
# CONFIG_MINIX_FS is not set
|
||||
# CONFIG_ROMFS_FS is not set
|
||||
CONFIG_INOTIFY=y
|
||||
CONFIG_INOTIFY_USER=y
|
||||
# CONFIG_QUOTA is not set
|
||||
CONFIG_DNOTIFY=y
|
||||
# CONFIG_AUTOFS_FS is not set
|
||||
# CONFIG_AUTOFS4_FS is not set
|
||||
# CONFIG_FUSE_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_PROC_KCORE=y
|
||||
CONFIG_PROC_SYSCTL=y
|
||||
CONFIG_SYSFS=y
|
||||
CONFIG_TMPFS=y
|
||||
# CONFIG_TMPFS_POSIX_ACL is not set
|
||||
CONFIG_HUGETLBFS=y
|
||||
CONFIG_HUGETLB_PAGE=y
|
||||
CONFIG_RAMFS=y
|
||||
# CONFIG_CONFIGFS_FS is not set
|
||||
|
||||
#
|
||||
# Miscellaneous filesystems
|
||||
#
|
||||
# CONFIG_ADFS_FS is not set
|
||||
# CONFIG_AFFS_FS is not set
|
||||
# CONFIG_HFS_FS is not set
|
||||
# CONFIG_HFSPLUS_FS is not set
|
||||
# CONFIG_BEFS_FS is not set
|
||||
# CONFIG_BFS_FS is not set
|
||||
# CONFIG_EFS_FS is not set
|
||||
# CONFIG_CRAMFS is not set
|
||||
# CONFIG_VXFS_FS is not set
|
||||
# CONFIG_HPFS_FS is not set
|
||||
# CONFIG_QNX4FS_FS is not set
|
||||
# CONFIG_SYSV_FS is not set
|
||||
# CONFIG_UFS_FS is not set
|
||||
|
||||
#
|
||||
# Partition Types
|
||||
#
|
||||
# CONFIG_PARTITION_ADVANCED is not set
|
||||
CONFIG_MSDOS_PARTITION=y
|
||||
|
||||
#
|
||||
# Native Language Support
|
||||
#
|
||||
# CONFIG_NLS is not set
|
||||
|
||||
#
|
||||
# Profiling support
|
||||
#
|
||||
CONFIG_PROFILING=y
|
||||
# CONFIG_OPROFILE is not set
|
||||
|
||||
#
|
||||
# Kernel hacking
|
||||
#
|
||||
CONFIG_TRACE_IRQFLAGS_SUPPORT=y
|
||||
CONFIG_PRINTK_TIME=y
|
||||
# CONFIG_ENABLE_MUST_CHECK is not set
|
||||
CONFIG_MAGIC_SYSRQ=y
|
||||
# CONFIG_UNUSED_SYMBOLS is not set
|
||||
CONFIG_DEBUG_FS=y
|
||||
# CONFIG_HEADERS_CHECK is not set
|
||||
CONFIG_DEBUG_KERNEL=y
|
||||
# CONFIG_DEBUG_SHIRQ is not set
|
||||
CONFIG_DETECT_SOFTLOCKUP=y
|
||||
# CONFIG_SCHEDSTATS is not set
|
||||
# CONFIG_TIMER_STATS is not set
|
||||
CONFIG_DEBUG_SLAB=y
|
||||
CONFIG_DEBUG_SLAB_LEAK=y
|
||||
CONFIG_DEBUG_PREEMPT=y
|
||||
# CONFIG_DEBUG_RT_MUTEXES is not set
|
||||
# CONFIG_RT_MUTEX_TESTER is not set
|
||||
CONFIG_DEBUG_SPINLOCK=y
|
||||
CONFIG_DEBUG_MUTEXES=y
|
||||
CONFIG_DEBUG_LOCK_ALLOC=y
|
||||
# CONFIG_PROVE_LOCKING is not set
|
||||
CONFIG_LOCKDEP=y
|
||||
CONFIG_DEBUG_LOCKDEP=y
|
||||
# CONFIG_DEBUG_SPINLOCK_SLEEP is not set
|
||||
# CONFIG_DEBUG_LOCKING_API_SELFTESTS is not set
|
||||
CONFIG_STACKTRACE=y
|
||||
# CONFIG_DEBUG_KOBJECT is not set
|
||||
CONFIG_DEBUG_BUGVERBOSE=y
|
||||
# CONFIG_DEBUG_INFO is not set
|
||||
CONFIG_DEBUG_VM=y
|
||||
# CONFIG_DEBUG_LIST is not set
|
||||
CONFIG_FRAME_POINTER=y
|
||||
CONFIG_FORCED_INLINING=y
|
||||
# CONFIG_RCU_TORTURE_TEST is not set
|
||||
# CONFIG_FAULT_INJECTION is not set
|
||||
CONFIG_SH_STANDARD_BIOS=y
|
||||
# CONFIG_EARLY_SCIF_CONSOLE is not set
|
||||
CONFIG_EARLY_PRINTK=y
|
||||
# CONFIG_DEBUG_BOOTMEM is not set
|
||||
CONFIG_DEBUG_STACKOVERFLOW=y
|
||||
CONFIG_DEBUG_STACK_USAGE=y
|
||||
# CONFIG_4KSTACKS is not set
|
||||
# CONFIG_SH_KGDB is not set
|
||||
|
||||
#
|
||||
# Security options
|
||||
#
|
||||
# CONFIG_KEYS is not set
|
||||
# CONFIG_SECURITY is not set
|
||||
|
||||
#
|
||||
# Cryptographic options
|
||||
#
|
||||
# CONFIG_CRYPTO is not set
|
||||
|
||||
#
|
||||
# Library routines
|
||||
#
|
||||
CONFIG_BITREVERSE=y
|
||||
# CONFIG_CRC_CCITT is not set
|
||||
# CONFIG_CRC16 is not set
|
||||
# CONFIG_CRC_ITU_T is not set
|
||||
CONFIG_CRC32=y
|
||||
# CONFIG_LIBCRC32C is not set
|
||||
CONFIG_PLIST=y
|
||||
CONFIG_HAS_IOMEM=y
|
||||
CONFIG_HAS_IOPORT=y
|
||||
CONFIG_HAS_DMA=y
|
|
@ -36,23 +36,6 @@ config NR_DMA_CHANNELS
|
|||
support. Setting this to a higher value allows for cascading DMACs
|
||||
with additional channels.
|
||||
|
||||
config DMA_PAGE_OPS
|
||||
bool "Use DMAC for page copy/clear"
|
||||
depends on SH_DMA && BROKEN
|
||||
help
|
||||
Selecting this option will use a dual-address mode configured channel
|
||||
in the SH DMAC for copy_page()/clear_page(). Primarily a performance
|
||||
hack.
|
||||
|
||||
config DMA_PAGE_OPS_CHANNEL
|
||||
depends on DMA_PAGE_OPS
|
||||
int "DMA channel for sh memory-manager page copy/clear"
|
||||
default "3"
|
||||
help
|
||||
This allows the specification of the dual address dma channel,
|
||||
in case channel 3 is unavailable. On the SH4, channels 1,2, and 3
|
||||
are dual-address capable.
|
||||
|
||||
config SH_DMABRG
|
||||
bool "SH7760 DMABRG support"
|
||||
depends on CPU_SUBTYPE_SH7760
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
config PCI
|
||||
bool "PCI support"
|
||||
depends on SYS_SUPPORTS_PCI
|
||||
help
|
||||
Find out whether you have a PCI motherboard. PCI is the name of a
|
||||
bus system, i.e. the way the CPU talks to the other stuff inside
|
||||
|
|
|
@ -4,10 +4,9 @@
|
|||
|
||||
extra-y := head.o init_task.o vmlinux.lds
|
||||
|
||||
obj-y := process.o signal.o traps.o irq.o \
|
||||
ptrace.o setup.o time.o sys_sh.o semaphore.o \
|
||||
io.o io_generic.o sh_ksyms.o syscalls.o \
|
||||
debugtraps.o
|
||||
obj-y := debugtraps.o io.o io_generic.o irq.o machvec.o process.o ptrace.o \
|
||||
semaphore.o setup.o signal.o sys_sh.o syscalls.o \
|
||||
time.o topology.o traps.o
|
||||
|
||||
obj-y += cpu/ timers/
|
||||
obj-$(CONFIG_VSYSCALL) += vsyscall/
|
||||
|
@ -17,7 +16,7 @@ obj-$(CONFIG_CF_ENABLER) += cf-enabler.o
|
|||
obj-$(CONFIG_SH_STANDARD_BIOS) += sh_bios.o
|
||||
obj-$(CONFIG_SH_KGDB) += kgdb_stub.o kgdb_jmp.o
|
||||
obj-$(CONFIG_SH_CPU_FREQ) += cpufreq.o
|
||||
obj-$(CONFIG_MODULES) += module.o
|
||||
obj-$(CONFIG_MODULES) += sh_ksyms.o module.o
|
||||
obj-$(CONFIG_EARLY_PRINTK) += early_printk.o
|
||||
obj-$(CONFIG_KEXEC) += machine_kexec.o relocate_kernel.o
|
||||
obj-$(CONFIG_CRASH_DUMP) += crash_dump.o
|
||||
|
|
|
@ -75,11 +75,7 @@ static int __init cf_init_default(void)
|
|||
#if defined(CONFIG_CPU_SH4)
|
||||
allocate_cf_area();
|
||||
#endif
|
||||
#if defined(CONFIG_SH_UNKNOWN)
|
||||
/* This should be done in each board's init_xxx_irq. */
|
||||
make_imask_irq(14);
|
||||
disable_irq(14);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -21,8 +21,7 @@
|
|||
#include <asm/cacheflush.h>
|
||||
#include <asm/cache.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
extern void detect_cpu_and_cache_system(void);
|
||||
#include <asm/ubc.h>
|
||||
|
||||
/*
|
||||
* Generic wrapper for command line arguments to disable on-chip
|
||||
|
@ -152,15 +151,6 @@ static void __init cache_init(void)
|
|||
flags |= CCR_CACHE_CB;
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SH_OCRAM
|
||||
/* Turn on OCRAM -- halve the OC */
|
||||
flags |= CCR_CACHE_ORA;
|
||||
current_cpu_data.dcache.sets >>= 1;
|
||||
|
||||
current_cpu_data.dcache.way_size = current_cpu_data.dcache.sets *
|
||||
current_cpu_data.dcache.linesz;
|
||||
#endif
|
||||
|
||||
ctrl_outl(flags, CCR);
|
||||
back_to_P1();
|
||||
}
|
||||
|
@ -269,7 +259,6 @@ asmlinkage void __init sh_cpu_init(void)
|
|||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_UBC_WAKEUP
|
||||
/*
|
||||
* Some brain-damaged loaders decided it would be a good idea to put
|
||||
* the UBC to sleep. This causes some issues when it comes to things
|
||||
|
@ -277,7 +266,5 @@ asmlinkage void __init sh_cpu_init(void)
|
|||
* we wake it up and hope that all is well.
|
||||
*/
|
||||
ubc_wakeup();
|
||||
#endif
|
||||
|
||||
speculative_execution_init();
|
||||
}
|
||||
|
|
|
@ -13,36 +13,31 @@
|
|||
#include <linux/kernel.h>
|
||||
#include <linux/interrupt.h>
|
||||
#include <linux/io.h>
|
||||
#include <asm/smp.h>
|
||||
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7760)
|
||||
#define INTC2_BASE 0xfe080000
|
||||
#define INTC2_INTMSK (INTC2_BASE + 0x40)
|
||||
#define INTC2_INTMSKCLR (INTC2_BASE + 0x60)
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7780) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785)
|
||||
#define INTC2_BASE 0xffd40000
|
||||
#define INTC2_INTMSK (INTC2_BASE + 0x38)
|
||||
#define INTC2_INTMSKCLR (INTC2_BASE + 0x3c)
|
||||
#endif
|
||||
static inline struct intc2_desc *get_intc2_desc(unsigned int irq)
|
||||
{
|
||||
struct irq_chip *chip = get_irq_chip(irq);
|
||||
return (void *)((char *)chip - offsetof(struct intc2_desc, chip));
|
||||
}
|
||||
|
||||
static void disable_intc2_irq(unsigned int irq)
|
||||
{
|
||||
struct intc2_data *p = get_irq_chip_data(irq);
|
||||
ctrl_outl(1 << p->msk_shift, INTC2_INTMSK + p->msk_offset);
|
||||
struct intc2_desc *d = get_intc2_desc(irq);
|
||||
|
||||
ctrl_outl(1 << p->msk_shift, d->msk_base + p->msk_offset +
|
||||
(hard_smp_processor_id() * 4));
|
||||
}
|
||||
|
||||
static void enable_intc2_irq(unsigned int irq)
|
||||
{
|
||||
struct intc2_data *p = get_irq_chip_data(irq);
|
||||
ctrl_outl(1 << p->msk_shift, INTC2_INTMSKCLR + p->msk_offset);
|
||||
}
|
||||
struct intc2_desc *d = get_intc2_desc(irq);
|
||||
|
||||
static struct irq_chip intc2_irq_chip = {
|
||||
.name = "INTC2",
|
||||
.mask = disable_intc2_irq,
|
||||
.unmask = enable_intc2_irq,
|
||||
.mask_ack = disable_intc2_irq,
|
||||
};
|
||||
ctrl_outl(1 << p->msk_shift, d->mskclr_base + p->msk_offset +
|
||||
(hard_smp_processor_id() * 4));
|
||||
}
|
||||
|
||||
/*
|
||||
* Setup an INTC2 style interrupt.
|
||||
|
@ -56,30 +51,36 @@ static struct irq_chip intc2_irq_chip = {
|
|||
*
|
||||
* in the intc2_data table.
|
||||
*/
|
||||
void make_intc2_irq(struct intc2_data *table, unsigned int nr_irqs)
|
||||
void register_intc2_controller(struct intc2_desc *desc)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < nr_irqs; i++) {
|
||||
desc->chip.mask = disable_intc2_irq;
|
||||
desc->chip.unmask = enable_intc2_irq;
|
||||
desc->chip.mask_ack = disable_intc2_irq;
|
||||
|
||||
for (i = 0; i < desc->nr_irqs; i++) {
|
||||
unsigned long ipr, flags;
|
||||
struct intc2_data *p = table + i;
|
||||
struct intc2_data *p = desc->intc2_data + i;
|
||||
|
||||
disable_irq_nosync(p->irq);
|
||||
|
||||
/* Set the priority level */
|
||||
local_irq_save(flags);
|
||||
if (desc->prio_base) {
|
||||
/* Set the priority level */
|
||||
local_irq_save(flags);
|
||||
|
||||
ipr = ctrl_inl(INTC2_BASE + p->ipr_offset);
|
||||
ipr &= ~(0xf << p->ipr_shift);
|
||||
ipr |= p->priority << p->ipr_shift;
|
||||
ctrl_outl(ipr, INTC2_BASE + p->ipr_offset);
|
||||
ipr = ctrl_inl(desc->prio_base + p->ipr_offset);
|
||||
ipr &= ~(0xf << p->ipr_shift);
|
||||
ipr |= p->priority << p->ipr_shift;
|
||||
ctrl_outl(ipr, desc->prio_base + p->ipr_offset);
|
||||
|
||||
local_irq_restore(flags);
|
||||
local_irq_restore(flags);
|
||||
}
|
||||
|
||||
set_irq_chip_and_handler_name(p->irq, &intc2_irq_chip,
|
||||
set_irq_chip_and_handler_name(p->irq, &desc->chip,
|
||||
handle_level_irq, "level");
|
||||
set_irq_chip_data(p->irq, p);
|
||||
|
||||
enable_intc2_irq(p->irq);
|
||||
disable_intc2_irq(p->irq);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -22,58 +22,57 @@
|
|||
#include <linux/io.h>
|
||||
#include <linux/interrupt.h>
|
||||
|
||||
static inline struct ipr_desc *get_ipr_desc(unsigned int irq)
|
||||
{
|
||||
struct irq_chip *chip = get_irq_chip(irq);
|
||||
return (void *)((char *)chip - offsetof(struct ipr_desc, chip));
|
||||
}
|
||||
|
||||
static void disable_ipr_irq(unsigned int irq)
|
||||
{
|
||||
struct ipr_data *p = get_irq_chip_data(irq);
|
||||
unsigned long addr = get_ipr_desc(irq)->ipr_offsets[p->ipr_idx];
|
||||
/* Set the priority in IPR to 0 */
|
||||
ctrl_outw(ctrl_inw(p->addr) & (0xffff ^ (0xf << p->shift)), p->addr);
|
||||
ctrl_outw(ctrl_inw(addr) & (0xffff ^ (0xf << p->shift)), addr);
|
||||
}
|
||||
|
||||
static void enable_ipr_irq(unsigned int irq)
|
||||
{
|
||||
struct ipr_data *p = get_irq_chip_data(irq);
|
||||
unsigned long addr = get_ipr_desc(irq)->ipr_offsets[p->ipr_idx];
|
||||
/* Set priority in IPR back to original value */
|
||||
ctrl_outw(ctrl_inw(p->addr) | (p->priority << p->shift), p->addr);
|
||||
ctrl_outw(ctrl_inw(addr) | (p->priority << p->shift), addr);
|
||||
}
|
||||
|
||||
static struct irq_chip ipr_irq_chip = {
|
||||
.name = "IPR",
|
||||
.mask = disable_ipr_irq,
|
||||
.unmask = enable_ipr_irq,
|
||||
.mask_ack = disable_ipr_irq,
|
||||
};
|
||||
/*
|
||||
* The shift value is now the number of bits to shift, not the number of
|
||||
* bits/4. This is to make it easier to read the value directly from the
|
||||
* datasheets. The IPR address is calculated using the ipr_offset table.
|
||||
*/
|
||||
|
||||
unsigned int map_ipridx_to_addr(int idx) __attribute__ ((weak));
|
||||
unsigned int map_ipridx_to_addr(int idx)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
void make_ipr_irq(struct ipr_data *table, unsigned int nr_irqs)
|
||||
void register_ipr_controller(struct ipr_desc *desc)
|
||||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < nr_irqs; i++) {
|
||||
unsigned int irq = table[i].irq;
|
||||
desc->chip.mask = disable_ipr_irq;
|
||||
desc->chip.unmask = enable_ipr_irq;
|
||||
desc->chip.mask_ack = disable_ipr_irq;
|
||||
|
||||
if (!irq)
|
||||
irq = table[i].irq = i;
|
||||
for (i = 0; i < desc->nr_irqs; i++) {
|
||||
struct ipr_data *p = desc->ipr_data + i;
|
||||
|
||||
/* could the IPR index be mapped, if not we ignore this */
|
||||
if (!table[i].addr) {
|
||||
table[i].addr = map_ipridx_to_addr(table[i].ipr_idx);
|
||||
if (!table[i].addr)
|
||||
continue;
|
||||
}
|
||||
BUG_ON(p->ipr_idx >= desc->nr_offsets);
|
||||
BUG_ON(!desc->ipr_offsets[p->ipr_idx]);
|
||||
|
||||
disable_irq_nosync(irq);
|
||||
set_irq_chip_and_handler_name(irq, &ipr_irq_chip,
|
||||
disable_irq_nosync(p->irq);
|
||||
set_irq_chip_and_handler_name(p->irq, &desc->chip,
|
||||
handle_level_irq, "level");
|
||||
set_irq_chip_data(irq, &table[i]);
|
||||
enable_ipr_irq(irq);
|
||||
set_irq_chip_data(p->irq, p);
|
||||
disable_ipr_irq(p->irq);
|
||||
}
|
||||
}
|
||||
EXPORT_SYMBOL(make_ipr_irq);
|
||||
|
||||
EXPORT_SYMBOL(register_ipr_controller);
|
||||
|
||||
#if !defined(CONFIG_CPU_HAS_PINT_IRQ)
|
||||
int ipr_irq_demux(int irq)
|
||||
|
|
|
@ -311,6 +311,7 @@ restore_all:
|
|||
rte
|
||||
nop
|
||||
|
||||
.align 2
|
||||
#ifdef CONFIG_TRACE_IRQFLAGS
|
||||
1: .long trace_hardirqs_off
|
||||
#endif
|
||||
|
|
|
@ -9,23 +9,14 @@
|
|||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
|
||||
|
||||
#include <linux/init.h>
|
||||
#include <linux/smp.h>
|
||||
#include <asm/processor.h>
|
||||
#include <asm/cache.h>
|
||||
|
||||
int __init detect_cpu_and_cache_system(void)
|
||||
{
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7604)
|
||||
current_cpu_data.type = CPU_SH7604;
|
||||
current_cpu_data.dcache.ways = 4;
|
||||
current_cpu_data.dcache.way_incr = (1<<10);
|
||||
current_cpu_data.dcache.sets = 64;
|
||||
current_cpu_data.dcache.entry_shift = 4;
|
||||
current_cpu_data.dcache.linesz = L1_CACHE_BYTES;
|
||||
current_cpu_data.dcache.flags = 0;
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7619)
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7619)
|
||||
current_cpu_data.type = CPU_SH7619;
|
||||
current_cpu_data.dcache.ways = 4;
|
||||
current_cpu_data.dcache.way_incr = (1<<12);
|
||||
|
|
|
@ -52,7 +52,7 @@ static int __init sh7619_devices_setup(void)
|
|||
}
|
||||
__initcall(sh7619_devices_setup);
|
||||
|
||||
static struct ipr_data sh7619_ipr_map[] = {
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
{ 86, 0, 4, 2 }, /* CMI0 */
|
||||
{ 88, 1, 12, 3 }, /* SCIF0_ERI */
|
||||
{ 89, 1, 12, 3 }, /* SCIF0_RXI */
|
||||
|
@ -68,7 +68,7 @@ static struct ipr_data sh7619_ipr_map[] = {
|
|||
{ 99, 1, 4, 3 }, /* SCIF2_TXI */
|
||||
};
|
||||
|
||||
static unsigned int ipr_offsets[] = {
|
||||
static unsigned long ipr_offsets[] = {
|
||||
0xf8080000, /* IPRC */
|
||||
0xf8080002, /* IPRD */
|
||||
0xf8080004, /* IPRE */
|
||||
|
@ -76,15 +76,19 @@ static unsigned int ipr_offsets[] = {
|
|||
0xf8080008, /* IPRG */
|
||||
};
|
||||
|
||||
/* given the IPR index return the address of the IPR register */
|
||||
unsigned int map_ipridx_to_addr(int idx)
|
||||
{
|
||||
if (unlikely(idx >= ARRAY_SIZE(ipr_offsets)))
|
||||
return 0;
|
||||
return ipr_offsets[idx];
|
||||
}
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-sh7619",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_ipr(void)
|
||||
{
|
||||
make_ipr_irq(sh7619_ipr_map, ARRAY_SIZE(sh7619_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
|
|
@ -57,7 +57,7 @@ static int __init sh7206_devices_setup(void)
|
|||
}
|
||||
__initcall(sh7206_devices_setup);
|
||||
|
||||
static struct ipr_data sh7206_ipr_map[] = {
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
{ 140, 7, 12, 2 }, /* CMI0 */
|
||||
{ 164, 8, 4, 2 }, /* MTU2_TGI1A */
|
||||
{ 240, 13, 12, 3 }, /* SCIF0_BRI */
|
||||
|
@ -78,7 +78,7 @@ static struct ipr_data sh7206_ipr_map[] = {
|
|||
{ 255, 13, 0, 3 }, /* SCIF3_TXI */
|
||||
};
|
||||
|
||||
static unsigned int ipr_offsets[] = {
|
||||
static unsigned long ipr_offsets[] = {
|
||||
0xfffe0818, /* IPR01 */
|
||||
0xfffe081a, /* IPR02 */
|
||||
0, /* unused */
|
||||
|
@ -95,15 +95,19 @@ static unsigned int ipr_offsets[] = {
|
|||
0xfffe0c10, /* IPR14 */
|
||||
};
|
||||
|
||||
/* given the IPR index return the address of the IPR register */
|
||||
unsigned int map_ipridx_to_addr(int idx)
|
||||
{
|
||||
if (unlikely(idx >= ARRAY_SIZE(ipr_offsets)))
|
||||
return 0;
|
||||
return ipr_offsets[idx];
|
||||
}
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-sh7206",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_ipr(void)
|
||||
{
|
||||
make_ipr_irq(sh7206_ipr_map, ARRAY_SIZE(sh7206_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
|
|
@ -340,8 +340,27 @@ ENTRY(vbr_base)
|
|||
general_exception:
|
||||
mov.l 1f, k2
|
||||
mov.l 2f, k3
|
||||
#ifdef CONFIG_CPU_SUBTYPE_SHX3
|
||||
mov.l @k2, k2
|
||||
|
||||
! Is EXPEVT larger than 0x800?
|
||||
mov #0x8, k0
|
||||
shll8 k0
|
||||
cmp/hs k0, k2
|
||||
bf 0f
|
||||
|
||||
! then add 0x580 (k2 is 0xd80 or 0xda0)
|
||||
mov #0x58, k0
|
||||
shll2 k0
|
||||
shll2 k0
|
||||
add k0, k2
|
||||
0:
|
||||
bra handle_exception
|
||||
nop
|
||||
#else
|
||||
bra handle_exception
|
||||
mov.l @k2, k2
|
||||
#endif
|
||||
.align 2
|
||||
1: .long EXPEVT
|
||||
2: .long ret_from_exception
|
||||
|
|
|
@ -48,7 +48,7 @@ static int __init sh7705_devices_setup(void)
|
|||
}
|
||||
__initcall(sh7705_devices_setup);
|
||||
|
||||
static struct ipr_data sh7705_ipr_map[] = {
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
/* IRQ, IPR-idx, shift, priority */
|
||||
{ 16, 0, 12, 2 }, /* TMU0 TUNI*/
|
||||
{ 17, 0, 8, 2 }, /* TMU1 TUNI */
|
||||
|
@ -70,25 +70,29 @@ static struct ipr_data sh7705_ipr_map[] = {
|
|||
};
|
||||
|
||||
static unsigned long ipr_offsets[] = {
|
||||
0xFFFFFEE2 /* 0: IPRA */
|
||||
, 0xFFFFFEE4 /* 1: IPRB */
|
||||
, 0xA4000016 /* 2: IPRC */
|
||||
, 0xA4000018 /* 3: IPRD */
|
||||
, 0xA400001A /* 4: IPRE */
|
||||
, 0xA4080000 /* 5: IPRF */
|
||||
, 0xA4080002 /* 6: IPRG */
|
||||
, 0xA4080004 /* 7: IPRH */
|
||||
0xFFFFFEE2, /* 0: IPRA */
|
||||
0xFFFFFEE4, /* 1: IPRB */
|
||||
0xA4000016, /* 2: IPRC */
|
||||
0xA4000018, /* 3: IPRD */
|
||||
0xA400001A, /* 4: IPRE */
|
||||
0xA4080000, /* 5: IPRF */
|
||||
0xA4080002, /* 6: IPRG */
|
||||
0xA4080004, /* 7: IPRH */
|
||||
};
|
||||
|
||||
/* given the IPR index return the address of the IPR register */
|
||||
unsigned int map_ipridx_to_addr(int idx)
|
||||
{
|
||||
if (idx >= ARRAY_SIZE(ipr_offsets))
|
||||
return 0;
|
||||
return ipr_offsets[idx];
|
||||
}
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
void __init init_IRQ_ipr()
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-sh7705",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_ipr(void)
|
||||
{
|
||||
make_ipr_irq(sh7705_ipr_map, ARRAY_SIZE(sh7705_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
|
|
@ -12,6 +12,26 @@
|
|||
#include <linux/serial.h>
|
||||
#include <asm/sci.h>
|
||||
|
||||
static struct resource rtc_resources[] = {
|
||||
[0] = {
|
||||
.start = 0xfffffec0,
|
||||
.end = 0xfffffec0 + 0x1e,
|
||||
.flags = IORESOURCE_IO,
|
||||
},
|
||||
[1] = {
|
||||
.start = 20,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
[2] = {
|
||||
.start = 21,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
[3] = {
|
||||
.start = 22,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
},
|
||||
};
|
||||
|
||||
static struct plat_sci_port sci_platform_data[] = {
|
||||
{
|
||||
.mapbase = 0xfffffe80,
|
||||
|
@ -41,8 +61,16 @@ static struct platform_device sci_device = {
|
|||
},
|
||||
};
|
||||
|
||||
static struct platform_device rtc_device = {
|
||||
.name = "sh-rtc",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(rtc_resources),
|
||||
.resource = rtc_resources,
|
||||
};
|
||||
|
||||
static struct platform_device *sh7709_devices[] __initdata = {
|
||||
&sci_device,
|
||||
&rtc_device,
|
||||
};
|
||||
|
||||
static int __init sh7709_devices_setup(void)
|
||||
|
@ -52,32 +80,66 @@ static int __init sh7709_devices_setup(void)
|
|||
}
|
||||
__initcall(sh7709_devices_setup);
|
||||
|
||||
#define IPRx(A,N) .addr=A, .shift=N
|
||||
#define IPRA(N) IPRx(0xfffffee2UL,N)
|
||||
#define IPRB(N) IPRx(0xfffffee4UL,N)
|
||||
#define IPRC(N) IPRx(0xa4000016UL,N)
|
||||
#define IPRD(N) IPRx(0xa4000018UL,N)
|
||||
#define IPRE(N) IPRx(0xa400001aUL,N)
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
{ 16, 0, 12, 2 }, /* TMU TUNI0 */
|
||||
{ 17, 0, 8, 4 }, /* TMU TUNI1 */
|
||||
{ 18, 0, 4, 1 }, /* TMU TUNI1 */
|
||||
{ 19, 0, 4, 1 }, /* TMU TUNI1 */
|
||||
{ 20, 0, 0, 2 }, /* RTC CUI */
|
||||
{ 21, 0, 0, 2 }, /* RTC CUI */
|
||||
{ 22, 0, 0, 2 }, /* RTC CUI */
|
||||
|
||||
static struct ipr_data sh7709_ipr_map[] = {
|
||||
[16] = { IPRA(12), 2 }, /* TMU TUNI0 */
|
||||
[17] = { IPRA(8), 4 }, /* TMU TUNI1 */
|
||||
[18 ... 19] = { IPRA(4), 1 }, /* TMU TUNI1 */
|
||||
[20 ... 22] = { IPRA(0), 2 }, /* RTC CUI */
|
||||
[23 ... 26] = { IPRB(4), 3 }, /* SCI */
|
||||
[27] = { IPRB(12), 2 }, /* WDT ITI */
|
||||
[32] = { IPRC(0), 1 }, /* IRQ 0 */
|
||||
[33] = { IPRC(4), 1 }, /* IRQ 1 */
|
||||
[34] = { IPRC(8), 1 }, /* IRQ 2 APM */
|
||||
[35] = { IPRC(12), 1 }, /* IRQ 3 TOUCHSCREEN */
|
||||
[36] = { IPRD(0), 1 }, /* IRQ 4 */
|
||||
[37] = { IPRD(4), 1 }, /* IRQ 5 */
|
||||
[48 ... 51] = { IPRE(12), 7 }, /* DMA */
|
||||
[52 ... 55] = { IPRE(8), 3 }, /* IRDA */
|
||||
[56 ... 59] = { IPRE(4), 3 }, /* SCIF */
|
||||
{ 23, 1, 4, 3 }, /* SCI */
|
||||
{ 24, 1, 4, 3 }, /* SCI */
|
||||
{ 25, 1, 4, 3 }, /* SCI */
|
||||
{ 26, 1, 4, 3 }, /* SCI */
|
||||
{ 27, 1, 12, 3 }, /* WDT ITI */
|
||||
|
||||
{ 32, 2, 0, 1 }, /* IRQ 0 */
|
||||
{ 33, 2, 4, 1 }, /* IRQ 1 */
|
||||
{ 34, 2, 8, 1 }, /* IRQ 2 APM */
|
||||
{ 35, 2, 12, 1 }, /* IRQ 3 TOUCHSCREEN */
|
||||
|
||||
{ 36, 3, 0, 1 }, /* IRQ 4 */
|
||||
{ 37, 3, 4, 1 }, /* IRQ 5 */
|
||||
|
||||
{ 48, 4, 12, 7 }, /* DMA */
|
||||
{ 49, 4, 12, 7 }, /* DMA */
|
||||
{ 50, 4, 12, 7 }, /* DMA */
|
||||
{ 51, 4, 12, 7 }, /* DMA */
|
||||
|
||||
{ 52, 4, 8, 3 }, /* IRDA */
|
||||
{ 53, 4, 8, 3 }, /* IRDA */
|
||||
{ 54, 4, 8, 3 }, /* IRDA */
|
||||
{ 55, 4, 8, 3 }, /* IRDA */
|
||||
|
||||
{ 56, 4, 4, 3 }, /* SCIF */
|
||||
{ 57, 4, 4, 3 }, /* SCIF */
|
||||
{ 58, 4, 4, 3 }, /* SCIF */
|
||||
{ 59, 4, 4, 3 }, /* SCIF */
|
||||
};
|
||||
|
||||
void __init init_IRQ_ipr()
|
||||
static unsigned long ipr_offsets[] = {
|
||||
0xfffffee2, /* 0: IPRA */
|
||||
0xfffffee4, /* 1: IPRB */
|
||||
0xa4000016, /* 2: IPRC */
|
||||
0xa4000018, /* 3: IPRD */
|
||||
0xa400001a, /* 4: IPRE */
|
||||
};
|
||||
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-sh7709",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_ipr(void)
|
||||
{
|
||||
make_ipr_irq(sh7709_ipr_map, ARRAY_SIZE(sh7709_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
|
|
@ -49,7 +49,7 @@ static int __init sh7710_devices_setup(void)
|
|||
}
|
||||
__initcall(sh7710_devices_setup);
|
||||
|
||||
static struct ipr_data sh7710_ipr_map[] = {
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
/* IRQ, IPR-idx, shift, priority */
|
||||
{ 16, 0, 12, 2 }, /* TMU0 TUNI*/
|
||||
{ 17, 0, 8, 2 }, /* TMU1 TUNI */
|
||||
|
@ -78,26 +78,30 @@ static struct ipr_data sh7710_ipr_map[] = {
|
|||
};
|
||||
|
||||
static unsigned long ipr_offsets[] = {
|
||||
0xA414FEE2 /* 0: IPRA */
|
||||
, 0xA414FEE4 /* 1: IPRB */
|
||||
, 0xA4140016 /* 2: IPRC */
|
||||
, 0xA4140018 /* 3: IPRD */
|
||||
, 0xA414001A /* 4: IPRE */
|
||||
, 0xA4080000 /* 5: IPRF */
|
||||
, 0xA4080002 /* 6: IPRG */
|
||||
, 0xA4080004 /* 7: IPRH */
|
||||
, 0xA4080006 /* 8: IPRI */
|
||||
0xA414FEE2, /* 0: IPRA */
|
||||
0xA414FEE4, /* 1: IPRB */
|
||||
0xA4140016, /* 2: IPRC */
|
||||
0xA4140018, /* 3: IPRD */
|
||||
0xA414001A, /* 4: IPRE */
|
||||
0xA4080000, /* 5: IPRF */
|
||||
0xA4080002, /* 6: IPRG */
|
||||
0xA4080004, /* 7: IPRH */
|
||||
0xA4080006, /* 8: IPRI */
|
||||
};
|
||||
|
||||
/* given the IPR index return the address of the IPR register */
|
||||
unsigned int map_ipridx_to_addr(int idx)
|
||||
{
|
||||
if (idx >= ARRAY_SIZE(ipr_offsets))
|
||||
return 0;
|
||||
return ipr_offsets[idx];
|
||||
}
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
void __init init_IRQ_ipr()
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-sh7710",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_ipr(void)
|
||||
{
|
||||
make_ipr_irq(sh7710_ipr_map, ARRAY_SIZE(sh7710_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
|
|
@ -10,7 +10,11 @@ obj-$(CONFIG_SH_STORE_QUEUES) += sq.o
|
|||
|
||||
# CPU subtype setup
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH7750) += setup-sh7750.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH7750R) += setup-sh7750.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH7750S) += setup-sh7750.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH7091) += setup-sh7750.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH7751) += setup-sh7750.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH7751R) += setup-sh7750.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH7760) += setup-sh7760.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH4_202) += setup-sh4-202.o
|
||||
|
||||
|
|
|
@ -141,6 +141,14 @@ int __init detect_cpu_and_cache_system(void)
|
|||
current_cpu_data.flags |= CPU_HAS_LLSC;
|
||||
}
|
||||
break;
|
||||
case 0x4000: /* 1st cut */
|
||||
case 0x4001: /* 2nd cut */
|
||||
current_cpu_data.type = CPU_SHX3;
|
||||
current_cpu_data.icache.ways = 4;
|
||||
current_cpu_data.dcache.ways = 4;
|
||||
current_cpu_data.flags |= CPU_HAS_FPU | CPU_HAS_PERF_COUNTER |
|
||||
CPU_HAS_LLSC;
|
||||
break;
|
||||
case 0x8000:
|
||||
current_cpu_data.type = CPU_ST40RA;
|
||||
current_cpu_data.flags |= CPU_HAS_FPU;
|
||||
|
|
|
@ -82,7 +82,7 @@ static int __init sh7750_devices_setup(void)
|
|||
}
|
||||
__initcall(sh7750_devices_setup);
|
||||
|
||||
static struct ipr_data sh7750_ipr_map[] = {
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
/* IRQ, IPR-idx, shift, priority */
|
||||
{ 16, 0, 12, 2 }, /* TMU0 TUNI*/
|
||||
{ 17, 0, 12, 2 }, /* TMU1 TUNI */
|
||||
|
@ -106,8 +106,27 @@ static struct ipr_data sh7750_ipr_map[] = {
|
|||
{ 38, 2, 8, 7 }, /* DMAC DMAE */
|
||||
};
|
||||
|
||||
static unsigned long ipr_offsets[] = {
|
||||
0xffd00004UL, /* 0: IPRA */
|
||||
0xffd00008UL, /* 1: IPRB */
|
||||
0xffd0000cUL, /* 2: IPRC */
|
||||
0xffd00010UL, /* 3: IPRD */
|
||||
};
|
||||
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-sh7750",
|
||||
},
|
||||
};
|
||||
|
||||
#ifdef CONFIG_CPU_SUBTYPE_SH7751
|
||||
static struct ipr_data sh7751_ipr_map[] = {
|
||||
static struct ipr_data ipr_irq_table_sh7751[] = {
|
||||
{ 44, 2, 8, 7 }, /* DMAC DMTE4 */
|
||||
{ 45, 2, 8, 7 }, /* DMAC DMTE5 */
|
||||
{ 46, 2, 8, 7 }, /* DMAC DMTE6 */
|
||||
|
@ -118,21 +137,26 @@ static struct ipr_data sh7751_ipr_map[] = {
|
|||
/*{ 72, INTPRI00, 8, ? },*/ /* TMU3 TUNI */
|
||||
/*{ 76, INTPRI00, 12, ? },*/ /* TMU4 TUNI */
|
||||
};
|
||||
|
||||
static struct ipr_desc ipr_irq_desc_sh7751 = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table_sh7751,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table_sh7751),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-sh7751",
|
||||
},
|
||||
};
|
||||
#endif
|
||||
|
||||
static unsigned long ipr_offsets[] = {
|
||||
0xffd00004UL, /* 0: IPRA */
|
||||
0xffd00008UL, /* 1: IPRB */
|
||||
0xffd0000cUL, /* 2: IPRC */
|
||||
0xffd00010UL, /* 3: IPRD */
|
||||
};
|
||||
|
||||
/* given the IPR index return the address of the IPR register */
|
||||
unsigned int map_ipridx_to_addr(int idx)
|
||||
void __init init_IRQ_ipr(void)
|
||||
{
|
||||
if (idx >= ARRAY_SIZE(ipr_offsets))
|
||||
return 0;
|
||||
return ipr_offsets[idx];
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
#ifdef CONFIG_CPU_SUBTYPE_SH7751
|
||||
register_ipr_controller(&ipr_irq_desc_sh7751);
|
||||
#endif
|
||||
}
|
||||
|
||||
#define INTC_ICR 0xffd00000UL
|
||||
|
@ -143,11 +167,3 @@ void ipr_irq_enable_irlm(void)
|
|||
{
|
||||
ctrl_outw(ctrl_inw(INTC_ICR) | INTC_ICR_IRLM, INTC_ICR);
|
||||
}
|
||||
|
||||
void __init init_IRQ_ipr()
|
||||
{
|
||||
make_ipr_irq(sh7750_ipr_map, ARRAY_SIZE(sh7750_ipr_map));
|
||||
#ifdef CONFIG_CPU_SUBTYPE_SH7751
|
||||
make_ipr_irq(sh7751_ipr_map, ARRAY_SIZE(sh7751_ipr_map));
|
||||
#endif
|
||||
}
|
||||
|
|
|
@ -96,7 +96,25 @@ static struct intc2_data intc2_irq_table[] = {
|
|||
{109,12, 0, 4, 0, 3}, /* CMTI */
|
||||
};
|
||||
|
||||
static struct ipr_data sh7760_ipr_map[] = {
|
||||
static struct intc2_desc intc2_irq_desc __read_mostly = {
|
||||
.prio_base = 0xfe080000,
|
||||
.msk_base = 0xfe080040,
|
||||
.mskclr_base = 0xfe080060,
|
||||
|
||||
.intc2_data = intc2_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(intc2_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "INTC2-sh7760",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_intc2(void)
|
||||
{
|
||||
register_intc2_controller(&intc2_irq_desc);
|
||||
}
|
||||
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
/* IRQ, IPR-idx, shift, priority */
|
||||
{ 16, 0, 12, 2 }, /* TMU0 TUNI*/
|
||||
{ 17, 0, 8, 2 }, /* TMU1 TUNI */
|
||||
|
@ -133,20 +151,19 @@ static unsigned long ipr_offsets[] = {
|
|||
0xffd00010UL, /* 3: IPRD */
|
||||
};
|
||||
|
||||
/* given the IPR index return the address of the IPR register */
|
||||
unsigned int map_ipridx_to_addr(int idx)
|
||||
{
|
||||
if (idx >= ARRAY_SIZE(ipr_offsets))
|
||||
return 0;
|
||||
return ipr_offsets[idx];
|
||||
}
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
void __init init_IRQ_intc2(void)
|
||||
{
|
||||
make_intc2_irq(intc2_irq_table, ARRAY_SIZE(intc2_irq_table));
|
||||
}
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
void __init init_IRQ_ipr(void)
|
||||
.chip = {
|
||||
.name = "IPR-sh7760",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_ipr(void)
|
||||
{
|
||||
make_ipr_irq(sh7760_ipr_map, ARRAY_SIZE(sh7760_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
|
|
@ -9,6 +9,7 @@ obj-$(CONFIG_CPU_SUBTYPE_SH7785) += setup-sh7785.o
|
|||
obj-$(CONFIG_CPU_SUBTYPE_SH73180) += setup-sh73180.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH7343) += setup-sh7343.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SH7722) += setup-sh7722.o
|
||||
obj-$(CONFIG_CPU_SUBTYPE_SHX3) += setup-shx3.o
|
||||
|
||||
# Primary on-chip clocks (common)
|
||||
clock-$(CONFIG_CPU_SUBTYPE_SH73180) := clock-sh73180.o
|
||||
|
@ -17,5 +18,6 @@ clock-$(CONFIG_CPU_SUBTYPE_SH7780) := clock-sh7780.o
|
|||
clock-$(CONFIG_CPU_SUBTYPE_SH7785) := clock-sh7785.o
|
||||
clock-$(CONFIG_CPU_SUBTYPE_SH7343) := clock-sh7343.o
|
||||
clock-$(CONFIG_CPU_SUBTYPE_SH7722) := clock-sh7722.o
|
||||
clock-$(CONFIG_CPU_SUBTYPE_SHX3) := clock-shx3.o
|
||||
|
||||
obj-y += $(clock-y)
|
||||
|
|
|
@ -0,0 +1,135 @@
|
|||
/*
|
||||
* arch/sh/kernel/cpu/sh4/clock-shx3.c
|
||||
*
|
||||
* SH-X3 support for the clock framework
|
||||
*
|
||||
* Copyright (C) 2006-2007 Renesas Technology Corp.
|
||||
* Copyright (C) 2006-2007 Renesas Solutions Corp.
|
||||
* Copyright (C) 2006-2007 Paul Mundt
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <asm/clock.h>
|
||||
#include <asm/freq.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
static int ifc_divisors[] = { 1, 2, 4 ,6 };
|
||||
static int bfc_divisors[] = { 1, 1, 1, 1, 1, 12, 16, 18, 24, 32, 36, 48 };
|
||||
static int pfc_divisors[] = { 1, 1, 1, 1, 1, 1, 1, 18, 24, 32, 36, 48 };
|
||||
static int cfc_divisors[] = { 1, 1, 4, 6 };
|
||||
|
||||
#define IFC_POS 28
|
||||
#define IFC_MSK 0x0003
|
||||
#define BFC_MSK 0x000f
|
||||
#define PFC_MSK 0x000f
|
||||
#define CFC_MSK 0x0003
|
||||
#define BFC_POS 16
|
||||
#define PFC_POS 0
|
||||
#define CFC_POS 20
|
||||
|
||||
static void master_clk_init(struct clk *clk)
|
||||
{
|
||||
clk->rate *= pfc_divisors[(ctrl_inl(FRQCR) >> PFC_POS) & PFC_MSK];
|
||||
}
|
||||
|
||||
static struct clk_ops shx3_master_clk_ops = {
|
||||
.init = master_clk_init,
|
||||
};
|
||||
|
||||
static void module_clk_recalc(struct clk *clk)
|
||||
{
|
||||
int idx = ((ctrl_inl(FRQCR) >> PFC_POS) & PFC_MSK);
|
||||
clk->rate = clk->parent->rate / pfc_divisors[idx];
|
||||
}
|
||||
|
||||
static struct clk_ops shx3_module_clk_ops = {
|
||||
.recalc = module_clk_recalc,
|
||||
};
|
||||
|
||||
static void bus_clk_recalc(struct clk *clk)
|
||||
{
|
||||
int idx = ((ctrl_inl(FRQCR) >> BFC_POS) & BFC_MSK);
|
||||
clk->rate = clk->parent->rate / bfc_divisors[idx];
|
||||
}
|
||||
|
||||
static struct clk_ops shx3_bus_clk_ops = {
|
||||
.recalc = bus_clk_recalc,
|
||||
};
|
||||
|
||||
static void cpu_clk_recalc(struct clk *clk)
|
||||
{
|
||||
int idx = ((ctrl_inl(FRQCR) >> IFC_POS) & IFC_MSK);
|
||||
clk->rate = clk->parent->rate / ifc_divisors[idx];
|
||||
}
|
||||
|
||||
static struct clk_ops shx3_cpu_clk_ops = {
|
||||
.recalc = cpu_clk_recalc,
|
||||
};
|
||||
|
||||
static struct clk_ops *shx3_clk_ops[] = {
|
||||
&shx3_master_clk_ops,
|
||||
&shx3_module_clk_ops,
|
||||
&shx3_bus_clk_ops,
|
||||
&shx3_cpu_clk_ops,
|
||||
};
|
||||
|
||||
void __init arch_init_clk_ops(struct clk_ops **ops, int idx)
|
||||
{
|
||||
if (idx < ARRAY_SIZE(shx3_clk_ops))
|
||||
*ops = shx3_clk_ops[idx];
|
||||
}
|
||||
|
||||
static void shyway_clk_recalc(struct clk *clk)
|
||||
{
|
||||
int idx = ((ctrl_inl(FRQCR) >> CFC_POS) & CFC_MSK);
|
||||
clk->rate = clk->parent->rate / cfc_divisors[idx];
|
||||
}
|
||||
|
||||
static struct clk_ops shx3_shyway_clk_ops = {
|
||||
.recalc = shyway_clk_recalc,
|
||||
};
|
||||
|
||||
static struct clk shx3_shyway_clk = {
|
||||
.name = "shyway_clk",
|
||||
.flags = CLK_ALWAYS_ENABLED,
|
||||
.ops = &shx3_shyway_clk_ops,
|
||||
};
|
||||
|
||||
/*
|
||||
* Additional SHx3-specific on-chip clocks that aren't already part of the
|
||||
* clock framework
|
||||
*/
|
||||
static struct clk *shx3_onchip_clocks[] = {
|
||||
&shx3_shyway_clk,
|
||||
};
|
||||
|
||||
static int __init shx3_clk_init(void)
|
||||
{
|
||||
struct clk *clk = clk_get(NULL, "master_clk");
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(shx3_onchip_clocks); i++) {
|
||||
struct clk *clkp = shx3_onchip_clocks[i];
|
||||
|
||||
clkp->parent = clk;
|
||||
clk_register(clkp);
|
||||
clk_enable(clkp);
|
||||
}
|
||||
|
||||
/*
|
||||
* Now that we have the rest of the clocks registered, we need to
|
||||
* force the parent clock to propagate so that these clocks will
|
||||
* automatically figure out their rate. We cheat by handing the
|
||||
* parent clock its current rate and forcing child propagation.
|
||||
*/
|
||||
clk_set_rate(clk, clk_get_rate(clk));
|
||||
|
||||
clk_put(clk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
arch_initcall(shx3_clk_init);
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* SH7722 Setup
|
||||
*
|
||||
* Copyright (C) 2006 Paul Mundt
|
||||
* Copyright (C) 2006 - 2007 Paul Mundt
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
|
@ -10,6 +10,8 @@
|
|||
#include <linux/platform_device.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/mm.h>
|
||||
#include <asm/mmzone.h>
|
||||
#include <asm/sci.h>
|
||||
|
||||
static struct plat_sci_port sci_platform_data[] = {
|
||||
|
@ -42,7 +44,7 @@ static int __init sh7722_devices_setup(void)
|
|||
}
|
||||
__initcall(sh7722_devices_setup);
|
||||
|
||||
static struct ipr_data sh7722_ipr_map[] = {
|
||||
static struct ipr_data ipr_irq_table[] = {
|
||||
/* IRQ, IPR-idx, shift, prio */
|
||||
{ 16, 0, 12, 2 }, /* TMU0 */
|
||||
{ 17, 0, 8, 2 }, /* TMU1 */
|
||||
|
@ -67,14 +69,25 @@ static unsigned long ipr_offsets[] = {
|
|||
0xa408002c, /* 11: IPRL */
|
||||
};
|
||||
|
||||
unsigned int map_ipridx_to_addr(int idx)
|
||||
{
|
||||
if (unlikely(idx >= ARRAY_SIZE(ipr_offsets)))
|
||||
return 0;
|
||||
return ipr_offsets[idx];
|
||||
}
|
||||
static struct ipr_desc ipr_irq_desc = {
|
||||
.ipr_offsets = ipr_offsets,
|
||||
.nr_offsets = ARRAY_SIZE(ipr_offsets),
|
||||
|
||||
.ipr_data = ipr_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(ipr_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "IPR-sh7722",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_ipr(void)
|
||||
{
|
||||
make_ipr_irq(sh7722_ipr_map, ARRAY_SIZE(sh7722_ipr_map));
|
||||
register_ipr_controller(&ipr_irq_desc);
|
||||
}
|
||||
|
||||
void __init plat_mem_setup(void)
|
||||
{
|
||||
/* Register the URAM space as Node 1 */
|
||||
setup_bootmem_node(1, 0x055f0000, 0x05610000);
|
||||
}
|
||||
|
|
|
@ -102,7 +102,20 @@ static struct intc2_data intc2_irq_table[] = {
|
|||
{ 68, 0x14, 8, 0, 18, 2 }, /* PCIC4 */
|
||||
};
|
||||
|
||||
static struct intc2_desc intc2_irq_desc __read_mostly = {
|
||||
.prio_base = 0xffd40000,
|
||||
.msk_base = 0xffd40038,
|
||||
.mskclr_base = 0xffd4003c,
|
||||
|
||||
.intc2_data = intc2_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(intc2_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "INTC2-sh7780",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_intc2(void)
|
||||
{
|
||||
make_intc2_irq(intc2_irq_table, ARRAY_SIZE(intc2_irq_table));
|
||||
register_intc2_controller(&intc2_irq_desc);
|
||||
}
|
||||
|
|
|
@ -97,7 +97,21 @@ static struct intc2_data intc2_irq_table[] = {
|
|||
{ 60, 12, 16, 0, 7, 3 }, /* SCIF5 ERI, RXI, BRI, TXI */
|
||||
};
|
||||
|
||||
static struct intc2_desc intc2_irq_desc __read_mostly = {
|
||||
.prio_base = 0xffd40000,
|
||||
.msk_base = 0xffd40038,
|
||||
.mskclr_base = 0xffd4003c,
|
||||
|
||||
.intc2_data = intc2_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(intc2_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "INTC2-sh7785",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_intc2(void)
|
||||
{
|
||||
make_intc2_irq(intc2_irq_table, ARRAY_SIZE(intc2_irq_table));
|
||||
register_intc2_controller(&intc2_irq_desc);
|
||||
}
|
||||
|
||||
|
|
|
@ -0,0 +1,85 @@
|
|||
/*
|
||||
* SH-X3 Setup
|
||||
*
|
||||
* Copyright (C) 2007 Paul Mundt
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/io.h>
|
||||
#include <asm/sci.h>
|
||||
|
||||
static struct plat_sci_port sci_platform_data[] = {
|
||||
{
|
||||
.mapbase = 0xffc30000,
|
||||
.flags = UPF_BOOT_AUTOCONF,
|
||||
.type = PORT_SCIF,
|
||||
.irqs = { 40, 41, 43, 42 },
|
||||
}, {
|
||||
.mapbase = 0xffc40000,
|
||||
.flags = UPF_BOOT_AUTOCONF,
|
||||
.type = PORT_SCIF,
|
||||
.irqs = { 44, 45, 47, 46 },
|
||||
}, {
|
||||
.mapbase = 0xffc50000,
|
||||
.flags = UPF_BOOT_AUTOCONF,
|
||||
.type = PORT_SCIF,
|
||||
.irqs = { 48, 49, 51, 50 },
|
||||
}, {
|
||||
.mapbase = 0xffc60000,
|
||||
.flags = UPF_BOOT_AUTOCONF,
|
||||
.type = PORT_SCIF,
|
||||
.irqs = { 52, 53, 55, 54 },
|
||||
}, {
|
||||
.flags = 0,
|
||||
}
|
||||
};
|
||||
|
||||
static struct platform_device sci_device = {
|
||||
.name = "sh-sci",
|
||||
.id = -1,
|
||||
.dev = {
|
||||
.platform_data = sci_platform_data,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device *shx3_devices[] __initdata = {
|
||||
&sci_device,
|
||||
};
|
||||
|
||||
static int __init shx3_devices_setup(void)
|
||||
{
|
||||
return platform_add_devices(shx3_devices,
|
||||
ARRAY_SIZE(shx3_devices));
|
||||
}
|
||||
__initcall(shx3_devices_setup);
|
||||
|
||||
static struct intc2_data intc2_irq_table[] = {
|
||||
{ 16, 0, 0, 0, 1, 2 }, /* TMU0 */
|
||||
{ 40, 4, 0, 0x20, 0, 3 }, /* SCIF0 ERI */
|
||||
{ 41, 4, 0, 0x20, 1, 3 }, /* SCIF0 RXI */
|
||||
{ 42, 4, 0, 0x20, 2, 3 }, /* SCIF0 BRI */
|
||||
{ 43, 4, 0, 0x20, 3, 3 }, /* SCIF0 TXI */
|
||||
};
|
||||
|
||||
static struct intc2_desc intc2_irq_desc __read_mostly = {
|
||||
.prio_base = 0xfe410000,
|
||||
.msk_base = 0xfe410820,
|
||||
.mskclr_base = 0xfe410850,
|
||||
|
||||
.intc2_data = intc2_irq_table,
|
||||
.nr_irqs = ARRAY_SIZE(intc2_irq_table),
|
||||
|
||||
.chip = {
|
||||
.name = "INTC2-SHX3",
|
||||
},
|
||||
};
|
||||
|
||||
void __init init_IRQ_intc2(void)
|
||||
{
|
||||
register_intc2_controller(&intc2_irq_desc);
|
||||
}
|
|
@ -158,15 +158,11 @@ asmlinkage int do_IRQ(unsigned int irq, struct pt_regs *regs)
|
|||
}
|
||||
|
||||
#ifdef CONFIG_4KSTACKS
|
||||
/*
|
||||
* These should really be __section__(".bss.page_aligned") as well, but
|
||||
* gcc's 3.0 and earlier don't handle that correctly.
|
||||
*/
|
||||
static char softirq_stack[NR_CPUS * THREAD_SIZE]
|
||||
__attribute__((__aligned__(THREAD_SIZE)));
|
||||
__attribute__((__section__(".bss.page_aligned")));
|
||||
|
||||
static char hardirq_stack[NR_CPUS * THREAD_SIZE]
|
||||
__attribute__((__aligned__(THREAD_SIZE)));
|
||||
__attribute__((__section__(".bss.page_aligned")));
|
||||
|
||||
/*
|
||||
* allocate per-cpu stacks for hardirq and for softirq processing
|
||||
|
|
|
@ -0,0 +1,130 @@
|
|||
/*
|
||||
* arch/sh/kernel/machvec.c
|
||||
*
|
||||
* The SuperH machine vector setup handlers, yanked from setup.c
|
||||
*
|
||||
* Copyright (C) 1999 Niibe Yutaka
|
||||
* Copyright (C) 2002 - 2007 Paul Mundt
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/string.h>
|
||||
#include <asm/machvec.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/irq.h>
|
||||
|
||||
#define MV_NAME_SIZE 32
|
||||
|
||||
#define for_each_mv(mv) \
|
||||
for ((mv) = (struct sh_machine_vector *)&__machvec_start; \
|
||||
(mv) && (unsigned long)(mv) < (unsigned long)&__machvec_end; \
|
||||
(mv)++)
|
||||
|
||||
static struct sh_machine_vector * __init get_mv_byname(const char *name)
|
||||
{
|
||||
struct sh_machine_vector *mv;
|
||||
|
||||
for_each_mv(mv)
|
||||
if (strcasecmp(name, mv->mv_name) == 0)
|
||||
return mv;
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static unsigned int __initdata machvec_selected;
|
||||
|
||||
static int __init early_parse_mv(char *from)
|
||||
{
|
||||
char mv_name[MV_NAME_SIZE] = "";
|
||||
char *mv_end;
|
||||
char *mv_comma;
|
||||
int mv_len;
|
||||
struct sh_machine_vector *mvp;
|
||||
|
||||
mv_end = strchr(from, ' ');
|
||||
if (mv_end == NULL)
|
||||
mv_end = from + strlen(from);
|
||||
|
||||
mv_comma = strchr(from, ',');
|
||||
mv_len = mv_end - from;
|
||||
if (mv_len > (MV_NAME_SIZE-1))
|
||||
mv_len = MV_NAME_SIZE-1;
|
||||
memcpy(mv_name, from, mv_len);
|
||||
mv_name[mv_len] = '\0';
|
||||
from = mv_end;
|
||||
|
||||
machvec_selected = 1;
|
||||
|
||||
/* Boot with the generic vector */
|
||||
if (strcmp(mv_name, "generic") == 0)
|
||||
return 0;
|
||||
|
||||
mvp = get_mv_byname(mv_name);
|
||||
if (unlikely(!mvp)) {
|
||||
printk("Available vectors:\n\n\t'%s', ", sh_mv.mv_name);
|
||||
for_each_mv(mvp)
|
||||
printk("'%s', ", mvp->mv_name);
|
||||
printk("\n\n");
|
||||
panic("Failed to select machvec '%s' -- halting.\n",
|
||||
mv_name);
|
||||
} else
|
||||
sh_mv = *mvp;
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_param("sh_mv", early_parse_mv);
|
||||
|
||||
void __init sh_mv_setup(void)
|
||||
{
|
||||
/*
|
||||
* Only overload the machvec if one hasn't been selected on
|
||||
* the command line with sh_mv=
|
||||
*/
|
||||
if (!machvec_selected) {
|
||||
unsigned long machvec_size;
|
||||
|
||||
machvec_size = ((unsigned long)&__machvec_end -
|
||||
(unsigned long)&__machvec_start);
|
||||
|
||||
/*
|
||||
* If the machvec hasn't been preselected, use the first
|
||||
* vector (usually the only one) from .machvec.init.
|
||||
*/
|
||||
if (machvec_size >= sizeof(struct sh_machine_vector))
|
||||
sh_mv = *(struct sh_machine_vector *)&__machvec_start;
|
||||
}
|
||||
|
||||
printk(KERN_NOTICE "Booting machvec: %s\n", get_system_type());
|
||||
|
||||
/*
|
||||
* Manually walk the vec, fill in anything that the board hasn't yet
|
||||
* by hand, wrapping to the generic implementation.
|
||||
*/
|
||||
#define mv_set(elem) do { \
|
||||
if (!sh_mv.mv_##elem) \
|
||||
sh_mv.mv_##elem = generic_##elem; \
|
||||
} while (0)
|
||||
|
||||
mv_set(inb); mv_set(inw); mv_set(inl);
|
||||
mv_set(outb); mv_set(outw); mv_set(outl);
|
||||
|
||||
mv_set(inb_p); mv_set(inw_p); mv_set(inl_p);
|
||||
mv_set(outb_p); mv_set(outw_p); mv_set(outl_p);
|
||||
|
||||
mv_set(insb); mv_set(insw); mv_set(insl);
|
||||
mv_set(outsb); mv_set(outsw); mv_set(outsl);
|
||||
|
||||
mv_set(readb); mv_set(readw); mv_set(readl);
|
||||
mv_set(writeb); mv_set(writew); mv_set(writel);
|
||||
|
||||
mv_set(ioport_map);
|
||||
mv_set(ioport_unmap);
|
||||
mv_set(irq_demux);
|
||||
|
||||
if (!sh_mv.mv_nr_irqs)
|
||||
sh_mv.mv_nr_irqs = NR_IRQS;
|
||||
}
|
|
@ -17,6 +17,7 @@
|
|||
#include <linux/kexec.h>
|
||||
#include <linux/kdebug.h>
|
||||
#include <linux/tick.h>
|
||||
#include <linux/reboot.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/mmu_context.h>
|
||||
#include <asm/pgalloc.h>
|
||||
|
@ -319,9 +320,7 @@ static void ubc_set_tracing(int asid, unsigned long pc)
|
|||
ctrl_outl(pc, UBC_BARA);
|
||||
|
||||
#ifdef CONFIG_MMU
|
||||
/* We don't have any ASID settings for the SH-2! */
|
||||
if (current_cpu_data.type != CPU_SH7604)
|
||||
ctrl_outb(asid, UBC_BASRA);
|
||||
ctrl_outb(asid, UBC_BASRA);
|
||||
#endif
|
||||
|
||||
ctrl_outl(0, UBC_BAMRA);
|
||||
|
@ -405,8 +404,8 @@ asmlinkage int sys_fork(unsigned long r4, unsigned long r5,
|
|||
unsigned long r6, unsigned long r7,
|
||||
struct pt_regs __regs)
|
||||
{
|
||||
struct pt_regs *regs = RELOC_HIDE(&__regs, 0);
|
||||
#ifdef CONFIG_MMU
|
||||
struct pt_regs *regs = RELOC_HIDE(&__regs, 0);
|
||||
return do_fork(SIGCHLD, regs->regs[15], regs, 0, NULL, NULL);
|
||||
#else
|
||||
/* fork almost works, enough to trick you into looking elsewhere :-( */
|
||||
|
@ -449,23 +448,20 @@ asmlinkage int sys_vfork(unsigned long r4, unsigned long r5,
|
|||
/*
|
||||
* sys_execve() executes a new program.
|
||||
*/
|
||||
asmlinkage int sys_execve(char *ufilename, char **uargv,
|
||||
char **uenvp, unsigned long r7,
|
||||
asmlinkage int sys_execve(char __user *ufilename, char __user * __user *uargv,
|
||||
char __user * __user *uenvp, unsigned long r7,
|
||||
struct pt_regs __regs)
|
||||
{
|
||||
struct pt_regs *regs = RELOC_HIDE(&__regs, 0);
|
||||
int error;
|
||||
char *filename;
|
||||
|
||||
filename = getname((char __user *)ufilename);
|
||||
filename = getname(ufilename);
|
||||
error = PTR_ERR(filename);
|
||||
if (IS_ERR(filename))
|
||||
goto out;
|
||||
|
||||
error = do_execve(filename,
|
||||
(char __user * __user *)uargv,
|
||||
(char __user * __user *)uenvp,
|
||||
regs);
|
||||
error = do_execve(filename, uargv, uenvp, regs);
|
||||
if (error == 0) {
|
||||
task_lock(current);
|
||||
current->ptrace &= ~PT_DTRACE;
|
||||
|
|
|
@ -99,7 +99,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
|||
ret = -EIO;
|
||||
if (copied != sizeof(tmp))
|
||||
break;
|
||||
ret = put_user(tmp,(unsigned long *) data);
|
||||
ret = put_user(tmp,(unsigned long __user *) data);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -128,7 +128,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
|||
tmp = !!tsk_used_math(child);
|
||||
else
|
||||
tmp = 0;
|
||||
ret = put_user(tmp, (unsigned long *)data);
|
||||
ret = put_user(tmp, (unsigned long __user *)data);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -196,7 +196,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
|||
|
||||
case PTRACE_SINGLESTEP: { /* set the trap flag. */
|
||||
long pc;
|
||||
struct pt_regs *dummy = NULL;
|
||||
struct pt_regs *regs = NULL;
|
||||
|
||||
ret = -EIO;
|
||||
if (!valid_signal(data))
|
||||
|
@ -207,7 +207,7 @@ long arch_ptrace(struct task_struct *child, long request, long addr, long data)
|
|||
child->ptrace |= PT_DTRACE;
|
||||
}
|
||||
|
||||
pc = get_stack_long(child, (long)&dummy->pc);
|
||||
pc = get_stack_long(child, (long)®s->pc);
|
||||
|
||||
/* Next scheduling will set up UBC */
|
||||
if (child->thread.ubc_pc == 0)
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include <linux/kexec.h>
|
||||
#include <asm/uaccess.h>
|
||||
#include <asm/io.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/irq.h>
|
||||
#include <asm/setup.h>
|
||||
|
@ -41,20 +42,19 @@ extern void * __rd_start, * __rd_end;
|
|||
* The bigger value means no problem.
|
||||
*/
|
||||
struct sh_cpuinfo boot_cpu_data = { CPU_SH_NONE, 10000000, };
|
||||
|
||||
/*
|
||||
* The machine vector. First entry in .machvec.init, or clobbered by
|
||||
* sh_mv= on the command line, prior to .machvec.init teardown.
|
||||
*/
|
||||
struct sh_machine_vector sh_mv = { .mv_name = "generic", };
|
||||
|
||||
#ifdef CONFIG_VT
|
||||
struct screen_info screen_info;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SH_UNKNOWN)
|
||||
struct sh_machine_vector sh_mv;
|
||||
#endif
|
||||
|
||||
extern int root_mountflags;
|
||||
|
||||
#define MV_NAME_SIZE 32
|
||||
|
||||
static struct sh_machine_vector* __init get_mv_byname(const char* name);
|
||||
|
||||
/*
|
||||
* This is set up by the setup-routine at boot-time
|
||||
*/
|
||||
|
@ -80,131 +80,17 @@ static struct resource data_resource = { .name = "Kernel data", };
|
|||
|
||||
unsigned long memory_start, memory_end;
|
||||
|
||||
static inline void parse_cmdline (char ** cmdline_p, char mv_name[MV_NAME_SIZE],
|
||||
struct sh_machine_vector** mvp,
|
||||
unsigned long *mv_io_base)
|
||||
static int __init early_parse_mem(char *p)
|
||||
{
|
||||
char c = ' ', *to = command_line, *from = COMMAND_LINE;
|
||||
int len = 0;
|
||||
|
||||
/* Save unparsed command line copy for /proc/cmdline */
|
||||
memcpy(boot_command_line, COMMAND_LINE, COMMAND_LINE_SIZE);
|
||||
boot_command_line[COMMAND_LINE_SIZE-1] = '\0';
|
||||
unsigned long size;
|
||||
|
||||
memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START;
|
||||
memory_end = memory_start + __MEMORY_SIZE;
|
||||
|
||||
for (;;) {
|
||||
/*
|
||||
* "mem=XXX[kKmM]" defines a size of memory.
|
||||
*/
|
||||
if (c == ' ' && !memcmp(from, "mem=", 4)) {
|
||||
if (to != command_line)
|
||||
to--;
|
||||
{
|
||||
unsigned long mem_size;
|
||||
|
||||
mem_size = memparse(from+4, &from);
|
||||
memory_end = memory_start + mem_size;
|
||||
}
|
||||
}
|
||||
|
||||
if (c == ' ' && !memcmp(from, "sh_mv=", 6)) {
|
||||
char* mv_end;
|
||||
char* mv_comma;
|
||||
int mv_len;
|
||||
if (to != command_line)
|
||||
to--;
|
||||
from += 6;
|
||||
mv_end = strchr(from, ' ');
|
||||
if (mv_end == NULL)
|
||||
mv_end = from + strlen(from);
|
||||
|
||||
mv_comma = strchr(from, ',');
|
||||
if ((mv_comma != NULL) && (mv_comma < mv_end)) {
|
||||
int ints[3];
|
||||
get_options(mv_comma+1, ARRAY_SIZE(ints), ints);
|
||||
*mv_io_base = ints[1];
|
||||
mv_len = mv_comma - from;
|
||||
} else {
|
||||
mv_len = mv_end - from;
|
||||
}
|
||||
if (mv_len > (MV_NAME_SIZE-1))
|
||||
mv_len = MV_NAME_SIZE-1;
|
||||
memcpy(mv_name, from, mv_len);
|
||||
mv_name[mv_len] = '\0';
|
||||
from = mv_end;
|
||||
|
||||
*mvp = get_mv_byname(mv_name);
|
||||
}
|
||||
|
||||
c = *(from++);
|
||||
if (!c)
|
||||
break;
|
||||
if (COMMAND_LINE_SIZE <= ++len)
|
||||
break;
|
||||
*(to++) = c;
|
||||
}
|
||||
*to = '\0';
|
||||
*cmdline_p = command_line;
|
||||
}
|
||||
|
||||
static int __init sh_mv_setup(char **cmdline_p)
|
||||
{
|
||||
#ifdef CONFIG_SH_UNKNOWN
|
||||
extern struct sh_machine_vector mv_unknown;
|
||||
#endif
|
||||
struct sh_machine_vector *mv = NULL;
|
||||
char mv_name[MV_NAME_SIZE] = "";
|
||||
unsigned long mv_io_base = 0;
|
||||
|
||||
parse_cmdline(cmdline_p, mv_name, &mv, &mv_io_base);
|
||||
|
||||
#ifdef CONFIG_SH_UNKNOWN
|
||||
if (mv == NULL) {
|
||||
mv = &mv_unknown;
|
||||
if (*mv_name != '\0') {
|
||||
printk("Warning: Unsupported machine %s, using unknown\n",
|
||||
mv_name);
|
||||
}
|
||||
}
|
||||
sh_mv = *mv;
|
||||
#endif
|
||||
|
||||
/*
|
||||
* Manually walk the vec, fill in anything that the board hasn't yet
|
||||
* by hand, wrapping to the generic implementation.
|
||||
*/
|
||||
#define mv_set(elem) do { \
|
||||
if (!sh_mv.mv_##elem) \
|
||||
sh_mv.mv_##elem = generic_##elem; \
|
||||
} while (0)
|
||||
|
||||
mv_set(inb); mv_set(inw); mv_set(inl);
|
||||
mv_set(outb); mv_set(outw); mv_set(outl);
|
||||
|
||||
mv_set(inb_p); mv_set(inw_p); mv_set(inl_p);
|
||||
mv_set(outb_p); mv_set(outw_p); mv_set(outl_p);
|
||||
|
||||
mv_set(insb); mv_set(insw); mv_set(insl);
|
||||
mv_set(outsb); mv_set(outsw); mv_set(outsl);
|
||||
|
||||
mv_set(readb); mv_set(readw); mv_set(readl);
|
||||
mv_set(writeb); mv_set(writew); mv_set(writel);
|
||||
|
||||
mv_set(ioport_map);
|
||||
mv_set(ioport_unmap);
|
||||
mv_set(irq_demux);
|
||||
|
||||
#ifdef CONFIG_SH_UNKNOWN
|
||||
__set_io_port_base(mv_io_base);
|
||||
#endif
|
||||
|
||||
if (!sh_mv.mv_nr_irqs)
|
||||
sh_mv.mv_nr_irqs = NR_IRQS;
|
||||
size = memparse(p, &p);
|
||||
memory_end = memory_start + size;
|
||||
|
||||
return 0;
|
||||
}
|
||||
early_param("mem", early_parse_mem);
|
||||
|
||||
/*
|
||||
* Register fully available low RAM pages with the bootmem allocator.
|
||||
|
@ -230,7 +116,7 @@ static void __init register_bootmem_low_pages(void)
|
|||
free_bootmem(PFN_PHYS(curr_pfn), PFN_PHYS(pages));
|
||||
}
|
||||
|
||||
void __init setup_bootmem_allocator(unsigned long start_pfn)
|
||||
void __init setup_bootmem_allocator(unsigned long free_pfn)
|
||||
{
|
||||
unsigned long bootmap_size;
|
||||
|
||||
|
@ -239,9 +125,10 @@ void __init setup_bootmem_allocator(unsigned long start_pfn)
|
|||
* bootstrap step all allocations (until the page allocator
|
||||
* is intact) must be done via bootmem_alloc().
|
||||
*/
|
||||
bootmap_size = init_bootmem_node(NODE_DATA(0), start_pfn,
|
||||
bootmap_size = init_bootmem_node(NODE_DATA(0), free_pfn,
|
||||
min_low_pfn, max_low_pfn);
|
||||
|
||||
add_active_range(0, min_low_pfn, max_low_pfn);
|
||||
register_bootmem_low_pages();
|
||||
|
||||
node_set_online(0);
|
||||
|
@ -254,7 +141,7 @@ void __init setup_bootmem_allocator(unsigned long start_pfn)
|
|||
* an invalid RAM area.
|
||||
*/
|
||||
reserve_bootmem(__MEMORY_START+PAGE_SIZE,
|
||||
(PFN_PHYS(start_pfn)+bootmap_size+PAGE_SIZE-1)-__MEMORY_START);
|
||||
(PFN_PHYS(free_pfn)+bootmap_size+PAGE_SIZE-1)-__MEMORY_START);
|
||||
|
||||
/*
|
||||
* reserve physical page 0 - it's a special BIOS page on many boxes,
|
||||
|
@ -262,6 +149,8 @@ void __init setup_bootmem_allocator(unsigned long start_pfn)
|
|||
*/
|
||||
reserve_bootmem(__MEMORY_START, PAGE_SIZE);
|
||||
|
||||
sparse_memory_present_with_active_regions(0);
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
ROOT_DEV = MKDEV(RAMDISK_MAJOR, 0);
|
||||
if (&__rd_start != &__rd_end) {
|
||||
|
@ -315,10 +204,6 @@ void __init setup_arch(char **cmdline_p)
|
|||
{
|
||||
enable_mmu();
|
||||
|
||||
#ifdef CONFIG_CMDLINE_BOOL
|
||||
strcpy(COMMAND_LINE, CONFIG_CMDLINE);
|
||||
#endif
|
||||
|
||||
ROOT_DEV = old_decode_dev(ORIG_ROOT_DEV);
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_RAM
|
||||
|
@ -339,9 +224,22 @@ void __init setup_arch(char **cmdline_p)
|
|||
data_resource.start = virt_to_phys(_etext);
|
||||
data_resource.end = virt_to_phys(_edata)-1;
|
||||
|
||||
memory_start = (unsigned long)PAGE_OFFSET+__MEMORY_START;
|
||||
memory_end = memory_start + __MEMORY_SIZE;
|
||||
|
||||
#ifdef CONFIG_CMDLINE_BOOL
|
||||
strlcpy(command_line, CONFIG_CMDLINE, sizeof(command_line));
|
||||
#else
|
||||
strlcpy(command_line, COMMAND_LINE, sizeof(command_line));
|
||||
#endif
|
||||
|
||||
/* Save unparsed command line copy for /proc/cmdline */
|
||||
memcpy(boot_command_line, command_line, COMMAND_LINE_SIZE);
|
||||
*cmdline_p = command_line;
|
||||
|
||||
parse_early_param();
|
||||
|
||||
sh_mv_setup(cmdline_p);
|
||||
sh_mv_setup();
|
||||
|
||||
/*
|
||||
* Find the highest page frame number we have available
|
||||
|
@ -355,8 +253,9 @@ void __init setup_arch(char **cmdline_p)
|
|||
min_low_pfn = __MEMORY_START >> PAGE_SHIFT;
|
||||
|
||||
nodes_clear(node_online_map);
|
||||
|
||||
/* Setup bootmem with available RAM */
|
||||
setup_memory();
|
||||
paging_init();
|
||||
sparse_init();
|
||||
|
||||
#ifdef CONFIG_DUMMY_CONSOLE
|
||||
|
@ -366,46 +265,13 @@ void __init setup_arch(char **cmdline_p)
|
|||
/* Perform the machine specific initialisation */
|
||||
if (likely(sh_mv.mv_setup))
|
||||
sh_mv.mv_setup(cmdline_p);
|
||||
|
||||
paging_init();
|
||||
}
|
||||
|
||||
struct sh_machine_vector* __init get_mv_byname(const char* name)
|
||||
{
|
||||
extern long __machvec_start, __machvec_end;
|
||||
struct sh_machine_vector *all_vecs =
|
||||
(struct sh_machine_vector *)&__machvec_start;
|
||||
|
||||
int i, n = ((unsigned long)&__machvec_end
|
||||
- (unsigned long)&__machvec_start)/
|
||||
sizeof(struct sh_machine_vector);
|
||||
|
||||
for (i = 0; i < n; ++i) {
|
||||
struct sh_machine_vector *mv = &all_vecs[i];
|
||||
if (mv == NULL)
|
||||
continue;
|
||||
if (strcasecmp(name, get_system_type()) == 0) {
|
||||
return mv;
|
||||
}
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
||||
static struct cpu cpu[NR_CPUS];
|
||||
|
||||
static int __init topology_init(void)
|
||||
{
|
||||
int cpu_id;
|
||||
|
||||
for_each_possible_cpu(cpu_id)
|
||||
register_cpu(&cpu[cpu_id], cpu_id);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
subsys_initcall(topology_init);
|
||||
|
||||
static const char *cpu_name[] = {
|
||||
[CPU_SH7206] = "SH7206", [CPU_SH7619] = "SH7619",
|
||||
[CPU_SH7604] = "SH7604", [CPU_SH7300] = "SH7300",
|
||||
[CPU_SH7300] = "SH7300",
|
||||
[CPU_SH7705] = "SH7705", [CPU_SH7706] = "SH7706",
|
||||
[CPU_SH7707] = "SH7707", [CPU_SH7708] = "SH7708",
|
||||
[CPU_SH7709] = "SH7709", [CPU_SH7710] = "SH7710",
|
||||
|
@ -419,7 +285,7 @@ static const char *cpu_name[] = {
|
|||
[CPU_SH7770] = "SH7770", [CPU_SH7780] = "SH7780",
|
||||
[CPU_SH7781] = "SH7781", [CPU_SH7343] = "SH7343",
|
||||
[CPU_SH7785] = "SH7785", [CPU_SH7722] = "SH7722",
|
||||
[CPU_SH_NONE] = "Unknown"
|
||||
[CPU_SHX3] = "SH-X3", [CPU_SH_NONE] = "Unknown"
|
||||
};
|
||||
|
||||
const char *get_cpu_subtype(struct sh_cpuinfo *c)
|
||||
|
|
|
@ -78,6 +78,16 @@ DECLARE_EXPORT(__movstr);
|
|||
DECLARE_EXPORT(__movmem_i4_even);
|
||||
DECLARE_EXPORT(__movmem_i4_odd);
|
||||
DECLARE_EXPORT(__movmemSI12_i4);
|
||||
|
||||
#if (__GNUC_MINOR__ == 2 || defined(__GNUC_STM_RELEASE__))
|
||||
/*
|
||||
* GCC 4.2 emits these for division, as do GCC 4.1.x versions of the ST
|
||||
* compiler which include backported patches.
|
||||
*/
|
||||
DECLARE_EXPORT(__sdivsi3_i4i);
|
||||
DECLARE_EXPORT(__udiv_qrnnd_16);
|
||||
DECLARE_EXPORT(__udivsi3_i4i);
|
||||
#endif
|
||||
#else /* GCC 3.x */
|
||||
DECLARE_EXPORT(__movstr_i4_even);
|
||||
DECLARE_EXPORT(__movstr_i4_odd);
|
||||
|
|
|
@ -23,6 +23,7 @@
|
|||
#include <linux/personality.h>
|
||||
#include <linux/binfmts.h>
|
||||
#include <linux/freezer.h>
|
||||
#include <linux/io.h>
|
||||
#include <asm/system.h>
|
||||
#include <asm/ucontext.h>
|
||||
#include <asm/uaccess.h>
|
||||
|
@ -261,7 +262,7 @@ asmlinkage int sys_rt_sigreturn(unsigned long r4, unsigned long r5,
|
|||
goto badframe;
|
||||
/* It is more difficult to avoid calling this function than to
|
||||
call it and ignore errors. */
|
||||
do_sigaltstack(&st, NULL, regs->regs[15]);
|
||||
do_sigaltstack((const stack_t __user *)&st, NULL, (unsigned long)frame);
|
||||
|
||||
return r0;
|
||||
|
||||
|
|
|
@ -308,9 +308,9 @@ ENTRY(sys_call_table)
|
|||
.long sys_utimes
|
||||
.long sys_fadvise64_64_wrapper
|
||||
.long sys_ni_syscall /* Reserved for vserver */
|
||||
.long sys_ni_syscall /* Reserved for mbind */
|
||||
.long sys_ni_syscall /* 275 - get_mempolicy */
|
||||
.long sys_ni_syscall /* set_mempolicy */
|
||||
.long sys_mbind
|
||||
.long sys_get_mempolicy /* 275 */
|
||||
.long sys_set_mempolicy
|
||||
.long sys_mq_open
|
||||
.long sys_mq_unlink
|
||||
.long sys_mq_timedsend
|
||||
|
|
|
@ -30,7 +30,7 @@
|
|||
|
||||
static int tmu_timer_start(void)
|
||||
{
|
||||
ctrl_outb(ctrl_inb(TMU_TSTR) | 0x3, TMU_TSTR);
|
||||
ctrl_outb(ctrl_inb(TMU_012_TSTR) | 0x3, TMU_012_TSTR);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -52,7 +52,7 @@ static void tmu0_timer_set_interval(unsigned long interval, unsigned int reload)
|
|||
|
||||
static int tmu_timer_stop(void)
|
||||
{
|
||||
ctrl_outb(ctrl_inb(TMU_TSTR) & ~0x3, TMU_TSTR);
|
||||
ctrl_outb(ctrl_inb(TMU_012_TSTR) & ~0x3, TMU_012_TSTR);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -174,7 +174,8 @@ static int tmu_timer_init(void)
|
|||
|
||||
#if !defined(CONFIG_CPU_SUBTYPE_SH7300) && \
|
||||
!defined(CONFIG_CPU_SUBTYPE_SH7760) && \
|
||||
!defined(CONFIG_CPU_SUBTYPE_SH7785)
|
||||
!defined(CONFIG_CPU_SUBTYPE_SH7785) && \
|
||||
!defined(CONFIG_CPU_SUBTYPE_SHX3)
|
||||
ctrl_outb(TMU_TOCR_INIT, TMU_TOCR);
|
||||
#endif
|
||||
|
||||
|
|
|
@ -0,0 +1,49 @@
|
|||
/*
|
||||
* arch/sh/kernel/topology.c
|
||||
*
|
||||
* Copyright (C) 2007 Paul Mundt
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
#include <linux/cpu.h>
|
||||
#include <linux/cpumask.h>
|
||||
#include <linux/init.h>
|
||||
#include <linux/percpu.h>
|
||||
#include <linux/node.h>
|
||||
#include <linux/nodemask.h>
|
||||
|
||||
static DEFINE_PER_CPU(struct cpu, cpu_devices);
|
||||
|
||||
static int __init topology_init(void)
|
||||
{
|
||||
int i, ret;
|
||||
|
||||
#ifdef CONFIG_NEED_MULTIPLE_NODES
|
||||
for_each_online_node(i)
|
||||
register_one_node(i);
|
||||
#endif
|
||||
|
||||
for_each_present_cpu(i) {
|
||||
ret = register_cpu(&per_cpu(cpu_devices, i), i);
|
||||
if (unlikely(ret))
|
||||
printk(KERN_WARNING "%s: register_cpu %d failed (%d)\n",
|
||||
__FUNCTION__, i, ret);
|
||||
}
|
||||
|
||||
#if defined(CONFIG_NUMA) && !defined(CONFIG_SMP)
|
||||
/*
|
||||
* In the UP case, make sure the CPU association is still
|
||||
* registered under each node. Without this, sysfs fails
|
||||
* to make the connection between nodes other than node0
|
||||
* and cpu0.
|
||||
*/
|
||||
for_each_online_node(i)
|
||||
if (i != numa_node_id())
|
||||
register_cpu_under_node(raw_smp_processor_id(), i);
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
subsys_initcall(topology_init);
|
|
@ -584,7 +584,7 @@ uspace_segv:
|
|||
info.si_signo = SIGBUS;
|
||||
info.si_errno = 0;
|
||||
info.si_code = si_code;
|
||||
info.si_addr = (void *) address;
|
||||
info.si_addr = (void __user *)address;
|
||||
force_sig_info(SIGBUS, &info, current);
|
||||
} else {
|
||||
if (regs->pc & 1)
|
||||
|
@ -617,7 +617,7 @@ uspace_segv:
|
|||
*/
|
||||
int is_dsp_inst(struct pt_regs *regs)
|
||||
{
|
||||
unsigned short inst;
|
||||
unsigned short inst = 0;
|
||||
|
||||
/*
|
||||
* Safe guard if DSP mode is already enabled or we're lacking
|
||||
|
@ -645,7 +645,6 @@ asmlinkage void do_divide_error(unsigned long r4, unsigned long r5,
|
|||
unsigned long r6, unsigned long r7,
|
||||
struct pt_regs __regs)
|
||||
{
|
||||
struct pt_regs *regs = RELOC_HIDE(&__regs, 0);
|
||||
siginfo_t info;
|
||||
|
||||
switch (r4) {
|
||||
|
|
|
@ -97,18 +97,20 @@ SECTIONS
|
|||
__initramfs_end = .;
|
||||
#endif
|
||||
|
||||
. = ALIGN(4);
|
||||
__machvec_start = .;
|
||||
.init.machvec : { *(.init.machvec) }
|
||||
.machvec.init : { *(.machvec.init) }
|
||||
__machvec_end = .;
|
||||
|
||||
. = ALIGN(PAGE_SIZE);
|
||||
__init_end = .;
|
||||
|
||||
. = ALIGN(4);
|
||||
__bss_start = .; /* BSS */
|
||||
.bss : { *(.bss) }
|
||||
|
||||
. = ALIGN(4);
|
||||
_end = . ;
|
||||
.bss : {
|
||||
__init_end = .;
|
||||
__bss_start = .; /* BSS */
|
||||
*(.bss.page_aligned)
|
||||
*(.bss)
|
||||
. = ALIGN(4);
|
||||
_end = . ;
|
||||
}
|
||||
|
||||
/* When something in the kernel is NOT compiled as a module, the
|
||||
* module cleanup code and data are put into these segments. Both
|
||||
|
|
|
@ -4,16 +4,15 @@
|
|||
|
||||
#include <linux/types.h>
|
||||
|
||||
extern u64 __xdiv64_32(u64 n, u32 d);
|
||||
extern uint64_t __xdiv64_32(u64 n, u32 d);
|
||||
|
||||
u64 __div64_32(u64 *xp, u32 y)
|
||||
uint32_t __div64_32(u64 *xp, u32 y)
|
||||
{
|
||||
u64 rem;
|
||||
u64 q = __xdiv64_32(*xp, y);
|
||||
uint32_t rem;
|
||||
uint64_t q = __xdiv64_32(*xp, y);
|
||||
|
||||
rem = *xp - q * y;
|
||||
*xp = q;
|
||||
|
||||
return rem;
|
||||
}
|
||||
|
||||
|
|
|
@ -1,12 +1,12 @@
|
|||
/*
|
||||
* unsigned long long __xdiv64_32(unsigned long long n, unsigned long d);
|
||||
* unsigned long __xdiv64_32(unsigned long long n, unsigned long d);
|
||||
*/
|
||||
|
||||
#include <linux/linkage.h>
|
||||
|
||||
.text
|
||||
ENTRY(__xdiv64_32)
|
||||
#ifdef __LITTLE_ENDIAN__
|
||||
#ifdef CONFIG_CPU_LITTLE_ENDIAN
|
||||
mov r4, r0
|
||||
mov r5, r1
|
||||
#else
|
||||
|
@ -34,7 +34,7 @@ ENTRY(__xdiv64_32)
|
|||
rotcl r0
|
||||
div1 r6, r1
|
||||
.endr
|
||||
#ifdef __LITTLE_ENDIAN__
|
||||
#ifdef CONFIG_CPU_LITTLE_ENDIAN
|
||||
mov r2, r1
|
||||
rts
|
||||
rotcl r0
|
||||
|
|
|
@ -507,6 +507,7 @@ static int ieee_fpe_handler(struct pt_regs *regs)
|
|||
unsigned short insn = *(unsigned short *)regs->pc;
|
||||
unsigned short finsn;
|
||||
unsigned long nextpc;
|
||||
siginfo_t info;
|
||||
int nib[4] = {
|
||||
(insn >> 12) & 0xf,
|
||||
(insn >> 8) & 0xf,
|
||||
|
@ -559,9 +560,11 @@ static int ieee_fpe_handler(struct pt_regs *regs)
|
|||
~(FPSCR_CAUSE_MASK | FPSCR_FLAG_MASK);
|
||||
set_tsk_thread_flag(tsk, TIF_USEDFPU);
|
||||
} else {
|
||||
tsk->thread.trap_no = 11;
|
||||
tsk->thread.error_code = 0;
|
||||
force_sig(SIGFPE, tsk);
|
||||
info.si_signo = SIGFPE;
|
||||
info.si_errno = 0;
|
||||
info.si_code = FPE_FLTINV;
|
||||
info.si_addr = (void __user *)regs->pc;
|
||||
force_sig_info(SIGFPE, &info, tsk);
|
||||
}
|
||||
|
||||
regs->pc = nextpc;
|
||||
|
@ -576,14 +579,17 @@ asmlinkage void do_fpu_error(unsigned long r4, unsigned long r5,
|
|||
struct pt_regs regs)
|
||||
{
|
||||
struct task_struct *tsk = current;
|
||||
siginfo_t info;
|
||||
|
||||
if (ieee_fpe_handler (®s))
|
||||
return;
|
||||
|
||||
regs.pc += 2;
|
||||
tsk->thread.trap_no = 11;
|
||||
tsk->thread.error_code = 0;
|
||||
force_sig(SIGFPE, tsk);
|
||||
info.si_signo = SIGFPE;
|
||||
info.si_errno = 0;
|
||||
info.si_code = FPE_FLTINV;
|
||||
info.si_addr = (void __user *)regs.pc;
|
||||
force_sig_info(SIGFPE, &info, tsk);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -1,5 +1,3 @@
|
|||
menu "Processor selection"
|
||||
|
||||
#
|
||||
# Processor families
|
||||
#
|
||||
|
@ -38,27 +36,31 @@ config CPU_SUBTYPE_ST40
|
|||
config CPU_SHX2
|
||||
bool
|
||||
|
||||
config CPU_SHX3
|
||||
bool
|
||||
|
||||
choice
|
||||
prompt "Processor sub-type selection"
|
||||
|
||||
#
|
||||
# Processor subtypes
|
||||
#
|
||||
|
||||
comment "SH-2 Processor Support"
|
||||
|
||||
config CPU_SUBTYPE_SH7604
|
||||
bool "Support SH7604 processor"
|
||||
select CPU_SH2
|
||||
# SH-2 Processor Support
|
||||
|
||||
config CPU_SUBTYPE_SH7619
|
||||
bool "Support SH7619 processor"
|
||||
select CPU_SH2
|
||||
select CPU_HAS_IPR_IRQ
|
||||
|
||||
comment "SH-2A Processor Support"
|
||||
# SH-2A Processor Support
|
||||
|
||||
config CPU_SUBTYPE_SH7206
|
||||
bool "Support SH7206 processor"
|
||||
select CPU_SH2A
|
||||
select CPU_HAS_IPR_IRQ
|
||||
|
||||
comment "SH-3 Processor Support"
|
||||
# SH-3 Processor Support
|
||||
|
||||
config CPU_SUBTYPE_SH7300
|
||||
bool "Support SH7300 processor"
|
||||
|
@ -113,7 +115,7 @@ config CPU_SUBTYPE_SH7712
|
|||
help
|
||||
Select SH7712 if you have a SH3-DSP SH7712 CPU.
|
||||
|
||||
comment "SH-4 Processor Support"
|
||||
# SH-4 Processor Support
|
||||
|
||||
config CPU_SUBTYPE_SH7750
|
||||
bool "Support SH7750 processor"
|
||||
|
@ -125,7 +127,7 @@ config CPU_SUBTYPE_SH7750
|
|||
config CPU_SUBTYPE_SH7091
|
||||
bool "Support SH7091 processor"
|
||||
select CPU_SH4
|
||||
select CPU_SUBTYPE_SH7750
|
||||
select CPU_HAS_IPR_IRQ
|
||||
help
|
||||
Select SH7091 if you have an SH-4 based Sega device (such as
|
||||
the Dreamcast, Naomi, and Naomi 2).
|
||||
|
@ -133,13 +135,11 @@ config CPU_SUBTYPE_SH7091
|
|||
config CPU_SUBTYPE_SH7750R
|
||||
bool "Support SH7750R processor"
|
||||
select CPU_SH4
|
||||
select CPU_SUBTYPE_SH7750
|
||||
select CPU_HAS_IPR_IRQ
|
||||
|
||||
config CPU_SUBTYPE_SH7750S
|
||||
bool "Support SH7750S processor"
|
||||
select CPU_SH4
|
||||
select CPU_SUBTYPE_SH7750
|
||||
select CPU_HAS_IPR_IRQ
|
||||
|
||||
config CPU_SUBTYPE_SH7751
|
||||
|
@ -153,7 +153,6 @@ config CPU_SUBTYPE_SH7751
|
|||
config CPU_SUBTYPE_SH7751R
|
||||
bool "Support SH7751R processor"
|
||||
select CPU_SH4
|
||||
select CPU_SUBTYPE_SH7751
|
||||
select CPU_HAS_IPR_IRQ
|
||||
|
||||
config CPU_SUBTYPE_SH7760
|
||||
|
@ -166,7 +165,7 @@ config CPU_SUBTYPE_SH4_202
|
|||
bool "Support SH4-202 processor"
|
||||
select CPU_SH4
|
||||
|
||||
comment "ST40 Processor Support"
|
||||
# ST40 Processor Support
|
||||
|
||||
config CPU_SUBTYPE_ST40STB1
|
||||
bool "Support ST40STB1/ST40RA processors"
|
||||
|
@ -181,7 +180,7 @@ config CPU_SUBTYPE_ST40GX1
|
|||
help
|
||||
Select ST40GX1 if you have a ST40GX1 CPU.
|
||||
|
||||
comment "SH-4A Processor Support"
|
||||
# SH-4A Processor Support
|
||||
|
||||
config CPU_SUBTYPE_SH7770
|
||||
bool "Support SH7770 processor"
|
||||
|
@ -198,7 +197,13 @@ config CPU_SUBTYPE_SH7785
|
|||
select CPU_SHX2
|
||||
select CPU_HAS_INTC2_IRQ
|
||||
|
||||
comment "SH4AL-DSP Processor Support"
|
||||
config CPU_SUBTYPE_SHX3
|
||||
bool "Support SH-X3 processor"
|
||||
select CPU_SH4A
|
||||
select CPU_SHX3
|
||||
select CPU_HAS_INTC2_IRQ
|
||||
|
||||
# SH4AL-DSP Processor Support
|
||||
|
||||
config CPU_SUBTYPE_SH73180
|
||||
bool "Support SH73180 processor"
|
||||
|
@ -213,8 +218,10 @@ config CPU_SUBTYPE_SH7722
|
|||
select CPU_SH4AL_DSP
|
||||
select CPU_SHX2
|
||||
select CPU_HAS_IPR_IRQ
|
||||
select ARCH_SPARSEMEM_ENABLE
|
||||
select SYS_SUPPORTS_NUMA
|
||||
|
||||
endmenu
|
||||
endchoice
|
||||
|
||||
menu "Memory management options"
|
||||
|
||||
|
@ -266,7 +273,7 @@ config MEMORY_SIZE
|
|||
|
||||
config 32BIT
|
||||
bool "Support 32-bit physical addressing through PMB"
|
||||
depends on CPU_SH4A && MMU && (!X2TLB || BROKEN)
|
||||
depends on MMU && (CPU_SUBTYPE_SH7780 || CPU_SUBTYPE_SH7785)
|
||||
default y
|
||||
help
|
||||
If you say Y here, physical addressing will be extended to
|
||||
|
@ -295,6 +302,17 @@ config VSYSCALL
|
|||
For systems with an MMU that can afford to give up a page,
|
||||
(the default value) say Y.
|
||||
|
||||
config NUMA
|
||||
bool "Non Uniform Memory Access (NUMA) Support"
|
||||
depends on MMU && SYS_SUPPORTS_NUMA && EXPERIMENTAL
|
||||
default n
|
||||
help
|
||||
Some SH systems have many various memories scattered around
|
||||
the address space, each with varying latencies. This enables
|
||||
support for these blocks by binding them to nodes and allowing
|
||||
memory policies to be used for prioritizing and controlling
|
||||
allocation behaviour.
|
||||
|
||||
config NODES_SHIFT
|
||||
int
|
||||
default "1"
|
||||
|
@ -302,14 +320,34 @@ config NODES_SHIFT
|
|||
|
||||
config ARCH_FLATMEM_ENABLE
|
||||
def_bool y
|
||||
depends on !NUMA
|
||||
|
||||
config ARCH_SPARSEMEM_ENABLE
|
||||
def_bool y
|
||||
select SPARSEMEM_STATIC
|
||||
|
||||
config ARCH_SPARSEMEM_DEFAULT
|
||||
def_bool y
|
||||
|
||||
config MAX_ACTIVE_REGIONS
|
||||
int
|
||||
default "2" if (CPU_SUBTYPE_SH7722 && SPARSEMEM)
|
||||
default "1"
|
||||
|
||||
config ARCH_POPULATES_NODE_MAP
|
||||
def_bool y
|
||||
|
||||
config ARCH_SELECT_MEMORY_MODEL
|
||||
def_bool y
|
||||
|
||||
config ARCH_ENABLE_MEMORY_HOTPLUG
|
||||
def_bool y
|
||||
depends on SPARSEMEM
|
||||
|
||||
config ARCH_MEMORY_PROBE
|
||||
def_bool y
|
||||
depends on MEMORY_HOTPLUG
|
||||
|
||||
choice
|
||||
prompt "Kernel page size"
|
||||
default PAGE_SIZE_4KB
|
||||
|
@ -394,15 +432,4 @@ config SH_WRITETHROUGH
|
|||
|
||||
If unsure, say N.
|
||||
|
||||
config SH_OCRAM
|
||||
bool "Operand Cache RAM (OCRAM) support"
|
||||
help
|
||||
Selecting this option will automatically tear down the number of
|
||||
sets in the dcache by half, which in turn exposes a memory range.
|
||||
|
||||
The addresses for the OC RAM base will vary according to the
|
||||
processor version. Consult vendor documentation for specifics.
|
||||
|
||||
If unsure, say N.
|
||||
|
||||
endmenu
|
||||
|
|
|
@ -8,9 +8,6 @@ obj-$(CONFIG_CPU_SH2) += cache-sh2.o
|
|||
obj-$(CONFIG_CPU_SH3) += cache-sh3.o
|
||||
obj-$(CONFIG_CPU_SH4) += cache-sh4.o
|
||||
|
||||
obj-$(CONFIG_DMA_PAGE_OPS) += pg-dma.o
|
||||
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
|
||||
|
||||
mmu-y := fault-nommu.o tlb-nommu.o pg-nommu.o
|
||||
mmu-$(CONFIG_MMU) := fault.o clear_page.o copy_page.o tlb-flush.o \
|
||||
ioremap.o
|
||||
|
@ -27,5 +24,7 @@ obj-$(CONFIG_CPU_SH4) += tlb-sh4.o pg-sh4.o
|
|||
obj-$(CONFIG_SH7705_CACHE_32KB) += pg-sh7705.o
|
||||
endif
|
||||
|
||||
obj-$(CONFIG_HUGETLB_PAGE) += hugetlbpage.o
|
||||
obj-$(CONFIG_SH7705_CACHE_32KB) += cache-sh7705.o
|
||||
obj-$(CONFIG_32BIT) += pmb.o
|
||||
obj-$(CONFIG_NUMA) += numa.o
|
||||
|
|
|
@ -32,7 +32,6 @@ asmlinkage void __kprobes do_page_fault(struct pt_regs *regs,
|
|||
struct task_struct *tsk;
|
||||
struct mm_struct *mm;
|
||||
struct vm_area_struct * vma;
|
||||
unsigned long page;
|
||||
int si_code;
|
||||
siginfo_t info;
|
||||
|
||||
|
@ -170,24 +169,38 @@ no_context:
|
|||
* terminate things with extreme prejudice.
|
||||
*
|
||||
*/
|
||||
if (address < PAGE_SIZE)
|
||||
printk(KERN_ALERT "Unable to handle kernel NULL pointer dereference");
|
||||
else
|
||||
printk(KERN_ALERT "Unable to handle kernel paging request");
|
||||
printk(" at virtual address %08lx\n", address);
|
||||
printk(KERN_ALERT "pc = %08lx\n", regs->pc);
|
||||
page = (unsigned long)get_TTB();
|
||||
if (page) {
|
||||
page = ((unsigned long *) page)[address >> PGDIR_SHIFT];
|
||||
printk(KERN_ALERT "*pde = %08lx\n", page);
|
||||
if (page & _PAGE_PRESENT) {
|
||||
page &= PAGE_MASK;
|
||||
address &= 0x003ff000;
|
||||
page = ((unsigned long *) __va(page))[address >> PAGE_SHIFT];
|
||||
printk(KERN_ALERT "*pte = %08lx\n", page);
|
||||
|
||||
bust_spinlocks(1);
|
||||
|
||||
if (oops_may_print()) {
|
||||
__typeof__(pte_val(__pte(0))) page;
|
||||
|
||||
if (address < PAGE_SIZE)
|
||||
printk(KERN_ALERT "Unable to handle kernel NULL "
|
||||
"pointer dereference");
|
||||
else
|
||||
printk(KERN_ALERT "Unable to handle kernel paging "
|
||||
"request");
|
||||
printk(" at virtual address %08lx\n", address);
|
||||
printk(KERN_ALERT "pc = %08lx\n", regs->pc);
|
||||
page = (unsigned long)get_TTB();
|
||||
if (page) {
|
||||
page = ((__typeof__(page) *) __va(page))[address >>
|
||||
PGDIR_SHIFT];
|
||||
printk(KERN_ALERT "*pde = %08lx\n", page);
|
||||
if (page & _PAGE_PRESENT) {
|
||||
page &= PAGE_MASK;
|
||||
address &= 0x003ff000;
|
||||
page = ((__typeof__(page) *)
|
||||
__va(page))[address >>
|
||||
PAGE_SHIFT];
|
||||
printk(KERN_ALERT "*pte = %08lx\n", page);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
die("Oops", regs, writeaccess);
|
||||
bust_spinlocks(0);
|
||||
do_exit(SIGKILL);
|
||||
|
||||
/*
|
||||
|
|
|
@ -18,6 +18,7 @@
|
|||
#include <asm/mmu_context.h>
|
||||
#include <asm/tlb.h>
|
||||
#include <asm/cacheflush.h>
|
||||
#include <asm/sections.h>
|
||||
#include <asm/cache.h>
|
||||
|
||||
DEFINE_PER_CPU(struct mmu_gather, mmu_gathers);
|
||||
|
@ -36,14 +37,11 @@ void show_mem(void)
|
|||
show_free_areas();
|
||||
|
||||
for_each_online_pgdat(pgdat) {
|
||||
struct page *page, *end;
|
||||
unsigned long flags;
|
||||
unsigned long flags, i;
|
||||
|
||||
pgdat_resize_lock(pgdat, &flags);
|
||||
page = pgdat->node_mem_map;
|
||||
end = page + pgdat->node_spanned_pages;
|
||||
|
||||
do {
|
||||
for (i = 0; i < pgdat->node_spanned_pages; i++) {
|
||||
struct page *page = pgdat_page_nr(pgdat, i);
|
||||
total++;
|
||||
if (PageReserved(page))
|
||||
reserved++;
|
||||
|
@ -55,9 +53,7 @@ void show_mem(void)
|
|||
free++;
|
||||
else
|
||||
shared += page_count(page) - 1;
|
||||
page++;
|
||||
} while (page < end);
|
||||
|
||||
}
|
||||
pgdat_resize_unlock(pgdat, &flags);
|
||||
}
|
||||
|
||||
|
@ -137,16 +133,12 @@ void __set_fixmap(enum fixed_addresses idx, unsigned long phys, pgprot_t prot)
|
|||
}
|
||||
#endif /* CONFIG_MMU */
|
||||
|
||||
/* References to section boundaries */
|
||||
|
||||
extern char _text, _etext, _edata, __bss_start, _end;
|
||||
extern char __init_begin, __init_end;
|
||||
|
||||
/*
|
||||
* paging_init() sets up the page tables
|
||||
*/
|
||||
void __init paging_init(void)
|
||||
{
|
||||
unsigned long max_zone_pfns[MAX_NR_ZONES];
|
||||
int nid;
|
||||
|
||||
/* We don't need to map the kernel through the TLB, as
|
||||
|
@ -158,43 +150,39 @@ void __init paging_init(void)
|
|||
* check for a null value. */
|
||||
set_TTB(swapper_pg_dir);
|
||||
|
||||
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
|
||||
|
||||
for_each_online_node(nid) {
|
||||
pg_data_t *pgdat = NODE_DATA(nid);
|
||||
unsigned long max_zone_pfns[MAX_NR_ZONES];
|
||||
unsigned long low, start_pfn;
|
||||
|
||||
memset(max_zone_pfns, 0, sizeof(max_zone_pfns));
|
||||
|
||||
start_pfn = pgdat->bdata->node_boot_start >> PAGE_SHIFT;
|
||||
low = pgdat->bdata->node_low_pfn;
|
||||
|
||||
max_zone_pfns[ZONE_NORMAL] = low;
|
||||
add_active_range(nid, start_pfn, low);
|
||||
if (max_zone_pfns[ZONE_NORMAL] < low)
|
||||
max_zone_pfns[ZONE_NORMAL] = low;
|
||||
|
||||
printk("Node %u: start_pfn = 0x%lx, low = 0x%lx\n",
|
||||
nid, start_pfn, low);
|
||||
|
||||
free_area_init_nodes(max_zone_pfns);
|
||||
|
||||
printk("Node %u: mem_map starts at %p\n",
|
||||
pgdat->node_id, pgdat->node_mem_map);
|
||||
}
|
||||
|
||||
free_area_init_nodes(max_zone_pfns);
|
||||
}
|
||||
|
||||
static struct kcore_list kcore_mem, kcore_vmalloc;
|
||||
|
||||
void __init mem_init(void)
|
||||
{
|
||||
int codesize, reservedpages, datasize, initsize;
|
||||
int codesize, datasize, initsize;
|
||||
int nid;
|
||||
|
||||
reservedpages = 0;
|
||||
num_physpages = 0;
|
||||
high_memory = NULL;
|
||||
|
||||
for_each_online_node(nid) {
|
||||
pg_data_t *pgdat = NODE_DATA(nid);
|
||||
unsigned long node_pages = 0;
|
||||
void *node_high_memory;
|
||||
int i;
|
||||
|
||||
num_physpages += pgdat->node_present_pages;
|
||||
|
||||
|
@ -203,13 +191,9 @@ void __init mem_init(void)
|
|||
|
||||
totalram_pages += node_pages;
|
||||
|
||||
for (i = 0; i < node_pages; i++)
|
||||
if (PageReserved(pgdat->node_mem_map + i))
|
||||
reservedpages++;
|
||||
|
||||
node_high_memory = (void *)((pgdat->node_start_pfn +
|
||||
pgdat->node_spanned_pages) <<
|
||||
PAGE_SHIFT);
|
||||
node_high_memory = (void *)__va((pgdat->node_start_pfn +
|
||||
pgdat->node_spanned_pages) <<
|
||||
PAGE_SHIFT);
|
||||
if (node_high_memory > high_memory)
|
||||
high_memory = node_high_memory;
|
||||
}
|
||||
|
@ -239,11 +223,10 @@ void __init mem_init(void)
|
|||
VMALLOC_END - VMALLOC_START);
|
||||
|
||||
printk(KERN_INFO "Memory: %luk/%luk available (%dk kernel code, "
|
||||
"%dk reserved, %dk data, %dk init)\n",
|
||||
"%dk data, %dk init)\n",
|
||||
(unsigned long) nr_free_pages() << (PAGE_SHIFT-10),
|
||||
totalram_pages << (PAGE_SHIFT-10),
|
||||
num_physpages << (PAGE_SHIFT-10),
|
||||
codesize >> 10,
|
||||
reservedpages << (PAGE_SHIFT-10),
|
||||
datasize >> 10,
|
||||
initsize >> 10);
|
||||
|
||||
|
@ -264,7 +247,9 @@ void free_initmem(void)
|
|||
free_page(addr);
|
||||
totalram_pages++;
|
||||
}
|
||||
printk ("Freeing unused kernel memory: %dk freed\n", (&__init_end - &__init_begin) >> 10);
|
||||
printk("Freeing unused kernel memory: %ldk freed\n",
|
||||
((unsigned long)&__init_end -
|
||||
(unsigned long)&__init_begin) >> 10);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_BLK_DEV_INITRD
|
||||
|
@ -277,6 +262,50 @@ void free_initrd_mem(unsigned long start, unsigned long end)
|
|||
free_page(p);
|
||||
totalram_pages++;
|
||||
}
|
||||
printk ("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
|
||||
printk("Freeing initrd memory: %ldk freed\n", (end - start) >> 10);
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_MEMORY_HOTPLUG
|
||||
void online_page(struct page *page)
|
||||
{
|
||||
ClearPageReserved(page);
|
||||
init_page_count(page);
|
||||
__free_page(page);
|
||||
totalram_pages++;
|
||||
num_physpages++;
|
||||
}
|
||||
|
||||
int arch_add_memory(int nid, u64 start, u64 size)
|
||||
{
|
||||
pg_data_t *pgdat;
|
||||
unsigned long start_pfn = start >> PAGE_SHIFT;
|
||||
unsigned long nr_pages = size >> PAGE_SHIFT;
|
||||
int ret;
|
||||
|
||||
pgdat = NODE_DATA(nid);
|
||||
|
||||
/* We only have ZONE_NORMAL, so this is easy.. */
|
||||
ret = __add_pages(pgdat->node_zones + ZONE_NORMAL, start_pfn, nr_pages);
|
||||
if (unlikely(ret))
|
||||
printk("%s: Failed, __add_pages() == %d\n", __FUNCTION__, ret);
|
||||
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(arch_add_memory);
|
||||
|
||||
int remove_memory(u64 start, u64 size)
|
||||
{
|
||||
return -EINVAL;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(remove_memory);
|
||||
|
||||
#ifdef CONFIG_NUMA
|
||||
int memory_add_physaddr_to_nid(u64 addr)
|
||||
{
|
||||
/* Node 0 for now.. */
|
||||
return 0;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(memory_add_physaddr_to_nid);
|
||||
#endif
|
||||
#endif
|
||||
|
|
|
@ -0,0 +1,92 @@
|
|||
/*
|
||||
* arch/sh/mm/numa.c - Multiple node support for SH machines
|
||||
*
|
||||
* Copyright (C) 2007 Paul Mundt
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
#include <linux/module.h>
|
||||
#include <linux/bootmem.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/numa.h>
|
||||
#include <linux/pfn.h>
|
||||
#include <asm/sections.h>
|
||||
|
||||
static bootmem_data_t plat_node_bdata[MAX_NUMNODES];
|
||||
struct pglist_data *node_data[MAX_NUMNODES] __read_mostly;
|
||||
EXPORT_SYMBOL_GPL(node_data);
|
||||
|
||||
/*
|
||||
* On SH machines the conventional approach is to stash system RAM
|
||||
* in node 0, and other memory blocks in to node 1 and up, ordered by
|
||||
* latency. Each node's pgdat is node-local at the beginning of the node,
|
||||
* immediately followed by the node mem map.
|
||||
*/
|
||||
void __init setup_memory(void)
|
||||
{
|
||||
unsigned long free_pfn = PFN_UP(__pa(_end));
|
||||
|
||||
/*
|
||||
* Node 0 sets up its pgdat at the first available pfn,
|
||||
* and bumps it up before setting up the bootmem allocator.
|
||||
*/
|
||||
NODE_DATA(0) = pfn_to_kaddr(free_pfn);
|
||||
memset(NODE_DATA(0), 0, sizeof(struct pglist_data));
|
||||
free_pfn += PFN_UP(sizeof(struct pglist_data));
|
||||
NODE_DATA(0)->bdata = &plat_node_bdata[0];
|
||||
|
||||
/* Set up node 0 */
|
||||
setup_bootmem_allocator(free_pfn);
|
||||
|
||||
/* Give the platforms a chance to hook up their nodes */
|
||||
plat_mem_setup();
|
||||
}
|
||||
|
||||
void __init setup_bootmem_node(int nid, unsigned long start, unsigned long end)
|
||||
{
|
||||
unsigned long bootmap_pages, bootmap_start, bootmap_size;
|
||||
unsigned long start_pfn, free_pfn, end_pfn;
|
||||
|
||||
/* Don't allow bogus node assignment */
|
||||
BUG_ON(nid > MAX_NUMNODES || nid == 0);
|
||||
|
||||
/*
|
||||
* The free pfn starts at the beginning of the range, and is
|
||||
* advanced as necessary for pgdat and node map allocations.
|
||||
*/
|
||||
free_pfn = start_pfn = start >> PAGE_SHIFT;
|
||||
end_pfn = end >> PAGE_SHIFT;
|
||||
|
||||
add_active_range(nid, start_pfn, end_pfn);
|
||||
|
||||
/* Node-local pgdat */
|
||||
NODE_DATA(nid) = pfn_to_kaddr(free_pfn);
|
||||
free_pfn += PFN_UP(sizeof(struct pglist_data));
|
||||
memset(NODE_DATA(nid), 0, sizeof(struct pglist_data));
|
||||
|
||||
NODE_DATA(nid)->bdata = &plat_node_bdata[nid];
|
||||
NODE_DATA(nid)->node_start_pfn = start_pfn;
|
||||
NODE_DATA(nid)->node_spanned_pages = end_pfn - start_pfn;
|
||||
|
||||
/* Node-local bootmap */
|
||||
bootmap_pages = bootmem_bootmap_pages(end_pfn - start_pfn);
|
||||
bootmap_start = (unsigned long)pfn_to_kaddr(free_pfn);
|
||||
bootmap_size = init_bootmem_node(NODE_DATA(nid), free_pfn, start_pfn,
|
||||
end_pfn);
|
||||
|
||||
free_bootmem_with_active_regions(nid, end_pfn);
|
||||
|
||||
/* Reserve the pgdat and bootmap space with the bootmem allocator */
|
||||
reserve_bootmem_node(NODE_DATA(nid), start_pfn << PAGE_SHIFT,
|
||||
sizeof(struct pglist_data));
|
||||
reserve_bootmem_node(NODE_DATA(nid), free_pfn << PAGE_SHIFT,
|
||||
bootmap_pages << PAGE_SHIFT);
|
||||
|
||||
/* It's up */
|
||||
node_set_online(nid);
|
||||
|
||||
/* Kick sparsemem */
|
||||
sparse_memory_present_with_active_regions(nid);
|
||||
}
|
|
@ -1,95 +0,0 @@
|
|||
/*
|
||||
* arch/sh/mm/pg-dma.c
|
||||
*
|
||||
* Fast clear_page()/copy_page() implementation using the SH DMAC
|
||||
*
|
||||
* Copyright (C) 2003 Paul Mundt
|
||||
*
|
||||
* This file is subject to the terms and conditions of the GNU General Public
|
||||
* License. See the file "COPYING" in the main directory of this archive
|
||||
* for more details.
|
||||
*/
|
||||
#include <linux/init.h>
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/module.h>
|
||||
#include <asm/semaphore.h>
|
||||
#include <asm/mmu_context.h>
|
||||
#include <asm/addrspace.h>
|
||||
#include <asm/atomic.h>
|
||||
#include <asm/page.h>
|
||||
#include <asm/dma.h>
|
||||
#include <asm/io.h>
|
||||
|
||||
/* Channel to use for page ops, must be dual-address mode capable. */
|
||||
static int dma_channel = CONFIG_DMA_PAGE_OPS_CHANNEL;
|
||||
|
||||
static void copy_page_dma(void *to, void *from)
|
||||
{
|
||||
/*
|
||||
* This doesn't seem to get triggered until further along in the
|
||||
* boot process, at which point the DMAC is already initialized.
|
||||
* Fix this in the same fashion as clear_page_dma() in the event
|
||||
* that this crashes due to the DMAC not being initialized.
|
||||
*/
|
||||
|
||||
flush_icache_range((unsigned long)from, PAGE_SIZE);
|
||||
dma_write_page(dma_channel, (unsigned long)from, (unsigned long)to);
|
||||
dma_wait_for_completion(dma_channel);
|
||||
}
|
||||
|
||||
static void clear_page_dma(void *to)
|
||||
{
|
||||
/*
|
||||
* We get invoked quite early on, if the DMAC hasn't been initialized
|
||||
* yet, fall back on the slow manual implementation.
|
||||
*/
|
||||
if (dma_info[dma_channel].chan != dma_channel) {
|
||||
clear_page_slow(to);
|
||||
return;
|
||||
}
|
||||
|
||||
dma_write_page(dma_channel, (unsigned long)empty_zero_page,
|
||||
(unsigned long)to);
|
||||
|
||||
/*
|
||||
* FIXME: Something is a bit racy here, if we poll the counter right
|
||||
* away, we seem to lock. flushing the page from the dcache doesn't
|
||||
* seem to make a difference one way or the other, though either a full
|
||||
* icache or dcache flush does.
|
||||
*
|
||||
* The location of this is important as well, and must happen prior to
|
||||
* the completion loop but after the transfer was initiated.
|
||||
*
|
||||
* Oddly enough, this doesn't appear to be an issue for copy_page()..
|
||||
*/
|
||||
flush_icache_range((unsigned long)to, PAGE_SIZE);
|
||||
|
||||
dma_wait_for_completion(dma_channel);
|
||||
}
|
||||
|
||||
static int __init pg_dma_init(void)
|
||||
{
|
||||
int ret;
|
||||
|
||||
ret = request_dma(dma_channel, "page ops");
|
||||
if (ret != 0)
|
||||
return ret;
|
||||
|
||||
copy_page = copy_page_dma;
|
||||
clear_page = clear_page_dma;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void __exit pg_dma_exit(void)
|
||||
{
|
||||
free_dma(dma_channel);
|
||||
}
|
||||
|
||||
module_init(pg_dma_init);
|
||||
module_exit(pg_dma_exit);
|
||||
|
||||
MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>");
|
||||
MODULE_DESCRIPTION("Optimized page copy/clear routines using a dual-address mode capable DMAC channel");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
|
@ -12,4 +12,5 @@
|
|||
|
||||
include/asm-sh/machtypes.h: $(src)/gen-mach-types $(src)/mach-types
|
||||
@echo ' Generating $@'
|
||||
$(Q)if [ ! -d include/asm-sh ]; then mkdir -p include/asm-sh; fi
|
||||
$(Q)$(AWK) -f $^ > $@ || { rm -f $@; /bin/false; }
|
||||
|
|
|
@ -18,7 +18,6 @@ SE SH_SOLUTION_ENGINE
|
|||
HP6XX SH_HP6XX
|
||||
HD64461 HD64461
|
||||
HD64465 HD64465
|
||||
SATURN SH_SATURN
|
||||
DREAMCAST SH_DREAMCAST
|
||||
MPC1211 SH_MPC1211
|
||||
SNAPGEAR SH_SECUREEDGE5410
|
||||
|
@ -34,3 +33,4 @@ R7785RP SH_R7785RP
|
|||
TITAN SH_TITAN
|
||||
SHMIN SH_SHMIN
|
||||
7710VOIPGW SH_7710VOIPGW
|
||||
LBOXRE2 SH_LBOX_RE2
|
||||
|
|
|
@ -367,7 +367,9 @@ static void sci_init_pins_scif(struct uart_port *port, unsigned int cflag)
|
|||
} else {
|
||||
#ifdef CONFIG_CPU_SUBTYPE_SH7343
|
||||
/* Nothing */
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7780) || defined(CONFIG_CPU_SUBTYPE_SH7785)
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7780) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SHX3)
|
||||
ctrl_outw(0x0080, SCSPTR0); /* Set RTS = 1 */
|
||||
#else
|
||||
ctrl_outw(0x0080, SCSPTR2); /* Set RTS = 1 */
|
||||
|
|
|
@ -53,7 +53,12 @@
|
|||
# define SCIF_ORER 0x0001 /* overrun error bit */
|
||||
# define SCSCR_INIT(port) 0x3a /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
|
||||
# define SCIF_ONLY
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7750) || defined(CONFIG_CPU_SUBTYPE_SH7751)
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7750R) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7750S) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7091) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7751) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7751R)
|
||||
# define SCSPTR1 0xffe0001c /* 8 bit SCI */
|
||||
# define SCSPTR2 0xFFE80020 /* 16 bit SCIF */
|
||||
# define SCIF_ORER 0x0001 /* overrun error bit */
|
||||
|
@ -73,7 +78,7 @@
|
|||
# define SCPDR 0xA4050136 /* 16 bit SCIF */
|
||||
# define SCSCR_INIT(port) 0x0030 /* TIE=0,RIE=0,TE=1,RE=1 */
|
||||
# define SCIF_ONLY
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712)
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7710) || defined(CONFIG_CPU_SUBTYPE_SH7712)
|
||||
# define SCSPTR0 0xA4400000 /* 16 bit SCIF */
|
||||
# define SCI_NPORTS 2
|
||||
# define SCIF_ORER 0x0001 /* overrun error bit */
|
||||
|
@ -168,6 +173,14 @@
|
|||
# define SCIF_ORER 0x0001 /* overrun error bit */
|
||||
# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
|
||||
# define SCIF_ONLY
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SHX3)
|
||||
# define SCSPTR0 0xffc30020 /* 16 bit SCIF */
|
||||
# define SCSPTR1 0xffc40020 /* 16 bit SCIF */
|
||||
# define SCSPTR2 0xffc50020 /* 16 bit SCIF */
|
||||
# define SCSPTR3 0xffc60020 /* 16 bit SCIF */
|
||||
# define SCIF_ORER 0x0001 /* Overrun error bit */
|
||||
# define SCSCR_INIT(port) 0x38 /* TIE=0,RIE=0,TE=1,RE=1,REIE=1 */
|
||||
# define SCIF_ONLY
|
||||
#else
|
||||
# error CPU subtype not defined
|
||||
#endif
|
||||
|
@ -177,10 +190,15 @@
|
|||
#define SCI_CTRL_FLAGS_RIE 0x40 /* all */
|
||||
#define SCI_CTRL_FLAGS_TE 0x20 /* all */
|
||||
#define SCI_CTRL_FLAGS_RE 0x10 /* all */
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7750) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7751) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7780) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785)
|
||||
#if defined(CONFIG_CPU_SUBTYPE_SH7750) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7091) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7750R) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7750S) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7751) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7751R) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7780) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7785) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SHX3)
|
||||
#define SCI_CTRL_FLAGS_REIE 0x08 /* 7750 SCIF */
|
||||
#else
|
||||
#define SCI_CTRL_FLAGS_REIE 0
|
||||
|
@ -514,8 +532,12 @@ static inline void set_sh771x_scif_pfc(struct uart_port *port)
|
|||
}
|
||||
}
|
||||
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7751) || \
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SH7750) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7751) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7751R) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7750R) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7750S) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH7091) || \
|
||||
defined(CONFIG_CPU_SUBTYPE_SH4_202)
|
||||
static inline int sci_rxd_in(struct uart_port *port)
|
||||
{
|
||||
|
@ -653,6 +675,18 @@ static inline int sci_rxd_in(struct uart_port *port)
|
|||
return ctrl_inw(SCSPTR2) & 0x0001 ? 1 : 0; /* SCIF */
|
||||
return 1;
|
||||
}
|
||||
#elif defined(CONFIG_CPU_SUBTYPE_SHX3)
|
||||
static inline int sci_rxd_in(struct uart_port *port)
|
||||
{
|
||||
if (port->mapbase == 0xffc30000)
|
||||
return ctrl_inw(SCSPTR0) & 0x0001 ? 1 : 0; /* SCIF */
|
||||
if (port->mapbase == 0xffc40000)
|
||||
return ctrl_inw(SCSPTR1) & 0x0001 ? 1 : 0; /* SCIF */
|
||||
if (port->mapbase == 0xffc50000)
|
||||
return ctrl_inw(SCSPTR2) & 0x0001 ? 1 : 0; /* SCIF */
|
||||
if (port->mapbase == 0xffc60000)
|
||||
return ctrl_inw(SCSPTR3) & 0x0001 ? 1 : 0; /* SCIF */
|
||||
}
|
||||
#endif
|
||||
|
||||
/*
|
||||
|
|
|
@ -115,11 +115,11 @@ enum { VO_PAL, VO_NTSC, VO_VGA };
|
|||
enum { PAL_ARGB1555, PAL_RGB565, PAL_ARGB4444, PAL_ARGB8888 };
|
||||
|
||||
struct pvr2_params { unsigned int val; char *name; };
|
||||
static struct pvr2_params cables[] __initdata = {
|
||||
static struct pvr2_params cables[] __devinitdata = {
|
||||
{ CT_VGA, "VGA" }, { CT_RGB, "RGB" }, { CT_COMPOSITE, "COMPOSITE" },
|
||||
};
|
||||
|
||||
static struct pvr2_params outputs[] __initdata = {
|
||||
static struct pvr2_params outputs[] __devinitdata = {
|
||||
{ VO_PAL, "PAL" }, { VO_NTSC, "NTSC" }, { VO_VGA, "VGA" },
|
||||
};
|
||||
|
||||
|
@ -147,16 +147,16 @@ static struct pvr2fb_par {
|
|||
|
||||
static struct fb_info *fb_info;
|
||||
|
||||
static struct fb_fix_screeninfo pvr2_fix __initdata = {
|
||||
static struct fb_fix_screeninfo pvr2_fix __devinitdata = {
|
||||
.id = "NEC PowerVR2",
|
||||
.type = FB_TYPE_PACKED_PIXELS,
|
||||
.visual = FB_VISUAL_TRUECOLOR,
|
||||
.type = FB_TYPE_PACKED_PIXELS,
|
||||
.visual = FB_VISUAL_TRUECOLOR,
|
||||
.ypanstep = 1,
|
||||
.ywrapstep = 1,
|
||||
.accel = FB_ACCEL_NONE,
|
||||
.accel = FB_ACCEL_NONE,
|
||||
};
|
||||
|
||||
static struct fb_var_screeninfo pvr2_var __initdata = {
|
||||
static struct fb_var_screeninfo pvr2_var __devinitdata = {
|
||||
.xres = 640,
|
||||
.yres = 480,
|
||||
.xres_virtual = 640,
|
||||
|
@ -195,10 +195,6 @@ static unsigned int shdma = PVR2_CASCADE_CHAN;
|
|||
static unsigned int pvr2dma = ONCHIP_NR_DMA_CHANNELS;
|
||||
#endif
|
||||
|
||||
/* Interface used by the world */
|
||||
|
||||
int pvr2fb_setup(char*);
|
||||
|
||||
static int pvr2fb_setcolreg(unsigned int regno, unsigned int red, unsigned int green, unsigned int blue,
|
||||
unsigned int transp, struct fb_info *info);
|
||||
static int pvr2fb_blank(int blank, struct fb_info *info);
|
||||
|
@ -227,12 +223,12 @@ static struct fb_ops pvr2fb_ops = {
|
|||
#ifdef CONFIG_SH_DMA
|
||||
.fb_write = pvr2fb_write,
|
||||
#endif
|
||||
.fb_fillrect = cfb_fillrect,
|
||||
.fb_fillrect = cfb_fillrect,
|
||||
.fb_copyarea = cfb_copyarea,
|
||||
.fb_imageblit = cfb_imageblit,
|
||||
};
|
||||
|
||||
static struct fb_videomode pvr2_modedb[] __initdata = {
|
||||
static struct fb_videomode pvr2_modedb[] __devinitdata = {
|
||||
/*
|
||||
* Broadcast video modes (PAL and NTSC). I'm unfamiliar with
|
||||
* PAL-M and PAL-N, but from what I've read both modes parallel PAL and
|
||||
|
@ -252,7 +248,7 @@ static struct fb_videomode pvr2_modedb[] __initdata = {
|
|||
/* 640x480 @ 60hz (VGA) */
|
||||
"vga_640x480", 60, 640, 480, VGA_CLK, 38, 33, 0, 18, 146, 26,
|
||||
0, FB_VMODE_YWRAP
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
#define NUM_TOTAL_MODES ARRAY_SIZE(pvr2_modedb)
|
||||
|
@ -262,7 +258,7 @@ static struct fb_videomode pvr2_modedb[] __initdata = {
|
|||
#define DEFMODE_VGA 2
|
||||
|
||||
static int defmode = DEFMODE_NTSC;
|
||||
static char *mode_option __initdata = NULL;
|
||||
static char *mode_option __devinitdata = NULL;
|
||||
|
||||
static inline void pvr2fb_set_pal_type(unsigned int type)
|
||||
{
|
||||
|
@ -293,7 +289,7 @@ static void set_color_bitfields(struct fb_var_screeninfo *var)
|
|||
{
|
||||
switch (var->bits_per_pixel) {
|
||||
case 16: /* RGB 565 */
|
||||
pvr2fb_set_pal_type(PAL_RGB565);
|
||||
pvr2fb_set_pal_type(PAL_RGB565);
|
||||
var->red.offset = 11; var->red.length = 5;
|
||||
var->green.offset = 5; var->green.length = 6;
|
||||
var->blue.offset = 0; var->blue.length = 5;
|
||||
|
@ -306,7 +302,7 @@ static void set_color_bitfields(struct fb_var_screeninfo *var)
|
|||
var->transp.offset = 0; var->transp.length = 0;
|
||||
break;
|
||||
case 32: /* ARGB 8888 */
|
||||
pvr2fb_set_pal_type(PAL_ARGB8888);
|
||||
pvr2fb_set_pal_type(PAL_ARGB8888);
|
||||
var->red.offset = 16; var->red.length = 8;
|
||||
var->green.offset = 8; var->green.length = 8;
|
||||
var->blue.offset = 0; var->blue.length = 8;
|
||||
|
@ -379,13 +375,13 @@ static int pvr2fb_set_par(struct fb_info *info)
|
|||
var->vmode &= FB_VMODE_MASK;
|
||||
if (var->vmode & FB_VMODE_INTERLACED && video_output != VO_VGA)
|
||||
par->is_interlaced = 1;
|
||||
/*
|
||||
/*
|
||||
* XXX: Need to be more creative with this (i.e. allow doublecan for
|
||||
* PAL/NTSC output).
|
||||
*/
|
||||
if (var->vmode & FB_VMODE_DOUBLE && video_output == VO_VGA)
|
||||
par->is_doublescan = 1;
|
||||
|
||||
|
||||
par->hsync_total = var->left_margin + var->xres + var->right_margin +
|
||||
var->hsync_len;
|
||||
par->vsync_total = var->upper_margin + var->yres + var->lower_margin +
|
||||
|
@ -408,7 +404,7 @@ static int pvr2fb_set_par(struct fb_info *info)
|
|||
} else {
|
||||
/* VGA mode */
|
||||
/* XXX: What else needs to be checked? */
|
||||
/*
|
||||
/*
|
||||
* XXX: We have a little freedom in VGA modes, what ranges
|
||||
* should be here (i.e. hsync/vsync totals, etc.)?
|
||||
*/
|
||||
|
@ -419,8 +415,8 @@ static int pvr2fb_set_par(struct fb_info *info)
|
|||
/* Calculate the remainding offsets */
|
||||
par->diwstart_h = par->borderstart_h + var->left_margin;
|
||||
par->diwstart_v = par->borderstart_v + var->upper_margin;
|
||||
par->borderstop_h = par->diwstart_h + var->xres +
|
||||
var->right_margin;
|
||||
par->borderstop_h = par->diwstart_h + var->xres +
|
||||
var->right_margin;
|
||||
par->borderstop_v = par->diwstart_v + var->yres +
|
||||
var->lower_margin;
|
||||
|
||||
|
@ -465,12 +461,12 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
|||
set_color_bitfields(var);
|
||||
|
||||
if (var->vmode & FB_VMODE_YWRAP) {
|
||||
if (var->xoffset || var->yoffset < 0 ||
|
||||
if (var->xoffset || var->yoffset < 0 ||
|
||||
var->yoffset >= var->yres_virtual) {
|
||||
var->xoffset = var->yoffset = 0;
|
||||
} else {
|
||||
if (var->xoffset > var->xres_virtual - var->xres ||
|
||||
var->yoffset > var->yres_virtual - var->yres ||
|
||||
var->yoffset > var->yres_virtual - var->yres ||
|
||||
var->xoffset < 0 || var->yoffset < 0)
|
||||
var->xoffset = var->yoffset = 0;
|
||||
}
|
||||
|
@ -478,7 +474,7 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
|||
var->xoffset = var->yoffset = 0;
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
* XXX: Need to be more creative with this (i.e. allow doublecan for
|
||||
* PAL/NTSC output).
|
||||
*/
|
||||
|
@ -507,7 +503,7 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
|||
var->vsync_len = par->borderstop_v +
|
||||
(par->vsync_total - par->borderstop_v);
|
||||
}
|
||||
|
||||
|
||||
hsync_total = var->left_margin + var->xres + var->right_margin +
|
||||
var->hsync_len;
|
||||
vtotal = var->upper_margin + var->yres + var->lower_margin +
|
||||
|
@ -531,7 +527,7 @@ static int pvr2fb_check_var(struct fb_var_screeninfo *var, struct fb_info *info)
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* Check memory sizes */
|
||||
line_length = get_line_length(var->xres_virtual, var->bits_per_pixel);
|
||||
if (line_length * var->yres_virtual > info->fix.smem_len)
|
||||
|
@ -552,7 +548,7 @@ static void pvr2_update_display(struct fb_info *info)
|
|||
DISP_DIWADDRS);
|
||||
}
|
||||
|
||||
/*
|
||||
/*
|
||||
* Initialize the video mode. Currently, the 16bpp and 24bpp modes aren't
|
||||
* very stable. It's probably due to the fact that a lot of the 2D video
|
||||
* registers are still undocumented.
|
||||
|
@ -592,18 +588,18 @@ static void pvr2_init_display(struct fb_info *info)
|
|||
/* display window start position */
|
||||
fb_writel(par->diwstart_h, DISP_DIWHSTRT);
|
||||
fb_writel((par->diwstart_v << 16) | par->diwstart_v, DISP_DIWVSTRT);
|
||||
|
||||
|
||||
/* misc. settings */
|
||||
fb_writel((0x16 << 16) | par->is_lowres, DISP_DIWCONF);
|
||||
|
||||
/* clock doubler (for VGA), scan doubler, display enable */
|
||||
fb_writel(((video_output == VO_VGA) << 23) |
|
||||
fb_writel(((video_output == VO_VGA) << 23) |
|
||||
(par->is_doublescan << 1) | 1, DISP_DIWMODE);
|
||||
|
||||
/* bits per pixel */
|
||||
fb_writel(fb_readl(DISP_DIWMODE) | (--bytesperpixel << 2), DISP_DIWMODE);
|
||||
|
||||
/* video enable, color sync, interlace,
|
||||
/* video enable, color sync, interlace,
|
||||
* hsync and vsync polarity (currently unused) */
|
||||
fb_writel(0x100 | ((par->is_interlaced /*|4*/) << 4), DISP_SYNCCONF);
|
||||
}
|
||||
|
@ -657,7 +653,7 @@ static irqreturn_t pvr2fb_interrupt(int irq, void *dev_id)
|
|||
static int pvr2_init_cable(void)
|
||||
{
|
||||
if (cable_type < 0) {
|
||||
fb_writel((fb_readl(PCTRA) & 0xfff0ffff) | 0x000a0000,
|
||||
fb_writel((fb_readl(PCTRA) & 0xfff0ffff) | 0x000a0000,
|
||||
PCTRA);
|
||||
cable_type = (fb_readw(PDTRA) >> 8) & 3;
|
||||
}
|
||||
|
@ -687,7 +683,7 @@ static ssize_t pvr2fb_write(struct fb_info *info, const char *buf,
|
|||
pages = kmalloc(nr_pages * sizeof(struct page *), GFP_KERNEL);
|
||||
if (!pages)
|
||||
return -ENOMEM;
|
||||
|
||||
|
||||
down_read(¤t->mm->mmap_sem);
|
||||
ret = get_user_pages(current, current->mm, (unsigned long)buf,
|
||||
nr_pages, WRITE, 0, pages, NULL);
|
||||
|
@ -700,7 +696,7 @@ static ssize_t pvr2fb_write(struct fb_info *info, const char *buf,
|
|||
}
|
||||
|
||||
dma_configure_channel(shdma, 0x12c1);
|
||||
|
||||
|
||||
dst = (unsigned long)fb_info->screen_base + *ppos;
|
||||
start = (unsigned long)page_address(pages[0]);
|
||||
end = (unsigned long)page_address(pages[nr_pages]);
|
||||
|
@ -744,7 +740,7 @@ out_unmap:
|
|||
kfree(pages);
|
||||
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
#endif /* CONFIG_SH_DMA */
|
||||
|
||||
/**
|
||||
|
@ -765,21 +761,21 @@ out_unmap:
|
|||
* in for flexibility anyways. Who knows, maybe someone has tv-out on a
|
||||
* PCI-based version of these things ;-)
|
||||
*/
|
||||
static int __init pvr2fb_common_init(void)
|
||||
static int __devinit pvr2fb_common_init(void)
|
||||
{
|
||||
struct pvr2fb_par *par = currentpar;
|
||||
unsigned long modememused, rev;
|
||||
|
||||
fb_info->screen_base = ioremap_nocache(pvr2_fix.smem_start,
|
||||
pvr2_fix.smem_len);
|
||||
|
||||
|
||||
if (!fb_info->screen_base) {
|
||||
printk(KERN_ERR "pvr2fb: Failed to remap smem space\n");
|
||||
goto out_err;
|
||||
}
|
||||
|
||||
par->mmio_base = (unsigned long)ioremap_nocache(pvr2_fix.mmio_start,
|
||||
pvr2_fix.mmio_len);
|
||||
pvr2_fix.mmio_len);
|
||||
if (!par->mmio_base) {
|
||||
printk(KERN_ERR "pvr2fb: Failed to remap mmio space\n");
|
||||
goto out_err;
|
||||
|
@ -820,7 +816,7 @@ static int __init pvr2fb_common_init(void)
|
|||
printk("fb%d: %s (rev %ld.%ld) frame buffer device, using %ldk/%ldk of video memory\n",
|
||||
fb_info->node, fb_info->fix.id, (rev >> 4) & 0x0f, rev & 0x0f,
|
||||
modememused >> 10, (unsigned long)(fb_info->fix.smem_len >> 10));
|
||||
printk("fb%d: Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n",
|
||||
printk("fb%d: Mode %dx%d-%d pitch = %ld cable: %s video output: %s\n",
|
||||
fb_info->node, fb_info->var.xres, fb_info->var.yres,
|
||||
fb_info->var.bits_per_pixel,
|
||||
get_line_length(fb_info->var.xres, fb_info->var.bits_per_pixel),
|
||||
|
@ -878,8 +874,8 @@ static int __init pvr2fb_dc_init(void)
|
|||
video_output = VO_NTSC;
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
/*
|
||||
* Nothing exciting about the DC PVR2 .. only a measly 8MiB.
|
||||
*/
|
||||
pvr2_fix.smem_start = 0xa5000000; /* RAM starts here */
|
||||
|
@ -903,7 +899,7 @@ static int __init pvr2fb_dc_init(void)
|
|||
return pvr2fb_common_init();
|
||||
}
|
||||
|
||||
static void pvr2fb_dc_exit(void)
|
||||
static void __exit pvr2fb_dc_exit(void)
|
||||
{
|
||||
if (fb_info->screen_base) {
|
||||
iounmap(fb_info->screen_base);
|
||||
|
@ -987,13 +983,13 @@ static int __init pvr2fb_pci_init(void)
|
|||
return pci_register_driver(&pvr2fb_pci_driver);
|
||||
}
|
||||
|
||||
static void pvr2fb_pci_exit(void)
|
||||
static void __exit pvr2fb_pci_exit(void)
|
||||
{
|
||||
pci_unregister_driver(&pvr2fb_pci_driver);
|
||||
}
|
||||
#endif /* CONFIG_PCI */
|
||||
|
||||
static int __init pvr2_get_param(const struct pvr2_params *p, const char *s,
|
||||
static int __devinit pvr2_get_param(const struct pvr2_params *p, const char *s,
|
||||
int val, int size)
|
||||
{
|
||||
int i;
|
||||
|
@ -1021,7 +1017,7 @@ static int __init pvr2_get_param(const struct pvr2_params *p, const char *s,
|
|||
*/
|
||||
|
||||
#ifndef MODULE
|
||||
int __init pvr2fb_setup(char *options)
|
||||
static int __init pvr2fb_setup(char *options)
|
||||
{
|
||||
char *this_opt;
|
||||
char cable_arg[80];
|
||||
|
@ -1061,7 +1057,7 @@ static struct pvr2_board {
|
|||
int (*init)(void);
|
||||
void (*exit)(void);
|
||||
char name[16];
|
||||
} board_list[] = {
|
||||
} board_driver[] = {
|
||||
#ifdef CONFIG_SH_DREAMCAST
|
||||
{ pvr2fb_dc_init, pvr2fb_dc_exit, "Sega DC PVR2" },
|
||||
#endif
|
||||
|
@ -1071,7 +1067,7 @@ static struct pvr2_board {
|
|||
{ 0, },
|
||||
};
|
||||
|
||||
int __init pvr2fb_init(void)
|
||||
static int __init pvr2fb_init(void)
|
||||
{
|
||||
int i, ret = -ENODEV;
|
||||
int size;
|
||||
|
@ -1095,8 +1091,8 @@ int __init pvr2fb_init(void)
|
|||
|
||||
currentpar = (struct pvr2fb_par *)(fb_info + 1);
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(board_list); i++) {
|
||||
struct pvr2_board *pvr_board = board_list + i;
|
||||
for (i = 0; i < ARRAY_SIZE(board_driver); i++) {
|
||||
struct pvr2_board *pvr_board = board_driver + i;
|
||||
|
||||
if (!pvr_board->init)
|
||||
continue;
|
||||
|
@ -1118,13 +1114,13 @@ static void __exit pvr2fb_exit(void)
|
|||
{
|
||||
int i;
|
||||
|
||||
for (i = 0; i < ARRAY_SIZE(board_list); i++) {
|
||||
struct pvr2_board *pvr_board = board_list + i;
|
||||
for (i = 0; i < ARRAY_SIZE(board_driver); i++) {
|
||||
struct pvr2_board *pvr_board = board_driver + i;
|
||||
|
||||
if (pvr_board->exit)
|
||||
pvr_board->exit();
|
||||
}
|
||||
|
||||
|
||||
#ifdef CONFIG_SH_STORE_QUEUES
|
||||
sq_unmap(pvr2fb_map);
|
||||
#endif
|
||||
|
@ -1139,4 +1135,3 @@ module_exit(pvr2fb_exit);
|
|||
MODULE_AUTHOR("Paul Mundt <lethal@linux-sh.org>, M. R. Brown <mrbrown@0xd6.org>");
|
||||
MODULE_DESCRIPTION("Framebuffer driver for NEC PowerVR 2 based graphics boards");
|
||||
MODULE_LICENSE("GPL");
|
||||
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue