Changeset 3e828ea in mainline for kernel/arch/sparc64
- Timestamp:
- 2019-09-23T12:49:29Z (7 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 9be2358
- Parents:
- 9259d20 (diff), 1a4ec93f (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. - git-author:
- Jiri Svoboda <jiri@…> (2019-09-22 12:49:07)
- git-committer:
- Jiri Svoboda <jiri@…> (2019-09-23 12:49:29)
- Location:
- kernel/arch/sparc64
- Files:
-
- 1 added
- 1 deleted
- 7 edited
- 2 moved
-
Makefile.inc (deleted)
-
include/arch/drivers/tty.h (moved) (moved from uspace/lib/draw/font/pcf.h ) (2 diffs)
-
include/arch/mm/sun4u/as.h (modified) (1 diff)
-
include/arch/mm/sun4v/as.h (modified) (1 diff)
-
meson.build (moved) (moved from kernel/arch/mips32/Makefile.inc ) (1 diff)
-
src/console.c (modified) (2 diffs)
-
src/drivers/kbd.c (modified) (3 diffs)
-
src/drivers/tty.c (added)
-
src/mm/sun4u/tlb.c (modified) (1 diff)
-
src/sun4u/sparc64.c (modified) (1 diff)
-
src/sun4v/sparc64.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
kernel/arch/sparc64/include/arch/drivers/tty.h
r9259d20 r3e828ea 1 1 /* 2 * Copyright (c) 201 4 Martin Sucha2 * Copyright (c) 2019 Jakub Jermar 3 3 * All rights reserved. 4 4 * … … 27 27 */ 28 28 29 /** @addtogroup draw29 /** @addtogroup kernel_sparc64 30 30 * @{ 31 31 */ 32 /** 33 * @file 32 /** @file 34 33 */ 35 34 36 #ifndef DRAW_FONT_PBF_H_37 #define DRAW_FONT_PBF_H_35 #ifndef KERN_sparc64_TTY_H_ 36 #define KERN_sparc64_TTY_H_ 38 37 39 #include "../font.h"38 #include <genarch/ofw/ofw_tree.h> 40 39 41 extern errno_t pcf_font_create(font_t **, char *path, uint16_t points);40 extern void tty_init(ofw_tree_node_t *node); 42 41 43 42 #endif -
kernel/arch/sparc64/include/arch/mm/sun4u/as.h
r9259d20 r3e828ea 39 39 40 40 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 1 41 #define KERNEL_SEPARATE_PTL0_ARCH 0 41 42 42 43 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT64_C(0x0000000000000000) -
kernel/arch/sparc64/include/arch/mm/sun4v/as.h
r9259d20 r3e828ea 41 41 42 42 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 1 43 #define KERNEL_SEPARATE_PTL0_ARCH 0 43 44 44 45 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT64_C(0x0000000000000000) -
kernel/arch/sparc64/meson.build
r9259d20 r3e828ea 27 27 # 28 28 29 COMMON_CFLAGS += -msoft-float -mno-abicalls -G 0 -fno-zero-initialized-in-bss -mabi=32 30 AS_PROLOG = .module softfloat; 31 32 BITS = 32 33 34 ## Accepted MACHINEs 35 # 36 37 ifeq ($(MACHINE),msim) 38 ENDIANESS = LE 39 COMMON_CFLAGS += -march=r4000 40 endif 41 ifeq ($(MACHINE),bmalta) 42 ENDIANESS = BE 43 COMMON_CFLAGS += -D__BE__ -march=4kc 44 endif 45 ifeq ($(MACHINE),lmalta) 46 ENDIANESS = LE 47 COMMON_CFLAGS += -march=4kc 29 if PROCESSOR == 'us' or PROCESSOR == 'us3' 30 USARCH = 'sun4u' 31 elif PROCESSOR == 'sun4v' 32 USARCH = 'sun4v' 33 else 34 error('Unknown PROCESSOR: ' + PROCESSOR) 48 35 endif 49 36 50 ARCH_SOURCES = \ 51 arch/$(KARCH)/src/start.S \ 52 arch/$(KARCH)/src/context.S \ 53 arch/$(KARCH)/src/mips32.c \ 54 arch/$(KARCH)/src/asm.S \ 55 arch/$(KARCH)/src/exception.c \ 56 arch/$(KARCH)/src/interrupt.c \ 57 arch/$(KARCH)/src/cache.c \ 58 arch/$(KARCH)/src/debugger.c \ 59 arch/$(KARCH)/src/cpu/cpu.c \ 60 arch/$(KARCH)/src/debug/stacktrace.c \ 61 arch/$(KARCH)/src/debug/stacktrace_asm.S \ 62 arch/$(KARCH)/src/mm/km.c \ 63 arch/$(KARCH)/src/mm/frame.c \ 64 arch/$(KARCH)/src/mm/page.c \ 65 arch/$(KARCH)/src/mm/tlb.c \ 66 arch/$(KARCH)/src/mm/as.c \ 67 arch/$(KARCH)/src/fpu_context.c \ 68 arch/$(KARCH)/src/smc.c \ 69 arch/$(KARCH)/src/smp/smp.c \ 70 arch/$(KARCH)/src/machine_func.c 37 arch_src += files( 38 'src/sparc64.c', 39 'src/cpu' / USARCH / 'cpu.c', 40 'src/debug/stacktrace.c', 41 'src/debug/stacktrace_asm.S', 42 'src/asm.S', 43 'src' / USARCH / 'asm.S', 44 'src/console.c', 45 'src/context.S', 46 'src/fpu_context.c', 47 'src/dummy.S', 48 'src/mm' / USARCH / 'km.c', 49 'src/mm' / USARCH / 'as.c', 50 'src/mm' / USARCH / 'frame.c', 51 'src/mm/page.c', 52 'src/mm' / USARCH / 'tlb.c', 53 'src' / USARCH / 'sparc64.c', 54 'src' / USARCH / 'start.S', 55 'src/proc' / USARCH / 'scheduler.c', 56 'src/proc/thread.c', 57 'src/smc.c', 58 'src/trap' / USARCH / 'mmu.S', 59 'src/trap' / USARCH / 'trap_table.S', 60 'src/trap/trap.c', 61 'src/trap/exception.c', 62 'src/trap/interrupt.c', 63 'src/drivers/tick.c', 64 'src/drivers/kbd.c', 65 'src/drivers/tty.c', 66 'src/drivers/pci.c', 67 'src/trap' / USARCH / 'interrupt.c', 68 ) 71 69 72 ifeq ($(MACHINE),$(filter lmalta bmalta,$(MACHINE))) 73 ARCH_SOURCES += arch/$(KARCH)/src/mach/malta/malta.c 70 if USARCH == 'sun4v' 71 arch_src += files( 72 'src/drivers/niagara.c', 73 'src/sun4v/md.c', 74 ) 74 75 endif 75 76 76 if eq ($(MACHINE),msim)77 ARCH_SOURCES += \78 arch/$(KARCH)/src/mach/msim/msim.c \79 arch/$(KARCH)/src/mach/msim/dorder.c77 if CONFIG_FB 78 arch_src += files( 79 'src/drivers/scr.c', 80 ) 80 81 endif 81 82 82 ARCH_AUTOCHECK_HEADERS = \ 83 arch/$(KARCH)/include/arch/istate_struct.h \ 84 arch/$(KARCH)/include/arch/context_struct.h \ 85 arch/$(KARCH)/include/arch/fpu_context_struct.h 83 if CONFIG_SMP 84 arch_src += files( 85 'src/smp' / USARCH / 'smp.c', 86 'src/smp' / USARCH / 'ipi.c', 87 ) 88 endif 89 90 if CONFIG_TSB 91 arch_src += files( 92 'src/mm' / USARCH / 'tsb.c', 93 ) 94 endif 95 96 97 _check_headers = [ 98 'include/arch/istate_struct.h', 99 'include/arch/context_struct.h', 100 ] 101 102 foreach h : _check_headers 103 arch_src += [ autocheck.process(h) ] 104 endforeach -
kernel/arch/sparc64/src/console.c
r9259d20 r3e828ea 37 37 #include <arch/drivers/scr.h> 38 38 #include <arch/drivers/kbd.h> 39 #include <arch/drivers/tty.h> 39 40 #include <genarch/srln/srln.h> 40 41 #include <console/chardev.h> … … 84 85 kbd_init(keyboard); 85 86 #endif 87 88 #ifdef CONFIG_SUN_TTY 89 ofw_tree_property_t *prop_tty = ofw_tree_getprop(aliases, "ttya"); 90 if (prop_tty && prop_tty->value) { 91 ofw_tree_node_t *tty = ofw_tree_lookup(prop_tty->value); 92 if (tty) 93 tty_init(tty); 94 } 95 #endif 86 96 } 87 97 -
kernel/arch/sparc64/src/drivers/kbd.c
r9259d20 r3e828ea 38 38 #include <console/console.h> 39 39 #include <ddi/irq.h> 40 #include <mm/page.h>41 #include <arch/mm/page.h>42 #include <mm/km.h>43 40 #include <typedefs.h> 44 41 #include <align.h> … … 88 85 } 89 86 90 size_t size = ((ofw_ebus_reg_t *) prop->value)->size;91 92 87 uintptr_t pa = 0; // Prevent -Werror=maybe-uninitialized 93 88 if (!ofw_ebus_apply_ranges(node->parent, … … 109 104 } 110 105 111 ioport8_t *ns16550 = (ioport8_t *) km_map(pa, size, 112 KM_NATURAL_ALIGNMENT, PAGE_WRITE | PAGE_NOT_CACHEABLE); 113 114 ns16550_instance_t *ns16550_instance = ns16550_init(ns16550, 0, inr, cir, 115 cir_arg, NULL); 106 ns16550_instance_t *ns16550_instance = ns16550_init((ioport8_t *) pa, 0, 107 inr, cir, cir_arg, NULL); 116 108 if (ns16550_instance) { 117 109 kbrd_instance_t *kbrd_instance = kbrd_init(); -
kernel/arch/sparc64/src/mm/sun4u/tlb.c
r9259d20 r3e828ea 311 311 t.a = true; 312 312 t.d = true; 313 dtlb_demap(TLB_DEMAP_PAGE, TLB_DEMAP_SECONDARY, 313 dtlb_demap(TLB_DEMAP_PAGE, 314 (as == AS_KERNEL) ? TLB_DEMAP_PRIMARY : TLB_DEMAP_SECONDARY, 314 315 page_16k + index * MMU_PAGE_SIZE); 315 316 dtlb_pte_copy(&t, index, false); -
kernel/arch/sparc64/src/sun4u/sparc64.c
r9259d20 r3e828ea 163 163 { 164 164 (void) interrupts_disable(); 165 switch_to_userspace( (uintptr_t)kernel_uarg->uspace_entry,166 ((uintptr_t) kernel_uarg->uspace_stack)+165 switch_to_userspace(kernel_uarg->uspace_entry, 166 kernel_uarg->uspace_stack + 167 167 kernel_uarg->uspace_stack_size - 168 168 (ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT) + STACK_BIAS), 169 (uintptr_t)kernel_uarg->uspace_uarg);169 kernel_uarg->uspace_uarg); 170 170 171 171 /* Not reached */ -
kernel/arch/sparc64/src/sun4v/sparc64.c
r9259d20 r3e828ea 161 161 { 162 162 (void) interrupts_disable(); 163 switch_to_userspace( (uintptr_t)kernel_uarg->uspace_entry,164 ((uintptr_t) kernel_uarg->uspace_stack)+163 switch_to_userspace(kernel_uarg->uspace_entry, 164 kernel_uarg->uspace_stack + 165 165 kernel_uarg->uspace_stack_size - 166 166 (ALIGN_UP(STACK_ITEM_SIZE, STACK_ALIGNMENT) + STACK_BIAS), 167 (uintptr_t)kernel_uarg->uspace_uarg);167 kernel_uarg->uspace_uarg); 168 168 169 169 /* Not reached */
Note:
See TracChangeset
for help on using the changeset viewer.
