On Mon, Feb 27, 2023 at 12:48:03PM +0100, Simon Gaiser wrote: > Hi, > > I have been looking into using S0ix with Xen. On systems with with 11th > gen (Tiger Lake) Intel mobile CPUs or newer this is often the only > supported suspend method, thus we want to support it in Qubes OS. > > Below a summary of my current understanding of what's needed (and known > unknowns). I would appreciate some feedback (what's missing, preferred > solutions, etc.). > > Note this topic is much above my previous experience with Xen and x86 > power management internals, so sorry if I'm missing things that are > obvious to you. > > PIT timer: During some previous private discussion it was mentioned that > the PIT timer that Xen initializes for IO-APIC testing prevents S0ix > residency and therefore that part needs to be reworked. But if I'm > reading the current code correctly Xen can already use the HPET timer > instead, either with an automatic fallback if PIT is unavailable or by > forcing it via hpet=legacy-replacement=1. Looking at the rest I think > the PIT isn't used if Xen finds another clocksource. Did I miss > something?
Do you have some reference to documentation related to the S0ix states? I would like to understand exactly what's required in terms of hardware devices the OS can use and still be able to enter such states. Thanks, Roger.