#include "sysemu/sysemu.h"
#include "exec/address-spaces.h"
#include "hw/boards.h"
-#include "sysemu/char.h"
+#include "chardev/char.h"
static void fsl_imx25_init(Object *obj)
{
{ FSL_IMX25_UART5_ADDR, FSL_IMX25_UART5_IRQ }
};
- if (i < MAX_SERIAL_PORTS) {
- Chardev *chr;
-
- chr = serial_hds[i];
-
- if (!chr) {
- char label[20];
- snprintf(label, sizeof(label), "imx31.uart%d", i);
- chr = qemu_chr_new(label, "null");
- }
-
- qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", chr);
- }
+ qdev_prop_set_chr(DEVICE(&s->uart[i]), "chardev", serial_hd(i));
object_property_set_bool(OBJECT(&s->uart[i]), true, "realized", &err);
if (err) {
}
memory_region_add_subregion(get_system_memory(), FSL_IMX25_IRAM_ADDR,
&s->iram);
- vmstate_register_ram_global(&s->iram);
/* internal RAM (128 KB) is aliased over 128 MB - 128 KB */
memory_region_init_alias(&s->iram_alias, NULL, "imx25.iram_alias",
DeviceClass *dc = DEVICE_CLASS(oc);
dc->realize = fsl_imx25_realize;
-
dc->desc = "i.MX25 SOC";
+ /*
+ * Reason: uses serial_hds in realize and the imx25 board does not
+ * support multiple CPUs
+ */
+ dc->user_creatable = false;
}
static const TypeInfo fsl_imx25_type_info = {