Loading hw/char/grlib_apbuart.c +2 −2 Original line number Diff line number Diff line /* * QEMU GRLIB APB UART Emulator * * Copyright (c) 2010-2011 AdaCore * Copyright (c) 2010-2019 AdaCore * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal Loading @@ -23,6 +23,7 @@ */ #include "qemu/osdep.h" #include "hw/sparc/grlib.h" #include "hw/sysbus.h" #include "chardev/char-fe.h" Loading Loading @@ -68,7 +69,6 @@ #define FIFO_LENGTH 1024 #define TYPE_GRLIB_APB_UART "grlib,apbuart" #define GRLIB_APB_UART(obj) \ OBJECT_CHECK(UART, (obj), TYPE_GRLIB_APB_UART) Loading hw/sparc/leon3.c +8 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,9 @@ #define MAX_PILS 16 #define LEON3_UART_OFFSET (0x80000100) #define LEON3_UART_IRQ (3) #define LEON3_IRQMP_OFFSET (0x80000200) #define LEON3_TIMER_OFFSET (0x80000300) Loading Loading @@ -239,7 +242,11 @@ static void leon3_generic_hw_init(MachineState *machine) /* Allocate uart */ if (serial_hd(0)) { grlib_apbuart_create(0x80000100, serial_hd(0), cpu_irqs[3]); dev = qdev_create(NULL, TYPE_GRLIB_APB_UART); qdev_prop_set_chr(dev, "chrdev", serial_hd(0)); qdev_init_nofail(dev); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, LEON3_UART_OFFSET); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irqs[LEON3_UART_IRQ]); } } Loading include/hw/sparc/grlib.h +1 −19 Original line number Diff line number Diff line Loading @@ -45,24 +45,6 @@ void grlib_irqmp_ack(DeviceState *dev, int intno); #define TYPE_GRLIB_GPTIMER "grlib,gptimer" /* APB UART */ static inline DeviceState *grlib_apbuart_create(hwaddr base, Chardev *serial, qemu_irq irq) { DeviceState *dev; dev = qdev_create(NULL, "grlib,apbuart"); qdev_prop_set_chr(dev, "chrdev", serial); qdev_init_nofail(dev); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq); return dev; } #define TYPE_GRLIB_APB_UART "grlib,apbuart" #endif /* GRLIB_H */ Loading
hw/char/grlib_apbuart.c +2 −2 Original line number Diff line number Diff line /* * QEMU GRLIB APB UART Emulator * * Copyright (c) 2010-2011 AdaCore * Copyright (c) 2010-2019 AdaCore * * Permission is hereby granted, free of charge, to any person obtaining a copy * of this software and associated documentation files (the "Software"), to deal Loading @@ -23,6 +23,7 @@ */ #include "qemu/osdep.h" #include "hw/sparc/grlib.h" #include "hw/sysbus.h" #include "chardev/char-fe.h" Loading Loading @@ -68,7 +69,6 @@ #define FIFO_LENGTH 1024 #define TYPE_GRLIB_APB_UART "grlib,apbuart" #define GRLIB_APB_UART(obj) \ OBJECT_CHECK(UART, (obj), TYPE_GRLIB_APB_UART) Loading
hw/sparc/leon3.c +8 −1 Original line number Diff line number Diff line Loading @@ -47,6 +47,9 @@ #define MAX_PILS 16 #define LEON3_UART_OFFSET (0x80000100) #define LEON3_UART_IRQ (3) #define LEON3_IRQMP_OFFSET (0x80000200) #define LEON3_TIMER_OFFSET (0x80000300) Loading Loading @@ -239,7 +242,11 @@ static void leon3_generic_hw_init(MachineState *machine) /* Allocate uart */ if (serial_hd(0)) { grlib_apbuart_create(0x80000100, serial_hd(0), cpu_irqs[3]); dev = qdev_create(NULL, TYPE_GRLIB_APB_UART); qdev_prop_set_chr(dev, "chrdev", serial_hd(0)); qdev_init_nofail(dev); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, LEON3_UART_OFFSET); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, cpu_irqs[LEON3_UART_IRQ]); } } Loading
include/hw/sparc/grlib.h +1 −19 Original line number Diff line number Diff line Loading @@ -45,24 +45,6 @@ void grlib_irqmp_ack(DeviceState *dev, int intno); #define TYPE_GRLIB_GPTIMER "grlib,gptimer" /* APB UART */ static inline DeviceState *grlib_apbuart_create(hwaddr base, Chardev *serial, qemu_irq irq) { DeviceState *dev; dev = qdev_create(NULL, "grlib,apbuart"); qdev_prop_set_chr(dev, "chrdev", serial); qdev_init_nofail(dev); sysbus_mmio_map(SYS_BUS_DEVICE(dev), 0, base); sysbus_connect_irq(SYS_BUS_DEVICE(dev), 0, irq); return dev; } #define TYPE_GRLIB_APB_UART "grlib,apbuart" #endif /* GRLIB_H */