X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fh8300%2Fkernel%2Fsetup.c;h=bf5822c5659ee04c565f0957dc6412d9cf112ff7;hb=720b94a4e7548e78be55ab8fd3be4686c57dc808;hp=7bab2e30d711e704add8b6fd0879d9ac534f7075;hpb=86090fcac5e27b630656fe3d963a6b80e26dac44;p=linux-2.6.git diff --git a/arch/h8300/kernel/setup.c b/arch/h8300/kernel/setup.c index 7bab2e30d..bf5822c56 100644 --- a/arch/h8300/kernel/setup.c +++ b/arch/h8300/kernel/setup.c @@ -40,16 +40,12 @@ #if defined(__H8300H__) #define CPU "H8/300H" +#include #endif #if defined(__H8300S__) #define CPU "H8S" -#endif - -#if defined(CONFIG_INTELFLASH) -#define BLKOFFSET 512 -#else -#define BLKOFFSET 0 +#include #endif #define STUBSIZE 0xc000; @@ -58,8 +54,6 @@ unsigned long rom_length; unsigned long memory_start; unsigned long memory_end; -struct task_struct *_current_task; - char command_line[512]; char saved_command_line[512]; @@ -107,12 +101,11 @@ void __init setup_arch(char **cmdline_p) memory_start = (unsigned long) &_ramstart; /* allow for ROMFS on the end of the kernel */ - if (memcmp((void *)(memory_start + BLKOFFSET), "-rom1fs-", 8) == 0) { + if (memcmp((void *)memory_start, "-rom1fs-", 8) == 0) { #if defined(CONFIG_BLK_DEV_INITRD) - initrd_start = memory_start += BLKOFFSET; + initrd_start = memory_start; initrd_end = memory_start += be32_to_cpu(((unsigned long *) (memory_start))[2]); #else - memory_start += BLKOFFSET; memory_start += be32_to_cpu(((unsigned long *) memory_start)[2]); #endif } @@ -190,6 +183,16 @@ void __init setup_arch(char **cmdline_p) */ paging_init(); h8300_gpio_init(); +#if defined(CONFIG_H8300_AKI3068NET) && defined(CONFIG_IDE) + { +#define AREABIT(addr) (1 << (((addr) >> 21) & 7)) + /* setup BSC */ + volatile unsigned char *abwcr = (volatile unsigned char *)ABWCR; + volatile unsigned char *cscr = (volatile unsigned char *)CSCR; + *abwcr &= ~(AREABIT(CONFIG_H8300_IDE_BASE) | AREABIT(CONFIG_H8300_IDE_ALT)); + *cscr |= (AREABIT(CONFIG_H8300_IDE_BASE) | AREABIT(CONFIG_H8300_IDE_ALT)) | 0x0f; + } +#endif #ifdef DEBUG printk(KERN_DEBUG "Done setup_arch\n"); #endif