• Heiko Carstens's avatar
    s390/facilities: add helper tool to generate facility lists · c30f6828
    Heiko Carstens authored
    Modifying the architecture level set facility lists was always very
    error prone. Given the numbering of the facility bits within the
    Principles of Operation, where the most significant bit number is 0,
    it happened a lot of times that wrong bits were set or cleared.
    
    Therefore this patch adds a tool "gen_facilities" which generates
    include/generated/facilites.h.  The definition of the bits to be set
    is contained within arch/s390/include/asm/facilities_src.h and can be
    easily extended to e.g. also generate such lists for the KVM module.
    
    The generated file looks like this:
    
     #define FACILITIES_ALS _AC(0xc1006450f0040000,UL)
     #define FACILITIES_ALS_DWORDS 1
    
    The facility bits defined in this patch match 1:1 to the current masks
    that can be found in head.S.
    
    That is if the tool gets executed with -march=z990 then the generated
    masks will equal the masks in head.S for CONFIG_MARCH_Z990.
    Signed-off-by: default avatarHeiko Carstens <heiko.carstens@de.ibm.com>
    Signed-off-by: default avatarMartin Schwidefsky <schwidefsky@de.ibm.com>
    c30f6828
gen_facilities.c 1.58 KB