Cleanups (mainly variable types).

git-svn-id: file:///srv/svn/repos/haiku/trunk/current@2607 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Axel Dörfler 2003-01-30 21:25:53 +00:00
parent f9d7cb3acc
commit 81afd95226

View File

@ -37,24 +37,24 @@ static const boot_entry *bootdir = (boot_entry*)BOOTDIR_ADDR;
static kernel_args *ka = (kernel_args *)0x20000; static kernel_args *ka = (kernel_args *)0x20000;
// needed for message // needed for message
static unsigned short *kScreenBase = (unsigned short*) 0xb8000; static uint16 *kScreenBase = (unsigned short*) 0xb8000;
static unsigned screenOffset = 0; static uint32 screenOffset = 0;
unsigned int cv_factor = 0; unsigned int cv_factor = 0;
// size of bootdir in pages // size of bootdir in pages
static unsigned int bootdir_pages = 0; static uint32 bootdir_pages = 0;
// working pagedir and pagetable // working pagedir and pagetable
static unsigned int *pgdir = 0; static uint32 *pgdir = 0;
static unsigned int *pgtable = 0; static uint32 *pgtable = 0;
// function decls for this module // function decls for this module
static void calculate_cpu_conversion_factor(void); static void calculate_cpu_conversion_factor(void);
static void load_elf_image(void *data, unsigned int *next_paddr, static void load_elf_image(void *data, uint32 *next_paddr, addr_range *ar0,
addr_range *ar0, addr_range *ar1, unsigned int *start_addr, addr_range *dynamic_section); addr_range *ar1, uint32 *start_addr, addr_range *dynamic_section);
static int mmu_init(kernel_args *ka, unsigned int *next_paddr); static int mmu_init(kernel_args *ka, uint32 *next_paddr);
static void mmu_map_page(unsigned int vaddr, unsigned int paddr); static void mmu_map_page(uint32 vaddr, uint32 paddr);
static int check_cpu(void); static int check_cpu(void);
@ -67,14 +67,14 @@ static int check_cpu(void);
*/ */
void void
_start(unsigned int mem, int in_vesa, unsigned int vesa_ptr) _start(uint32 mem, int in_vesa, uint32 vesa_ptr)
{ {
unsigned int *idt; uint32 *idt;
segment_descriptor *gdt; segment_descriptor *gdt;
unsigned int next_vaddr; uint32 next_vaddr;
unsigned int next_paddr; uint32 next_paddr;
unsigned int i; uint32 i;
unsigned int kernel_entry; uint32 kernel_entry;
asm("cld"); // Ain't nothing but a GCC thang. asm("cld"); // Ain't nothing but a GCC thang.
asm("fninit"); // initialize floating point unit asm("fninit"); // initialize floating point unit
@ -111,7 +111,7 @@ _start(unsigned int mem, int in_vesa, unsigned int vesa_ptr)
MESSAGE(("bootdir is ", bootdir_pages, " pages long\n")); MESSAGE(("bootdir is ", bootdir_pages, " pages long\n"));
} }
ka->bootdir_addr.start = (unsigned long)bootdir; ka->bootdir_addr.start = (uint32)bootdir;
ka->bootdir_addr.size = bootdir_pages * PAGE_SIZE; ka->bootdir_addr.size = bootdir_pages * PAGE_SIZE;
next_paddr = BOOTDIR_ADDR + bootdir_pages * PAGE_SIZE; next_paddr = BOOTDIR_ADDR + bootdir_pages * PAGE_SIZE;
@ -156,11 +156,11 @@ _start(unsigned int mem, int in_vesa, unsigned int vesa_ptr)
struct gdt_idt_descr idt_descr; struct gdt_idt_descr idt_descr;
// find a new idt // find a new idt
idt = (unsigned int *)next_paddr; idt = (uint32 *)next_paddr;
ka->arch_args.phys_idt = (unsigned int)idt; ka->arch_args.phys_idt = (uint32)idt;
next_paddr += PAGE_SIZE; next_paddr += PAGE_SIZE;
MESSAGE(("idt at ", (unsigned int)idt, "\n")); MESSAGE(("idt at ", (uint32)idt, "\n"));
// clear it out // clear it out
for (i = 0; i < IDT_LIMIT / 4; i++) { for (i = 0; i < IDT_LIMIT / 4; i++) {
@ -168,13 +168,13 @@ _start(unsigned int mem, int in_vesa, unsigned int vesa_ptr)
} }
// map the idt into virtual space // map the idt into virtual space
mmu_map_page(next_vaddr, (unsigned int)idt); mmu_map_page(next_vaddr, (uint32)idt);
ka->arch_args.vir_idt = (unsigned int)next_vaddr; ka->arch_args.vir_idt = (uint32)next_vaddr;
next_vaddr += PAGE_SIZE; next_vaddr += PAGE_SIZE;
// load the idt // load the idt
idt_descr.a = IDT_LIMIT - 1; idt_descr.a = IDT_LIMIT - 1;
idt_descr.b = (unsigned int *)ka->arch_args.vir_idt; idt_descr.b = (uint32 *)ka->arch_args.vir_idt;
asm("lidt %0;" asm("lidt %0;"
: : "m" (idt_descr)); : : "m" (idt_descr));
@ -188,10 +188,10 @@ _start(unsigned int mem, int in_vesa, unsigned int vesa_ptr)
// find a new gdt // find a new gdt
gdt = (segment_descriptor *)next_paddr; gdt = (segment_descriptor *)next_paddr;
ka->arch_args.phys_gdt = (unsigned int)gdt; ka->arch_args.phys_gdt = (uint32)gdt;
next_paddr += PAGE_SIZE; next_paddr += PAGE_SIZE;
MESSAGE(("gdt at ", (unsigned int)gdt, "\n")); MESSAGE(("gdt at ", (uint32)gdt, "\n"));
// put standard segment descriptors in it // put standard segment descriptors in it
clear_segment_descriptor(&gdt[0]); clear_segment_descriptor(&gdt[0]);
@ -209,13 +209,13 @@ _start(unsigned int mem, int in_vesa, unsigned int vesa_ptr)
// to contain the TSS descriptors, and for TLS (one for every CPU) // to contain the TSS descriptors, and for TLS (one for every CPU)
// map the gdt into virtual space // map the gdt into virtual space
mmu_map_page(next_vaddr, (unsigned int)gdt); mmu_map_page(next_vaddr, (uint32)gdt);
ka->arch_args.vir_gdt = (unsigned int)next_vaddr; ka->arch_args.vir_gdt = (uint32)next_vaddr;
next_vaddr += PAGE_SIZE; next_vaddr += PAGE_SIZE;
// load the GDT // load the GDT
gdt_descr.a = GDT_LIMIT - 1; gdt_descr.a = GDT_LIMIT - 1;
gdt_descr.b = (unsigned int *)ka->arch_args.vir_gdt; gdt_descr.b = (uint32 *)ka->arch_args.vir_gdt;
asm("lgdt %0;" asm("lgdt %0;"
: : "m" (gdt_descr)); : : "m" (gdt_descr));
@ -227,10 +227,10 @@ _start(unsigned int mem, int in_vesa, unsigned int vesa_ptr)
// this enables a mmu trick where the 4 MB region that this pgdir entry // this enables a mmu trick where the 4 MB region that this pgdir entry
// represents now maps the 4MB of potential pagetables that the pgdir // represents now maps the 4MB of potential pagetables that the pgdir
// points to. Thrown away later in VM bringup, but useful for now. // points to. Thrown away later in VM bringup, but useful for now.
pgdir[1023] = (unsigned int)pgdir | DEFAULT_PAGE_FLAGS; pgdir[1023] = (uint32)pgdir | DEFAULT_PAGE_FLAGS;
// also map it on the next vpage // also map it on the next vpage
mmu_map_page(next_vaddr, (unsigned int)pgdir); mmu_map_page(next_vaddr, (uint32)pgdir);
ka->arch_args.vir_pgdir = next_vaddr; ka->arch_args.vir_pgdir = next_vaddr;
next_vaddr += PAGE_SIZE; next_vaddr += PAGE_SIZE;
@ -286,7 +286,8 @@ _start(unsigned int mem, int in_vesa, unsigned int vesa_ptr)
static void static void
load_elf_image(void *data, unsigned int *next_paddr, addr_range *ar0, addr_range *ar1, unsigned int *start_addr, addr_range *dynamic_section) load_elf_image(void *data, uint32 *next_paddr, addr_range *ar0, addr_range *ar1,
uint32 *start_addr, addr_range *dynamic_section)
{ {
struct Elf32_Ehdr *imageHeader = (struct Elf32_Ehdr*) data; struct Elf32_Ehdr *imageHeader = (struct Elf32_Ehdr*) data;
struct Elf32_Phdr *segments = (struct Elf32_Phdr*)(imageHeader->e_phoff + (unsigned) imageHeader); struct Elf32_Phdr *segments = (struct Elf32_Phdr*)(imageHeader->e_phoff + (unsigned) imageHeader);
@ -299,7 +300,7 @@ load_elf_image(void *data, unsigned int *next_paddr, addr_range *ar0, addr_range
for (segmentIndex = 0; segmentIndex < imageHeader->e_phnum; segmentIndex++) { for (segmentIndex = 0; segmentIndex < imageHeader->e_phnum; segmentIndex++) {
struct Elf32_Phdr *segment = &segments[segmentIndex]; struct Elf32_Phdr *segment = &segments[segmentIndex];
unsigned segmentOffset; uint32 segmentOffset;
switch (segment->p_type) { switch (segment->p_type) {
case PT_LOAD: case PT_LOAD:
@ -365,40 +366,40 @@ load_elf_image(void *data, unsigned int *next_paddr, addr_range *ar0, addr_range
*/ */
static int static int
mmu_init(kernel_args *ka, unsigned int *next_paddr) mmu_init(kernel_args *ka, uint32 *next_paddr)
{ {
int i; int i;
// allocate a new pgdir // allocate a new pgdir
pgdir = (unsigned int *)*next_paddr; pgdir = (uint32 *)*next_paddr;
(*next_paddr) += PAGE_SIZE; (*next_paddr) += PAGE_SIZE;
ka->arch_args.phys_pgdir = (unsigned int)pgdir; ka->arch_args.phys_pgdir = (uint32)pgdir;
// clear out the pgdir // clear out the pgdir
for (i = 0; i < 1024; i++) for (i = 0; i < 1024; i++)
pgdir[i] = 0; pgdir[i] = 0;
// make a pagetable at this random spot // make a pagetable at this random spot
pgtable = (unsigned int *)0x11000; pgtable = (uint32 *)0x11000;
for (i = 0; i < 1024; i++) { for (i = 0; i < 1024; i++) {
pgtable[i] = (i * 0x1000) | DEFAULT_PAGE_FLAGS; pgtable[i] = (i * 0x1000) | DEFAULT_PAGE_FLAGS;
} }
pgdir[0] = (unsigned int)pgtable | DEFAULT_PAGE_FLAGS; pgdir[0] = (uint32)pgtable | DEFAULT_PAGE_FLAGS;
// make another pagetable at this random spot // make another pagetable at this random spot
pgtable = (unsigned int *)0x12000; pgtable = (uint32 *)0x12000;
for (i = 0; i < 1024; i++) { for (i = 0; i < 1024; i++) {
pgtable[i] = (i * 0x1000 + 0x400000) | DEFAULT_PAGE_FLAGS; pgtable[i] = (i * 0x1000 + 0x400000) | DEFAULT_PAGE_FLAGS;
} }
pgdir[1] = (unsigned int)pgtable | DEFAULT_PAGE_FLAGS; pgdir[1] = (uint32)pgtable | DEFAULT_PAGE_FLAGS;
// Get new page table and clear it out // Get new page table and clear it out
pgtable = (unsigned int *)*next_paddr; pgtable = (uint32 *)*next_paddr;
ka->arch_args.pgtables[0] = (unsigned int)pgtable; ka->arch_args.pgtables[0] = (uint32)pgtable;
ka->arch_args.num_pgtables = 1; ka->arch_args.num_pgtables = 1;
(*next_paddr) += PAGE_SIZE; (*next_paddr) += PAGE_SIZE;
@ -407,7 +408,7 @@ mmu_init(kernel_args *ka, unsigned int *next_paddr)
// put the new page table into the page directory // put the new page table into the page directory
// this maps the kernel at KERNEL_BASE // this maps the kernel at KERNEL_BASE
pgdir[KERNEL_BASE/(4*1024*1024)] = (unsigned int)pgtable | DEFAULT_PAGE_FLAGS; pgdir[KERNEL_BASE/(4*1024*1024)] = (uint32)pgtable | DEFAULT_PAGE_FLAGS;
// switch to the new pgdir // switch to the new pgdir
asm("movl %0, %%eax;" asm("movl %0, %%eax;"
@ -425,7 +426,7 @@ mmu_init(kernel_args *ka, unsigned int *next_paddr)
*/ */
static void static void
mmu_map_page(unsigned int vaddr, unsigned int paddr) mmu_map_page(uint32 vaddr, uint32 paddr)
{ {
PRINT(("mmu_map_page: vaddr 0x%x, paddr 0x%x\n", vaddr, paddr)); PRINT(("mmu_map_page: vaddr 0x%x, paddr 0x%x\n", vaddr, paddr));
@ -443,7 +444,7 @@ mmu_map_page(unsigned int vaddr, unsigned int paddr)
static int static int
check_cpu(void) check_cpu(void)
{ {
unsigned int data[4]; uint32 data[4];
char str[17]; char str[17];
// check the eflags register to see if the cpuid instruction exists // check the eflags register to see if the cpuid instruction exists
@ -462,9 +463,9 @@ check_cpu(void)
// build the vendor string // build the vendor string
memset(str, 0, sizeof(str)); memset(str, 0, sizeof(str));
*(unsigned int *)&str[0] = data[1]; *(uint32 *)&str[0] = data[1];
*(unsigned int *)&str[4] = data[3]; *(uint32 *)&str[4] = data[3];
*(unsigned int *)&str[8] = data[2]; *(uint32 *)&str[8] = data[2];
// get the family, model, stepping // get the family, model, stepping
cpuid(1, data); cpuid(1, data);