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