2 * machine_specific_memory_setup - Hook for machine specific memory setup.
5 * This is included late in kernel/setup.c so that it can make
6 * use of all of the static functions.
9 static inline char * __init machine_specific_memory_setup(void)
12 unsigned long low_mem_size, lower_high, higher_high;
15 who = "BIOS (common area)";
17 low_mem_size = ((*(unsigned char *)__va(PC9800SCA_BIOS_FLAG) & 7) + 1) << 17;
18 add_memory_region(0, low_mem_size, 1);
19 lower_high = (__u32) *(__u8 *) bus_to_virt(PC9800SCA_EXPMMSZ) << 17;
20 higher_high = (__u32) *(__u16 *) bus_to_virt(PC9800SCA_MMSZ16M) << 20;
21 if (lower_high != 0x00f00000UL) {
22 add_memory_region(HIGH_MEMORY, lower_high, 1);
23 add_memory_region(0x01000000UL, higher_high, 1);
26 add_memory_region(HIGH_MEMORY, lower_high + higher_high, 1);