|
@@ -33,6 +33,7 @@
|
|
#include "hw/misc/macio/cuda.h"
|
|
#include "hw/misc/macio/cuda.h"
|
|
#include "qemu/timer.h"
|
|
#include "qemu/timer.h"
|
|
#include "sysemu/runstate.h"
|
|
#include "sysemu/runstate.h"
|
|
|
|
+#include "qapi/error.h"
|
|
#include "qemu/cutils.h"
|
|
#include "qemu/cutils.h"
|
|
#include "qemu/log.h"
|
|
#include "qemu/log.h"
|
|
#include "qemu/module.h"
|
|
#include "qemu/module.h"
|
|
@@ -522,16 +523,20 @@ static void cuda_reset(DeviceState *dev)
|
|
static void cuda_realize(DeviceState *dev, Error **errp)
|
|
static void cuda_realize(DeviceState *dev, Error **errp)
|
|
{
|
|
{
|
|
CUDAState *s = CUDA(dev);
|
|
CUDAState *s = CUDA(dev);
|
|
|
|
+ Error *err = NULL;
|
|
SysBusDevice *sbd;
|
|
SysBusDevice *sbd;
|
|
- MOS6522State *ms;
|
|
|
|
- DeviceState *d;
|
|
|
|
struct tm tm;
|
|
struct tm tm;
|
|
|
|
|
|
|
|
+ object_property_set_bool(OBJECT(&s->mos6522_cuda), true, "realized",
|
|
|
|
+ &err);
|
|
|
|
+ if (err) {
|
|
|
|
+ error_propagate(errp, err);
|
|
|
|
+ return;
|
|
|
|
+ }
|
|
|
|
+
|
|
/* Pass IRQ from 6522 */
|
|
/* Pass IRQ from 6522 */
|
|
- d = DEVICE(&s->mos6522_cuda);
|
|
|
|
- ms = MOS6522(d);
|
|
|
|
sbd = SYS_BUS_DEVICE(s);
|
|
sbd = SYS_BUS_DEVICE(s);
|
|
- sysbus_pass_irq(sbd, SYS_BUS_DEVICE(ms));
|
|
|
|
|
|
+ sysbus_pass_irq(sbd, SYS_BUS_DEVICE(&s->mos6522_cuda));
|
|
|
|
|
|
qemu_get_timedate(&tm, 0);
|
|
qemu_get_timedate(&tm, 0);
|
|
s->tick_offset = (uint32_t)mktimegm(&tm) + RTC_OFFSET;
|
|
s->tick_offset = (uint32_t)mktimegm(&tm) + RTC_OFFSET;
|