system/boot: More cleanup and shuffling

* arm efi additions
* cleanup some cpu headers which were oddly
  split between efi and bios_ia32
* Move calculate_cpu_conversion_factor over to
  arch_timer since it is timerish, and x86 only
* Drop some duplicated code from efi start. Move
  hpet init code into efi timer/hpet code

Change-Id: Ia4264a5690ba8c09417b06788febc4f572f111ce
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2259
Reviewed-by: Alex von Gluck IV <[email protected]>
Reviewed-by: Adrien Destugues <[email protected]>
This commit is contained in:
Alexander von Gluck IV
2020-02-22 14:37:45 +00:00
committed by Alex von Gluck IV
parent cc89f2de18
commit d2986cb6d0
11 changed files with 115 additions and 19 deletions
@@ -8,6 +8,8 @@
#include <arch/cpu.h>
// memory layout
#define KERNEL_LOAD_BASE 0x80000000
#define KERNEL_BASE 0x80000000
#define KERNEL_SIZE 0x80000000
#define KERNEL_TOP (KERNEL_BASE + (KERNEL_SIZE - 1))
@@ -9,6 +9,12 @@
# error This file is included from <boot/kernel_args.h> only
#endif
#include <util/FixedWidthPointer.h>
#define _PACKED __attribute__((packed))
// kernel args
typedef struct {
int cpu_type;
@@ -18,9 +24,12 @@ typedef struct {
int machine; // platform specific machine type
// architecture specific
uint32 phys_pgdir;
uint32 vir_pgdir;
uint32 next_pagetable;
} arch_kernel_args;
uint32 phys_pgdir;
uint32 vir_pgdir;
uint32 next_pagetable;
// needed for UEFI, otherwise kernel acpi support can't find ACPI root
FixedWidthPointer<void> acpi_root;
} _PACKED arch_kernel_args;
#endif /* KERNEL_ARCH_ARM_KERNEL_ARGS_H */
@@ -13,7 +13,6 @@
extern "C" {
#endif
extern void cpu_init(void);
void calculate_cpu_conversion_factor(uint8 channel);