Subject: Progress on kernel > 4MB
To: None <mark@causality.com>
From: Bruce Martin <brucem@cat.co.za>
List: port-arm32
Date: 11/04/1999 15:22:59
Okay, I've looked through ebsa285_machdep.c and vmparam.h, and think I need
the following changes:
#define KERNEL_PT_VMDATA 2 needs to change to 3, as there are now two page
tables for KERNEL_PT_KERNEL.
Then the section headed
/* Map the L2 pages tables in the L1 page table */
had originally:
map_pagetable(l1pagetable, KERNEL_BASE,
kernel_pt_table[KERNEL_PT_KERNEL]);
I think it should keep that line and add one more below it:
map_pagetable(l1pagetable, KERNEL_BASE+0x00400000,
kernel_pt_table[KERNEL_PT_KERNEL+1]);
Then the section headed
/* Now we fill in the L2 pagetable for the kernel static code/data */
had originally:
logical = map_chunk(0, l2pagetable, KERNEL_TEXT_BASE, physical_start,
kernexec->a_text,
AP_KR, PT_CACHEABLE);
I think it should keep that and add below:
logical = map_chunk(0, l2pagetable, KERNEL_TEXT_BASE+0x00400000,
physical_start,
kernexec->a_text, AP_KR, PT_CACHEABLE);
Then section
/* Map the page table that maps the kernel pages */ had originally:
map_entry_nc(l2pagetable, (KERNEL_BASE >> (PGSHIFT-2)),
kernel_pt_table[KERNEL_PT_KERNEL]);
I think we should keep this and add:
map_entry_nc(l2pagetable, ((KERNEL_BASE+0x00400000) >> (PGSHIFT-2)),
kernel_pt_table[KERNEL_PT_KERNEL+1]);
In vmparam.h, I don't know if
#define ALT_PAGE_TBLS_BASE 0xf0c00000 must change to 0xf1000000
#define KERNEL_VM_BASE 0xf1000000 must change to 0xf2000000
I tried the above changes, but thre kernel didn't start up - does it look
correct, or should I be making more/less changes? Also, is there any way to
get the debug info before "bootstrap done" printed, to see where it hangs
up?
Thanks
Bruce