unimp.c (95a9457fd44ad97c518858a4e1586a5498f9773c) unimp.c (4f67d30b5e74e060b8dbe10528829b47345cd6e8)
1/* "Unimplemented" device
2 *
3 * This is a dummy device which accepts and logs all accesses.
4 * It's useful for stubbing out regions of an SoC or board
5 * map which correspond to devices that have not yet been
6 * implemented. This is often sufficient to placate initial
7 * guest device driver probing such that the system will
8 * come up.

--- 65 unchanged lines hidden (view full) ---

74 DEFINE_PROP_END_OF_LIST(),
75};
76
77static void unimp_class_init(ObjectClass *klass, void *data)
78{
79 DeviceClass *dc = DEVICE_CLASS(klass);
80
81 dc->realize = unimp_realize;
1/* "Unimplemented" device
2 *
3 * This is a dummy device which accepts and logs all accesses.
4 * It's useful for stubbing out regions of an SoC or board
5 * map which correspond to devices that have not yet been
6 * implemented. This is often sufficient to placate initial
7 * guest device driver probing such that the system will
8 * come up.

--- 65 unchanged lines hidden (view full) ---

74 DEFINE_PROP_END_OF_LIST(),
75};
76
77static void unimp_class_init(ObjectClass *klass, void *data)
78{
79 DeviceClass *dc = DEVICE_CLASS(klass);
80
81 dc->realize = unimp_realize;
82 dc->props = unimp_properties;
82 device_class_set_props(dc, unimp_properties);
83}
84
85static const TypeInfo unimp_info = {
86 .name = TYPE_UNIMPLEMENTED_DEVICE,
87 .parent = TYPE_SYS_BUS_DEVICE,
88 .instance_size = sizeof(UnimplementedDeviceState),
89 .class_init = unimp_class_init,
90};
91
92static void unimp_register_types(void)
93{
94 type_register_static(&unimp_info);
95}
96
97type_init(unimp_register_types)
83}
84
85static const TypeInfo unimp_info = {
86 .name = TYPE_UNIMPLEMENTED_DEVICE,
87 .parent = TYPE_SYS_BUS_DEVICE,
88 .instance_size = sizeof(UnimplementedDeviceState),
89 .class_init = unimp_class_init,
90};
91
92static void unimp_register_types(void)
93{
94 type_register_static(&unimp_info);
95}
96
97type_init(unimp_register_types)