Changeset 4cc2ddd in mainline
- Timestamp:
- 2008-01-15T13:19:35Z (17 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 62da45a
- Parents:
- 22e8166d
- Location:
- kernel
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/amd64/include/mm/as.h
r22e8166d r4cc2ddd 39 39 40 40 #define KERNEL_ADDRESS_SPACE_START_ARCH (unsigned long) 0xffff800000000000 41 #define KERNEL_ADDRESS_SPACE_END_ARCH (unsigned long) 0xffffffff ffffffff41 #define KERNEL_ADDRESS_SPACE_END_ARCH (unsigned long) 0xffffffff80000000 42 42 #define USER_ADDRESS_SPACE_START_ARCH (unsigned long) 0x0000000000000000 43 43 #define USER_ADDRESS_SPACE_END_ARCH (unsigned long) 0x00007fffffffffff -
kernel/arch/amd64/src/amd64.c
r22e8166d r4cc2ddd 72 72 static void clean_IOPL_NT_flags(void) 73 73 { 74 asm 75 ( 76 "pushfq;" 77 "pop %%rax;" 78 "and $~(0x7000),%%rax;" 79 "pushq %%rax;" 80 "popfq;" 81 : 82 : 83 :"%rax" 74 asm ( 75 "pushfq\n" 76 "pop %%rax\n" 77 "and $~(0x7000), %%rax\n" 78 "pushq %%rax\n" 79 "popfq\n" 80 : 81 : 82 : "%rax" 84 83 ); 85 84 } … … 91 90 static void clean_AM_flag(void) 92 91 { 93 asm 94 ( 95 "mov %%cr0,%%rax;" 96 "and $~(0x40000),%%rax;" 97 "mov %%rax,%%cr0;" 98 : 99 : 100 :"%rax" 92 asm ( 93 "mov %%cr0, %%rax\n" 94 "and $~(0x40000), %%rax\n" 95 "mov %%rax, %%cr0\n" 96 : 97 : 98 : "%rax" 101 99 ); 102 100 } … … 128 126 } 129 127 128 130 129 void arch_post_mm_init(void) 131 130 { … … 136 135 /* hard clock */ 137 136 i8254_init(); 138 137 139 138 #ifdef CONFIG_FB 140 139 if (vesa_present()) … … 149 148 zone_merge_all(); 150 149 } 150 151 151 /* Setup fast SYSCALL/SYSRET */ 152 152 syscall_setup_cpu(); 153 154 153 } 155 154 -
kernel/arch/amd64/src/mm/page.c
r22e8166d r4cc2ddd 88 88 if (config.cpu_active == 1) { 89 89 page_mapping_operations = &pt_mapping_operations; 90 90 91 91 /* 92 92 * PA2KA(identity) mapping for all frames. … … 96 96 page_mapping_insert(AS_KERNEL, PA2KA(cur), cur, identity_flags); 97 97 } 98 98 99 /* Upper kernel mapping 99 100 * - from zero to top of kernel (include bottom addresses 100 * because some are needed for init 101 * because some are needed for init) 101 102 */ 102 103 for (cur = PA2KA_CODE(0); cur < config.base + config.kernel_size; cur += FRAME_SIZE) -
kernel/arch/ia32/src/mm/frame.c
r22e8166d r4cc2ddd 62 62 for (i = 0; i < e820counter; i++) { 63 63 if (e820table[i].type == MEMMAP_MEMORY_AVAILABLE) { 64 start = ADDR2PFN(ALIGN_UP(e820table[i].base_address, 65 FRAME_SIZE)); 66 size = SIZE2FRAMES(ALIGN_DOWN(e820table[i].size, 67 FRAME_SIZE)); 68 if (minconf < start || minconf >= start + size) 64 start = ADDR2PFN(ALIGN_UP(e820table[i].base_address, FRAME_SIZE)); 65 size = SIZE2FRAMES(ALIGN_DOWN(e820table[i].size, FRAME_SIZE)); 66 if ((minconf < start) || (minconf >= start + size)) 69 67 conf = start; 70 68 else … … 112 110 { 113 111 static pfn_t minconf; 114 112 115 113 if (config.cpu_active == 1) { 116 114 cmd_initialize(&e820_info); 117 115 cmd_register(&e820_info); 118 116 119 120 117 minconf = 1; 121 118 #ifdef CONFIG_SMP 122 119 minconf = max(minconf, 123 ADDR2PFN(AP_BOOT_OFFSET+hardcoded_unmapped_ktext_size + hardcoded_unmapped_kdata_size));120 ADDR2PFN(AP_BOOT_OFFSET + hardcoded_unmapped_ktext_size + hardcoded_unmapped_kdata_size)); 124 121 #endif 125 122 #ifdef CONFIG_SIMICS_FIX … … 134 131 /* Reserve AP real mode bootstrap memory */ 135 132 frame_mark_unavailable(AP_BOOT_OFFSET >> FRAME_WIDTH, 136 133 (hardcoded_unmapped_ktext_size + hardcoded_unmapped_kdata_size) >> FRAME_WIDTH); 137 134 138 135 #ifdef CONFIG_SIMICS_FIX 139 136 /* Don't know why, but these addresses help */ 140 frame_mark_unavailable(0xd000 >> FRAME_WIDTH, 3);137 frame_mark_unavailable(0xd000 >> FRAME_WIDTH, 3); 141 138 #endif 142 139 #endif -
kernel/generic/src/console/console.c
r22e8166d r4cc2ddd 61 61 .write = null_putchar 62 62 }; 63 63 64 chardev_t null_stdout = { 64 65 .name = "null",
Note:
See TracChangeset
for help on using the changeset viewer.