summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Changelog3
-rw-r--r--Makefile.target26
-rw-r--r--TODO20
3 files changed, 42 insertions, 7 deletions
diff --git a/Changelog b/Changelog
index ed3b0e4ae..9cddb49cc 100644
--- a/Changelog
+++ b/Changelog
@@ -12,6 +12,9 @@ version 0.5.2:
- fixed 'call Ev' in case of paging exception
- updated the script 'qemu-binfmt-conf.sh' to use QEMU automagically
when launching executables for the supported target CPUs.
+ - PowerPC system emulation update (Jocelyn Mayer)
+ - PC floppy emulation and DMA fixes (Jocelyn Mayer)
+ - polled mode for PIC (Jocelyn Mayer)
version 0.5.1:
diff --git a/Makefile.target b/Makefile.target
index eb2e6db12..9d52680a9 100644
--- a/Makefile.target
+++ b/Makefile.target
@@ -36,7 +36,21 @@ endif
endif
endif
+
+ifeq ($(TARGET_ARCH), ppc)
+
+ifeq ($(ARCH), ppc)
+PROGS+=$(QEMU_SYSTEM)
+endif
+
+ifeq ($(ARCH), i386)
+ifdef CONFIG_SOFTMMU
+PROGS+=$(QEMU_SYSTEM)
endif
+endif # ARCH = i386
+
+endif # TARGET_ARCH = ppc
+endif # !CONFIG_USER_ONLY
ifdef CONFIG_STATIC
LDFLAGS+=-static
@@ -147,7 +161,7 @@ LIBOBJS+=helper.o helper2.o
endif
ifeq ($(TARGET_ARCH), ppc)
-LIBOBJS+=helper.o
+LIBOBJS+= op_helper.o helper.o
endif
# NOTE: the disassembler code is only needed for debugging
@@ -183,7 +197,10 @@ ifeq ($(ARCH),alpha)
endif
# must use static linking to avoid leaving stuff in virtual address space
-VL_OBJS=vl.o block.o ide.o vga.o sb16.o dma.o oss.o
+VL_OBJS=vl.o block.o ide.o vga.o sb16.o dma.o oss.o fdc.o
+ifeq ($(TARGET_ARCH), ppc)
+VL_OBJS+= hw.o
+endif
ifdef CONFIG_SDL
VL_OBJS+=sdl.o
ifdef CONFIG_STATIC
@@ -246,6 +263,11 @@ ifeq ($(TARGET_ARCH), sparc)
op.o: op.c op_template.h
endif
+ifeq ($(TARGET_ARCH), ppc)
+op.o: op.c op_template.h op_mem.h
+op_helper.o: op_helper_mem.h
+endif
+
%.o: %.c
$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
diff --git a/TODO b/TODO
index da07daae0..d483eb4d7 100644
--- a/TODO
+++ b/TODO
@@ -1,3 +1,12 @@
+before 0.5.2:
+------------
+
+- TLB code protection support
+- basic VGA optimizations
+- disable SMC handling for ARM/SPARC/PPC
+
+short term:
+----------
- user/kernel PUSHL/POPL in helper.c
- keyboard output buffer filling timing emulation
- verify tb_flush() with a20 and TLBs
@@ -5,19 +14,20 @@
- cmos clock update and timers
- test ldt limit < 7 ?
- tests for each target CPU
-- optimize FPU operations (evaluate x87 stack pointer statically) and
- fix cr0.TS emulation
-- fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret)
-- sysenter/sysexit emulation
- fix CCOP optimisation
- fix all remaining thread lock issues (must put TBs in a specific invalid
state, find a solution for tb_flush()).
- fix arm fpu rounding (at least for float->integer conversions)
+- SMP support
lower priority:
--------------
+- suppress shift_mem ops
+- fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret)
+- sysenter/sysexit emulation
+- optimize FPU operations (evaluate x87 stack pointer statically) and
+ fix cr0.TS emulation
- add IPC syscalls
-- SMP support
- use -msoft-float on ARM
- use kernel traps for unaligned accesses on ARM ?
- handle rare page fault cases (in particular if page fault in heplers or