Changeset 84176f3 in mainline
- Timestamp:
- 2019-04-10T15:04:17Z (6 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 8df0306
- Parents:
- b58728f
- git-author:
- Petr Pavlu <setup@…> (2019-03-31 14:09:57)
- git-committer:
- Jakub Jermář <jakub@…> (2019-04-10 15:04:17)
- Files:
-
- 92 added
- 32 edited
Legend:
- Unmodified
- Added
- Removed
-
.gitignore
rb58728f r84176f3 14 14 /Makefile.config 15 15 /PKG 16 /QEMU_EFI_ARM64.fd 16 17 /common.h 17 18 /config.h … … 24 25 autotool/ 25 26 boot/arch/arm32/_link.ld 27 boot/arch/arm64/_link.ld 26 28 boot/arch/ia64/_link.ld 27 29 boot/arch/mips32/_link.ld … … 49 51 kernel/arch/amd64/_link.ld 50 52 kernel/arch/arm32/_link.ld 53 kernel/arch/arm64/_link.ld 51 54 kernel/arch/ia32/_link.ld 52 55 kernel/arch/ia64/_link.ld … … 361 364 uspace/lib/c/arch/arm32/_link-shlib.ld 362 365 uspace/lib/c/arch/arm32/_link.ld 366 uspace/lib/c/arch/arm64/_link-dlexe.ld 367 uspace/lib/c/arch/arm64/_link-loader.ld 368 uspace/lib/c/arch/arm64/_link-shlib.ld 369 uspace/lib/c/arch/arm64/_link.ld 363 370 uspace/lib/c/arch/ia32/_link-dlexe.ld 364 371 uspace/lib/c/arch/ia32/_link-loader.ld -
HelenOS.config
rb58728f r84176f3 34 34 @ "amd64" AMD64/EM64T 64-bit (PC) 35 35 @ "arm32" ARM 32-bit 36 @ "arm64" ARM 64-bit (AArch64) 36 37 @ "ia32" IA-32 32-bit (PC) 37 38 @ "ia64" IA-64 64-bit … … 65 66 ! [PLATFORM=arm32] MACHINE (choice) 66 67 68 % Machine type 69 @ "virt" QEMU virt 70 ! [PLATFORM=arm64] MACHINE (choice) 71 67 72 % CPU type 68 73 @ "pentium4" Pentium 4 … … 160 165 161 166 % Kernel architecture 167 @ "arm64" 168 ! [PLATFORM=arm64] KARCH (choice) 169 170 % Kernel architecture 162 171 @ "ia32" 163 172 ! [PLATFORM=ia32] KARCH (choice) … … 207 216 208 217 % User space architecture 218 @ "arm64" 219 ! [PLATFORM=arm64] UARCH (choice) 220 221 % User space architecture 209 222 @ "ia32" 210 223 ! [PLATFORM=ia32|PLATFORM=ia32xen] UARCH (choice) … … 252 265 @ "arm32" 253 266 ! [PLATFORM=arm32] BARCH (choice) 267 268 % Boot architecture 269 @ "arm64" 270 ! [PLATFORM=arm64] BARCH (choice) 254 271 255 272 % Boot architecture … … 334 351 335 352 % IOMAP dummy support 336 ! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM= mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_IOMAP_DUMMY (y)353 ! [PLATFORM=abs32le|PLATFORM=arm32|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64|PLATFORM=sparc64] CONFIG_IOMAP_DUMMY (y) 337 354 338 355 % ACPI support … … 340 357 341 358 % Hierarchical page tables support 342 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM= mips32|PLATFORM=ppc32|PLATFORM=riscv64] CONFIG_PAGE_PT (y)359 ! [PLATFORM=abs32le|PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm32|PLATFORM=arm64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=riscv64] CONFIG_PAGE_PT (y) 343 360 344 361 % Page hash table support … … 349 366 350 367 % ASID support 351 ! [PLATFORM= ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y)368 ! [PLATFORM=arm64|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID (y) 352 369 353 370 % ASID FIFO support 354 ! [PLATFORM= ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y)371 ! [PLATFORM=arm64|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_ASID_FIFO (y) 355 372 356 373 % OpenFirmware tree support … … 364 381 365 382 % FPU support 366 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM= ia64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_FPU (y)383 ! [PLATFORM=ia32|PLATFORM=amd64|PLATFORM=arm64|PLATFORM=ia64|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_FPU (y) 367 384 368 385 ## ARMv7 made FPU hardware compulsory … … 377 394 378 395 % Support for SMP 379 ! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM= sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n)396 ! [(PLATFORM=ia32&PROCESSOR!=athlon_xp)|PLATFORM=amd64|PLATFORM=arm64|PLATFORM=sparc64|PLATFORM=ia64|(PLATFORM=mips32&MACHINE=msim)|PLATFORM=abs32le] CONFIG_SMP (y/n) 380 397 381 398 % Debug build … … 442 459 % Input device class 443 460 @ "generic" Keyboard or serial line 444 ! [ PLATFORM=arm32&MACHINE=integratorcp] CONFIG_HID_IN (choice)461 ! [(PLATFORM=arm32&MACHINE=integratorcp)|PLATFORM=arm64] CONFIG_HID_IN (choice) 445 462 446 463 % Input device class … … 458 475 % Output device class 459 476 @ "generic" Monitor or serial line 460 ! [ PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone|MACHINE=raspberrypi)] CONFIG_HID_OUT (choice)477 ! [(PLATFORM=arm32&(MACHINE=gta02|MACHINE=integratorcp|MACHINE=beagleboardxm|MACHINE=beaglebone|MACHINE=raspberrypi))|PLATFORM=arm64] CONFIG_HID_OUT (choice) 461 478 462 479 % Output device class … … 493 510 494 511 % Support for PL011 UART 495 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&PLATFORM=arm32&(MACHINE=integratorcp|MACHINE=raspberrypi)] CONFIG_PL011_UART (y/n) 512 ! [(CONFIG_HID_OUT=generic|CONFIG_HID_OUT=serial)&(PLATFORM=arm32&(MACHINE=integratorcp|MACHINE=raspberrypi))] CONFIG_PL011_UART (y/n) 513 514 % Support for PL011 UART 515 ! [CONFIG_HID_OUT=generic|(PLATFORM=arm64&MACHINE=virt)] CONFIG_PL011_UART (y) 496 516 497 517 % Support for NS16550 controller (kernel console) … … 522 542 ! [PLATFORM=arm32&MACHINE=raspberrypi] CONFIG_BCM2835_MAILBOX (y/n) 523 543 544 % Support for ARM GICv2 545 ! [PLATFORM=arm64&MACHINE=virt] CONFIG_GICV2 (y) 546 524 547 % Support for i8042 controller 525 548 ! [CONFIG_PC_KBD=y] CONFIG_I8042 (y) … … 541 564 542 565 % Serial line input module 543 ! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_PL011_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM= ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)|(PLATFORM=arm32&MACHINE=raspberrypi&CONFIG_PL011_UART=y)|(PLATFORM=ia32&CONFIG_NS16550=y)|(PLATFORM=amd64&CONFIG_NS16550=y)|(PLATFORM=mips32&CONFIG_NS16550=y)] CONFIG_SRLN (y)566 ! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_PL011_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM=arm64&CONFIG_PL011_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)|(PLATFORM=arm32&MACHINE=raspberrypi&CONFIG_PL011_UART=y)|(PLATFORM=ia32&CONFIG_NS16550=y)|(PLATFORM=amd64&CONFIG_NS16550=y)|(PLATFORM=mips32&CONFIG_NS16550=y)] CONFIG_SRLN (y) 544 567 545 568 % EGA support … … 588 611 % Dynamic linking support 589 612 ! [PLATFORM=amd64|PLATFORM=arm32|PLATFORM=ia32|PLATFORM=ppc32|PLATFORM=sparc64] CONFIG_RTLD (y/n) 590 ! [PLATFORM=abs32le|PLATFORM= ia64|PLATFORM=mips32|PLATFORM=riscv64] CONFIG_RTLD (n)613 ! [PLATFORM=abs32le|PLATFORM=arm64|PLATFORM=ia64|PLATFORM=mips32|PLATFORM=riscv64] CONFIG_RTLD (n) 591 614 592 615 % Build shared libraries … … 651 674 ! [PLATFORM=ia32|PLATFORM=amd64] GRUB_ARCH (choice) 652 675 676 % GRUB boot loader architecture 677 @ "efi" GRUB for UEFI 678 ! [PLATFORM=arm64&MACHINE=virt] GRUB_ARCH (choice) 679 653 680 % uImage OS type 654 681 @ "2" NetBSD stage 2 boot loader -
abi/doc/doxygroups.h
rb58728f r84176f3 26 26 /** 27 27 * @defgroup abi_arm32 arm32 28 * @ingroup abi 29 */ 30 31 /** 32 * @defgroup abi_arm64 arm64 28 33 * @ingroup abi 29 34 */ -
abi/include/abi/elf.h
rb58728f r84176f3 77 77 EM_IA_64 = 50, /* IA-64 */ 78 78 EM_X86_64 = 62, /* AMD64/EMT64 */ 79 EM_AARCH64 = 183, /* ARM 64-bit architecture */ 79 80 EM_RISCV = 243, /* RISC-V */ 80 81 }; … … 515 516 typedef struct elf32_rel elf_rel_t; 516 517 typedef struct elf32_rela elf_rela_t; 518 #define ELF_R_TYPE(i) ELF32_R_TYPE(i) 517 519 #endif 518 520 … … 526 528 typedef struct elf64_rel elf_rel_t; 527 529 typedef struct elf64_rela elf_rela_t; 530 #define ELF_R_TYPE(i) ELF64_R_TYPE(i) 528 531 #endif 529 532 -
boot/Makefile.build
rb58728f r84176f3 37 37 38 38 AFLAGS = --fatal-warnings 39 LDFLAGS = -Wl,--fatal-warnings,--warn-common 39 LDFLAGS = -Wl,--fatal-warnings,--warn-common $(EXTRA_LDFLAGS) 40 40 41 41 COMMON_CFLAGS = $(INCLUDES) -O$(OPTIMIZATION) -imacros $(CONFIG_HEADER) \ -
boot/Makefile.grub
rb58728f r84176f3 64 64 endif 65 65 66 ifeq ($(GRUB_LOADER),multiboot) 66 67 for module in $(COMPONENTS) ; do \ 67 68 cp "$$module" $(BOOT)/ ; \ 68 69 done 70 endif 71 ifeq ($(GRUB_LOADER),chainloader) 72 cp "$(BOOT_OUTPUT)" $(BOOT)/ 73 endif 69 74 70 75 echo "set default=0" > $(BOOT_CONFIG) … … 83 88 84 89 echo "menuentry 'HelenOS $(RELEASE)' --class helenos --class os {" >> $(BOOT_CONFIG) 90 ifeq ($(GRUB_LOADER),multiboot) 85 91 for module in $(MODULES) ; do \ 86 92 echo " echo 'Loading $$module'" >> $(BOOT_CONFIG) ; \ … … 91 97 fi \ 92 98 done 99 endif 100 ifeq ($(GRUB_LOADER),chainloader) 101 echo " echo 'Loading $(BOOT_OUTPUT)'" >> $(BOOT_CONFIG) 102 echo " chainloader /boot/$(BOOT_OUTPUT)" >> $(BOOT_CONFIG) 103 echo " boot" >> $(BOOT_CONFIG) 104 endif 93 105 echo "}" >> $(BOOT_CONFIG) 94 106 -
boot/arch/amd64/Makefile.inc
rb58728f r84176f3 74 74 BUILD = Makefile.empty 75 75 POSTBUILD = Makefile.grub 76 GRUB_LOADER = multiboot -
boot/doc/doxygroups.h
rb58728f r84176f3 11 11 * @ingroup boot 12 12 */ 13 14 /** @addtogroup boot_arm64 arm64 15 * @ingroup boot 16 */ -
boot/genarch/include/genarch/efi.h
rb58728f r84176f3 32 32 #include <arch/types.h> 33 33 34 #define EFI_SUCCESS 0 35 #define EFI_ERROR(code) (((sysarg_t) 1 << (sizeof(sysarg_t) * 8 - 1)) | (code)) 36 #define EFI_LOAD_ERROR EFI_ERROR(1) 37 #define EFI_UNSUPPORTED EFI_ERROR(3) 38 #define EFI_BUFFER_TOO_SMALL EFI_ERROR(5) 39 40 typedef uint64_t efi_status_t; 41 34 42 typedef struct { 35 43 uint64_t signature; … … 56 64 } efi_guid_t; 57 65 58 typedef struct { 59 efi_guid_t guid; 60 void *table; 61 } efi_configuration_table_t; 62 63 typedef struct { 64 efi_table_header_t hdr; 65 char *fw_vendor; 66 uint32_t fw_revision; 67 void *cons_in_handle; 68 void *cons_in; 69 void *cons_out_handle; 70 void *cons_out; 71 void *cons_err_handle; 72 void *cons_err; 73 void *runtime_services; 74 void *boot_services; 75 sysarg_t conf_table_entries; 76 efi_configuration_table_t *conf_table; 77 } efi_system_table_t; 66 typedef enum { 67 EFI_ALLOCATE_ANY_PAGES, 68 EFI_ALLOCATE_MAX_ADDRESS, 69 EFI_ALLOCATE_ADDRESS 70 } efi_allocate_type_t; 78 71 79 72 typedef enum { … … 91 84 EFI_MEMORY_MAPPED_IO, 92 85 EFI_MEMORY_MAPPED_IO_PORT_SPACE, 93 EFI_PAL_CODE 86 EFI_PAL_CODE, 87 EFI_PERSISTENT_MEMORY 94 88 } efi_memory_type_t; 89 90 #define EFI_MEMORY_UC UINT64_C(0x0000000000000001) 91 #define EFI_MEMORY_WC UINT64_C(0x0000000000000002) 92 #define EFI_MEMORY_WT UINT64_C(0x0000000000000004) 93 #define EFI_MEMORY_WB UINT64_C(0x0000000000000008) 94 #define EFI_MEMORY_UCE UINT64_C(0x0000000000000010) 95 #define EFI_MEMORY_WP UINT64_C(0x0000000000001000) 96 #define EFI_MEMORY_RP UINT64_C(0x0000000000002000) 97 #define EFI_MEMORY_XP UINT64_C(0x0000000000004000) 98 #define EFI_MEMORY_NV UINT64_C(0x0000000000008000) 99 #define EFI_MEMORY_MORE_RELIABLE UINT64_C(0x0000000000010000) 100 #define EFI_MEMORY_RO UINT64_C(0x0000000000020000) 101 #define EFI_MEMORY_RUNTIME UINT64_C(0x8000000000000000) 95 102 96 103 typedef struct { … … 102 109 } efi_v1_memdesc_t; 103 110 111 typedef struct { 112 efi_guid_t guid; 113 void *table; 114 } efi_configuration_table_t; 115 116 typedef struct efi_simple_text_output_protocol { 117 void *reset; 118 efi_status_t (*output_string)(struct efi_simple_text_output_protocol *, 119 int16_t *); 120 void *test_string; 121 void *query_mode; 122 void *set_mode; 123 void *set_attribute; 124 void *clear_screen; 125 void *set_cursor_position; 126 void *enable_cursor; 127 void *mode; 128 } efi_simple_text_output_protocol_t; 129 130 typedef struct { 131 efi_table_header_t hdr; 132 void *raise_TPL; 133 void *restore_TPL; 134 efi_status_t (*allocate_pages)(efi_allocate_type_t, efi_memory_type_t, 135 sysarg_t, uint64_t *); 136 efi_status_t (*free_pages)(uint64_t, sysarg_t); 137 efi_status_t (*get_memory_map)(sysarg_t *, efi_v1_memdesc_t *, 138 sysarg_t *, sysarg_t *, uint32_t *); 139 efi_status_t (*allocate_pool)(efi_memory_type_t, sysarg_t, void **); 140 efi_status_t (*free_pool)(void *); 141 void *create_event; 142 void *set_timer; 143 void *wait_for_event; 144 void *signal_event; 145 void *close_event; 146 void *check_event; 147 void *install_protocol_interface; 148 void *reinstall_protocol_interface; 149 void *uninstall_protocol_interface; 150 void *handle_protocol; 151 void *reserved; 152 void *register_protocol_notify; 153 void *locate_handle; 154 void *locate_device_path; 155 void *install_configuration_table; 156 void *load_image; 157 void *start_image; 158 void *exit; 159 void *unload_image; 160 efi_status_t (*exit_boot_services)(void *, sysarg_t); 161 void *get_next_monotonic_count; 162 void *stall; 163 void *set_watchdog_timer; 164 void *connect_controller; 165 void *disconnect_controller; 166 void *open_protocol; 167 void *close_protocol; 168 void *open_protocol_information; 169 void *protocols_per_handle; 170 void *locate_handle_buffer; 171 void *locate_protocol; 172 void *install_multiple_protocol_interfaces; 173 void *uninstall_multiple_protocol_intefaces; 174 void *calculate_crc32; 175 void *copy_mem; 176 void *set_mem; 177 void *create_event_ex; 178 } efi_boot_services_t; 179 180 typedef struct { 181 efi_table_header_t hdr; 182 char *fw_vendor; 183 uint32_t fw_revision; 184 void *cons_in_handle; 185 void *cons_in; 186 void *cons_out_handle; 187 efi_simple_text_output_protocol_t *cons_out; 188 void *cons_err_handle; 189 efi_simple_text_output_protocol_t *cons_err; 190 void *runtime_services; 191 efi_boot_services_t *boot_services; 192 sysarg_t conf_table_entries; 193 efi_configuration_table_t *conf_table; 194 } efi_system_table_t; 195 104 196 #define EFI_PAGE_SIZE 4096 105 197 106 198 extern void *efi_vendor_table_find(efi_system_table_t *, efi_guid_t); 199 extern efi_status_t efi_get_memory_map(efi_system_table_t *, sysarg_t *, 200 efi_v1_memdesc_t **, sysarg_t *, sysarg_t *, uint32_t *); 107 201 108 202 #endif -
boot/genarch/src/efi.c
rb58728f r84176f3 42 42 return NULL; 43 43 } 44 45 efi_status_t efi_get_memory_map(efi_system_table_t *st, 46 sysarg_t *memory_map_size, efi_v1_memdesc_t **memory_map, sysarg_t *map_key, 47 sysarg_t *descriptor_size, uint32_t *descriptor_version) 48 { 49 efi_status_t status; 50 51 *memory_map_size = 8 * sizeof(**memory_map); 52 53 do { 54 /* Allocate space for the memory map. */ 55 status = st->boot_services->allocate_pool(EFI_LOADER_DATA, 56 *memory_map_size, (void **) memory_map); 57 if (status != EFI_SUCCESS) 58 return status; 59 60 /* Try to obtain the map. */ 61 status = st->boot_services->get_memory_map(memory_map_size, 62 *memory_map, map_key, descriptor_size, descriptor_version); 63 if (status == EFI_SUCCESS) 64 return status; 65 66 /* An error occurred, release the allocated memory. */ 67 st->boot_services->free_pool(*memory_map); 68 } while (status == EFI_BUFFER_TOO_SMALL); 69 70 return status; 71 } -
boot/generic/include/align.h
rb58728f r84176f3 49 49 #define ALIGN_UP(s, a) (((s) + ((a) - 1)) & ~((a) - 1)) 50 50 51 /** Check alignment. 52 * 53 * @param s Address or size to be checked for alignment. 54 * @param a Size of alignment, must be a power of 2. 55 */ 56 #define IS_ALIGNED(s, a) (ALIGN_UP((s), (a)) == (s)) 57 51 58 #endif 52 59 -
contrib/qemu/build-from-scratch.sh
rb58728f r84176f3 106 106 echo "==== Configuring QEMU ====" 107 107 108 ./configure --target-list=i386-softmmu,x86_64-softmmu,arm-softmmu, ppc-softmmu,sparc64-softmmu,mips-softmmu,mipsel-softmmu --audio-drv-list=pa108 ./configure --target-list=i386-softmmu,x86_64-softmmu,arm-softmmu,aarch64-softmmu,ppc-softmmu,sparc64-softmmu,mips-softmmu,mipsel-softmmu --audio-drv-list=pa 109 109 110 110 echo "==== Building QEMU ====" -
doxygen/doxygen.cfg.diff
rb58728f r84176f3 24 24 25 25 -ENABLED_SECTIONS = 26 +ENABLED_SECTIONS = abs32le amd64 arm32 ia32 ia64 mips32 ppc32 riscv64 sparc6426 +ENABLED_SECTIONS = abs32le amd64 arm32 arm64 ia32 ia64 mips32 ppc32 riscv64 sparc64 27 27 28 28 # The MAX_INITIALIZER_LINES tag determines the maximum number of lines that the -
kernel/arch/abs32le/include/arch/mm/as.h
rb58728f r84176f3 37 37 38 38 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 0 39 #define KERNEL_SEPARATE_PTL0_ARCH 0 39 40 40 41 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT32_C(0x80000000) -
kernel/arch/amd64/include/arch/mm/as.h
rb58728f r84176f3 40 40 41 41 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 0 42 #define KERNEL_SEPARATE_PTL0_ARCH 0 42 43 43 44 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT64_C(0xffff800000000000) -
kernel/arch/arm32/include/arch/mm/as.h
rb58728f r84176f3 38 38 39 39 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 0 40 #define KERNEL_SEPARATE_PTL0_ARCH 0 40 41 41 42 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT32_C(0x80000000) -
kernel/arch/ia32/include/arch/mm/as.h
rb58728f r84176f3 37 37 38 38 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 0 39 #define KERNEL_SEPARATE_PTL0_ARCH 0 39 40 40 41 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT32_C(0x80000000) -
kernel/arch/ia64/include/arch/mm/as.h
rb58728f r84176f3 37 37 38 38 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 0 39 #define KERNEL_SEPARATE_PTL0_ARCH 0 39 40 40 41 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT64_C(0xe000000000000000) -
kernel/arch/mips32/include/arch/mm/as.h
rb58728f r84176f3 37 37 38 38 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 0 39 #define KERNEL_SEPARATE_PTL0_ARCH 0 39 40 40 41 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT32_C(0x80000000) -
kernel/arch/ppc32/include/arch/mm/as.h
rb58728f r84176f3 39 39 40 40 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 0 41 #define KERNEL_SEPARATE_PTL0_ARCH 0 41 42 42 43 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT32_C(0x80000000) -
kernel/arch/riscv64/include/arch/mm/as.h
rb58728f r84176f3 40 40 41 41 #define KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 0 42 #define KERNEL_SEPARATE_PTL0_ARCH 0 42 43 43 44 #define KERNEL_ADDRESS_SPACE_START_ARCH UINT64_C(0xffff800000000000) -
kernel/arch/sparc64/include/arch/mm/sun4u/as.h
rb58728f r84176f3 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
rb58728f r84176f3 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/doc/doxygroups.h
rb58728f r84176f3 47 47 48 48 /** 49 * @cond arm64 50 * @defgroup kernel_arm64_proc arm64 51 * @ingroup proc 52 * @endcond 53 */ 54 55 /** 49 56 * @cond ia32 50 57 * @defgroup kernel_ia32_proc ia32 … … 123 130 * @cond arm32 124 131 * @defgroup kernel_arm32_mm arm32 132 * @ingroup mm 133 * @endcond 134 */ 135 136 /** 137 * @cond arm64 138 * @defgroup kernel_arm64_mm arm64 125 139 * @ingroup mm 126 140 * @endcond … … 209 223 210 224 /** 225 * @cond arm64 226 * @defgroup kernel_arm64_ddi arm64 227 * @ingroup ddi 228 * @endcond 229 */ 230 231 /** 211 232 * @cond ia32 212 233 * @defgroup kernel_ia32_ddi ia32 … … 281 302 282 303 /** 304 * @cond arm64 305 * @defgroup kernel_arm64_debug arm64 306 * @ingroup debug 307 * @endcond 308 */ 309 310 /** 283 311 * @cond ia32 284 312 * @defgroup kernel_amd64_debug ia32/amd64 … … 352 380 353 381 /** 382 * @cond arm64 383 * @defgroup kernel_arm64_interrupt arm64 384 * @ingroup interrupt 385 * @endcond 386 */ 387 388 /** 354 389 * @cond ia32 355 390 * @defgroup kernel_ia32_interrupt ia32 … … 429 464 430 465 /** 466 * @cond arm64 467 * @defgroup kernel_arm64 arm64 468 * @ingroup others 469 * @endcond 470 */ 471 472 /** 431 473 * @cond ia32 432 474 * @defgroup kernel_ia32 ia32 -
kernel/genarch/Makefile.inc
rb58728f r84176f3 127 127 endif 128 128 129 ifeq ($(CONFIG_GICV2), y) 130 GENARCH_SOURCES += \ 131 genarch/src/drivers/gicv2/gicv2.c 132 endif 133 129 134 ifeq ($(CONFIG_VIA_CUDA),y) 130 135 GENARCH_SOURCES += \ -
kernel/genarch/include/genarch/drivers/pl011/pl011.h
rb58728f r84176f3 38 38 #define KERN_PL011_H_ 39 39 40 #include <ddi/ddi.h> 40 41 #include <ddi/irq.h> 41 42 #include <console/chardev.h> … … 150 151 outdev_t outdev; 151 152 irq_t irq; 153 parea_t parea; 152 154 } pl011_uart_t; 153 155 -
kernel/genarch/src/drivers/pl011/pl011.c
rb58728f r84176f3 60 60 pl011_uart_t *uart = dev->data; 61 61 62 if (!ascii_check(ch)) { 62 /* If the userspace owns the console, do not output anything. */ 63 if (uart->parea.mapped && !console_override) 64 return; 65 66 if (!ascii_check(ch)) 63 67 pl011_uart_sendb(uart, U_SPECIAL); 64 }else {68 else { 65 69 if (ch == '\n') 66 70 pl011_uart_sendb(uart, (uint8_t) '\r'); … … 100 104 assert(uart); 101 105 uart->regs = (void *)km_map(addr, sizeof(pl011_uart_regs_t), 102 KM_NATURAL_ALIGNMENT, PAGE_ NOT_CACHEABLE);106 KM_NATURAL_ALIGNMENT, PAGE_WRITE | PAGE_NOT_CACHEABLE); 103 107 assert(uart->regs); 104 108 … … 131 135 uart->irq.instance = uart; 132 136 137 ddi_parea_init(&uart->parea); 138 uart->parea.pbase = addr; 139 uart->parea.frames = 1; 140 uart->parea.unpriv = false; 141 uart->parea.mapped = false; 142 ddi_parea_register(&uart->parea); 143 133 144 return true; 134 145 } -
kernel/genarch/src/mm/as_pt.c
rb58728f r84176f3 76 76 PA2KA(frame_alloc(PTL0_FRAMES, FRAME_LOWMEM, PTL0_SIZE - 1)); 77 77 78 if (flags & FLAG_AS_KERNEL)79 memsetb(dst_ptl0, PTL0_SIZE, 0); 80 else{78 memsetb(dst_ptl0, PTL0_SIZE, 0); 79 80 if (!KERNEL_SEPARATE_PTL0 && !(flags & FLAG_AS_KERNEL)) { 81 81 /* 82 82 * Copy the kernel address space portion to new PTL0. … … 93 93 &dst_ptl0[PTL0_INDEX(KERNEL_ADDRESS_SPACE_START)]; 94 94 95 memsetb(dst_ptl0, PTL0_SIZE, 0);96 95 memcpy((void *) dst, (void *) src, 97 96 PTL0_SIZE - (src - (uintptr_t) src_ptl0)); -
kernel/generic/include/mm/as.h
rb58728f r84176f3 59 59 #define KERNEL_ADDRESS_SPACE_SHADOWED KERNEL_ADDRESS_SPACE_SHADOWED_ARCH 60 60 61 /** 62 * Defined to be true if user address space and kernel address space do not 63 * share the same page table. 64 */ 65 #define KERNEL_SEPARATE_PTL0 KERNEL_SEPARATE_PTL0_ARCH 66 61 67 #define KERNEL_ADDRESS_SPACE_START KERNEL_ADDRESS_SPACE_START_ARCH 62 68 #define KERNEL_ADDRESS_SPACE_END KERNEL_ADDRESS_SPACE_END_ARCH -
tools/autotool.py
rb58728f r84176f3 201 201 target = "arm-helenos" 202 202 203 if (config['PLATFORM'] == "arm64"): 204 platform = config['PLATFORM'] 205 target = "aarch64-helenos" 206 203 207 if (config['PLATFORM'] == "ia32"): 204 208 platform = config['PLATFORM'] … … 633 637 634 638 # Platform-specific utilities 635 if ( (config['BARCH'] == "amd64") or (config['BARCH'] == "ia32") or (config['BARCH'] == "ppc32") or (config['BARCH'] == "sparc64")):639 if (config['BARCH'] in ('amd64', 'arm64', 'ia32', 'ppc32', 'sparc64')): 636 640 common['GENISOIMAGE'] = check_app_alternatives(["genisoimage", "mkisofs", "xorriso"], ["--version"], "ISO 9660 creation utility", "usually part of genisoimage") 637 641 if common['GENISOIMAGE'] == 'xorriso': -
tools/ew.py
rb58728f r84176f3 94 94 elif platform == 'arm32': 95 95 return 'system-arm', '-M integratorcp' 96 elif platform == 'arm64': 97 # Check that ROM image is present. Provide the user with 98 # appropriate steps to fix this problem. 99 if not os.path.exists('QEMU_EFI_ARM64.fd'): 100 sys.stderr.write('Could not find ' + 101 '\'QEMU_EFI_ARM64.fd\' which is expected to ' + 102 'contain EDK2 firmware image.\n') 103 sys.stderr.write('Pre-built image can be obtained by ' + 104 'running the following command:\n') 105 sys.stderr.write('$ wget http://snapshots.linaro.org/' + 106 'components/kernel/leg-virt-tianocore-edk2-' + 107 'upstream/latest/QEMU-AARCH64/RELEASE_GCC49/' + 108 'QEMU_EFI.fd -O QEMU_EFI_ARM64.fd\n') 109 raise Exception 110 return 'system-aarch64', \ 111 '-M virt -cpu cortex-a57 -m 1024 -bios QEMU_EFI_ARM64.fd' 96 112 elif platform == 'ia32': 97 113 return 'system-i386', pc_options(32) … … 208 224 cmdline += ' ' + options 209 225 210 cmdline += qemu_bd_options()211 226 if (not 'hdd' in cfg.keys() or cfg['hdd']): 227 cmdline += qemu_bd_options() 212 228 if (not 'net' in cfg.keys()) or cfg['net']: 213 229 cmdline += qemu_net_options() … … 234 250 if cfg['image'] == 'image.iso': 235 251 cmdline += ' -boot d -cdrom image.iso' 252 elif cfg['image'] == 'image.iso@arm64': 253 # Define image.iso cdrom backend. 254 cmdline += ' -drive if=none,file=image.iso,id=cdrom,media=cdrom' 255 # Define scsi bus. 256 cmdline += ' -device virtio-scsi-device' 257 # Define cdrom frontend connected to this scsi bus. 258 cmdline += ' -device scsi-cd,drive=cdrom' 236 259 elif cfg['image'] == 'image.boot': 237 260 cmdline += ' -kernel image.boot' … … 276 299 'xhci' : False, 277 300 'tablet' : False 301 } 302 }, 303 'arm64' : { 304 'virt' : { 305 'run' : qemu_run, 306 'image' : 'image.iso@arm64', 307 'audio' : False, 308 'console' : True, 309 'hdd' : False, 310 'net' : False, 311 'tablet' : False, 312 'usb' : False, 313 'xhci' : False 278 314 } 279 315 }, -
uspace/lib/c/doc/doxygroups.h
rb58728f r84176f3 17 17 /** 18 18 * @addtogroup libcarm32 arm32 19 * @ingroup libc 20 */ 21 22 /** 23 * @addtogroup libcarm64 arm64 19 24 * @ingroup libc 20 25 */
Note:
See TracChangeset
for help on using the changeset viewer.