Commit 728c9fd5a9a3d3dc955c0fa8bd9a090c9a08f4eb
1 parent
bd497938
update
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@544 c046a42c-6fe2-441c-8c8c-71466251a162
Showing
3 changed files
with
42 additions
and
7 deletions
Changelog
| ... | ... | @@ -12,6 +12,9 @@ version 0.5.2: |
| 12 | 12 | - fixed 'call Ev' in case of paging exception |
| 13 | 13 | - updated the script 'qemu-binfmt-conf.sh' to use QEMU automagically |
| 14 | 14 | when launching executables for the supported target CPUs. |
| 15 | + - PowerPC system emulation update (Jocelyn Mayer) | |
| 16 | + - PC floppy emulation and DMA fixes (Jocelyn Mayer) | |
| 17 | + - polled mode for PIC (Jocelyn Mayer) | |
| 15 | 18 | |
| 16 | 19 | version 0.5.1: |
| 17 | 20 | ... | ... |
Makefile.target
| ... | ... | @@ -36,7 +36,21 @@ endif |
| 36 | 36 | endif |
| 37 | 37 | |
| 38 | 38 | endif |
| 39 | + | |
| 40 | +ifeq ($(TARGET_ARCH), ppc) | |
| 41 | + | |
| 42 | +ifeq ($(ARCH), ppc) | |
| 43 | +PROGS+=$(QEMU_SYSTEM) | |
| 44 | +endif | |
| 45 | + | |
| 46 | +ifeq ($(ARCH), i386) | |
| 47 | +ifdef CONFIG_SOFTMMU | |
| 48 | +PROGS+=$(QEMU_SYSTEM) | |
| 39 | 49 | endif |
| 50 | +endif # ARCH = i386 | |
| 51 | + | |
| 52 | +endif # TARGET_ARCH = ppc | |
| 53 | +endif # !CONFIG_USER_ONLY | |
| 40 | 54 | |
| 41 | 55 | ifdef CONFIG_STATIC |
| 42 | 56 | LDFLAGS+=-static |
| ... | ... | @@ -147,7 +161,7 @@ LIBOBJS+=helper.o helper2.o |
| 147 | 161 | endif |
| 148 | 162 | |
| 149 | 163 | ifeq ($(TARGET_ARCH), ppc) |
| 150 | -LIBOBJS+=helper.o | |
| 164 | +LIBOBJS+= op_helper.o helper.o | |
| 151 | 165 | endif |
| 152 | 166 | |
| 153 | 167 | # NOTE: the disassembler code is only needed for debugging |
| ... | ... | @@ -183,7 +197,10 @@ ifeq ($(ARCH),alpha) |
| 183 | 197 | endif |
| 184 | 198 | |
| 185 | 199 | # must use static linking to avoid leaving stuff in virtual address space |
| 186 | -VL_OBJS=vl.o block.o ide.o vga.o sb16.o dma.o oss.o | |
| 200 | +VL_OBJS=vl.o block.o ide.o vga.o sb16.o dma.o oss.o fdc.o | |
| 201 | +ifeq ($(TARGET_ARCH), ppc) | |
| 202 | +VL_OBJS+= hw.o | |
| 203 | +endif | |
| 187 | 204 | ifdef CONFIG_SDL |
| 188 | 205 | VL_OBJS+=sdl.o |
| 189 | 206 | ifdef CONFIG_STATIC |
| ... | ... | @@ -246,6 +263,11 @@ ifeq ($(TARGET_ARCH), sparc) |
| 246 | 263 | op.o: op.c op_template.h |
| 247 | 264 | endif |
| 248 | 265 | |
| 266 | +ifeq ($(TARGET_ARCH), ppc) | |
| 267 | +op.o: op.c op_template.h op_mem.h | |
| 268 | +op_helper.o: op_helper_mem.h | |
| 269 | +endif | |
| 270 | + | |
| 249 | 271 | %.o: %.c |
| 250 | 272 | $(CC) $(CFLAGS) $(DEFINES) -c -o $@ $< |
| 251 | 273 | ... | ... |
TODO
| 1 | +before 0.5.2: | |
| 2 | +------------ | |
| 3 | + | |
| 4 | +- TLB code protection support | |
| 5 | +- basic VGA optimizations | |
| 6 | +- disable SMC handling for ARM/SPARC/PPC | |
| 7 | + | |
| 8 | +short term: | |
| 9 | +---------- | |
| 1 | 10 | - user/kernel PUSHL/POPL in helper.c |
| 2 | 11 | - keyboard output buffer filling timing emulation |
| 3 | 12 | - verify tb_flush() with a20 and TLBs |
| ... | ... | @@ -5,19 +14,20 @@ |
| 5 | 14 | - cmos clock update and timers |
| 6 | 15 | - test ldt limit < 7 ? |
| 7 | 16 | - tests for each target CPU |
| 8 | -- optimize FPU operations (evaluate x87 stack pointer statically) and | |
| 9 | - fix cr0.TS emulation | |
| 10 | -- fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret) | |
| 11 | -- sysenter/sysexit emulation | |
| 12 | 17 | - fix CCOP optimisation |
| 13 | 18 | - fix all remaining thread lock issues (must put TBs in a specific invalid |
| 14 | 19 | state, find a solution for tb_flush()). |
| 15 | 20 | - fix arm fpu rounding (at least for float->integer conversions) |
| 21 | +- SMP support | |
| 16 | 22 | |
| 17 | 23 | lower priority: |
| 18 | 24 | -------------- |
| 25 | +- suppress shift_mem ops | |
| 26 | +- fix some 16 bit sp push/pop overflow (pusha/popa, lcall lret) | |
| 27 | +- sysenter/sysexit emulation | |
| 28 | +- optimize FPU operations (evaluate x87 stack pointer statically) and | |
| 29 | + fix cr0.TS emulation | |
| 19 | 30 | - add IPC syscalls |
| 20 | -- SMP support | |
| 21 | 31 | - use -msoft-float on ARM |
| 22 | 32 | - use kernel traps for unaligned accesses on ARM ? |
| 23 | 33 | - handle rare page fault cases (in particular if page fault in heplers or | ... | ... |