Philippe Mathieu-Daudé
27d6dea3d7
hw/timer/nrf51_timer: Display timer ID in trace events
...
The NRF51 series SoC have 3 timer peripherals, each having
4 counters. To help differentiate which peripheral is accessed,
display the timer ID in the trace events.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200504072822.18799-4-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-05-11 11:05:52 +01:00
Philippe Mathieu-Daudé
54595a5731
hw/arm/nrf51: Add NRF51_PERIPHERAL_SIZE definition
...
On the NRF51 series, all peripherals have a fixed I/O size
of 4KiB. Define NRF51_PERIPHERAL_SIZE and use it.
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org >
Reviewed-by: Richard Henderson <richard.henderson@linaro.org >
Message-id: 20200504072822.18799-2-f4bug@amsat.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2020-05-11 11:05:11 +01:00
Philippe Mathieu-Daudé
32b9523ad5
hw/arm: Let devices own the MemoryRegion they create
...
Avoid orphan memory regions being added in the /unattached QOM
container.
This commit was produced with the Coccinelle script
scripts/coccinelle/memory-region-housekeeping.cocci.
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
2020-03-17 15:18:50 +01:00
Marc-André Lureau
4f67d30b5e
qdev: set properties with device_class_set_props()
...
The following patch will need to handle properties registration during
class_init time. Let's use a device_class_set_props() setter.
spatch --macro-file scripts/cocci-macro-file.h --sp-file
./scripts/coccinelle/qdev-set-props.cocci --keep-comments --in-place
--dir .
@@
typedef DeviceClass;
DeviceClass *d;
expression val;
@@
- d->props = val
+ device_class_set_props(d, val)
Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com >
Message-Id: <20200110153039.1379601-20-marcandre.lureau@redhat.com >
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com >
2020-01-24 20:59:15 +01:00
Markus Armbruster
d5938f29fe
Clean up inclusion of sysemu/sysemu.h
...
In my "build everything" tree, changing sysemu/sysemu.h triggers a
recompile of some 5400 out of 6600 objects (not counting tests and
objects that don't depend on qemu/osdep.h).
Almost a third of its inclusions are actually superfluous. Delete
them. Downgrade two more to qapi/qapi-types-run-state.h, and move one
from char/serial.h to char/serial.c.
hw/semihosting/config.c, monitor/monitor.c, qdev-monitor.c, and
stubs/semihost.c define variables declared in sysemu/sysemu.h without
including it. The compiler is cool with that, but include it anyway.
This doesn't reduce actual use much, as it's still included into
widely included headers. The next commit will tackle that.
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Message-Id: <20190812052359.30071-27-armbru@redhat.com >
Reviewed-by: Alex Bennée <alex.bennee@linaro.org >
2019-08-16 13:31:53 +02:00
Markus Armbruster
12e9493df9
Include hw/boards.h a bit less
...
hw/boards.h pulls in almost 60 headers. The less we include it into
headers, the better. As a first step, drop superfluous inclusions,
and downgrade some more to what's actually needed. Gets rid of just
one inclusion into a header.
Cc: Eduardo Habkost <ehabkost@redhat.com >
Cc: Marcel Apfelbaum <marcel.apfelbaum@gmail.com >
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Message-Id: <20190812052359.30071-23-armbru@redhat.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com >
2019-08-16 13:31:53 +02:00
Markus Armbruster
a8d2532645
Include qemu-common.h exactly where needed
...
No header includes qemu-common.h after this commit, as prescribed by
qemu-common.h's file comment.
Signed-off-by: Markus Armbruster <armbru@redhat.com >
Message-Id: <20190523143508.25387-5-armbru@redhat.com >
[Rebased with conflicts resolved automatically, except for
include/hw/arm/xlnx-zynqmp.h hw/arm/nrf51_soc.c hw/arm/msf2-soc.c
block/qcow2-refcount.c block/qcow2-cluster.c block/qcow2-cache.c
target/arm/cpu.h target/lm32/cpu.h target/m68k/cpu.h target/mips/cpu.h
target/moxie/cpu.h target/nios2/cpu.h target/openrisc/cpu.h
target/riscv/cpu.h target/tilegx/cpu.h target/tricore/cpu.h
target/unicore32/cpu.h target/xtensa/cpu.h; bsd-user/main.c and
net/tap-bsd.c fixed up]
2019-06-12 13:20:20 +02:00
Peter Maydell
12ec8bd51e
arm: Rename hw/arm/arm.h to hw/arm/boot.h
...
The header file hw/arm/arm.h now includes only declarations
relating to hw/arm/boot.c functionality. Rename it accordingly,
and adjust its header comment.
The bulk of this commit was created via
perl -pi -e 's|hw/arm/arm.h|hw/arm/boot.h|' hw/arm/*.c include/hw/arm/*.h
In a few cases we can just delete the #include:
hw/arm/msf2-soc.c, include/hw/arm/aspeed_soc.h and
include/hw/arm/bcm2836.h did not require it.
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Tested-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Message-id: 20190516163857.6430-4-peter.maydell@linaro.org
2019-05-23 14:47:43 +01:00
Philippe Mathieu-Daudé
04f3c0084d
hw: Remove unused 'hw/devices.h' include
...
Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: BALATON Zoltan <balaton@eik.bme.hu >
Tested-by: Thomas Huth <thuth@redhat.com >
Signed-off-by: Thomas Huth <thuth@redhat.com >
2019-03-07 22:16:11 +01:00
Steffen Görtz
4d744b25d3
arm: Instantiate NRF51 special NVM's and NVMC
...
Instantiates UICR, FICR, FLASH and NVMC in nRF51 SOC.
Signed-off-by: Steffen Görtz <contrib@steffen-goertz.de >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 20190201023357.22596-3-stefanha@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2019-02-01 15:32:17 +00:00
kumar sourav
287a7f6e39
hw/arm/nrf51_soc: set object owner in memory_region_init_ram
...
set object owner in memory_region_init_ram() instead
of NULL.
Signed-off-by: kumar sourav <sourav.jb1988@gmail.com >
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 20190125155630.17430-1-sourav.jb1988@gmail.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2019-02-01 14:55:41 +00:00
Steffen Görtz
b39dced66a
arm: Add Clock peripheral stub to NRF51 SOC
...
This stubs enables the microbit-micropython firmware to run
on the microbit machine.
Signed-off-by: Steffen Görtz <contrib@steffen-goertz.de >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 20190103091119.9367-12-stefanha@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2019-01-07 15:23:47 +00:00
Steffen Görtz
60facd906b
arm: Instantiate NRF51 Timers
...
Instantiates TIMER0 - TIMER2
Signed-off-by: Steffen Görtz <contrib@steffen-goertz.de >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 20190103091119.9367-10-stefanha@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2019-01-07 15:23:47 +00:00
Steffen Görtz
bb42c4cb2a
arm: Instantiate NRF51 general purpose I/O
...
Instantiates GPIO peripheral model
Signed-off-by: Steffen Görtz <contrib@steffen-goertz.de >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 20190103091119.9367-7-stefanha@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2019-01-07 15:23:47 +00:00
Steffen Görtz
f30890def5
arm: Instantiate NRF51 random number generator
...
Use RNG in SOC.
Signed-off-by: Steffen Görtz <contrib@steffen-goertz.de >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 20190103091119.9367-5-stefanha@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2019-01-07 15:23:47 +00:00
Steffen Görtz
659b85e413
arm: Add header to host common definition for nRF51 SOC peripherals
...
Adds a header that provides definitions that are used
across nRF51 peripherals
Signed-off-by: Steffen Görtz <contrib@steffen-goertz.de >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com >
Message-id: 20190103091119.9367-3-stefanha@redhat.com
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2019-01-07 15:23:47 +00:00
Julia Suvorova
b0014913f2
hw/arm/nrf51_soc: Connect UART to nRF51 SoC
...
Wire up nRF51 UART in the corresponding SoC.
Signed-off-by: Julia Suvorova <jusual@mail.ru >
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com >
Reviewed-by: Alistair Francis <alistair.francis@wdc.com >
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-11-02 14:03:33 +00:00
Joel Stanley
673b2d42a8
arm: Add Nordic Semiconductor nRF51 SoC
...
The nRF51 is a Cortex-M0 microcontroller with an on-board radio module,
plus other common ARM SoC peripherals.
http://infocenter.nordicsemi.com/pdf/nRF51_RM_v3.0.pdf
This defines a basic model of the CPU and memory, with no peripherals
implemented at this stage.
Signed-off-by: Joel Stanley <joel@jms.id.au >
Message-id: 20180831220920.27113-3-joel@jms.id.au
Reviewed-by: Peter Maydell <peter.maydell@linaro.org >
[PMM: wrapped a few long lines]
Signed-off-by: Peter Maydell <peter.maydell@linaro.org >
2018-09-25 14:14:07 +01:00