- Jan 11, 2018
-
-
Michael Weiser authored
Enable big-endian mode for data accesses on aarch64 for big-endian linux user mode. Activate it for all exception levels as documented by ARM: Set the SCTLR EE bit for ELs 1 through 3. Additionally set bit E0E in EL1 to enable it in EL0 as well. Signed-off-by:
Michael Weiser <michael.weiser@gmx.de> Reviewed-by:
Richard Henderson <richard.henderson@linaro.org> Message-id: 20171220212308.12614-2-michael.weiser@gmx.de Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Peter Maydell authored
nbd patches for 2018-01-10 - Vladimir Sementsov-Ogievskiy: nbd: rename nbd_option and nbd_opt_reply - Vladimir Sementsov-Ogievskiy: nbd/server: add additional assert to nbd_export_put # gpg: Signature made Wed 10 Jan 2018 22:53:49 GMT # gpg: using RSA key 0xA7A16B4A2527436A # gpg: Good signature from "Eric Blake <eblake@redhat.com>" # gpg: aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>" # gpg: aka "[jpeg image of size 6874]" # Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2 F3AA A7A1 6B4A 2527 436A * remotes/ericb/tags/pull-nbd-2018-01-10: nbd: rename nbd_option and nbd_opt_reply nbd/server: add additional assert to nbd_export_put Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Peter Maydell authored
qemu-sparc update # gpg: Signature made Tue 09 Jan 2018 22:12:22 GMT # gpg: using RSA key 0x5BC2C56FAE0F321F # gpg: Good signature from "Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>" # Primary key fingerprint: CC62 1AB9 8E82 200D 915C C9C4 5BC2 C56F AE0F 321F * remotes/mcayland/tags/qemu-sparc-signed: (25 commits) sun4u_iommu: add trace event for IOMMU translations sun4u_iommu: convert from IOMMU_DPRINTF to trace-events sun4u_iommu: update to reflect IOMMU is no longer part of the APB device sun4u: split IOMMU device out from apb.c to sun4u_iommu.c apb: QOMify IOMMU sun4m: remove include/hw/sparc/sun4m.h and all references to it sun4m: move IOMMU declarations from sun4m.h to sun4m_iommu.h sun4m: move sun4m_iommu.c from hw/dma to hw/sparc sun4u: switch from EBUS_DPRINTF() macro to trace-events sparc64: introduce trace-events for hw/sparc64 apb: replace OBIO interrupt numbers in pci_pbmA_map_irq() with constants ebus: wire up OBIO interrupts to APB pbm via qdev GPIOs apb: remove busA property from PBMPCIBridge state apb: split pci_pbm_map_irq() into separate functions for bus A and bus B apb: remove pci_apb_init() and instantiate APB device using qdev apb: move the two secondary PCI bridges objects into APBState apb: use gpios to wire up the apb device to the SPARC CPU IRQs apb: return APBState from pci_apb_init() rather than PCIBus apb: APB QOMify tidy-up sun4u: move initialisation of all ISABus devices into ebus_realize() ... Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
- Jan 10, 2018
-
-
Vladimir Sementsov-Ogievskiy authored
Rename nbd_option and nbd_opt_reply to NBDOption and NBDOptionReply to correspond to Qemu coding style and other structures here. Signed-off-by:
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Message-Id: <20171122101958.17065-5-vsementsov@virtuozzo.com> Signed-off-by:
Eric Blake <eblake@redhat.com>
-
- Jan 09, 2018
-
-
Mark Cave-Ayland authored
Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
By separating the sun4u IOMMU device into new sun4u_iommu.c and sun4m_iommu.h files we noticeably simplify apb.c whilst bringing sun4u in line with all the other IOMMU-supporting architectures. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
This is in preparation to split the IOMMU device out of the APB. As part of this commit we also enforce separation of the IOMMU and APB devices by using a QOM object link to pass the IOMMU reference and accessing the IOMMU registers via a separate memory region mapped into the APB config space rather than directly. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
With the previous commit there is now nothing left in sun4m.h so it can be removed, along with all remaining references to it. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
Also updating the relevant .c files as required. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
This seems more appropriate and brings sun4m in line with the other architectures. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Acked-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
This is in preparation for switching code in hw/sparc64 from DPRINTF over to trace events. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Mark Cave-Ayland authored
Following on from the previous commit, we can also do the same with with legacy OBIO interrupts in pci_pbmA_map_irq(). Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Mark Cave-Ayland authored
This enables us to remove the static array mapping in the ISA IRQ handler (and the embedded reference to the APB device) by formalising the interrupt wiring via the qdev GPIO API. For more clarity we replace the APB OBIO interrupt numbers with constants designating the interrupt source, and rename isa_irq_handler() to ebus_isa_irq_handler(). Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Mark Cave-Ayland authored
Since the previous commit the only remaining use of the qdev busA property is to configure the PCI bridge in front of the onboard ebus devices differently to allow early OpenBIOS serial console access. Instead we can now manually update the PCI configuration for bridge A in pci_pbm_reset() and thus completely remove the busA property from the PBMPCIBridge state. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
After the previous refactoring it is now possible to use separate functions to improve the clarity of the interrupt paths. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
By making the special_base and mem_base values qdev properties, we can move the remaining parts of pci_apb_init() into the pbm init() and realize() functions. This finally allows us to instantiate the APB directly using standard qdev create/init functions in sun4u.c. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Mark Cave-Ayland authored
This enables us to remove these parameters from pci_apb_init(). Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Mark Cave-Ayland authored
Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
This is a first step towards removing pci_apb_init() completely. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
Use DeviceClass rather than SysBusDeviceClass in pbm_host_class_init() and adjust pci_pbm_init_device() accordingly. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Mark Cave-Ayland authored
This belongs in the PCI-ISA bridge rather than at the machine level. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com>
-
Mark Cave-Ayland authored
This is initialisation that should really take place in the ebus realize function. As part of this we also rework the ebus IRQ mapping so that instead of having to pass in the array of pbm_irqs, we obtain a reference to them by looking up the APB device during ebus realize. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Mark Cave-Ayland authored
Since the EBus is effectively a PCI-ISA bridge then the underlying ISA bus should be contained within the PCI bridge itself. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Mark Cave-Ayland authored
The main change here is to introduce the proper TYPE_EBUS/EBUS QOM macros and remove the use of DO_UPCAST. Alongside this there are some a couple of minor cosmetic changes and a rename of pci_ebus_realize() to ebus_realize() since the ebus device is always what is effectively a PCI-ISA bridge. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Mark Cave-Ayland authored
This also includes the related IOMMUState typedef and defines. Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk> Reviewed-by:
Artyom Tarasenko <atar4qemu@gmail.com> Reviewed-by:
Philippe Mathieu-Daudé <f4bug@amsat.org>
-
Jean-Christophe Dubois authored
This code is preventing the MMU debug code from displaying virtual mappings of IO devices (anything that is not located in the RAM). Before this patch, Qemu would output 0xffffffffffffffff (-1) as the physical address corresponding to an IO device virtual address. With this patch the intended physical address is displayed. Signed-off-by:
Jean-Christophe Dubois <jcd@tribudubois.net> Signed-off-by:
Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk>
-
Vladimir Sementsov-Ogievskiy authored
This place is not obvious, nbd_export_close may theoretically reduce refcount to 0. It may happen if someone calls nbd_export_put on named export not through nbd_export_set_name when refcount is 1. Signed-off-by:
Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com> Reviewed-by:
Eric Blake <eblake@redhat.com> Reviewed-by:
Max Reitz <mreitz@redhat.com> Message-Id: <20171207155102.66622-2-vsementsov@virtuozzo.com> Signed-off-by:
Eric Blake <eblake@redhat.com>
-
Peter Maydell authored
target/xtensa updates: - add libisa to the xtensa target; - change xtensa instruction translator to use it; - switch existing xtensa cores to use it; - add support for a number of instructions: salt/saltu, const16, GPIO32 group, debug mode and MMU-related; - add disassembler for Xtensa. # gpg: Signature made Tue 09 Jan 2018 18:11:02 GMT # gpg: using RSA key 0x51F9CC91F83FA044 # gpg: Good signature from "Max Filippov <filippov@cadence.com>" # gpg: aka "Max Filippov <max.filippov@cogentembedded.com>" # gpg: aka "Max Filippov <jcmvbkbc@gmail.com>" # Primary key fingerprint: 2B67 854B 98E5 327D CDEB 17D8 51F9 CC91 F83F A044 * remotes/xtensa/tags/20180109-xtensa: target/xtensa: implement disassembler target/xtensa: implement const16 target/xtensa: implement GPIO32 target/xtensa: implement salt/saltu target/xtensa: add internal/noop SRs and opcodes target/xtensa: drop DisasContext::litbase target/xtensa: tests: fix memctl SR test target/xtensa: use libisa for instruction decoding target/xtensa: switch fsf to libisa target/xtensa: switch dc233c to libisa target/xtensa: switch dc232b to libisa target/xtensa: update import_core.sh script for libisa target/xtensa: extract FPU2000 opcode translators target/xtensa: extract core opcode translators target/xtensa: import libisa source target/xtensa: pass actual frame size to the entry helper Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-
Max Filippov authored
Add disas/xtensa.c and use libisa for instruction decoding/opcode name lookup. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com>
-
Max Filippov authored
const16 is an opcode that shifts 16 lower bits of an address register to the 16 upper bits and puts its immediate operand into the lower 16 bits. It is not controlled by an Xtensa option and doesn't have a fixed opcode. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com>
-
Max Filippov authored
GPIO32 is not in the core ISA, but it was widely used in Diamond Cores. This implementation doesn't do actual I/O and doesn't handle the case of GPIO32 state being a part of coprocessor. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com>
-
Max Filippov authored
SALT/SALTU are recent additions to the core Xtensa ISA that do signed/unsigned setcond. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com>
-
Max Filippov authored
Add two special registers: MMID and DDR: - MMID is write-only and the only side effect of writing to it is output to the trace port, which is not emulated; - DDR is only accessible in debug mode, which is not emulated. Add two debug-mode-only opcodes: - rfdd and rfdo do return from the debug mode, which is not emulated. Add three internal opcodes for full MMU: - hwwdtlba and hwwitlba are the internal opcodes that write a value into autoupdate DTLB or ITLB entry. - ldpte is internal opcode that loads PTE entry that covers the most recent page fault address. None of these three opcodes may appear in a valid instruction. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com>
-
Max Filippov authored
It doesn't help much, always-set bit 0 of the LITBASE SR is easy to compensate with decrement of the l32r immediate argument. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com>
-
Max Filippov authored
memctl SR is not available on dc232b, as it was introduced in more recent hardware release. Now that this information is available through the libisa the test fails. Fix the test. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com>
-
Max Filippov authored
Replace manual opcode analysis with libisa-based code. This makes it possible to support variable-encoding instructions of the core ISA, like const16, and will allow to support advanced Xtensa features, like FLIX and TIE. Signed-off-by:
Max Filippov <jcmvbkbc@gmail.com>
-
Peter Maydell authored
nbd patches for 2018-01-08 - Eric Blake: 0/2 Optimize sparse reads over NBD - Murilo Opsfelder Araujo: block/nbd: fix segmentation fault when .desc is not null-terminated # gpg: Signature made Mon 08 Jan 2018 15:21:19 GMT # gpg: using RSA key 0xA7A16B4A2527436A # gpg: Good signature from "Eric Blake <eblake@redhat.com>" # gpg: aka "Eric Blake (Free Software Programmer) <ebb9@byu.net>" # gpg: aka "[jpeg image of size 6874]" # Primary key fingerprint: 71C2 CC22 B1C4 6029 27D2 F3AA A7A1 6B4A 2527 436A * remotes/ericb/tags/pull-nbd-2018-01-08: block/nbd: fix segmentation fault when .desc is not null-terminated nbd/server: Optimize final chunk of sparse read nbd/server: Implement sparse reads atop structured reply Signed-off-by:
Peter Maydell <peter.maydell@linaro.org>
-