diff --git a/MAINTAINERS b/MAINTAINERS index ed41d7d1b6ccf2575560a25b56fb8ed5a9ac3d35..2e13ba46282da834edc6ea815efeac5b38e39b1e 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -495,8 +495,8 @@ F: hw/intc/pl190.c F: hw/sd/pl181.c F: hw/ssi/pl022.c F: include/hw/ssi/pl022.h -F: hw/timer/pl031.c -F: include/hw/timer/pl031.h +F: hw/rtc/pl031.c +F: include/hw/rtc/pl031.h F: include/hw/arm/primecell.h F: hw/timer/cmsdk-apb-timer.c F: include/hw/timer/cmsdk-apb-timer.h diff --git a/Makefile.objs b/Makefile.objs index abcbd89654ac7920b7aab8a7d4c9dbd8b4bb2da5..11ba1a36bd39bb74c51992b988ebafb30c335b2f 100644 --- a/Makefile.objs +++ b/Makefile.objs @@ -173,6 +173,7 @@ trace-events-subdirs += hw/pci-host trace-events-subdirs += hw/ppc trace-events-subdirs += hw/rdma trace-events-subdirs += hw/rdma/vmw +trace-events-subdirs += hw/rtc trace-events-subdirs += hw/s390x trace-events-subdirs += hw/scsi trace-events-subdirs += hw/sd diff --git a/hw/Kconfig b/hw/Kconfig index b45db3c813ff04497e0082b8e9a994b4537b0f38..4b53fee4d0ce7b9e8ae077d213f9eb274138999e 100644 --- a/hw/Kconfig +++ b/hw/Kconfig @@ -27,6 +27,7 @@ source pci-host/Kconfig source pcmcia/Kconfig source pci/Kconfig source rdma/Kconfig +source rtc/Kconfig source scsi/Kconfig source sd/Kconfig source semihosting/Kconfig diff --git a/hw/Makefile.objs b/hw/Makefile.objs index ece6cc37550f76c65b4bff8745d6f12757f81a88..fd9750e5f27366cdd8fd4ef1ec47caa6249a1df4 100644 --- a/hw/Makefile.objs +++ b/hw/Makefile.objs @@ -26,6 +26,7 @@ devices-dirs-y += nvram/ devices-dirs-y += pci/ devices-dirs-$(CONFIG_PCI) += pci-bridge/ pci-host/ devices-dirs-y += pcmcia/ +devices-dirs-y += rtc/ devices-dirs-$(CONFIG_SCSI) += scsi/ devices-dirs-y += sd/ devices-dirs-y += ssi/ diff --git a/hw/arm/musca.c b/hw/arm/musca.c index 68db4b5b38787739057500084495751992040444..ba99dd19413dacab2b37c0b07d007c55a0a1ae6d 100644 --- a/hw/arm/musca.c +++ b/hw/arm/musca.c @@ -32,7 +32,7 @@ #include "hw/misc/tz-mpc.h" #include "hw/misc/tz-ppc.h" #include "hw/misc/unimp.h" -#include "hw/timer/pl031.h" +#include "hw/rtc/pl031.h" #define MUSCA_NUMIRQ_MAX 96 #define MUSCA_PPC_MAX 3 diff --git a/hw/rtc/Kconfig b/hw/rtc/Kconfig new file mode 100644 index 0000000000000000000000000000000000000000..8a4383bca9b2653a80f1c09c08dc9a53bd8747cd --- /dev/null +++ b/hw/rtc/Kconfig @@ -0,0 +1,2 @@ +config PL031 + bool diff --git a/hw/rtc/Makefile.objs b/hw/rtc/Makefile.objs new file mode 100644 index 0000000000000000000000000000000000000000..3e1eb4256388060ffac718a4bf12ae7978f3b910 --- /dev/null +++ b/hw/rtc/Makefile.objs @@ -0,0 +1 @@ +common-obj-$(CONFIG_PL031) += pl031.o diff --git a/hw/timer/pl031.c b/hw/rtc/pl031.c similarity index 99% rename from hw/timer/pl031.c rename to hw/rtc/pl031.c index 2b3e2610069934f0b5db2ec123180d896225d2eb..3a982752a2adb6d5c03371b23a46fcba9ca2f10c 100644 --- a/hw/timer/pl031.c +++ b/hw/rtc/pl031.c @@ -13,7 +13,7 @@ #include "qemu/osdep.h" #include "qemu-common.h" -#include "hw/timer/pl031.h" +#include "hw/rtc/pl031.h" #include "migration/vmstate.h" #include "hw/irq.h" #include "hw/qdev-properties.h" diff --git a/hw/rtc/trace-events b/hw/rtc/trace-events new file mode 100644 index 0000000000000000000000000000000000000000..54c94ac557b21bca510f3e263f1904223cb623d0 --- /dev/null +++ b/hw/rtc/trace-events @@ -0,0 +1,8 @@ +# See docs/devel/tracing.txt for syntax documentation. + +# pl031.c +pl031_irq_state(int level) "irq state %d" +pl031_read(uint32_t addr, uint32_t value) "addr 0x%08x value 0x%08x" +pl031_write(uint32_t addr, uint32_t value) "addr 0x%08x value 0x%08x" +pl031_alarm_raised(void) "alarm raised" +pl031_set_alarm(uint32_t ticks) "alarm set for %u ticks" diff --git a/hw/timer/Kconfig b/hw/timer/Kconfig index eefc95f35ecc0a95b7bfcedb55f6995731f32338..27c5dce09e431b8819b5af0054c3e97e31b9f470 100644 --- a/hw/timer/Kconfig +++ b/hw/timer/Kconfig @@ -27,9 +27,6 @@ config M41T80 config M48T59 bool -config PL031 - bool - config TWL92230 bool depends on I2C diff --git a/hw/timer/Makefile.objs b/hw/timer/Makefile.objs index f407523aa49d8594bfb32e886144d6968decaeda..9f64f6e11e78a26289d2736b861a57efb48c1503 100644 --- a/hw/timer/Makefile.objs +++ b/hw/timer/Makefile.objs @@ -11,7 +11,6 @@ common-obj-$(CONFIG_M48T59) += m48t59.o ifeq ($(CONFIG_ISA_BUS),y) common-obj-$(CONFIG_M48T59) += m48t59-isa.o endif -common-obj-$(CONFIG_PL031) += pl031.o common-obj-$(CONFIG_PUV3) += puv3_ost.o common-obj-$(CONFIG_TWL92230) += twl92230.o common-obj-$(CONFIG_XILINX) += xilinx_timer.o diff --git a/hw/timer/trace-events b/hw/timer/trace-events index db02a9142cda70f9bd0e166a84ea7cd3a47c9b5d..6936fe8573e92be898de51b5890876b23dbc3189 100644 --- a/hw/timer/trace-events +++ b/hw/timer/trace-events @@ -80,10 +80,3 @@ xlnx_zynqmp_rtc_gettime(int year, int month, int day, int hour, int min, int sec # nrf51_timer.c nrf51_timer_read(uint64_t addr, uint32_t value, unsigned size) "read addr 0x%" PRIx64 " data 0x%" PRIx32 " size %u" nrf51_timer_write(uint64_t addr, uint32_t value, unsigned size) "write addr 0x%" PRIx64 " data 0x%" PRIx32 " size %u" - -# pl031.c -pl031_irq_state(int level) "irq state %d" -pl031_read(uint32_t addr, uint32_t value) "addr 0x%08x value 0x%08x" -pl031_write(uint32_t addr, uint32_t value) "addr 0x%08x value 0x%08x" -pl031_alarm_raised(void) "alarm raised" -pl031_set_alarm(uint32_t ticks) "alarm set for %u ticks" diff --git a/include/hw/timer/pl031.h b/include/hw/rtc/pl031.h similarity index 93% rename from include/hw/timer/pl031.h rename to include/hw/rtc/pl031.h index 8c3f555ee2887b939b928f1535e7c2e410387809..e3cb1d646fc47ff2a76d79941fe79e9cbc83da74 100644 --- a/include/hw/timer/pl031.h +++ b/include/hw/rtc/pl031.h @@ -11,10 +11,11 @@ * GNU GPL, version 2 or (at your option) any later version. */ -#ifndef HW_TIMER_PL031_H -#define HW_TIMER_PL031_H +#ifndef HW_RTC_PL031_H +#define HW_RTC_PL031_H #include "hw/sysbus.h" +#include "qemu/timer.h" #define TYPE_PL031 "pl031" #define PL031(obj) OBJECT_CHECK(PL031State, (obj), TYPE_PL031)