A few more km_alloc()s following the same pattern as acpi. I don't have any
machines that actually need mpbios(4) but I've booted amd64 and i386 smp qemu
vms with acpi disabled, which causes mpbios to attach instead.
ok?
Index: arch/amd64/amd64/mpbios.c
===================================================================
RCS file: /cvs/src/sys/arch/amd64/amd64/mpbios.c,v
retrieving revision 1.29
diff -u -p -u -p -r1.29 mpbios.c
--- arch/amd64/amd64/mpbios.c 7 Feb 2018 06:19:54 -0000 1.29
+++ arch/amd64/amd64/mpbios.c 19 Dec 2020 09:26:33 -0000
@@ -240,7 +240,8 @@ mpbios_map(paddr_t pa, int len, struct m
{
paddr_t pgpa = trunc_page(pa);
paddr_t endpa = round_page(pa + len);
- vaddr_t va = uvm_km_valloc(kernel_map, endpa - pgpa);
+ vaddr_t va = (vaddr_t)km_alloc(endpa - pgpa, &kv_any, &kp_none,
+ &kd_nowait);
vaddr_t retva = va + (pa & PGOFSET);
handle->pa = pa;
@@ -262,7 +263,7 @@ void
mpbios_unmap(struct mp_map *handle)
{
pmap_kremove(handle->baseva, handle->vsize);
- uvm_km_free(kernel_map, handle->baseva, handle->vsize);
+ km_free((void *)handle->baseva, handle->vsize, &kv_any, &kp_none);
}
/*
Index: arch/i386/i386/mpbios.c
===================================================================
RCS file: /cvs/src/sys/arch/i386/i386/mpbios.c,v
retrieving revision 1.41
diff -u -p -u -p -r1.41 mpbios.c
--- arch/i386/i386/mpbios.c 7 Feb 2018 06:19:54 -0000 1.41
+++ arch/i386/i386/mpbios.c 19 Dec 2020 09:26:33 -0000
@@ -253,7 +253,8 @@ mpbios_map(paddr_t pa, int len, struct m
{
paddr_t pgpa = trunc_page(pa);
paddr_t endpa = round_page(pa + len);
- vaddr_t va = uvm_km_valloc(kernel_map, endpa - pgpa);
+ vaddr_t va = (vaddr_t)km_alloc(endpa - pgpa, &kv_any, &kp_none,
+ &kd_nowait);
vaddr_t retva = va + (pa & PGOFSET);
handle->pa = pa;
@@ -275,7 +276,7 @@ void
mpbios_unmap(struct mp_map *handle)
{
pmap_kremove(handle->baseva, handle->vsize);
- uvm_km_free(kernel_map, handle->baseva, handle->vsize);
+ km_free((void *)handle->baseva, handle->vsize, &kv_any, &kp_none);
}
/*