Mark Cave-Ayland
e004499fd5
lasi: use qdev GPIOs to wire up IRQs in lasi_initfn()
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-31-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:37 +01:00
Mark Cave-Ayland
cb9f6c4b65
lasi: define IRQ inputs as qdev GPIOs
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-30-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:37 +01:00
Mark Cave-Ayland
0f04d5777b
lasi: replace lasi_get_irq() with defined constants
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-29-mark.cave-ayland@ilande.co.uk >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:37 +01:00
Mark Cave-Ayland
b514f43244
lasi: move LASIState and associated QOM structures to lasi.h
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-28-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
b3cdb7e4b2
lasi: move initialisation of iar and rtc to new lasi_reset() function
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-27-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
2683758c7c
lasi: move register memory mapping from lasi.c to machine.c
...
The device register should be mapped directly by the board code.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-26-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
46f2594cfc
lasi: move memory region initialisation to new lasi_init() function
...
Create a new lasi_init() instance initialisation function and move the LASI
memory region initialisation into it. Rename the existing lasi_init() function
to lasi_initfn() for now.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-25-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
63588da809
lasi: checkpatch fixes
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-24-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
0db9350e6e
dino: move from hw/hppa to hw/pci-host
...
Move the DINO device implementation from hw/hppa to hw/pci-host so that it is
located with all the other PCI host bridges.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-23-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
e111f288d9
dino: move DINO HPA constants from hppa_hardware.h to dino.h
...
This is to allow us to decouple the DINO device from the board logic.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-22-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
2fb11c7cac
dino: use numerical constant for iar0 and iar1 reset values
...
This is to allow us to decouple the DINO device from the board logic. The choice
of using a hard-coded constant (along with a comment) is to match how this is
already done for toc_addr. If it is decided later that these values need to be
configurable then they can easily be converted to qdev properties.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-21-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
0d06899631
hppa: move dino_init() from dino.c to machine.c
...
Now that dino_init() is completely decoupled from dino.c it can be moved to
machine.c with the rest of the board configuration.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-20-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
36f9bbdb17
dino: remove unused dino_set_timer_irq() IRQ handler
...
According to the comments in dino.c the timer IRQ is unused, so remove the empty
dino_set_timer_irq() handler function and simply pass NULL to mc146818_rtc_init()
in machine.c instead.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-19-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
a4b74c1924
dino: wire up serial IRQ using a qdev GPIO in machine.c
...
This makes it unnecessary to allocate a separate IRQ for the serial port.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-18-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
4b5faaf94f
dino: define IRQ inputs as qdev GPIOs
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-17-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
10c5264172
dino.h: add defines for DINO IRQ numbers
...
This is to allow the DINO IRQs to be defined as qdev GPIOs.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-16-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
efdb3ce2de
machine.c: map DINO device during board configuration
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-15-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
05245daf47
dino: change dino_init() to return the DINO device instead of PCIBus
...
This is in preparation for using more qdev APIs during the configuration of the
HPPA generic machine.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-14-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
0d98fbb57d
hppa: use new CONFIG_HPPA_B160L option instead of CONFIG_DINO to build hppa machine
...
DINO refers to the GSC-PCI bridge device which will soon be handled separately,
however the QEMU HPPA machine is actually based upon the HPPA B160L as indicated
by the Linux kernel dmesg output when booted in qemu-system-hppa and the QEMU
MAINTAINERS file.
Update the machine configuration to use CONFIG_HPPA_B160L instead of CONFIG_DINO
and also update the machine description accordingly.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-13-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
14e275efcb
dino: split declarations from dino.c into dino.h
...
This is to allow access to DinoState from outside dino.c. With the changes to
the headers it is now possible to remove the duplicate definition for
TYPE_DINO_PCI_HOST_BRIDGE from hppa_sys.h.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-12-mark.cave-ayland@ilande.co.uk >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
079e7ad989
dino: return PCIBus from dino_init() using qdev_get_child_bus()
...
This allows access to the PCI bus without having to reference parent_obj directly.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-11-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
ee313d5abb
dino: use QOM cast instead of directly referencing parent_obj
...
Use a QOM cast in both dino_chip_read_with_attrs() and dino_chip_write_with_attrs()
instead of directly referencing parent_obj.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-10-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
98d168f359
dino: move initial register configuration to new dino_pcihost_reset() function
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-9-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
9cf69f444c
dino: move PCI bus master address space setup to dino_pcihost_realize()
...
Add a new dino_pcihost_unrealize() function to remove the address space when the
device is unrealized.
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-8-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
5ac6c43c85
dino: move pci_setup_iommu() to dino_pcihost_init()
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-7-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
270b29587f
dino: add memory-as property containing a link to the memory address space
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-6-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
cc363c4a10
dino: move PCI windows initialisation to dino_pcihost_init()
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-5-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
63901b6cc4
dino: move PCI bus initialisation to dino_pcihost_init()
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-4-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
7cdfa94166
dino: move registers from dino_init() to DINO_PCI_BRIDGE init function
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-3-mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Mark Cave-Ayland
17bd42896d
dino: checkpatch fixes
...
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Acked-by: Helge Deller <deller@gmx.de >
Message-Id: <20220504092600.10048-2-mark.cave-ayland@ilande.co.uk >
Signed-off-by: Mark Cave-Ayland <mark.cave-ayland@ilande.co.uk >
2022-05-08 18:52:36 +01:00
Marc-André Lureau
0f9668e0c1
Remove qemu-common.h include from most units
...
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Message-Id: <20220323155743.1585078-33-marcandre.lureau@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2022-04-06 14:31:55 +02:00
Helge Deller
4a4554c6c5
hppa: Add support for an emulated TOC/NMI button.
...
Almost all PA-RISC machines have either a button that is labeled with 'TOC' or
a BMC/GSP function to trigger a TOC. TOC is a non-maskable interrupt that is
sent to the processor. This can be used for diagnostic purposes like obtaining
a stack trace/register dump or to enter KDB/KGDB in Linux.
This patch adds support for such an emulated TOC button.
It wires up the qemu monitor "nmi" command to trigger a TOC. For that it
provides the hppa_nmi function which is assigned to the nmi_monitor_handler
function pointer. When called it raises the EXCP_TOC hardware interrupt in the
hppa_cpu_do_interrupt() function. The interrupt function then calls the
architecturally defined TOC function in SeaBIOS-hppa firmware (at fixed address
0xf0000000).
According to the PA-RISC PDC specification, the SeaBIOS firmware then writes
the CPU registers into PIM (processor internal memmory) for later analysis. In
order to write all registers it needs to know the contents of the CPU "shadow
registers" and the IASQ- and IAOQ-back values. The IAOQ/IASQ values are
provided by qemu in shadow registers when entering the SeaBIOS TOC function.
This patch adds a new aritificial opcode "getshadowregs" (0xfffdead2) which
restores the original values of the shadow registers. With this opcode SeaBIOS
can store those registers as well into PIM before calling an OS-provided TOC
handler.
To trigger a TOC, switch to the qemu monitor with Ctrl-A C, and type in the
command "nmi". After the TOC started the OS-debugger, exit the qemu monitor
with Ctrl-A C.
Signed-off-by: Helge Deller <deller@gmx.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2022-02-02 18:46:42 +01:00
Helge Deller
87e126ea14
hw/hppa: Allow up to 16 emulated CPUs
...
This brings the hppa_hardware.h file in sync with the copy in the
SeaBIOS-hppa sources.
In order to support up to 16 CPUs, it's required to move the HPA for
MEMORY_HPA out of the address space of the new 16th CPU.
The new address of 0xfffff000 worked well for Linux and HP-UX, while
other addresses close to the former 0xfffbf000 area are used by the
architecture for local and global broadcasts.
The PIM_STORAGE_SIZE constant is used in SeaBIOS sources and
is relevant for the TOC/NMI feature.
Signed-off-by: Helge Deller <deller@gmx.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2022-02-02 18:46:41 +01:00
Stefano Garzarella
d0fb9657a3
docs: fix references to docs/devel/tracing.rst
...
Commit e50caf4a5c
("tracing: convert documentation to rST")
converted docs/devel/tracing.txt to docs/devel/tracing.rst.
We still have several references to the old file, so let's fix them
with the following command:
sed -i s/tracing.txt/tracing.rst/ $(git grep -l docs/devel/tracing.txt)
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-Id: <20210517151702.109066-2-sgarzare@redhat.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2021-06-02 06:51:09 +02:00
Thomas Huth
ee86213aa3
Do not include exec/address-spaces.h if it's not really necessary
...
Stop including exec/address-spaces.h in files that don't need it.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20210416171314.2074665-5-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:51 +02:00
Thomas Huth
2068cabd3f
Do not include cpu.h if it's not really necessary
...
Stop including cpu.h in files that don't need it.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20210416171314.2074665-4-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:51 +02:00
Thomas Huth
ead62c75f6
Do not include hw/boards.h if it's not really necessary
...
Stop including hw/boards.h in files that don't need it.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Message-Id: <20210416171314.2074665-3-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:51 +02:00
Thomas Huth
e06054368c
hw: Remove superfluous includes of hw/hw.h
...
The include/hw/hw.h header only has a prototype for hw_error(),
so it does not make sense to include this in files that do not
use this function.
Signed-off-by: Thomas Huth <thuth@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20210326151848.2217216-1-thuth@redhat.com >
Signed-off-by: Laurent Vivier <laurent@vivier.eu >
2021-05-02 17:24:50 +02:00
Philippe Mathieu-Daudé
8d40def66d
hw: Use the PCI_SLOT() macro from 'hw/pci/pci.h'
...
We already have a generic PCI_SLOT() macro in "hw/pci/pci.h"
to extract the PCI slot identifier, use it.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Acked-by: Paul Durrant <paul@xen.org >
Acked-by: David Gibson <david@gibson.dropbear.id.au >
Acked-by: Michael S. Tsirkin <mst@redhat.com >
Message-Id: <20201012124506.3406909-5-philmd@redhat.com >
2021-01-04 23:24:44 +01:00
Paolo Bonzini
2c65db5e58
vl: extract softmmu/datadir.c
...
Reviewed-by: Igor Mammedov <imammedo@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2020-12-10 12:15:18 -05:00
Paolo Bonzini
bfdf22bc76
hppa: do not use ram_size global
...
Use the machine properties instead.
Cc: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2020-12-10 12:15:07 -05:00
Paolo Bonzini
b57e3e9785
hppa: remove bios_name
...
Cc: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Message-Id: <20201026143028.3034018-5-pbonzini@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2020-12-10 12:15:05 -05:00
Eduardo Habkost
8063396bf3
Use OBJECT_DECLARE_SIMPLE_TYPE when possible
...
This converts existing DECLARE_INSTANCE_CHECKER usage to
OBJECT_DECLARE_SIMPLE_TYPE when possible.
$ ./scripts/codeconverter/converter.py -i \
--pattern=AddObjectDeclareSimpleType $(git grep -l '' -- '*.[ch]')
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
Acked-by: Paul Durrant <paul@xen.org >
Message-Id: <20200916182519.415636-6-ehabkost@redhat.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-09-18 14:12:32 -04:00
Eduardo Habkost
8110fa1d94
Use DECLARE_*CHECKER* macros
...
Generated using:
$ ./scripts/codeconverter/converter.py -i \
--pattern=TypeCheckMacro $(git grep -l '' -- '*.[ch]')
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20200831210740.126168-12-ehabkost@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20200831210740.126168-13-ehabkost@redhat.com >
Message-Id: <20200831210740.126168-14-ehabkost@redhat.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-09-09 09:27:09 -04:00
Eduardo Habkost
db1015e92e
Move QOM typedefs and add missing includes
...
Some typedefs and macros are defined after the type check macros.
This makes it difficult to automatically replace their
definitions with OBJECT_DECLARE_TYPE.
Patch generated using:
$ ./scripts/codeconverter/converter.py -i \
--pattern=QOMStructTypedefSplit $(git grep -l '' -- '*.[ch]')
which will split "typdef struct { ... } TypedefName"
declarations.
Followed by:
$ ./scripts/codeconverter/converter.py -i --pattern=MoveSymbols \
$(git grep -l '' -- '*.[ch]')
which will:
- move the typedefs and #defines above the type check macros
- add missing #include "qom/object.h" lines if necessary
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20200831210740.126168-9-ehabkost@redhat.com >
Reviewed-by: Juan Quintela <quintela@redhat.com >
Message-Id: <20200831210740.126168-10-ehabkost@redhat.com >
Message-Id: <20200831210740.126168-11-ehabkost@redhat.com >
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com >
2020-09-09 09:26:43 -04:00
Helge Deller
b28c4a6497
hw/hppa: Add power button emulation
...
Emulate a power button switch, tell SeaBIOS the address via fw_cfg and
bind the power button to the qemu UI.
Signed-off-by: Helge Deller <deller@gmx.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2020-09-02 23:16:52 +02:00
Helge Deller
245760074a
hw/hppa: Tell SeaBIOS port address of fw_cfg
...
Change QEMU_FW_CFG_IO_BASE to shorter variant FW_CFG_IO_BASE and hand
over the actual port address in %r19 to SeaBIOS.
Signed-off-by: Helge Deller <deller@gmx.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2020-09-02 23:16:51 +02:00
Helge Deller
34743e9633
hw/hppa: Change fw_cfg port address
...
Devices on hppa occupy at least 4k starting at the HPA, so MEMORY_HPA+4k is
blocked (by Linux) for the memory module. I noticed this when testing the new
Linux kernel patch to let the fw_cfg entries show up in Linux under /proc.
The Linux kernel driver could not allocate the region for fw_cfg.
This new base address seems to not conflict.
Signed-off-by: Helge Deller <deller@gmx.de >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
2020-09-02 23:16:50 +02:00
Helge Deller
32ff8bf248
hw/hppa: Store boot device in fw_cfg section
...
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Signed-off-by: Helge Deller <deller@gmx.de >
2020-09-02 23:16:49 +02:00
Helge Deller
df5c6a5094
hw/hppa: Make number of TLB and BTLB entries configurable
...
Until now the TLB size was fixed at 256 entries. To allow operating
systems to utilize more TLB entries in the future, we need to tell
firmware how many TLB entries we actually support in the emulation.
Firmware then reports this to the operating system via the
PDC_CACHE_INFO call.
This patch simply does the preparation to allow more TLB entries.
Signed-off-by: Helge Deller <deller@gmx.de >
2020-09-02 23:16:48 +02:00