The only reason why alpha can't do what sparc et.al. are doing is that include/asm-generic/param.h relies upon the value of HZ set for userland header in uapi/asm/param.h being 100. We need that value to define USER_HZ and we need that definition to outlive the redefinition of HZ kernel-side. And alpha needs it to be 1024, not 100 like everybody else. So let's add __USER_HZ to uapi/asm-generic/param.h, defaulting to 100 and used to define HZ. That way include/asm-generic/param.h can use that thing instead of open-coding it - it won't be affected by undefining and redefining HZ. That done, alpha asm/param.h can be removed and uapi/asm/param.h switched to defining __USER_HZ and EXEC_PAGESIZE and then including <asm-generic/param.h> - asm/param.h will resolve to uapi/asm/param.h, which pulls <asm-generic/param.h>, which will do the right thing both in the kernel and userland contexts.
Showing the changes to include/uapi (1 of 4 files). Show all
Unified · Split
| @@ -2,8 +2,12 @@ · 1 unmodified line | |||
| 2 | #ifndef _UAPI__ASM_GENERIC_PARAM_H | 2 | #ifndef _UAPI__ASM_GENERIC_PARAM_H |
| 3 | #define _UAPI__ASM_GENERIC_PARAM_H | 3 | #define _UAPI__ASM_GENERIC_PARAM_H |
| 4 | 4 | ||
| 5 | #ifndef __USER_HZ | ||
| 6 | #define __USER_HZ 100 | ||
| 7 | #endif | ||
| 8 | |||
| 5 | #ifndef HZ | 9 | #ifndef HZ |
| 6 | #define HZ 100 | 10 | #define HZ __USER_HZ |
| 7 | #endif | 11 | #endif |
| 8 | 12 | ||
| 9 | #ifndef EXEC_PAGESIZE | 13 | #ifndef EXEC_PAGESIZE |