11.5Sriastrad/*	$NetBSD: rump_x86_pmap.c,v 1.5 2022/08/21 12:08:12 riastradh Exp $	*/
21.1Spooka
31.1Spooka/*
41.1Spooka * Copyright (c) 2010 Antti Kantee.  All Rights Reserved.
51.1Spooka *
61.1Spooka * Redistribution and use in source and binary forms, with or without
71.1Spooka * modification, are permitted provided that the following conditions
81.1Spooka * are met:
91.1Spooka * 1. Redistributions of source code must retain the above copyright
101.1Spooka *    notice, this list of conditions and the following disclaimer.
111.1Spooka * 2. Redistributions in binary form must reproduce the above copyright
121.1Spooka *    notice, this list of conditions and the following disclaimer in the
131.1Spooka *    documentation and/or other materials provided with the distribution.
141.1Spooka *
151.1Spooka * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
161.1Spooka * OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
171.1Spooka * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
181.1Spooka * DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
191.1Spooka * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
201.1Spooka * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
211.1Spooka * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
221.1Spooka * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
231.1Spooka * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
241.1Spooka * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
251.1Spooka * SUCH DAMAGE.
261.1Spooka */
271.1Spooka
281.1Spooka#include <sys/cdefs.h>
291.5Sriastrad__KERNEL_RCSID(0, "$NetBSD: rump_x86_pmap.c,v 1.5 2022/08/21 12:08:12 riastradh Exp $");
301.1Spooka
311.1Spooka#include <sys/param.h>
321.1Spooka
331.1Spooka#include <uvm/uvm_extern.h>
341.1Spooka
351.4Spooka#include <rump-sys/kern.h>
361.2Spooka
371.1Spookavoid
381.1Spookapmap_kenter_pa(vaddr_t va, paddr_t pa, vm_prot_t prot, u_int fl)
391.1Spooka{
401.1Spooka
411.1Spooka	panic("%s: unavailable", __func__);
421.1Spooka}
431.1Spooka
441.1Spookavoid
451.1Spookapmap_kremove(vaddr_t va, vsize_t size)
461.1Spooka{
471.1Spooka
481.1Spooka	panic("%s: unavailable", __func__);
491.1Spooka}
501.1Spooka
511.1Spookaint
521.1Spookapmap_enter(pmap_t pmap, vaddr_t va, paddr_t pa, vm_prot_t prot, u_int flags)
531.1Spooka{
541.1Spooka
551.1Spooka	panic("%s: unavailable", __func__);
561.1Spooka}
571.1Spooka
581.1Spookabool
591.1Spookapmap_clear_attrs(struct vm_page *pg, unsigned what)
601.1Spooka{
611.1Spooka
621.1Spooka	return false;
631.1Spooka}
641.1Spooka
651.1Spookavoid
661.1Spookapmap_page_remove(struct vm_page *pg)
671.1Spooka{
681.1Spooka
691.1Spooka}
701.1Spooka
711.1Spookabool
721.1Spookapmap_test_attrs(struct vm_page *pg, unsigned what)
731.1Spooka{
741.1Spooka
751.1Spooka	return true;
761.1Spooka}
771.1Spooka
781.1Spookapaddr_t
791.1Spookavtophys(vaddr_t va)
801.1Spooka{
811.1Spooka
821.1Spooka	return (paddr_t)va;
831.1Spooka}
841.1Spooka
851.1Spookavoid
861.1Spookapmap_update(pmap_t pmap)
871.1Spooka{
881.1Spooka
891.1Spooka}
901.1Spooka
911.1Spookavoid
921.1Spookapmap_remove(pmap_t pmap, vaddr_t sva, vaddr_t eva)
931.1Spooka{
941.1Spooka
951.1Spooka	panic("%s: unavailable", __func__);
961.1Spooka}
971.1Spooka
981.1Spookabool
991.1Spookapmap_extract(pmap_t pmap, vaddr_t va, paddr_t *pap)
1001.1Spooka{
1011.1Spooka
1021.1Spooka	*pap = va;
1031.1Spooka	return true;
1041.1Spooka}
1051.1Spooka
1061.1Spookavoid
1071.1Spookapmap_write_protect(pmap_t pmap, vaddr_t sva, vaddr_t eva, vm_prot_t prot)
1081.1Spooka{
1091.1Spooka}
1101.5Sriastrad
1111.5Sriastradlong
1121.5Sriastradpmap_resident_count(struct pmap *pmap)
1131.5Sriastrad
1141.5Sriastrad{
1151.5Sriastrad	return 0;
1161.5Sriastrad}
1171.5Sriastrad
1181.5Sriastradlong
1191.5Sriastradpmap_wired_count(struct pmap *pmap)
1201.5Sriastrad{
1211.5Sriastrad
1221.5Sriastrad	return 0;
1231.5Sriastrad}
124