2 ** Copyright 2001-2002, Travis Geiselbrecht. All rights reserved.
3 ** Distributed under the terms of the NewOS License.
5 #ifndef _NEWOS_KERNEL_BOOT_ARCH_I386_STAGE2_H
6 #define _NEWOS_KERNEL_BOOT_ARCH_I386_STAGE2_H
8 #include <boot/stage2_struct.h>
9 #include <newos/compiler.h>
11 #define MAX_BOOT_PTABLES 16
13 #define IDT_LIMIT 0x800
14 #define GDT_LIMIT 0x800
16 struct gdt_idt_descr
{
24 // architecture specific
25 unsigned int system_time_cv_factor
;
27 unsigned int num_pgtables
;
28 addr_t pgtables
[MAX_BOOT_PTABLES
];
33 unsigned int page_hole
;
35 unsigned int apic_time_cv_factor
; // apic ticks per second
40 unsigned int cpu_apic_id
[_MAX_CPUS
];
41 unsigned int cpu_os_id
[_MAX_CPUS
];
42 unsigned int cpu_apic_version
[_MAX_CPUS
];