Changeset 9970a5a in mainline for kernel/arch
- Timestamp:
- 2012-01-27T23:24:27Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 7b3b571, fe56c08a
- Parents:
- d81eaf94 (diff), 221c9ec (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)links above to see all the changes relative to each parent. - Location:
- kernel/arch
- Files:
-
- 16 edited
-
arm32/src/arm32.c (modified) (1 diff)
-
arm32/src/mach/gta02/gta02.c (modified) (2 diffs)
-
arm32/src/mach/integratorcp/integratorcp.c (modified) (3 diffs)
-
arm32/src/mach/testarm/testarm.c (modified) (2 diffs)
-
ia32/src/smp/smp.c (modified) (2 diffs)
-
ia64/src/ia64.c (modified) (4 diffs)
-
mips32/src/mips32.c (modified) (1 diff)
-
mips32/src/mm/frame.c (modified) (1 diff)
-
mips64/src/mips64.c (modified) (1 diff)
-
mips64/src/mm/frame.c (modified) (1 diff)
-
ppc32/src/drivers/pic.c (modified) (2 diffs)
-
ppc32/src/ppc32.c (modified) (3 diffs)
-
sparc64/src/drivers/kbd.c (modified) (2 diffs)
-
sparc64/src/drivers/pci.c (modified) (3 diffs)
-
sparc64/src/sun4u/sparc64.c (modified) (1 diff)
-
sparc64/src/sun4v/sparc64.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/arm32/src/arm32.c
rd81eaf94 r9970a5a 57 57 size_t i; 58 58 for (i = 0; i < init.cnt; i++) { 59 init.tasks[i]. addr = (uintptr_t) bootinfo->tasks[i].addr;59 init.tasks[i].paddr = KA2PA(bootinfo->tasks[i].addr); 60 60 init.tasks[i].size = bootinfo->tasks[i].size; 61 61 str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN, -
kernel/arch/arm32/src/mach/gta02/gta02.c
rd81eaf94 r9970a5a 38 38 #include <arch/mm/page.h> 39 39 #include <mm/page.h> 40 #include <mm/km.h> 40 41 #include <genarch/fb/fb.h> 41 42 #include <abi/fb/visuals.h> … … 101 102 s3c24xx_irqc_regs_t *irqc_regs; 102 103 103 gta02_timer = (void *) hw_map(S3C24XX_TIMER_ADDRESS, PAGE_SIZE); 104 irqc_regs = (void *) hw_map(S3C24XX_IRQC_ADDRESS, PAGE_SIZE); 104 gta02_timer = (void *) km_map(S3C24XX_TIMER_ADDRESS, PAGE_SIZE, 105 PAGE_NOT_CACHEABLE); 106 irqc_regs = (void *) km_map(S3C24XX_IRQC_ADDRESS, PAGE_SIZE, 107 PAGE_NOT_CACHEABLE); 105 108 106 109 /* Initialize interrupt controller. */ -
kernel/arch/arm32/src/mach/integratorcp/integratorcp.c
rd81eaf94 r9970a5a 45 45 #include <mm/page.h> 46 46 #include <mm/frame.h> 47 #include <mm/km.h> 47 48 #include <arch/mm/frame.h> 48 49 #include <arch/mach/integratorcp/integratorcp.h> … … 128 129 void icp_init(void) 129 130 { 130 icp_hw_map.uart = hw_map(ICP_UART, PAGE_SIZE); 131 icp_hw_map.kbd_ctrl = hw_map(ICP_KBD, PAGE_SIZE); 131 icp_hw_map.uart = km_map(ICP_UART, PAGE_SIZE, 132 PAGE_WRITE | PAGE_NOT_CACHEABLE); 133 icp_hw_map.kbd_ctrl = km_map(ICP_KBD, PAGE_SIZE, PAGE_NOT_CACHEABLE); 132 134 icp_hw_map.kbd_stat = icp_hw_map.kbd_ctrl + ICP_KBD_STAT; 133 135 icp_hw_map.kbd_data = icp_hw_map.kbd_ctrl + ICP_KBD_DATA; 134 136 icp_hw_map.kbd_intstat = icp_hw_map.kbd_ctrl + ICP_KBD_INTR_STAT; 135 icp_hw_map.rtc = hw_map(ICP_RTC, PAGE_SIZE); 137 icp_hw_map.rtc = km_map(ICP_RTC, PAGE_SIZE, 138 PAGE_WRITE | PAGE_NOT_CACHEABLE); 136 139 icp_hw_map.rtc1_load = icp_hw_map.rtc + ICP_RTC1_LOAD_OFFSET; 137 140 icp_hw_map.rtc1_read = icp_hw_map.rtc + ICP_RTC1_READ_OFFSET; … … 141 144 icp_hw_map.rtc1_intrstat = icp_hw_map.rtc + ICP_RTC1_INTRSTAT_OFFSET; 142 145 143 icp_hw_map.irqc = hw_map(ICP_IRQC, PAGE_SIZE); 146 icp_hw_map.irqc = km_map(ICP_IRQC, PAGE_SIZE, 147 PAGE_WRITE | PAGE_NOT_CACHEABLE); 144 148 icp_hw_map.irqc_mask = icp_hw_map.irqc + ICP_IRQC_MASK_OFFSET; 145 149 icp_hw_map.irqc_unmask = icp_hw_map.irqc + ICP_IRQC_UNMASK_OFFSET; 146 icp_hw_map.cmcr = hw_map(ICP_CMCR, PAGE_SIZE); 150 icp_hw_map.cmcr = km_map(ICP_CMCR, PAGE_SIZE, 151 PAGE_WRITE | PAGE_NOT_CACHEABLE); 147 152 icp_hw_map.sdramcr = icp_hw_map.cmcr + ICP_SDRAMCR_OFFSET; 148 icp_hw_map.vga = hw_map(ICP_VGA, PAGE_SIZE); 153 icp_hw_map.vga = km_map(ICP_VGA, PAGE_SIZE, 154 PAGE_WRITE | PAGE_NOT_CACHEABLE); 149 155 150 156 hw_map_init_called = true; -
kernel/arch/arm32/src/mach/testarm/testarm.c
rd81eaf94 r9970a5a 37 37 #include <arch/mach/testarm/testarm.h> 38 38 #include <mm/page.h> 39 #include <mm/km.h> 39 40 #include <genarch/fb/fb.h> 40 41 #include <abi/fb/visuals.h> … … 71 72 void gxemul_init(void) 72 73 { 73 gxemul_kbd = (void *) hw_map(GXEMUL_KBD_ADDRESS, PAGE_SIZE); 74 gxemul_rtc = (void *) hw_map(GXEMUL_RTC_ADDRESS, PAGE_SIZE); 75 gxemul_irqc = (void *) hw_map(GXEMUL_IRQC_ADDRESS, PAGE_SIZE); 74 gxemul_kbd = (void *) km_map(GXEMUL_KBD_ADDRESS, PAGE_SIZE, 75 PAGE_WRITE | PAGE_NOT_CACHEABLE); 76 gxemul_rtc = (void *) km_map(GXEMUL_RTC_ADDRESS, PAGE_SIZE, 77 PAGE_WRITE | PAGE_NOT_CACHEABLE); 78 gxemul_irqc = (void *) km_map(GXEMUL_IRQC_ADDRESS, PAGE_SIZE, 79 PAGE_WRITE | PAGE_NOT_CACHEABLE); 76 80 } 77 81 -
kernel/arch/ia32/src/smp/smp.c
rd81eaf94 r9970a5a 47 47 #include <debug.h> 48 48 #include <arch/asm.h> 49 #include <mm/page.h> 49 50 #include <mm/frame.h> 50 #include <mm/ page.h>51 #include <mm/km.h> 51 52 #include <mm/slab.h> 52 53 #include <mm/as.h> … … 72 73 73 74 if (config.cpu_count > 1) { 74 l_apic = (uint32_t *) hw_map((uintptr_t) l_apic, PAGE_SIZE); 75 io_apic = (uint32_t *) hw_map((uintptr_t) io_apic, PAGE_SIZE); 75 l_apic = (uint32_t *) km_map((uintptr_t) l_apic, PAGE_SIZE, 76 PAGE_WRITE | PAGE_NOT_CACHEABLE); 77 io_apic = (uint32_t *) km_map((uintptr_t) io_apic, PAGE_SIZE, 78 PAGE_WRITE | PAGE_NOT_CACHEABLE); 76 79 } 77 80 } -
kernel/arch/ia64/src/ia64.c
rd81eaf94 r9970a5a 53 53 #include <genarch/srln/srln.h> 54 54 #include <mm/page.h> 55 #include <mm/km.h> 55 56 56 57 #ifdef MACHINE_ski … … 69 70 void arch_pre_main(void) 70 71 { 71 init.cnt = min3(bootinfo->taskmap.cnt, TASKMAP_MAX_RECORDS, CONFIG_INIT_TASKS); 72 init.cnt = min3(bootinfo->taskmap.cnt, TASKMAP_MAX_RECORDS, 73 CONFIG_INIT_TASKS); 72 74 size_t i; 75 73 76 for (i = 0; i < init.cnt; i++) { 74 init.tasks[i].addr = 75 ((unsigned long) bootinfo->taskmap.tasks[i].addr) | 76 VRN_MASK; 77 init.tasks[i].paddr = 78 (uintptr_t) bootinfo->taskmap.tasks[i].addr; 77 79 init.tasks[i].size = bootinfo->taskmap.tasks[i].size; 78 80 str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN, … … 87 89 static void iosapic_init(void) 88 90 { 89 uintptr_t IOSAPIC = hw_map(iosapic_base, PAGE_SIZE); 91 uintptr_t IOSAPIC = km_map(iosapic_base, PAGE_SIZE, 92 PAGE_WRITE | PAGE_NOT_CACHEABLE); 90 93 int i; 91 94 … … 115 118 if (config.cpu_active == 1) { 116 119 /* Map the page with legacy I/O. */ 117 legacyio_virt_base = hw_map(LEGACYIO_PHYS_BASE, LEGACYIO_SIZE); 120 legacyio_virt_base = km_map(LEGACYIO_PHYS_BASE, LEGACYIO_SIZE, 121 PAGE_WRITE | PAGE_NOT_CACHEABLE); 118 122 119 123 iosapic_init(); -
kernel/arch/mips32/src/mips32.c
rd81eaf94 r9970a5a 78 78 size_t i; 79 79 for (i = 0; i < init.cnt; i++) { 80 init.tasks[i]. addr = (uintptr_t) bootinfo->tasks[i].addr;80 init.tasks[i].paddr = KA2PA(bootinfo->tasks[i].addr); 81 81 init.tasks[i].size = bootinfo->tasks[i].size; 82 82 str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN, -
kernel/arch/mips32/src/mm/frame.c
rd81eaf94 r9970a5a 123 123 for (i = 0; i < init.cnt; i++) 124 124 if (overlaps(frame << ZERO_PAGE_WIDTH, ZERO_PAGE_SIZE, 125 KA2PA(init.tasks[i].addr), init.tasks[i].size)) {125 init.tasks[i].paddr, init.tasks[i].size)) { 126 126 safe = false; 127 127 break; -
kernel/arch/mips64/src/mips64.c
rd81eaf94 r9970a5a 78 78 size_t i; 79 79 for (i = 0; i < init.cnt; i++) { 80 init.tasks[i]. addr = (uintptr_t) bootinfo->tasks[i].addr;80 init.tasks[i].paddr = KA2PA(bootinfo->tasks[i].addr); 81 81 init.tasks[i].size = bootinfo->tasks[i].size; 82 82 str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN, -
kernel/arch/mips64/src/mm/frame.c
rd81eaf94 r9970a5a 115 115 for (i = 0; i < init.cnt; i++) 116 116 if (overlaps(frame << ZERO_PAGE_WIDTH, ZERO_PAGE_SIZE, 117 KA2PA(init.tasks[i].addr), init.tasks[i].size)) {117 init.tasks[i].paddr, init.tasks[i].size)) { 118 118 safe = false; 119 119 break; -
kernel/arch/ppc32/src/drivers/pic.c
rd81eaf94 r9970a5a 34 34 35 35 #include <arch/drivers/pic.h> 36 #include <mm/ page.h>36 #include <mm/km.h> 37 37 #include <byteorder.h> 38 38 #include <bitops.h> … … 42 42 void pic_init(uintptr_t base, size_t size, cir_t *cir, void **cir_arg) 43 43 { 44 pic = (uint32_t *) hw_map(base, size);44 pic = (uint32_t *) km_map(base, size, PAGE_WRITE | PAGE_NOT_CACHEABLE); 45 45 *cir = pic_ack_interrupt; 46 46 *cir_arg = NULL; -
kernel/arch/ppc32/src/ppc32.c
rd81eaf94 r9970a5a 46 46 #include <userspace.h> 47 47 #include <mm/page.h> 48 #include <mm/km.h> 48 49 #include <abi/proc/uarg.h> 49 50 #include <console/console.h> … … 71 72 size_t i; 72 73 for (i = 0; i < init.cnt; i++) { 73 init.tasks[i]. addr = (uintptr_t) bootinfo->taskmap.tasks[i].addr;74 init.tasks[i].paddr = KA2PA(bootinfo->taskmap.tasks[i].addr); 74 75 init.tasks[i].size = bootinfo->taskmap.tasks[i].size; 75 76 str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN, … … 208 209 size_t size = 2 * PAGE_SIZE; 209 210 210 cuda_t *cuda = (cuda_t *) 211 (hw_map(aligned_addr, offset + size) + offset);211 cuda_t *cuda = (cuda_t *) (km_map(aligned_addr, offset + size, 212 PAGE_WRITE | PAGE_NOT_CACHEABLE) + offset); 212 213 213 214 /* Initialize I/O controller */ -
kernel/arch/sparc64/src/drivers/kbd.c
rd81eaf94 r9970a5a 40 40 #include <mm/page.h> 41 41 #include <arch/mm/page.h> 42 #include <mm/km.h> 42 43 #include <typedefs.h> 43 44 #include <align.h> … … 113 114 size_t offset = pa - aligned_addr; 114 115 115 ns16550_t *ns16550 = (ns16550_t *) 116 (hw_map(aligned_addr, offset + size) + offset);116 ns16550_t *ns16550 = (ns16550_t *) (km_map(aligned_addr, offset + size, 117 PAGE_WRITE | PAGE_NOT_CACHEABLE) + offset); 117 118 118 119 ns16550_instance_t *ns16550_instance = ns16550_init(ns16550, inr, cir, cir_arg); -
kernel/arch/sparc64/src/drivers/pci.c
rd81eaf94 r9970a5a 39 39 #include <genarch/ofw/upa.h> 40 40 #include <arch/trap/interrupt.h> 41 #include <mm/ page.h>41 #include <mm/km.h> 42 42 #include <mm/slab.h> 43 43 #include <typedefs.h> … … 109 109 pci->model = PCI_SABRE; 110 110 pci->op = &pci_sabre_ops; 111 pci->reg = (uint64_t *) hw_map(paddr, reg[SABRE_INTERNAL_REG].size); 111 pci->reg = (uint64_t *) km_map(paddr, reg[SABRE_INTERNAL_REG].size, 112 PAGE_WRITE | PAGE_NOT_CACHEABLE); 112 113 113 114 /* … … 156 157 pci->model = PCI_PSYCHO; 157 158 pci->op = &pci_psycho_ops; 158 pci->reg = (uint64_t *) hw_map(paddr, reg[PSYCHO_INTERNAL_REG].size); 159 pci->reg = (uint64_t *) km_map(paddr, reg[PSYCHO_INTERNAL_REG].size, 160 PAGE_WRITE | PAGE_NOT_CACHEABLE); 159 161 160 162 /* -
kernel/arch/sparc64/src/sun4u/sparc64.c
rd81eaf94 r9970a5a 62 62 size_t i; 63 63 for (i = 0; i < init.cnt; i++) { 64 init.tasks[i]. addr = (uintptr_t) bootinfo->taskmap.tasks[i].addr;64 init.tasks[i].paddr = KA2PA(bootinfo->taskmap.tasks[i].addr); 65 65 init.tasks[i].size = bootinfo->taskmap.tasks[i].size; 66 66 str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN, -
kernel/arch/sparc64/src/sun4v/sparc64.c
rd81eaf94 r9970a5a 64 64 size_t i; 65 65 for (i = 0; i < init.cnt; i++) { 66 init.tasks[i]. addr = (uintptr_t) bootinfo->taskmap.tasks[i].addr;66 init.tasks[i].paddr = KA2PA(bootinfo->taskmap.tasks[i].addr); 67 67 init.tasks[i].size = bootinfo->taskmap.tasks[i].size; 68 68 str_cpy(init.tasks[i].name, CONFIG_TASK_NAME_BUFLEN,
Note:
See TracChangeset
for help on using the changeset viewer.
