On Wed, Sep 07, 2011 at 03:06:59PM -0400, Konrad Rzeszutek Wilk wrote: > > > >> +#define XENPF_enter_acpi_sleep 51 > > > >> +struct xenpf_enter_acpi_sleep { > > > >> + /* IN variables */ > > > >> + uint16_t pm1a_cnt_val; /* PM1a control value. */ > > > >> + uint16_t pm1b_cnt_val; /* PM1b control value. */ > > > > These are uint32_t in native Linux--why truncate in the API and not at use? > > > > > > Does ACPI define them as 32 or 16 bit? > > > > The spec indicates that the length is variable and could be up to 32 bits (AFAICT). And Linux uses 32b, which your other patch is truncating for this call. > > Yikes! Well, looks like we need to fix the Xen ABI too. Lets get that fixed > and also address all the other comments (thanks for looking at it) you pointed > out. So read up the ACPI spec and it says that the minimum is 2 bytes and does not say anything about the maximum. The list of what the bits do stops at 16-bits (the last two are reserved) so I think we are actually OK. Albeit if the spec starts using more of them - then yes we will need to revist this Xen ABI and potentially add a new call. _______________________________________________ linux-pm mailing list linux-pm@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linux-foundation.org/mailman/listinfo/linux-pm