applesmc.c (82407b6c347db5298e18a716e386d12569479e3d) | applesmc.c (db895a1e6a97e919f9b86d60c969377357b05066) |
---|---|
1/* 2 * Apple SMC controller 3 * 4 * Copyright (c) 2007 Alexander Graf 5 * 6 * Authors: Alexander Graf <agraf@suse.de> 7 * Susanne Graf <suse@csgraf.de> 8 * --- 187 unchanged lines hidden (view full) --- 196 applesmc_add_key(s, "REV ", 6, "\x01\x13\x0f\x00\x00\x03"); 197 applesmc_add_key(s, "OSK0", 32, s->osk); 198 applesmc_add_key(s, "OSK1", 32, s->osk + 32); 199 applesmc_add_key(s, "NATJ", 1, "\0"); 200 applesmc_add_key(s, "MSSP", 1, "\0"); 201 applesmc_add_key(s, "MSSD", 1, "\0x3"); 202} 203 | 1/* 2 * Apple SMC controller 3 * 4 * Copyright (c) 2007 Alexander Graf 5 * 6 * Authors: Alexander Graf <agraf@suse.de> 7 * Susanne Graf <suse@csgraf.de> 8 * --- 187 unchanged lines hidden (view full) --- 196 applesmc_add_key(s, "REV ", 6, "\x01\x13\x0f\x00\x00\x03"); 197 applesmc_add_key(s, "OSK0", 32, s->osk); 198 applesmc_add_key(s, "OSK1", 32, s->osk + 32); 199 applesmc_add_key(s, "NATJ", 1, "\0"); 200 applesmc_add_key(s, "MSSP", 1, "\0"); 201 applesmc_add_key(s, "MSSD", 1, "\0x3"); 202} 203 |
204static int applesmc_isa_init(ISADevice *dev) | 204static void applesmc_isa_realize(DeviceState *dev, Error **errp) |
205{ 206 AppleSMCState *s = APPLE_SMC(dev); 207 208 register_ioport_read(s->iobase + APPLESMC_DATA_PORT, 4, 1, 209 applesmc_io_data_readb, s); 210 register_ioport_read(s->iobase + APPLESMC_CMD_PORT, 4, 1, 211 applesmc_io_cmd_readb, s); 212 register_ioport_write(s->iobase + APPLESMC_DATA_PORT, 4, 1, 213 applesmc_io_data_writeb, s); 214 register_ioport_write(s->iobase + APPLESMC_CMD_PORT, 4, 1, 215 applesmc_io_cmd_writeb, s); 216 217 if (!s->osk || (strlen(s->osk) != 64)) { 218 fprintf(stderr, "WARNING: Using AppleSMC with invalid key\n"); 219 s->osk = default_osk; 220 } 221 222 QLIST_INIT(&s->data_def); | 205{ 206 AppleSMCState *s = APPLE_SMC(dev); 207 208 register_ioport_read(s->iobase + APPLESMC_DATA_PORT, 4, 1, 209 applesmc_io_data_readb, s); 210 register_ioport_read(s->iobase + APPLESMC_CMD_PORT, 4, 1, 211 applesmc_io_cmd_readb, s); 212 register_ioport_write(s->iobase + APPLESMC_DATA_PORT, 4, 1, 213 applesmc_io_data_writeb, s); 214 register_ioport_write(s->iobase + APPLESMC_CMD_PORT, 4, 1, 215 applesmc_io_cmd_writeb, s); 216 217 if (!s->osk || (strlen(s->osk) != 64)) { 218 fprintf(stderr, "WARNING: Using AppleSMC with invalid key\n"); 219 s->osk = default_osk; 220 } 221 222 QLIST_INIT(&s->data_def); |
223 qdev_applesmc_isa_reset(&dev->qdev); 224 225 return 0; | 223 qdev_applesmc_isa_reset(dev); |
226} 227 228static Property applesmc_isa_properties[] = { 229 DEFINE_PROP_HEX32("iobase", AppleSMCState, iobase, 230 APPLESMC_DEFAULT_IOBASE), 231 DEFINE_PROP_STRING("osk", AppleSMCState, osk), 232 DEFINE_PROP_END_OF_LIST(), 233}; 234 235static void qdev_applesmc_class_init(ObjectClass *klass, void *data) 236{ 237 DeviceClass *dc = DEVICE_CLASS(klass); | 224} 225 226static Property applesmc_isa_properties[] = { 227 DEFINE_PROP_HEX32("iobase", AppleSMCState, iobase, 228 APPLESMC_DEFAULT_IOBASE), 229 DEFINE_PROP_STRING("osk", AppleSMCState, osk), 230 DEFINE_PROP_END_OF_LIST(), 231}; 232 233static void qdev_applesmc_class_init(ObjectClass *klass, void *data) 234{ 235 DeviceClass *dc = DEVICE_CLASS(klass); |
238 ISADeviceClass *ic = ISA_DEVICE_CLASS(klass); 239 ic->init = applesmc_isa_init; | 236 237 dc->realize = applesmc_isa_realize; |
240 dc->reset = qdev_applesmc_isa_reset; 241 dc->props = applesmc_isa_properties; 242} 243 244static const TypeInfo applesmc_isa_info = { 245 .name = TYPE_APPLE_SMC, 246 .parent = TYPE_ISA_DEVICE, 247 .instance_size = sizeof(AppleSMCState), 248 .class_init = qdev_applesmc_class_init, 249}; 250 251static void applesmc_register_types(void) 252{ 253 type_register_static(&applesmc_isa_info); 254} 255 256type_init(applesmc_register_types) | 238 dc->reset = qdev_applesmc_isa_reset; 239 dc->props = applesmc_isa_properties; 240} 241 242static const TypeInfo applesmc_isa_info = { 243 .name = TYPE_APPLE_SMC, 244 .parent = TYPE_ISA_DEVICE, 245 .instance_size = sizeof(AppleSMCState), 246 .class_init = qdev_applesmc_class_init, 247}; 248 249static void applesmc_register_types(void) 250{ 251 type_register_static(&applesmc_isa_info); 252} 253 254type_init(applesmc_register_types) |