ich9.c (836e1b3813c522a9e46f70a10d427f70ff590d77) ich9.c (64a7b8de42aff54dce4d82585f25060a741531d1)
1/*
2 * ACPI implementation
3 *
4 * Copyright (c) 2006 Fabrice Bellard
5 * Copyright (c) 2009 Isaku Yamahata <yamahata at valinux co jp>
6 * VA Linux Systems Japan K.K.
7 * Copyright (C) 2012 Jason Baron <jbaron@redhat.com>
8 *

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

352 assert(!value);
353 if (s->pm.cpu_hotplug_legacy && value == false) {
354 acpi_switch_to_modern_cphp(&s->pm.gpe_cpu, &s->pm.cpuhp_state,
355 ICH9_CPU_HOTPLUG_IO_BASE);
356 }
357 s->pm.cpu_hotplug_legacy = value;
358}
359
1/*
2 * ACPI implementation
3 *
4 * Copyright (c) 2006 Fabrice Bellard
5 * Copyright (c) 2009 Isaku Yamahata <yamahata at valinux co jp>
6 * VA Linux Systems Japan K.K.
7 * Copyright (C) 2012 Jason Baron <jbaron@redhat.com>
8 *

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

352 assert(!value);
353 if (s->pm.cpu_hotplug_legacy && value == false) {
354 acpi_switch_to_modern_cphp(&s->pm.gpe_cpu, &s->pm.cpuhp_state,
355 ICH9_CPU_HOTPLUG_IO_BASE);
356 }
357 s->pm.cpu_hotplug_legacy = value;
358}
359
360static void ich9_pm_get_disable_s3(Object *obj, Visitor *v, const char *name,
361 void *opaque, Error **errp)
362{
363 ICH9LPCPMRegs *pm = opaque;
364 uint8_t value = pm->disable_s3;
365
366 visit_type_uint8(v, name, &value, errp);
367}
368
369static void ich9_pm_set_disable_s3(Object *obj, Visitor *v, const char *name,
370 void *opaque, Error **errp)
371{
372 ICH9LPCPMRegs *pm = opaque;
373 Error *local_err = NULL;
374 uint8_t value;
375
376 visit_type_uint8(v, name, &value, &local_err);
377 if (local_err) {
378 goto out;
379 }
380 pm->disable_s3 = value;
381out:
382 error_propagate(errp, local_err);
383}
384
385static void ich9_pm_get_disable_s4(Object *obj, Visitor *v, const char *name,
386 void *opaque, Error **errp)
387{
388 ICH9LPCPMRegs *pm = opaque;
389 uint8_t value = pm->disable_s4;
390
391 visit_type_uint8(v, name, &value, errp);
392}
393
394static void ich9_pm_set_disable_s4(Object *obj, Visitor *v, const char *name,
395 void *opaque, Error **errp)
396{
397 ICH9LPCPMRegs *pm = opaque;
398 Error *local_err = NULL;
399 uint8_t value;
400
401 visit_type_uint8(v, name, &value, &local_err);
402 if (local_err) {
403 goto out;
404 }
405 pm->disable_s4 = value;
406out:
407 error_propagate(errp, local_err);
408}
409
410static void ich9_pm_get_s4_val(Object *obj, Visitor *v, const char *name,
411 void *opaque, Error **errp)
412{
413 ICH9LPCPMRegs *pm = opaque;
414 uint8_t value = pm->s4_val;
415
416 visit_type_uint8(v, name, &value, errp);
417}
418
419static void ich9_pm_set_s4_val(Object *obj, Visitor *v, const char *name,
420 void *opaque, Error **errp)
421{
422 ICH9LPCPMRegs *pm = opaque;
423 Error *local_err = NULL;
424 uint8_t value;
425
426 visit_type_uint8(v, name, &value, &local_err);
427 if (local_err) {
428 goto out;
429 }
430 pm->s4_val = value;
431out:
432 error_propagate(errp, local_err);
433}
434
435static bool ich9_pm_get_enable_tco(Object *obj, Error **errp)
436{
437 ICH9LPCState *s = ICH9_LPC_DEVICE(obj);
438 return s->pm.enable_tco;
439}
440
441static void ich9_pm_set_enable_tco(Object *obj, bool value, Error **errp)
442{

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

463 object_property_add_bool(obj, "memory-hotplug-support",
464 ich9_pm_get_memory_hotplug_support,
465 ich9_pm_set_memory_hotplug_support,
466 NULL);
467 object_property_add_bool(obj, "cpu-hotplug-legacy",
468 ich9_pm_get_cpu_hotplug_legacy,
469 ich9_pm_set_cpu_hotplug_legacy,
470 NULL);
360static bool ich9_pm_get_enable_tco(Object *obj, Error **errp)
361{
362 ICH9LPCState *s = ICH9_LPC_DEVICE(obj);
363 return s->pm.enable_tco;
364}
365
366static void ich9_pm_set_enable_tco(Object *obj, bool value, Error **errp)
367{

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

388 object_property_add_bool(obj, "memory-hotplug-support",
389 ich9_pm_get_memory_hotplug_support,
390 ich9_pm_set_memory_hotplug_support,
391 NULL);
392 object_property_add_bool(obj, "cpu-hotplug-legacy",
393 ich9_pm_get_cpu_hotplug_legacy,
394 ich9_pm_set_cpu_hotplug_legacy,
395 NULL);
471 object_property_add(obj, ACPI_PM_PROP_S3_DISABLED, "uint8",
472 ich9_pm_get_disable_s3,
473 ich9_pm_set_disable_s3,
474 NULL, pm, NULL);
475 object_property_add(obj, ACPI_PM_PROP_S4_DISABLED, "uint8",
476 ich9_pm_get_disable_s4,
477 ich9_pm_set_disable_s4,
478 NULL, pm, NULL);
479 object_property_add(obj, ACPI_PM_PROP_S4_VAL, "uint8",
480 ich9_pm_get_s4_val,
481 ich9_pm_set_s4_val,
482 NULL, pm, NULL);
396 object_property_add_uint8_ptr(obj, ACPI_PM_PROP_S3_DISABLED,
397 &pm->disable_s3, OBJ_PROP_FLAG_READWRITE,
398 NULL);
399 object_property_add_uint8_ptr(obj, ACPI_PM_PROP_S4_DISABLED,
400 &pm->disable_s4, OBJ_PROP_FLAG_READWRITE,
401 NULL);
402 object_property_add_uint8_ptr(obj, ACPI_PM_PROP_S4_VAL,
403 &pm->s4_val, OBJ_PROP_FLAG_READWRITE, NULL);
483 object_property_add_bool(obj, ACPI_PM_PROP_TCO_ENABLED,
484 ich9_pm_get_enable_tco,
485 ich9_pm_set_enable_tco,
486 NULL);
487}
488
489void ich9_pm_device_pre_plug_cb(HotplugHandler *hotplug_dev, DeviceState *dev,
490 Error **errp)

--- 80 unchanged lines hidden ---
404 object_property_add_bool(obj, ACPI_PM_PROP_TCO_ENABLED,
405 ich9_pm_get_enable_tco,
406 ich9_pm_set_enable_tco,
407 NULL);
408}
409
410void ich9_pm_device_pre_plug_cb(HotplugHandler *hotplug_dev, DeviceState *dev,
411 Error **errp)

--- 80 unchanged lines hidden ---