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