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 | ... | ... |