1. 31 1月, 2020 1 次提交
  2. 30 1月, 2020 9 次提交
  3. 29 1月, 2020 20 次提交
  4. 28 1月, 2020 10 次提交
    • P
      Merge remote-tracking branch 'remotes/rth/tags/pull-pa-20200127' into staging · 4c60e328
      Peter Maydell 提交于
      Improve LASI emulation
      Add Artist graphics
      Fix main memory allocation
      Improve LDCW emulation wrt real hw
      
      # gpg: Signature made Mon 27 Jan 2020 18:53:35 GMT
      # gpg:                using RSA key 7A481E78868B4DB6A85A05C064DF38E8AF7E215F
      # gpg:                issuer "richard.henderson@linaro.org"
      # gpg: Good signature from "Richard Henderson <richard.henderson@linaro.org>" [full]
      # Primary key fingerprint: 7A48 1E78 868B 4DB6 A85A  05C0 64DF 38E8 AF7E 215F
      
      * remotes/rth/tags/pull-pa-20200127:
        target/hppa: Allow, but diagnose, LDCW aligned only mod 4
        hw/hppa/machine: Map the PDC memory region with higher priority
        hw/hppa/machine: Restrict the total memory size to 3GB
        hw/hppa/machine: Correctly check the firmware is in PDC range
        hppa: Add emulation of Artist graphics
        seabios-hppa: update to latest version
        hppa: Switch to tulip NIC by default
        hppa: add emulation of LASI PS2 controllers
        ps2: accept 'Set Key Make and Break' commands
        hppa: Add support for LASI chip with i82596 NIC
        hw/hppa/dino.c: Improve emulation of Dino PCI chip
      Signed-off-by: NPeter Maydell <peter.maydell@linaro.org>
      4c60e328
    • A
      tests/ide-test: Create a single unit-test covering more PRDT cases · 59805ae9
      Alexander Popov 提交于
      Fuzzing the Linux kernel with syzkaller allowed to find how to crash qemu
      using a special SCSI_IOCTL_SEND_COMMAND. It hits the assertion in
      ide_dma_cb() introduced in the commit a718978e in July 2015.
      Currently this bug is not reproduced by the unit tests.
      
      Let's improve the ide-test to cover more PRDT cases including one
      that causes this particular qemu crash.
      
      The test is developed according to the Programming Interface for
      Bus Master IDE Controller (Revision 1.0 5/16/94).
      Signed-off-by: NAlexander Popov <alex.popov@linux.com>
      Message-id: 20191223175117.508990-3-alex.popov@linux.com
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      59805ae9
    • A
      ide: Fix incorrect handling of some PRDTs in ide_dma_cb() · ed78352a
      Alexander Popov 提交于
      The commit a718978e from July 2015 introduced the assertion which
      implies that the size of successful DMA transfers handled in ide_dma_cb()
      should be multiple of 512 (the size of a sector). But guest systems can
      initiate DMA transfers that don't fit this requirement.
      
      For fixing that let's check the number of bytes prepared for the transfer
      by the prepare_buf() handler. The code in ide_dma_cb() must behave
      according to the Programming Interface for Bus Master IDE Controller
      (Revision 1.0 5/16/94):
      1. If PRDs specified a smaller size than the IDE transfer
         size, then the Interrupt and Active bits in the Controller
         status register are not set (Error Condition).
      2. If the size of the physical memory regions was equal to
         the IDE device transfer size, the Interrupt bit in the
         Controller status register is set to 1, Active bit is set to 0.
      3. If PRDs specified a larger size than the IDE transfer size,
         the Interrupt and Active bits in the Controller status register
         are both set to 1.
      Signed-off-by: NAlexander Popov <alex.popov@linux.com>
      Reviewed-by: NKevin Wolf <kwolf@redhat.com>
      Message-id: 20191223175117.508990-2-alex.popov@linux.com
      Signed-off-by: NJohn Snow <jsnow@redhat.com>
      ed78352a
    • R
      target/hppa: Allow, but diagnose, LDCW aligned only mod 4 · b1af755c
      Richard Henderson 提交于
      The PA-RISC 1.1 specification says that LDCW must be aligned mod 16
      or the operation is undefined.  However, real hardware only generates
      an unaligned access trap for unaligned mod 4.
      
      Match real hardware, but diagnose with GUEST_ERROR a violation of
      the specification.
      
      At the same time fix a bug in the initialization of mop, where the
      size was specified twice, and another to free the zero temporary.
      Tested-by: NHelge Deller <deller@gmx.de>
      Reported-by: NHelge Deller <deller@gmx.de>
      Suggested-by: NJohn David Anglin <dave.anglin@bell.net>
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      b1af755c
    • P
      hw/hppa/machine: Map the PDC memory region with higher priority · 4debfdac
      Philippe Mathieu-Daudé 提交于
      The region in range [0xf0000000 - 0xf1000000] is the PDC area
      (Processor Dependent Code), where the firmware is loaded.
      This region has higher priority than the main memory.
      
      When the machine has more than 3840MB of RAM, there is an
      overlap. Since the PDC is closer to the CPU in the bus
      hierarchy, it gets accessed first, and the CPU does not have
      access to the RAM in this range.
      
      To model the same behavior and keep a simple memory layout,
      reduce the priority of the RAM region. The PDC region ends
      overlapping the RAM.
      Acked-by: NHelge Deller <deller@gmx.de>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-Id: <20200109000525.24744-4-f4bug@amsat.org>
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      4debfdac
    • P
      hw/hppa/machine: Restrict the total memory size to 3GB · b7746b11
      Philippe Mathieu-Daudé 提交于
      The hardware expects DIMM slots of 1 or 2 GB, allowing up to
      4 GB of memory. We want to accept the same amount of memory the
      hardware can deal with. DIMMs of 768MB are not available.
      
      However we have to deal with a firmware limitation: currently
      SeaBIOS only supports 32-bit, and expects the RAM size in a
      32-bit register. When using a 4GB configuration, the 32-bit
      register get truncated and we report a size of 0MB to SeaBIOS,
      which ends halting the machine:
      
        $ qemu-system-hppa -m 4g -serial stdio
      
        SeaBIOS: Machine configured with too little memory (0 MB), minimum is 16 MB.
      
        SeaBIOS wants SYSTEM HALT.
      
      The easiest way is to restrict the machine to 3GB of memory.
      Acked-by: NHelge Deller <deller@gmx.de>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-Id: <20200109000525.24744-3-f4bug@amsat.org>
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      b7746b11
    • P
      hw/hppa/machine: Correctly check the firmware is in PDC range · 8262863d
      Philippe Mathieu-Daudé 提交于
      The firmware has to reside in the PDC range. If the Elf file
      expects to load it below FIRMWARE_START, it is incorrect,
      regardless the RAM size.
      Acked-by: NHelge Deller <deller@gmx.de>
      Reviewed-by: NRichard Henderson <richard.henderson@linaro.org>
      Signed-off-by: NPhilippe Mathieu-Daudé <f4bug@amsat.org>
      Message-Id: <20200109000525.24744-2-f4bug@amsat.org>
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      8262863d
    • S
      hppa: Add emulation of Artist graphics · 4765384c
      Sven Schnelle 提交于
      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.
      
      Adjust boot-serial-test to disable graphics, so that SeaBIOS outputs
      to the serial port, as expected by the test.
      Signed-off-by: NSven Schnelle <svens@stackframe.org>
      Message-Id: <20191220211512.3289-6-svens@stackframe.org>
      [rth: Merge Helge's test for machine->enable_graphics]
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      4765384c
    • S
      seabios-hppa: update to latest version · 346e78f6
      Sven Schnelle 提交于
      Helge Deller (13):
            Add PDC_MEM_MAP and ENTRY_INIT_SRCH_FRST for OSF/MkLinux
            Return non-existant BTLB for PDC_BLOCK_TLB
            Add serial, parallel and LAN port support of  LASI chip
            Implement ENTRY_IO_BBLOCK_IN IODC function
            Do not print \r on parisc SeaBIOS
            Fix serial ports and add PDC_MODEL functions for special instructions enablement
            Implement SeaBIOS returning additional addresses. Fixes HP-UX boot.
            Fix mod_pgs (number of pages) for graphic cards
            Merge pull request #3 from svenschnelle/sti
            Merge pull request #4 from svenschnelle/parisc-qemu-4.1.0
            parisc: Implement PDC rendenzvous
            parisc: Improve soft power button emulation
            parisc: Fix line wrapping in STI console code
      
      Sven Schnelle (7):
            parisc: fix PDC info for graphics adapter
            parisc: add missing header guard to hppa.h
            parisc: add LASI PS/2 emulation.
            parisc: Add STI support
            parisc: wire up graphics console
            parisc: Add support for setting STI screen resolution
            parisc: support LASI RTC register
      
      Required for STI and LASI support. Also adds a few Bugfixes.
      Signed-off-by: NSven Schnelle <svens@stackframe.org>
      Message-Id: <20191220211512.3289-7-svens@stackframe.org>
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      346e78f6
    • H
      hppa: Switch to tulip NIC by default · 0e6de551
      Helge Deller 提交于
      Most HP PA-RISC machines have a Digital DS21142/43 Tulip network card,
      only some very latest generation machines have an e1000 NIC.
      Since qemu now provides an emulated tulip card, use that one instead.
      Signed-off-by: NHelge Deller <deller@gmx.de>
      Message-Id: <20191221222530.GB27803@ls3530.fritz.box>
      Signed-off-by: NRichard Henderson <richard.henderson@linaro.org>
      0e6de551