diff options
author | Isaku Yamahata <yamahata@valinux.co.jp> | 2009-07-02 19:32:10 +0900 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-07-09 16:06:40 -0500 |
commit | 5f6504956066090d81936c1621750b397f444c7b (patch) | |
tree | b558b8d8f134b34ef3eca1c11d3a5e2feab2c5c7 | |
parent | ioport: consolidate duplicated logic in register_ioport_{read, write}(). (diff) | |
download | qemu-kvm-5f6504956066090d81936c1621750b397f444c7b.tar.gz qemu-kvm-5f6504956066090d81936c1621750b397f444c7b.tar.bz2 qemu-kvm-5f6504956066090d81936c1621750b397f444c7b.zip |
consolidate user cpu_{in, out}[bwl] into ioport-user.c
Signed-off-by: Isaku Yamahata <yamahata@valinux.co.jp>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
-rw-r--r-- | Makefile.target | 7 | ||||
-rw-r--r-- | bsd-user/main.c | 33 | ||||
-rw-r--r-- | darwin-user/main.c | 33 | ||||
-rw-r--r-- | ioport-user.c | 59 | ||||
-rw-r--r-- | linux-user/main.c | 33 | ||||
-rw-r--r-- | tests/Makefile | 4 | ||||
-rw-r--r-- | tests/qruncom.c | 33 |
7 files changed, 65 insertions, 137 deletions
diff --git a/Makefile.target b/Makefile.target index 7f7c1670e..1a71f3a70 100644 --- a/Makefile.target +++ b/Makefile.target @@ -321,7 +321,8 @@ CFLAGS+=-p endif obj-y = main.o syscall.o strace.o mmap.o signal.o path.o thunk.o \ - elfload.o linuxload.o uaccess.o envlist.o gdbstub.o gdbstub-xml.o + elfload.o linuxload.o uaccess.o envlist.o gdbstub.o gdbstub-xml.o \ + ioport-user.o LIBS+= $(PTHREADLIBS) LIBS+= $(CLOCKLIBS) obj-$(TARGET_HAS_BFLT) += flatload.o @@ -372,7 +373,7 @@ LDFLAGS+=-Wl,-segaddr,__STD_PROG_ZONE,0x1000 -image_base 0x0e000000 LIBS+=-lmx obj-y = main.o commpage.o machload.o mmap.o signal.o syscall.o thunk.o \ - gdbstub.o gdbstub-xml.o + gdbstub.o gdbstub-xml.o ioport-user.o # Note: this is a workaround. The real fix is to avoid compiling # cpu_signal_handler() in cpu-exec.c. @@ -471,7 +472,7 @@ endif endif obj-y = main.o bsdload.o elfload.o mmap.o path.o signal.o strace.o syscall.o \ - gdbstub.o gdbstub-xml.o + gdbstub.o gdbstub-xml.o ioport-user.o obj-y += uaccess.o # Note: this is a workaround. The real fix is to avoid compiling diff --git a/bsd-user/main.c b/bsd-user/main.c index 827c9c348..e4a62554f 100644 --- a/bsd-user/main.c +++ b/bsd-user/main.c @@ -55,39 +55,6 @@ void gemu_log(const char *fmt, ...) va_end(ap); } -void cpu_outb(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outb: port=0x%04x, data=%02x\n", addr, val); -} - -void cpu_outw(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outw: port=0x%04x, data=%04x\n", addr, val); -} - -void cpu_outl(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outl: port=0x%04x, data=%08x\n", addr, val); -} - -int cpu_inb(CPUState *env, int addr) -{ - fprintf(stderr, "inb: port=0x%04x\n", addr); - return 0; -} - -int cpu_inw(CPUState *env, int addr) -{ - fprintf(stderr, "inw: port=0x%04x\n", addr); - return 0; -} - -int cpu_inl(CPUState *env, int addr) -{ - fprintf(stderr, "inl: port=0x%04x\n", addr); - return 0; -} - #if defined(TARGET_I386) int cpu_get_pic_interrupt(CPUState *env) { diff --git a/darwin-user/main.c b/darwin-user/main.c index 5e3c48db2..27c7284eb 100644 --- a/darwin-user/main.c +++ b/darwin-user/main.c @@ -72,39 +72,6 @@ void gemu_log(const char *fmt, ...) va_end(ap); } -void cpu_outb(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outb: port=0x%04x, data=%02x\n", addr, val); -} - -void cpu_outw(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outw: port=0x%04x, data=%04x\n", addr, val); -} - -void cpu_outl(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outl: port=0x%04x, data=%08x\n", addr, val); -} - -int cpu_inb(CPUState *env, int addr) -{ - fprintf(stderr, "inb: port=0x%04x\n", addr); - return 0; -} - -int cpu_inw(CPUState *env, int addr) -{ - fprintf(stderr, "inw: port=0x%04x\n", addr); - return 0; -} - -int cpu_inl(CPUState *env, int addr) -{ - fprintf(stderr, "inl: port=0x%04x\n", addr); - return 0; -} - int cpu_get_pic_interrupt(CPUState *env) { return -1; diff --git a/ioport-user.c b/ioport-user.c new file mode 100644 index 000000000..fe8567f46 --- /dev/null +++ b/ioport-user.c @@ -0,0 +1,59 @@ +/* + * qemu user ioport functions + * + * Copyright (c) 2003-2008 Fabrice Bellard + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, + * MA 02110-1301, USA. + */ + +#include <stdio.h> + +#include "qemu.h" +#include "qemu-common.h" +#include "ioport.h" + +void cpu_outb(CPUState *env, int addr, int val) +{ + fprintf(stderr, "outb: port=0x%04x, data=%02x\n", addr, val); +} + +void cpu_outw(CPUState *env, int addr, int val) +{ + fprintf(stderr, "outw: port=0x%04x, data=%04x\n", addr, val); +} + +void cpu_outl(CPUState *env, int addr, int val) +{ + fprintf(stderr, "outl: port=0x%04x, data=%08x\n", addr, val); +} + +int cpu_inb(CPUState *env, int addr) +{ + fprintf(stderr, "inb: port=0x%04x\n", addr); + return 0; +} + +int cpu_inw(CPUState *env, int addr) +{ + fprintf(stderr, "inw: port=0x%04x\n", addr); + return 0; +} + +int cpu_inl(CPUState *env, int addr) +{ + fprintf(stderr, "inl: port=0x%04x\n", addr); + return 0; +} diff --git a/linux-user/main.c b/linux-user/main.c index d49605bd4..e331d658f 100644 --- a/linux-user/main.c +++ b/linux-user/main.c @@ -85,39 +85,6 @@ void gemu_log(const char *fmt, ...) va_end(ap); } -void cpu_outb(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outb: port=0x%04x, data=%02x\n", addr, val); -} - -void cpu_outw(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outw: port=0x%04x, data=%04x\n", addr, val); -} - -void cpu_outl(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outl: port=0x%04x, data=%08x\n", addr, val); -} - -int cpu_inb(CPUState *env, int addr) -{ - fprintf(stderr, "inb: port=0x%04x\n", addr); - return 0; -} - -int cpu_inw(CPUState *env, int addr) -{ - fprintf(stderr, "inw: port=0x%04x\n", addr); - return 0; -} - -int cpu_inl(CPUState *env, int addr) -{ - fprintf(stderr, "inl: port=0x%04x\n", addr); - return 0; -} - #if defined(TARGET_I386) int cpu_get_pic_interrupt(CPUState *env) { diff --git a/tests/Makefile b/tests/Makefile index 326b7335a..69092e548 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -78,9 +78,9 @@ runcom: runcom.c $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $< # NOTE: -fomit-frame-pointer is currently needed : this is a bug in libqemu -qruncom: qruncom.c ../i386-user/libqemu.a +qruncom: qruncom.c ../ioport-user.c ../i386-user/libqemu.a $(CC) $(CFLAGS) -fomit-frame-pointer $(LDFLAGS) -I../target-i386 -I.. -I../i386-user -I../fpu \ - -o $@ $< -L../i386-user -lqemu -lm + -o $@ $(filter %.c, $^) -L../i386-user -lqemu -lm # arm test hello-arm: hello-arm.o diff --git a/tests/qruncom.c b/tests/qruncom.c index 5e503bccc..a8d0ef640 100644 --- a/tests/qruncom.c +++ b/tests/qruncom.c @@ -16,39 +16,6 @@ //#define SIGTEST -void cpu_outb(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outb: port=0x%04x, data=%02x\n", addr, val); -} - -void cpu_outw(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outw: port=0x%04x, data=%04x\n", addr, val); -} - -void cpu_outl(CPUState *env, int addr, int val) -{ - fprintf(stderr, "outl: port=0x%04x, data=%08x\n", addr, val); -} - -int cpu_inb(CPUState *env, int addr) -{ - fprintf(stderr, "inb: port=0x%04x\n", addr); - return 0; -} - -int cpu_inw(CPUState *env, int addr) -{ - fprintf(stderr, "inw: port=0x%04x\n", addr); - return 0; -} - -int cpu_inl(CPUState *env, int addr) -{ - fprintf(stderr, "inl: port=0x%04x\n", addr); - return 0; -} - int cpu_get_pic_interrupt(CPUState *env) { return -1; |