linux porting howto
时间:2007-05-28 来源:craneee
files change:
<arch/arm/mach-z228>
clock.[ch] core.[ch] z228.c dma.c below files have differ with <arch/arm/mach-versatile>
clock.c : modify 'uart_clk' frequency
clock.h : no change
z228.c : little change, modify some functions' name(versatile_xx --> z228_xx)
core.h : little change, modify some functions' name(versatile_xx --> z228_xx)
core.c : totally change. set irq/vic/io/device-map etc. <include/asm-arm/arch-z228>
debug-macro.S dma.h entry-macro.S hardware.h io.h
irqs.h memory.h param.h platform.h system.h timex.h
uncompress.h vmalloc.h below files have differ with <include/asm-arm/arch-versatile>
debug-macro.S : change address
dma.h : new implementation
entry-macro.S : modify some functions' name(versatile_xx --> z228_xx)
hardware.h : remove PCI, because z228 don't support PCI
io.h : no change
irqs.h : add new interrupt
memory.h : no change
param.h : no change
platform.h : totally change, modify z228's irq/vic/io/device-map etc.
system.h : modify 'reset'
timex.h : no change
uncompress.h : change address
vmalloc.h : no change ======================================================
=== detail =====================================
=== process =====================================
======================================================
in <arch/arm/Makefile> add:
machine-$(CONFIG_ARCH_Z228) := z228 ==============================================================
build <arch/arm/mach-z228> dirctory.
build <include/asm-arm/arch-z228> dirctory. ==============================================================
in <arch/arm/Kconfig> add: config ARCH_Z228
bool "Z228"
select ARM_AMBA
select ICST307
help
This enables support for JADE Z228 board. config LEDS
bool "Timer and CPU usage LEDs"
depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
ARCH_AT91RM9200 || MACH_TRIZEPS4 || ARCH_Z228 if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \
|| ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
|| ARCH_IXP23XX || ARCH_Z228 ================================================================
in <arch/arm/mm/Kconfig> dirctory, add: # ARM926T
config CPU_ARM926T
bool "Support ARM926T processor"
depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB || MACH_VERSATILE_AB || ARCH_OMAP730 || ARCH_OMAP16XX || MACH_REALVIEW_EB || ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || ARCH_Z228
default y if ARCH_VERSATILE_PB || MACH_VERSATILE_AB || ARCH_OMAP730 || ARCH_OMAP16XX || ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || ARCH_Z228
=================================================================
maybe need to modify <arch/arm/kernel/head.S> macro pgtbl:
.macro pgtbl, rd
/*
ldr \rd, =(0x4000)
*/
adr \rd, stext
sub \rd, \rd, #0x4000
.endm
==================================================================
add <arch/arm/tools/mach-types> :
z228 ARCH_Z228 Z228 387 =================================================================
modify Makefile ARCH ?= arm
CROSS_COMPILE ?= /home/zhm/arm-toolchain/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-
===========================
make menuconfig ===========================
make
clock.[ch] core.[ch] z228.c dma.c below files have differ with <arch/arm/mach-versatile>
clock.c : modify 'uart_clk' frequency
clock.h : no change
z228.c : little change, modify some functions' name(versatile_xx --> z228_xx)
core.h : little change, modify some functions' name(versatile_xx --> z228_xx)
core.c : totally change. set irq/vic/io/device-map etc. <include/asm-arm/arch-z228>
debug-macro.S dma.h entry-macro.S hardware.h io.h
irqs.h memory.h param.h platform.h system.h timex.h
uncompress.h vmalloc.h below files have differ with <include/asm-arm/arch-versatile>
debug-macro.S : change address
dma.h : new implementation
entry-macro.S : modify some functions' name(versatile_xx --> z228_xx)
hardware.h : remove PCI, because z228 don't support PCI
io.h : no change
irqs.h : add new interrupt
memory.h : no change
param.h : no change
platform.h : totally change, modify z228's irq/vic/io/device-map etc.
system.h : modify 'reset'
timex.h : no change
uncompress.h : change address
vmalloc.h : no change ======================================================
=== detail =====================================
=== process =====================================
======================================================
in <arch/arm/Makefile> add:
machine-$(CONFIG_ARCH_Z228) := z228 ==============================================================
build <arch/arm/mach-z228> dirctory.
build <include/asm-arm/arch-z228> dirctory. ==============================================================
in <arch/arm/Kconfig> add: config ARCH_Z228
bool "Z228"
select ARM_AMBA
select ICST307
help
This enables support for JADE Z228 board. config LEDS
bool "Timer and CPU usage LEDs"
depends on ARCH_CDB89712 || ARCH_CO285 || ARCH_EBSA110 || \
ARCH_EBSA285 || ARCH_IMX || ARCH_INTEGRATOR || \
ARCH_LUBBOCK || MACH_MAINSTONE || ARCH_NETWINDER || \
ARCH_OMAP || ARCH_P720T || ARCH_PXA_IDP || \
ARCH_SA1100 || ARCH_SHARK || ARCH_VERSATILE || \
ARCH_AT91RM9200 || MACH_TRIZEPS4 || ARCH_Z228 if PCMCIA || ARCH_CLPS7500 || ARCH_IOP3XX || ARCH_IXP4XX \
|| ARCH_L7200 || ARCH_LH7A40X || ARCH_PXA || ARCH_RPC \
|| ARCH_S3C2410 || ARCH_SA1100 || ARCH_SHARK || FOOTBRIDGE \
|| ARCH_IXP23XX || ARCH_Z228 ================================================================
in <arch/arm/mm/Kconfig> dirctory, add: # ARM926T
config CPU_ARM926T
bool "Support ARM926T processor"
depends on ARCH_INTEGRATOR || ARCH_VERSATILE_PB || MACH_VERSATILE_AB || ARCH_OMAP730 || ARCH_OMAP16XX || MACH_REALVIEW_EB || ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || ARCH_Z228
default y if ARCH_VERSATILE_PB || MACH_VERSATILE_AB || ARCH_OMAP730 || ARCH_OMAP16XX || ARCH_PNX4008 || ARCH_NETX || CPU_S3C2412 || ARCH_AT91SAM9260 || ARCH_AT91SAM9261 || ARCH_Z228
=================================================================
maybe need to modify <arch/arm/kernel/head.S> macro pgtbl:
.macro pgtbl, rd
/*
ldr \rd, =(0x4000)
*/
adr \rd, stext
sub \rd, \rd, #0x4000
.endm
==================================================================
add <arch/arm/tools/mach-types> :
z228 ARCH_Z228 Z228 387 =================================================================
modify Makefile ARCH ?= arm
CROSS_COMPILE ?= /home/zhm/arm-toolchain/gcc-3.4.4-glibc-2.3.6/bin/arm-linux-
===========================
make menuconfig ===========================
make
相关阅读 更多 +