1. A method for managing virtual machines that use one or more physical devices in a data processing system, the method comprising: providing, in a Virtual Machine Monitor (VMM), a virtual Advanced Configuration and Power Interface (ACPI) arranged to interact with the virtual machines; interacting the VMM with a real ACPI based on interaction between the virtual ACPI and the plurality of virtual machines; providing, in at least one of the virtual machines, an ACPI driver in a kernel to enable the at least one of the virtual machines to interact directly with one or more of said physical devices; maintaining, within the virtual ACPI, a respective virtual device state of the physical device for each of the multiple ones of the virtual machines, wherein the virtual device state includes at least one of a device performance state, a device power state, or a device clock throttling state, the device power state includes at least one intermediate power setting between a maximum power setting and a power-off setting, wherein each virtual device state is requested by a corresponding one of the virtual machines; determining a maximum requested device state from the virtual device states; and setting, by the VMM, a real device state for the physical device based on the maximum requested device state.