Changeset ae318d3 in mainline for kernel/arch
- Timestamp:
- 2009-02-16T18:50:48Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 06da55b
- Parents:
- 17f168e
- Location:
- kernel/arch
- Files:
-
- 22 edited
-
amd64/include/mm/frame.h (modified) (1 diff)
-
amd64/src/mm/page.c (modified) (1 diff)
-
arm32/include/mm/frame.h (modified) (1 diff)
-
arm32/src/mm/frame.c (modified) (2 diffs)
-
arm32/src/mm/page.c (modified) (1 diff)
-
ia32/include/mm/frame.h (modified) (1 diff)
-
ia32/src/mm/frame.c (modified) (4 diffs)
-
ia32/src/mm/page.c (modified) (2 diffs)
-
ia64/include/mm/frame.h (modified) (1 diff)
-
ia64/src/mm/frame.c (modified) (1 diff)
-
ia64/src/mm/page.c (modified) (1 diff)
-
mips32/include/mm/frame.h (modified) (1 diff)
-
mips32/src/drivers/msim.c (modified) (2 diffs)
-
mips32/src/mm/frame.c (modified) (2 diffs)
-
mips32/src/mm/page.c (modified) (3 diffs)
-
ppc32/include/mm/frame.h (modified) (1 diff)
-
ppc32/src/mm/frame.c (modified) (2 diffs)
-
ppc32/src/mm/page.c (modified) (1 diff)
-
sparc64/include/mm/frame.h (modified) (1 diff)
-
sparc64/src/drivers/sgcn.c (modified) (2 diffs)
-
sparc64/src/mm/frame.c (modified) (2 diffs)
-
sparc64/src/mm/page.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/include/mm/frame.h
r17f168e rae318d3 45 45 #ifndef __ASM__ 46 46 extern uintptr_t last_frame; 47 extern uintptr_t end_frame; 47 48 extern void frame_arch_init(void); 48 49 extern void physmem_print(void); -
kernel/arch/amd64/src/mm/page.c
r17f168e rae318d3 215 215 } 216 216 217 void hw_area(uintptr_t *physaddr, pfn_t *frames) 218 { 219 *physaddr = end_frame; 220 *frames = ADDR2PFN(0xfffffffffffff - end_frame); 221 } 222 217 223 /** @} 218 224 */ -
kernel/arch/arm32/include/mm/frame.h
r17f168e rae318d3 52 52 53 53 extern uintptr_t last_frame; 54 extern uintptr_t end_frame; 54 55 55 56 extern void frame_arch_init(void); -
kernel/arch/arm32/src/mm/frame.c
r17f168e rae318d3 42 42 /** Address of the last frame in the memory. */ 43 43 uintptr_t last_frame = 0; 44 uintptr_t end_frame = 0; 44 45 45 46 /** Creates memory zones. */ … … 50 51 BOOT_PAGE_TABLE_START_FRAME + BOOT_PAGE_TABLE_SIZE_IN_FRAMES, 0); 51 52 last_frame = machine_get_memory_size(); 52 53 end_frame = last_frame; 54 53 55 /* blacklist boot page table */ 54 56 frame_mark_unavailable(BOOT_PAGE_TABLE_START_FRAME, -
kernel/arch/arm32/src/mm/page.c
r17f168e rae318d3 107 107 } 108 108 109 void hw_area(uintptr_t *physaddr, pfn_t *frames) 110 { 111 *physaddr = end_frame; 112 *frames = ADDR2PFN(0xffffffff - end_frame); 113 } 114 109 115 /** @} 110 116 */ -
kernel/arch/ia32/include/mm/frame.h
r17f168e rae318d3 45 45 46 46 extern uintptr_t last_frame; 47 extern uintptr_t end_frame; 47 48 48 49 extern void frame_arch_init(void); -
kernel/arch/ia32/src/mm/frame.c
r17f168e rae318d3 51 51 52 52 uintptr_t last_frame = 0; 53 uintptr_t end_frame = 0; 53 54 54 55 static void init_e820_memory(pfn_t minconf) … … 74 75 last_frame = 75 76 ALIGN_UP(e820table[i].base_address + e820table[i].size, FRAME_SIZE); 76 } 77 } 77 78 } 79 80 end_frame = last_frame; 78 81 } 79 82 … … 114 117 if (config.cpu_active == 1) { 115 118 minconf = 1; 119 116 120 #ifdef CONFIG_SMP 117 121 minconf = max(minconf, … … 120 124 #endif 121 125 init_e820_memory(minconf); 122 126 123 127 /* Reserve frame 0 (BIOS data) */ 124 128 frame_mark_unavailable(0, 1); -
kernel/arch/ia32/src/mm/page.c
r17f168e rae318d3 94 94 } 95 95 96 void hw_area(uintptr_t *physaddr, pfn_t *frames) 97 { 98 *physaddr = end_frame; 99 *frames = ADDR2PFN(0xffffffff - end_frame); 100 } 101 96 102 void page_fault(int n __attribute__((unused)), istate_t *istate) 97 103 { … … 103 109 if (istate->error_word & PFERR_CODE_RSVD) 104 110 panic("Reserved bit set in page directory."); 105 111 106 112 if (istate->error_word & PFERR_CODE_RW) 107 113 access = PF_ACCESS_WRITE; -
kernel/arch/ia64/include/mm/frame.h
r17f168e rae318d3 45 45 46 46 extern uintptr_t last_frame; 47 extern uintptr_t end_frame; 47 48 48 49 extern void frame_arch_init(void); -
kernel/arch/ia64/src/mm/frame.c
r17f168e rae318d3 52 52 53 53 uintptr_t last_frame = 0; 54 uintptr_t end_frame = 0; 54 55 55 56 void frame_arch_init(void) -
kernel/arch/ia64/src/mm/page.c
r17f168e rae318d3 275 275 } 276 276 277 void hw_area(uintptr_t *physaddr, pfn_t *frames) 278 { 279 *physaddr = end_frame; 280 *frames = ADDR2PFN(0x7fffffffffffffffUL - end_frame); 281 } 282 277 283 /** @} 278 284 */ -
kernel/arch/mips32/include/mm/frame.h
r17f168e rae318d3 36 36 #define KERN_mips32_FRAME_H_ 37 37 38 #define FRAME_WIDTH 14/* 16K */39 #define FRAME_SIZE (1 << FRAME_WIDTH)38 #define FRAME_WIDTH 14 /* 16K */ 39 #define FRAME_SIZE (1 << FRAME_WIDTH) 40 40 41 41 #ifdef KERNEL 42 42 #ifndef __ASM__ 43 43 44 #include <typedefs.h> 45 44 46 extern void frame_arch_init(void); 45 47 extern void physmem_print(void); 48 49 extern uintptr_t end_frame; 46 50 47 51 #endif /* __ASM__ */ -
kernel/arch/mips32/src/drivers/msim.c
r17f168e rae318d3 42 42 #include <ddi/ddi.h> 43 43 44 static parea_t msim_parea;45 44 static chardev_t console; 46 45 static irq_t msim_irq; … … 157 156 sysinfo_set_item_val("kbd.address.virtual", NULL, MSIM_KBD_ADDRESS); 158 157 159 msim_parea.pbase = KA2PA(MSIM_VIDEORAM);160 msim_parea.vbase = MSIM_VIDEORAM;161 msim_parea.frames = 1;162 msim_parea.cacheable = false;163 ddi_parea_register(&msim_parea);164 165 158 sysinfo_set_item_val("fb", NULL, true); 166 159 sysinfo_set_item_val("fb.kind", NULL, 3); -
kernel/arch/mips32/src/mm/frame.c
r17f168e rae318d3 65 65 static count_t phys_regions_count = 0; 66 66 static phys_region_t phys_regions[MAX_REGIONS]; 67 68 uintptr_t end_frame = 0; 67 69 68 70 … … 237 239 } 238 240 239 frame_add_region(start_frame, frame); 241 end_frame = frame; 242 243 frame_add_region(start_frame, end_frame); 240 244 241 245 /* Blacklist interrupt vector frame */ -
kernel/arch/mips32/src/mm/page.c
r17f168e rae318d3 27 27 */ 28 28 29 /** @addtogroup mips32mm 29 /** @addtogroup mips32mm 30 30 * @{ 31 31 */ … … 36 36 #include <genarch/mm/page_pt.h> 37 37 #include <mm/page.h> 38 #include <mm/frame.h> 38 39 39 40 void page_arch_init(void) … … 51 52 } 52 53 54 void hw_area(uintptr_t *physaddr, pfn_t *frames) 55 { 56 *physaddr = end_frame; 57 *frames = ADDR2PFN(0xffffffff - end_frame); 58 } 59 53 60 /** @} 54 61 */ -
kernel/arch/ppc32/include/mm/frame.h
r17f168e rae318d3 42 42 #ifndef __ASM__ 43 43 44 #include <arch/types.h> 44 #include <arch/types.h> 45 45 46 46 extern uintptr_t last_frame; 47 extern uintptr_t end_frame; 47 48 48 49 extern void frame_arch_init(void); -
kernel/arch/ppc32/src/mm/frame.c
r17f168e rae318d3 41 41 42 42 uintptr_t last_frame = 0; 43 uintptr_t end_frame = 0; 43 44 44 45 void physmem_print(void) … … 75 76 last_frame = ALIGN_UP(bootinfo.memmap.zones[i].start + bootinfo.memmap.zones[i].size, FRAME_SIZE); 76 77 } 77 78 79 end_frame = last_frame; 80 78 81 /* First is exception vector, second is 'implementation specific', 79 82 third and fourth is reserved, other contain real mode code */ -
kernel/arch/ppc32/src/mm/page.c
r17f168e rae318d3 64 64 } 65 65 66 void hw_area(uintptr_t *physaddr, pfn_t *frames) 67 { 68 *physaddr = end_frame; 69 *frames = ADDR2PFN(0xffffffff - end_frame); 70 } 71 66 72 /** @} 67 73 */ -
kernel/arch/sparc64/include/mm/frame.h
r17f168e rae318d3 74 74 75 75 extern uintptr_t last_frame; 76 extern uintptr_t end_frame; 76 77 extern void frame_arch_init(void); 77 78 #define physmem_print() -
kernel/arch/sparc64/src/drivers/sgcn.c
r17f168e rae318d3 162 162 163 163 /** 164 * Registers the physical area of the SRAM so that the userspace SGCN 165 * driver can map it. Moreover, it sets some sysinfo values (SRAM address 166 * and SRAM size). 167 */ 168 static void register_sram_parea(uintptr_t sram_begin_physical) 169 { 170 static parea_t sram_parea; 171 sram_parea.pbase = sram_begin_physical; 172 sram_parea.vbase = (uintptr_t) sram_begin; 173 sram_parea.frames = MAPPED_AREA_SIZE / FRAME_SIZE; 174 sram_parea.cacheable = false; 175 ddi_parea_register(&sram_parea); 176 164 * Set some sysinfo values (SRAM address and SRAM size). 165 */ 166 static void register_sram(uintptr_t sram_begin_physical) 167 { 177 168 sysinfo_set_item_val("sram.area.size", NULL, MAPPED_AREA_SIZE); 178 169 sysinfo_set_item_val("sram.address.physical", NULL, … … 212 203 sram_begin = hw_map(sram_begin_physical, MAPPED_AREA_SIZE); 213 204 214 register_sram _parea(sram_begin_physical);205 register_sram(sram_begin_physical); 215 206 } 216 207 -
kernel/arch/sparc64/src/mm/frame.c
r17f168e rae318d3 42 42 43 43 uintptr_t last_frame = NULL; 44 uintptr_t end_frame = NULL; 44 45 45 46 /** Create memory zones according to information stored in bootinfo. … … 81 82 } 82 83 84 end_frame = last_frame; 83 85 } 84 86 -
kernel/arch/sparc64/src/mm/page.c
r17f168e rae318d3 148 148 sizemap[order].pagesize_code, true, false); 149 149 150 #ifdef CONFIG_SMP 150 #ifdef CONFIG_SMP 151 151 /* 152 152 * Second, save the information about the mapping for APs. … … 165 165 } 166 166 167 void hw_area(uintptr_t *physaddr, pfn_t *frames) 168 { 169 *physaddr = end_frame; 170 *frames = ADDR2PFN(0x7ffffffffff - end_frame); 171 } 172 167 173 /** @} 168 174 */ 169
Note:
See TracChangeset
for help on using the changeset viewer.
