On 11/3/19 10:56 AM, Sven Schnelle wrote: > This adds emulation of Artist graphics good enough > to get a Text console on both Linux and HP-UX. The > X11 server from HP-UX also works. > > Signed-off-by: Sven Schnelle <sv...@stackframe.org> > --- > hw/display/Kconfig | 4 + > hw/display/Makefile.objs | 1 + > hw/display/artist.c | 1449 ++++++++++++++++++++++++++++++++++++++ > hw/display/trace-events | 9 + > hw/hppa/Kconfig | 1 + > hw/hppa/hppa_hardware.h | 1 + > hw/hppa/machine.c | 9 + > 7 files changed, 1474 insertions(+) > create mode 100644 hw/display/artist.c
Seems to have some problems rebased upon master: > Thread 6 "qemu-system-hpp" received signal SIGSEGV, Segmentation fault. > [Switching to Thread 0x7fffee3b6700 (LWP 11752)] > 0x00005555558bba54 in artist_rop8 (s=s@entry=0x555556105400, > dst=dst@entry=0x7fffed740000 "", val=0 '\000') > at /home/rth/qemu/qemu/hw/display/artist.c:288 > 288 *dst |= val & plane_mask; > (gdb) where > #0 0x00005555558bba54 in artist_rop8 > (s=s@entry=0x555556105400, dst=dst@entry=0x7fffed740000 "", val=0 '\000') > at /home/rth/qemu/qemu/hw/display/artist.c:288 > #1 0x00005555558bc145 in vram_bit_write > (s=s@entry=0x555556105400, posx=<optimized out>, posy=<optimized out>, > incr_x=incr_x@entry=false, size=size@entry=4, data=<optimized out>, > data@entry=0) > at /home/rth/qemu/qemu/hw/display/artist.c:430 > #2 0x00005555558bd33b in artist_reg_write > (opaque=0x555556105400, addr=1050144, val=0, size=4) > at /home/rth/qemu/qemu/hw/display/artist.c:862 > #3 0x00005555557b271b in memory_region_write_accessor > (mr=mr@entry=0x5555561058f0, addr=addr@entry=1050144, > value=value@entry=0x7fffee3b4f08, size=size@entry=4, shift=shift@entry=0, > mask=mask@entry=4294967295, attrs=...) at /home/rth/qemu/qemu/memory.c:483 > #4 0x00005555557b03d3 in access_with_adjusted_size > (addr=addr@entry=1050144, value=value@entry=0x7fffee3b4f08, > size=size@entry=4, access_size_min=<optimized out>, > access_size_max=<optimized out>, access_fn=access_fn@entry= > 0x5555557b25f0 <memory_region_write_accessor>, mr=0x5555561058f0, > attrs=...) at /home/rth/qemu/qemu/memory.c:539 > #5 0x00005555557b4b34 in memory_region_dispatch_write > (mr=mr@entry=0x5555561058f0, addr=addr@entry=1050144, data=<optimized > out>, data@entry=0, op=op@entry=MO_BEUL, attrs=...) > at /home/rth/qemu/qemu/memory.c:1475 > #6 0x00005555557c18ed in io_writex > (env=env@entry=0x5555563a6b60, mmu_idx=mmu_idx@entry=4, val=val@entry=0, > addr=addr@entry=4161799712, retaddr=140736415114886, op=MO_BEUL, > iotlbentry=<optimized out>, iotlbentry=<optimized out>) > at /home/rth/qemu/qemu/accel/tcg/cputlb.c:977 > #7 0x00005555557c77bc in store_helper > (op=MO_BEUL, retaddr=140736415114886, oi=<optimized out>, val=0, > addr=4161799712, env=0x5555563a6b60) at > /home/rth/qemu/qemu/accel/tcg/cputlb.c:1716 > #8 0x00005555557c77bc in helper_be_stl_mmu > (env=0x5555563a6b60, addr=4161799712, val=0, oi=<optimized out>, > retaddr=140736415114886) at /home/rth/qemu/qemu/accel/tcg/cputlb.c:1842 > #9 0x00007fffc007a686 in code_gen_buffer ()