> Date: Sat, 19 Dec 2020 20:05:08 +1000
> From: Jonathan Matthew <[email protected]>
> 
> 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?

ok kettenis@

> 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);
>  }
>  
>  /*
> 
> 

Reply via email to