diff options
Diffstat (limited to 'target/linux/etrax/patches/cris/016-auto-detect-ram.patch')
-rw-r--r-- | target/linux/etrax/patches/cris/016-auto-detect-ram.patch | 101 |
1 files changed, 0 insertions, 101 deletions
diff --git a/target/linux/etrax/patches/cris/016-auto-detect-ram.patch b/target/linux/etrax/patches/cris/016-auto-detect-ram.patch deleted file mode 100644 index 51930f2..0000000 --- a/target/linux/etrax/patches/cris/016-auto-detect-ram.patch +++ /dev/null @@ -1,101 +0,0 @@ -diff -urN linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings.S /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings.S ---- linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings.S 2007-06-01 00:37:57.000000000 +0200 -+++ /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings.S 2007-06-01 00:34:55.000000000 +0200 -@@ -62,3 +62,5 @@ - .dword 0 ; No more register values - .ascii "ACME_PART_MAGIC" ; Magic number - .dword 0xdeadc0de -+ .ascii "ACME_RAM_MAGIC" ; Magic number -+ .dword 0x2000000 -diff -urN linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings_416.S /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings_416.S ---- linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings_416.S 2007-06-01 00:37:57.000000000 +0200 -+++ /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings_416.S 2007-06-01 00:34:55.000000000 +0200 -@@ -62,3 +62,5 @@ - .dword 0 ; No more register values - .ascii "ACME_PART_MAGIC" ; Magic number - .dword 0xdeadc0de -+ .ascii "ACME_RAM_MAGIC" ; Magic number -+ .dword 0x1000000 -diff -urN linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings_816.S /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings_816.S ---- linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings_816.S 2007-06-01 00:37:57.000000000 +0200 -+++ /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings_816.S 2007-06-01 00:34:55.000000000 +0200 -@@ -62,3 +62,5 @@ - .dword 0 ; No more register values - .ascii "ACME_PART_MAGIC" ; Magic number - .dword 0xdeadc0de -+ .ascii "ACME_RAM_MAGIC" ; Magic number -+ .dword 0x1000000 -diff -urN linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings_832.S /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings_832.S ---- linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings_832.S 2007-06-01 00:37:57.000000000 +0200 -+++ /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings_832.S 2007-06-01 00:34:55.000000000 +0200 -@@ -62,3 +62,5 @@ - .dword 0 ; No more register values - .ascii "ACME_PART_MAGIC" ; Magic number - .dword 0xdeadc0de -+ .ascii "ACME_RAM_MAGIC" ; Magic number -+ .dword 0x2000000 -diff -urN linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings_MCM.S /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings_MCM.S ---- linux-2.6.19.2//arch/cris/arch-v10/boot/compressed/hw_settings_MCM.S 2007-06-01 00:37:57.000000000 +0200 -+++ /tmp/linux-2.6.19.2/arch/cris/arch-v10/boot/compressed/hw_settings_MCM.S 2007-06-01 00:34:55.000000000 +0200 -@@ -62,3 +62,5 @@ - .dword 0 ; No more register values - .ascii "ACME_PART_MAGIC" ; Magic number - .dword 0xdeadc0de -+ .ascii "ACME_RAM_MAGIC" ; Magic number -+ .dword 0x1000000 ---- linux-2.6.19.2//arch/cris/kernel/setup.c 2007-06-01 00:37:55.000000000 +0200 -+++ /tmp/linux-2.6.19.2/arch/cris/kernel/setup.c 2007-06-01 00:34:55.000000000 +0200 -@@ -55,6 +55,13 @@ - * boot code and the system. - * - */ -+#ifdef CONFIG_CRIS_LOW_MAP -+#define FLASH_UNCACHED_ADDR KSEG_8 -+#define FLASH_CACHED_ADDR KSEG_5 -+#else -+#define FLASH_UNCACHED_ADDR KSEG_E -+#define FLASH_CACHED_ADDR KSEG_F -+#endif - - void __init - setup_arch(char **cmdline_p) -@@ -63,15 +70,37 @@ - unsigned long bootmap_size; - unsigned long start_pfn, max_pfn; - unsigned long memory_start; -- -+ unsigned int ram_size = 0; -+ unsigned char *flash_mem = (unsigned char*)(FLASH_CACHED_ADDR); -+ unsigned int ram_scan_count = 0; -+ const char *ram_magic = "ACME_RAM_MAGIC"; -+ unsigned int magic_len = strlen(ram_magic); -+ unsigned long dend; - /* register an initial console printing routine for printk's */ - - init_etrax_debug(); - - /* we should really poll for DRAM size! */ -+ printk(KERN_INFO "Determinig RAM size\n"); -+ for(ram_scan_count = 0; ram_scan_count < 100000; ram_scan_count++){ -+ if(strncmp(&flash_mem[ram_scan_count], ram_magic, magic_len - 1) == 0){ -+ ram_size = flash_mem[ram_scan_count + magic_len ]; -+ ram_size <<= 8; -+ ram_size += flash_mem[ram_scan_count + magic_len + 2]; -+ ram_size <<= 8; -+ ram_size += flash_mem[ram_scan_count + magic_len + 1]; -+ ram_size <<= 8; -+ ram_size += flash_mem[ram_scan_count + magic_len + 3]; -+ printk(KERN_INFO "RAM size is %uMB\n", 16 * ram_size); -+ ram_scan_count = 1100000; -+ } -+ } - - high_memory = &dram_end; -- -+ dend = dram_start + 16 * 1024 * 1024 * ram_size; -+ if(ram_size == 1){ -+ high_memory = 0xc1000000; -+ } - if(romfs_in_flash || !romfs_length) { - /* if we have the romfs in flash, or if there is no rom filesystem, - * our free area starts directly after the BSS |