Rev 625 | Rev 703 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 625 | Rev 693 | ||
---|---|---|---|
Line 48... | Line 48... | ||
48 | if (config.cpu_active == 1) { |
48 | if (config.cpu_active == 1) { |
49 | 49 | ||
50 | /* Reserve frame 0 (BIOS data) */ |
50 | /* Reserve frame 0 (BIOS data) */ |
51 | frame_region_not_free(0, FRAME_SIZE); |
51 | frame_region_not_free(0, FRAME_SIZE); |
52 | 52 | ||
- | 53 | #ifdef CONFIG_SMP |
|
53 | /* Reserve real mode bootstrap memory */ |
54 | /* Reserve AP real mode bootstrap memory */ |
54 | frame_region_not_free(BOOTSTRAP_OFFSET, hardcoded_unmapped_ktext_size + hardcoded_unmapped_kdata_size); |
55 | frame_region_not_free(AP_BOOT_OFFSET, hardcoded_unmapped_ktext_size + hardcoded_unmapped_kdata_size); |
- | 56 | #endif |
|
55 | 57 | ||
56 | for (i = 0; i < e820counter; i++) { |
58 | for (i = 0; i < e820counter; i++) { |
57 | if (e820table[i].type == MEMMAP_MEMORY_AVAILABLE) { |
59 | if (e820table[i].type == MEMMAP_MEMORY_AVAILABLE) { |
58 | zone_create_in_region(e820table[i].base_address, e820table[i].size & ~(FRAME_SIZE-1)); |
60 | zone_create_in_region(e820table[i].base_address, e820table[i].size & ~(FRAME_SIZE-1)); |
59 | if (last_frame < ALIGN_UP(e820table[i].base_address + e820table[i].size, FRAME_SIZE)) |
61 | if (last_frame < ALIGN_UP(e820table[i].base_address + e820table[i].size, FRAME_SIZE)) |