Changeset 84dd253 in mainline for arch/ia32/src/mm/frame.c
- Timestamp:
- 2005-09-21T13:37:50Z (20 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- aed4eca
- Parents:
- fcacfb7
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
arch/ia32/src/mm/frame.c
rfcacfb7 r84dd253 33 33 #include <arch/boot/boot.h> 34 34 #include <arch/boot/memmap.h> 35 #include <panic.h> 35 36 36 37 size_t hardcoded_unmapped_ktext_size = 0; … … 39 40 void frame_arch_init(void) 40 41 { 42 zone_t *z; 41 43 __u8 i; 42 44 43 45 if (config.cpu_active == 1) { 44 /* Reserve the NULL frame */ 45 frame_not_free(0x0); 46 for (i=e820counter;i>0;i--) { 47 if (e820table[i-1].type==MEMMAP_MEMORY_AVAILABLE) { 48 z = zone_create(e820table[i-1].base_address, e820table[i-1].size & ~(FRAME_SIZE-1), 0); 49 if (!z) { 50 panic("Cannot allocate zone (%dB).\n", e820table[i-1].size & ~(FRAME_SIZE-1)); 51 } 52 zone_attach(z); 53 } 54 } 46 55 47 /* Reserve well-known memory regions */ 48 frame_region_not_free(0xa0000,0xff000); 49 frame_region_not_free(0xfec00000,0xffffffff); 50 56 frame_not_free(0); 57 51 58 /* Reserve real mode bootstrap memory */ 52 frame_region_not_free(BOOTSTRAP_OFFSET, BOOTSTRAP_OFFSET + hardcoded_unmapped_ktext_size + hardcoded_unmapped_kdata_size); 53 54 for (i=e820counter;i>0;i--) { 55 if (e820table[i-1].type!=MEMMAP_MEMORY_AVAILABLE) { 56 frame_region_not_free(e820table[i-1].base_address, e820table[i-1].base_address+e820table[i-1].size); 57 } 58 } 59 frame_region_not_free(BOOTSTRAP_OFFSET, BOOTSTRAP_OFFSET + hardcoded_unmapped_ktext_size + hardcoded_unmapped_kdata_size); 59 60 } 60 61 }
Note:
See TracChangeset
for help on using the changeset viewer.