- 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.
- 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)
+
+ifeq ($(TARGET_ARCH), ppc)
+
+ifeq ($(ARCH), ppc)
+PROGS+=$(QEMU_SYSTEM)
+endif
+
+ifeq ($(ARCH), i386)
+ifdef CONFIG_SOFTMMU
+PROGS+=$(QEMU_SYSTEM)
+endif # ARCH = i386
+
+endif # TARGET_ARCH = ppc
+endif # !CONFIG_USER_ONLY
ifdef CONFIG_STATIC
LDFLAGS+=-static
ifdef CONFIG_STATIC
LDFLAGS+=-static
endif
ifeq ($(TARGET_ARCH), ppc)
endif
ifeq ($(TARGET_ARCH), ppc)
+LIBOBJS+= op_helper.o helper.o
endif
# NOTE: the disassembler code is only needed for debugging
endif
# NOTE: the disassembler code is only needed for debugging
endif
# must use static linking to avoid leaving stuff in virtual address space
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
ifdef CONFIG_SDL
VL_OBJS+=sdl.o
ifdef CONFIG_STATIC
op.o: op.c op_template.h
endif
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 $@ $<
%.o: %.c
$(CC) $(CFLAGS) $(DEFINES) -c -o $@ $<
+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
- user/kernel PUSHL/POPL in helper.c
- keyboard output buffer filling timing emulation
- verify tb_flush() with a20 and TLBs
- cmos clock update and timers
- test ldt limit < 7 ?
- tests for each target CPU
- 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)
- 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)
lower priority:
--------------
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
- 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
- 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