Update legacy platforms to use new arm_physmem helper routines.
This commit is contained in:
parent
5564ef953a
commit
65f04a3da5
@ -374,16 +374,25 @@ initarm(struct arm_boot_params *abp)
|
||||
cpu_setup("");
|
||||
|
||||
pmap_curmaxkvaddr = freemempos + KERNEL_PT_VMDATA_NUM * 0x400000;
|
||||
|
||||
dump_avail[0] = phys_avail[0] = round_page(virtual_avail);
|
||||
dump_avail[1] = phys_avail[1] = 0xc0000000 + 0x02000000 - 1;
|
||||
dump_avail[2] = phys_avail[2] = 0;
|
||||
dump_avail[3] = phys_avail[3] = 0;
|
||||
|
||||
mutex_init();
|
||||
vm_max_kernel_address = 0xd0000000;
|
||||
pmap_bootstrap(freemempos, &kernel_l1pt);
|
||||
|
||||
/*
|
||||
* Add the physical ram we have available.
|
||||
*
|
||||
* Exclude the kernel (and all the things we allocated which immediately
|
||||
* follow the kernel) from the VM allocation pool but not from crash
|
||||
* dumps. virtual_avail is a global variable which tracks the kva we've
|
||||
* "allocated" while setting up pmaps.
|
||||
*
|
||||
* Prepare the list of physical memory available to the vm subsystem.
|
||||
*/
|
||||
arm_physmem_hardware_region(physical_start, memsize);
|
||||
arm_physmem_exclude_region(abp->abp_physaddr,
|
||||
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
|
||||
arm_physmem_init_kernel_globals();
|
||||
|
||||
init_param2(physmem);
|
||||
kdb_init();
|
||||
return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP -
|
||||
|
@ -333,24 +333,27 @@ initarm(struct arm_boot_params *abp)
|
||||
/* Enable MMU, I-cache, D-cache, write buffer. */
|
||||
|
||||
arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL);
|
||||
pmap_curmaxkvaddr = afterkern + PAGE_SIZE;
|
||||
dump_avail[0] = 0xa0000000;
|
||||
dump_avail[1] = 0xa0000000 + memsize;
|
||||
dump_avail[2] = 0;
|
||||
dump_avail[3] = 0;
|
||||
|
||||
vm_max_kernel_address = 0xe0000000;
|
||||
pmap_bootstrap(pmap_curmaxkvaddr, &kernel_l1pt);
|
||||
msgbufp = (void*)msgbufpv.pv_va;
|
||||
msgbufinit(msgbufp, msgbufsize);
|
||||
mutex_init();
|
||||
|
||||
i = 0;
|
||||
phys_avail[i++] = round_page(virtual_avail - KERNBASE + IQ80321_SDRAM_START);
|
||||
phys_avail[i++] = trunc_page(0xa0000000 + memsize - 1);
|
||||
phys_avail[i++] = 0;
|
||||
phys_avail[i] = 0;
|
||||
|
||||
/*
|
||||
* Add the physical ram we have available.
|
||||
*
|
||||
* Exclude the kernel (and all the things we allocated which immediately
|
||||
* follow the kernel) from the VM allocation pool but not from crash
|
||||
* dumps. virtual_avail is a global variable which tracks the kva we've
|
||||
* "allocated" while setting up pmaps.
|
||||
*
|
||||
* Prepare the list of physical memory available to the vm subsystem.
|
||||
*/
|
||||
arm_physmem_hardware_region(IQ80321_SDRAM_START, memsize);
|
||||
arm_physmem_exclude_region(abp->abp_physaddr,
|
||||
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
|
||||
arm_physmem_init_kernel_globals();
|
||||
|
||||
init_param2(physmem);
|
||||
kdb_init();
|
||||
return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP -
|
||||
|
@ -335,23 +335,27 @@ initarm(struct arm_boot_params *abp)
|
||||
|
||||
arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL);
|
||||
pmap_curmaxkvaddr = afterkern + PAGE_SIZE;
|
||||
dump_avail[0] = 0xa0000000;
|
||||
dump_avail[1] = 0xa0000000 + memsize;
|
||||
dump_avail[2] = 0;
|
||||
dump_avail[3] = 0;
|
||||
|
||||
vm_max_kernel_address = 0xe0000000;
|
||||
pmap_bootstrap(pmap_curmaxkvaddr, &kernel_l1pt);
|
||||
msgbufp = (void*)msgbufpv.pv_va;
|
||||
msgbufinit(msgbufp, msgbufsize);
|
||||
mutex_init();
|
||||
|
||||
i = 0;
|
||||
phys_avail[i++] = round_page(virtual_avail - KERNBASE + SDRAM_START);
|
||||
phys_avail[i++] = trunc_page(0xa0000000 + memsize - 1);
|
||||
phys_avail[i++] = 0;
|
||||
phys_avail[i] = 0;
|
||||
|
||||
/*
|
||||
* Add the physical ram we have available.
|
||||
*
|
||||
* Exclude the kernel (and all the things we allocated which immediately
|
||||
* follow the kernel) from the VM allocation pool but not from crash
|
||||
* dumps. virtual_avail is a global variable which tracks the kva we've
|
||||
* "allocated" while setting up pmaps.
|
||||
*
|
||||
* Prepare the list of physical memory available to the vm subsystem.
|
||||
*/
|
||||
arm_physmem_hardware_region(SDRAM_START, memsize);
|
||||
arm_physmem_exclude_region(abp->abp_physaddr,
|
||||
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
|
||||
arm_physmem_init_kernel_globals();
|
||||
|
||||
init_param2(physmem);
|
||||
kdb_init();
|
||||
return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP -
|
||||
|
@ -313,23 +313,27 @@ initarm(struct arm_boot_params *abp)
|
||||
|
||||
pmap_curmaxkvaddr = afterkern + PAGE_SIZE;
|
||||
|
||||
dump_avail[0] = 0x00000000;
|
||||
dump_avail[1] = 0x00000000 + memsize;
|
||||
dump_avail[2] = 0;
|
||||
dump_avail[3] = 0;
|
||||
|
||||
vm_max_kernel_address = 0xe0000000;
|
||||
pmap_bootstrap(pmap_curmaxkvaddr, &kernel_l1pt);
|
||||
msgbufp = (void*)msgbufpv.pv_va;
|
||||
msgbufinit(msgbufp, msgbufsize);
|
||||
mutex_init();
|
||||
|
||||
i = 0;
|
||||
phys_avail[i++] = round_page(virtual_avail - KERNBASE + SDRAM_START);
|
||||
phys_avail[i++] = trunc_page(0x00000000 + memsize - 1);
|
||||
phys_avail[i++] = 0;
|
||||
phys_avail[i] = 0;
|
||||
|
||||
|
||||
/*
|
||||
* Add the physical ram we have available.
|
||||
*
|
||||
* Exclude the kernel (and all the things we allocated which immediately
|
||||
* follow the kernel) from the VM allocation pool but not from crash
|
||||
* dumps. virtual_avail is a global variable which tracks the kva we've
|
||||
* "allocated" while setting up pmaps.
|
||||
*
|
||||
* Prepare the list of physical memory available to the vm subsystem.
|
||||
*/
|
||||
arm_physmem_hardware_region(SDRAM_START, memsize);
|
||||
arm_physmem_exclude_region(abp->abp_physaddr,
|
||||
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
|
||||
arm_physmem_init_kernel_globals();
|
||||
|
||||
init_param2(physmem);
|
||||
kdb_init();
|
||||
return ((void *)(kernelstack.pv_va + USPACE_SVC_STACK_TOP -
|
||||
|
@ -308,11 +308,6 @@ initarm(struct arm_boot_params *abp)
|
||||
*/
|
||||
pxa_probe_sdram(obio_tag, PXA2X0_MEMCTL_BASE, memstart, memsize);
|
||||
|
||||
physmem = 0;
|
||||
for (i = 0; i < PXA2X0_SDRAM_BANKS; i++) {
|
||||
physmem += memsize[i] / PAGE_SIZE;
|
||||
}
|
||||
|
||||
/* Fire up consoles. */
|
||||
cninit();
|
||||
|
||||
@ -328,39 +323,29 @@ initarm(struct arm_boot_params *abp)
|
||||
arm_vector_init(ARM_VECTORS_HIGH, ARM_VEC_ALL);
|
||||
|
||||
pmap_curmaxkvaddr = afterkern + PAGE_SIZE;
|
||||
i = 0;
|
||||
for (j = 0; j < PXA2X0_SDRAM_BANKS; j++) {
|
||||
if (memsize[j] > 0) {
|
||||
dump_avail[i++] = round_page(memstart[j]);
|
||||
dump_avail[i++] =
|
||||
trunc_page(memstart[j] + memsize[j]);
|
||||
}
|
||||
}
|
||||
dump_avail[i] = 0;
|
||||
dump_avail[i] = 0;
|
||||
vm_max_kernel_address = 0xe0000000;
|
||||
pmap_bootstrap(pmap_curmaxkvaddr, &kernel_l1pt);
|
||||
msgbufp = (void*)msgbufpv.pv_va;
|
||||
msgbufinit(msgbufp, msgbufsize);
|
||||
mutex_init();
|
||||
|
||||
i = 0;
|
||||
/*
|
||||
* Add the physical ram we have available.
|
||||
*
|
||||
* Exclude the kernel (and all the things we allocated which immediately
|
||||
* follow the kernel) from the VM allocation pool but not from crash
|
||||
* dumps. virtual_avail is a global variable which tracks the kva we've
|
||||
* "allocated" while setting up pmaps.
|
||||
*
|
||||
* Prepare the list of physical memory available to the vm subsystem.
|
||||
*/
|
||||
for (j = 0; j < PXA2X0_SDRAM_BANKS; j++) {
|
||||
if (memsize[j] > 0) {
|
||||
phys_avail[i] = round_page(memstart[j]);
|
||||
dump_avail[i++] = round_page(memstart[j]);
|
||||
phys_avail[i] =
|
||||
trunc_page(memstart[j] + memsize[j]);
|
||||
dump_avail[i++] =
|
||||
trunc_page(memstart[j] + memsize[j]);
|
||||
}
|
||||
if (memsize[j] > 0)
|
||||
arm_physmem_hardware_region(memstart[j], memsize[j]);
|
||||
}
|
||||
|
||||
dump_avail[i] = 0;
|
||||
phys_avail[i++] = 0;
|
||||
dump_avail[i] = 0;
|
||||
phys_avail[i] = 0;
|
||||
phys_avail[0] = round_page(virtual_avail - KERNBASE + phys_avail[0]);
|
||||
arm_physmem_exclude_region(abp->abp_physaddr,
|
||||
virtual_avail - KERNVIRTADDR, EXFLAG_NOALLOC);
|
||||
arm_physmem_init_kernel_globals();
|
||||
|
||||
init_param2(physmem);
|
||||
kdb_init();
|
||||
|
Loading…
Reference in New Issue
Block a user