On 10/02/2013 04:33 AM, Michael Mueller wrote:
> +/* set a specific bit in facility set */
> +static void set_facility(unsigned int nr, void *facilities)
> +{
> +    unsigned char *ptr;
> +
> +    if (nr >= MAX_S390_FACILITY_BIT) {
> +        return;
> +    }
> +    ptr = (unsigned char *) facilities + (nr >> 3);
> +    *ptr |= (0x80 >> (nr & 7));
> +}

I'd like to see this done in a host endian independent way.

See my recent patch set to add facility support to the tcg side
of target-s390, with which this patch set is going to conflict.

Is there a good reason not to compute these facility masks at
compile-time?  See

 http://patchwork.ozlabs.org/patch/279534/

where I have pre-computed (possibly incomplete) facilities lists
for the major cpu revisions.

It just seems like your facility_availability array is the wrong
way to go about things, taking up more memory and startup time
than necessary.


r~

Reply via email to