mirror of https://github.com/hak5/openwrt-owl.git
parent
2b10284b62
commit
d1c40911eb
|
@ -85,28 +85,14 @@ int __init ar71xx_pci_init(unsigned nr_irqs, struct ar71xx_pci_irq *map)
|
||||||
|
|
||||||
static void __init ar71xx_detect_mem_size(void)
|
static void __init ar71xx_detect_mem_size(void)
|
||||||
{
|
{
|
||||||
volatile u8 *p;
|
unsigned long size;
|
||||||
u8 memsave;
|
|
||||||
u32 size;
|
|
||||||
|
|
||||||
p = (volatile u8 *) KSEG1ADDR(0);
|
for (size = AR71XX_MEM_SIZE_MIN; size < AR71XX_MEM_SIZE_MAX;
|
||||||
memsave = *p;
|
size <<= 1 ) {
|
||||||
for (size = AR71XX_MEM_SIZE_MIN;
|
if (!memcmp(ar71xx_detect_mem_size,
|
||||||
size <= (AR71XX_MEM_SIZE_MAX >> 1); size <<= 1) {
|
ar71xx_detect_mem_size + size, 1024))
|
||||||
volatile u8 *r;
|
break;
|
||||||
|
|
||||||
r = (p + size);
|
|
||||||
*p = 0x55;
|
|
||||||
if (*r == 0x55) {
|
|
||||||
/* Mirrored data found, try another pattern */
|
|
||||||
*p = 0xAA;
|
|
||||||
if (*r == 0xAA) {
|
|
||||||
/* Mirrored data found again, stop detection */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
*p = memsave;
|
|
||||||
|
|
||||||
add_memory_region(0, size, BOOT_MEM_RAM);
|
add_memory_region(0, size, BOOT_MEM_RAM);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue