The header file <linux/pfn.h> doesn't exist in userspace and probably shouldn't -- but it's used unconditionally in <asm-i386/setup.h>. Protect it with #ifdef __KERNEL__ and move setup.h from $(header-y) to $(unifdef-y) in Kbuild accordingly.
Unified · Split
| @@ -1,5 +1,5 @@ | ||
| 1 | 1 | include include/asm-generic/Kbuild.asm |
| 2 | 2 | |
| 3 | −header-y += boot.h debugreg.h ldt.h setup.h ucontext.h | |
| 3 | +header-y += boot.h debugreg.h ldt.h ucontext.h | |
| 4 | 4 | |
| 5 | −unifdef-y += mtrr.h vm86.h | |
| 5 | +unifdef-y += mtrr.h setup.h vm86.h | |
| @@ -6,6 +6,7 @@ · 5 unmodified lines | ||
| 6 | 6 | #ifndef _i386_SETUP_H |
| 7 | 7 | #define _i386_SETUP_H |
| 8 | 8 | |
| 9 | +#ifdef __KERNEL__ | |
| 9 | 10 | #include <linux/pfn.h> |
| 10 | 11 | |
| 11 | 12 | /* |
| @@ -13,6 +14,7 @@ · 1 unmodified line | ||
| 13 | 14 | */ |
| 14 | 15 | #define MAXMEM_PFN PFN_DOWN(MAXMEM) |
| 15 | 16 | #define MAX_NONPAE_PFN (1 << 20) |
| 17 | +#endif | |
| 16 | 18 | |
| 17 | 19 | #define PARAM_SIZE 4096 |
| 18 | 20 | #define COMMAND_LINE_SIZE 256 |