13266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner/* 23266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * qemu user ioport functions 33266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * 43266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * Copyright (c) 2003-2008 Fabrice Bellard 53266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * 63266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * This program is free software; you can redistribute it and/or modify 73266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * it under the terms of the GNU General Public License as published by 83266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * the Free Software Foundation; either version 2 of the License, or 93266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * (at your option) any later version. 103266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * 113266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * This program is distributed in the hope that it will be useful, 123266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * but WITHOUT ANY WARRANTY; without even the implied warranty of 133266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 143266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * GNU General Public License for more details. 153266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * 163266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * You should have received a copy of the GNU General Public License 173266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner * along with this program; if not, see <http://www.gnu.org/licenses/>. 183266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner */ 193266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner 203266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner#include <stdio.h> 213266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner 223266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner#include "qemu.h" 233266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner#include "qemu-common.h" 243266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner#include "ioport.h" 253266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner 263266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turnervoid cpu_outb(pio_addr_t addr, uint8_t val) 273266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner{ 283266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner fprintf(stderr, "outb: port=0x%04"FMT_pioaddr", data=%02"PRIx8"\n", 293266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner addr, val); 303266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner} 313266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner 323266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turnervoid cpu_outw(pio_addr_t addr, uint16_t val) 333266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner{ 343266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner fprintf(stderr, "outw: port=0x%04"FMT_pioaddr", data=%04"PRIx16"\n", 353266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner addr, val); 363266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner} 373266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner 383266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turnervoid cpu_outl(pio_addr_t addr, uint32_t val) 393266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner{ 403266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner fprintf(stderr, "outl: port=0x%04"FMT_pioaddr", data=%08"PRIx32"\n", 413266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner addr, val); 423266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner} 433266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner 443266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turneruint8_t cpu_inb(pio_addr_t addr) 453266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner{ 463266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner fprintf(stderr, "inb: port=0x%04"FMT_pioaddr"\n", addr); 473266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner return 0; 483266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner} 493266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner 503266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turneruint16_t cpu_inw(pio_addr_t addr) 513266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner{ 523266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner fprintf(stderr, "inw: port=0x%04"FMT_pioaddr"\n", addr); 533266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner return 0; 543266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner} 553266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner 563266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turneruint32_t cpu_inl(pio_addr_t addr) 573266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner{ 583266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner fprintf(stderr, "inl: port=0x%04"FMT_pioaddr"\n", addr); 593266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner return 0; 603266b5118e1d9ac13ea87bc24f37b50d22a2b81fDavid 'Digit' Turner} 61