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~