编译内核驱动为模块,没有指定架构的时候出现错误

编译内核驱动为模块,发现报错一堆,发现./arch/x86/include/asm/arch_hweight.h:55:42: error: expected ‘:’ or ‘)’ before ‘POPCNT64’ 这种报错,最后发现是编译命令问题,你要指定架构

KERNELDIR := /home/alientek/sdk/kernel
CURRENT_PATH := $(shell pwd)
obj-m := chrdevbase.o

build: kernel_modules

kernel_modules:
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) modules
clean:
	$(MAKE) -C $(KERNELDIR) M=$(CURRENT_PATH) clean

修改为
$(MAKE) ARCH=arm -C ( K E R N E L D I R ) M = (KERNELDIR) M= (KERNELDIR)M=(CURRENT_PATH) modules

make -C /home/alientek/sdk/kernel M=/home/alientek/sdk/chenwei/01_chrdevbase modules
make[1]: 进入目录“/home/alientek/sdk/kernel”
  CC [M]  /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.o
In file included from ./arch/x86/include/asm/barrier.h:5,
                 from ./include/linux/compiler.h:250,
                 from ./include/linux/kernel.h:10,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:2:
./arch/x86/include/asm/arch_hweight.h: In function '__arch_hweight64':
./arch/x86/include/asm/arch_hweight.h:55:42: error: expected ':' or ')' before 'POPCNT64'
   55 |  asm (ALTERNATIVE("call __sw_hweight64", POPCNT64, X86_FEATURE_POPCNT)
      |                                          ^~~~~~~~
./arch/x86/include/asm/alternative.h:133:28: note: in definition of macro 'ALTINSTR_REPLACEMENT'
  133 |  b_replacement(num)":\n\t" newinstr "\n" e_replacement(num) ":\n\t"
      |                            ^~~~~~~~
./arch/x86/include/asm/arch_hweight.h:55:7: note: in expansion of macro 'ALTERNATIVE'
   55 |  asm (ALTERNATIVE("call __sw_hweight64", POPCNT64, X86_FEATURE_POPCNT)
      |       ^~~~~~~~~~~
In file included from ./arch/x86/include/asm/atomic.h:262,
                 from ./include/linux/atomic.h:7,
                 from ./include/linux/rcupdate.h:38,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/atomic64_64.h: At top level:
./arch/x86/include/asm/atomic64_64.h:20:45: error: unknown type name 'atomic64_t'
   20 | static inline long arch_atomic64_read(const atomic64_t *v)
      |                                             ^~~~~~~~~~
In file included from ./include/linux/kernel.h:10,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:2:
./arch/x86/include/asm/atomic64_64.h: In function 'arch_atomic64_read':
./arch/x86/include/asm/atomic64_64.h:22:22: error: request for member 'counter' in something not a structure or union
   22 |  return READ_ONCE((v)->counter);
      |                      ^~
./include/linux/compiler.h:255:17: note: in definition of macro '__READ_ONCE'
  255 |  union { typeof(x) __val; char __c[1]; } __u;   \
      |                 ^
./arch/x86/include/asm/atomic64_64.h:22:9: note: in expansion of macro 'READ_ONCE'
   22 |  return READ_ONCE((v)->counter);
      |         ^~~~~~~~~
./arch/x86/include/asm/atomic64_64.h:22:22: error: request for member 'counter' in something not a structure or union
   22 |  return READ_ONCE((v)->counter);
      |                      ^~
./include/linux/compiler.h:257:22: note: in definition of macro '__READ_ONCE'
  257 |   __read_once_size(&(x), __u.__c, sizeof(x));  \
      |                      ^
./arch/x86/include/asm/atomic64_64.h:22:9: note: in expansion of macro 'READ_ONCE'
   22 |  return READ_ONCE((v)->counter);
      |         ^~~~~~~~~
./arch/x86/include/asm/atomic64_64.h:22:22: error: request for member 'counter' in something not a structure or union
   22 |  return READ_ONCE((v)->counter);
      |                      ^~
./include/linux/compiler.h:257:42: note: in definition of macro '__READ_ONCE'
  257 |   __read_once_size(&(x), __u.__c, sizeof(x));  \
      |                                          ^
./arch/x86/include/asm/atomic64_64.h:22:9: note: in expansion of macro 'READ_ONCE'
   22 |  return READ_ONCE((v)->counter);
      |         ^~~~~~~~~
./arch/x86/include/asm/atomic64_64.h:22:22: error: request for member 'counter' in something not a structure or union
   22 |  return READ_ONCE((v)->counter);
      |                      ^~
./include/linux/compiler.h:259:30: note: in definition of macro '__READ_ONCE'
  259 |   __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \
      |                              ^
./arch/x86/include/asm/atomic64_64.h:22:9: note: in expansion of macro 'READ_ONCE'
   22 |  return READ_ONCE((v)->counter);
      |         ^~~~~~~~~
./arch/x86/include/asm/atomic64_64.h:22:22: error: request for member 'counter' in something not a structure or union
   22 |  return READ_ONCE((v)->counter);
      |                      ^~
./include/linux/compiler.h:259:50: note: in definition of macro '__READ_ONCE'
  259 |   __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \
      |                                                  ^
./arch/x86/include/asm/atomic64_64.h:22:9: note: in expansion of macro 'READ_ONCE'
   22 |  return READ_ONCE((v)->counter);
      |         ^~~~~~~~~
In file included from ./arch/x86/include/asm/atomic.h:262,
                 from ./include/linux/atomic.h:7,
                 from ./include/linux/rcupdate.h:38,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/atomic64_64.h: At top level:
./arch/x86/include/asm/atomic64_64.h:32:38: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
   32 | static inline void arch_atomic64_set(atomic64_t *v, long i)
      |                                      ^~~~~~~~~~
      |                                      atomic_t
./arch/x86/include/asm/atomic64_64.h:44:55: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
   44 | static __always_inline void arch_atomic64_add(long i, atomic64_t *v)
      |                                                       ^~~~~~~~~~
      |                                                       atomic_t
./arch/x86/include/asm/atomic64_64.h:58:46: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
   58 | static inline void arch_atomic64_sub(long i, atomic64_t *v)
      |                                              ^~~~~~~~~~
      |                                              atomic_t
./arch/x86/include/asm/atomic64_64.h:74:55: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
   74 | static inline bool arch_atomic64_sub_and_test(long i, atomic64_t *v)
      |                                                       ^~~~~~~~~~
      |                                                       atomic_t
./arch/x86/include/asm/atomic64_64.h:86:47: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
   86 | static __always_inline void arch_atomic64_inc(atomic64_t *v)
      |                                               ^~~~~~~~~~
      |                                               atomic_t
./arch/x86/include/asm/atomic64_64.h:100:47: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  100 | static __always_inline void arch_atomic64_dec(atomic64_t *v)
      |                                               ^~~~~~~~~~
      |                                               atomic_t
./arch/x86/include/asm/atomic64_64.h:116:47: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  116 | static inline bool arch_atomic64_dec_and_test(atomic64_t *v)
      |                                               ^~~~~~~~~~
      |                                               atomic_t
./arch/x86/include/asm/atomic64_64.h:130:47: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  130 | static inline bool arch_atomic64_inc_and_test(atomic64_t *v)
      |                                               ^~~~~~~~~~
      |                                               atomic_t
./arch/x86/include/asm/atomic64_64.h:145:55: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  145 | static inline bool arch_atomic64_add_negative(long i, atomic64_t *v)
      |                                                       ^~~~~~~~~~
      |                                                       atomic_t
./arch/x86/include/asm/atomic64_64.h:158:62: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  158 | static __always_inline long arch_atomic64_add_return(long i, atomic64_t *v)
      |                                                              ^~~~~~~~~~
      |                                                              atomic_t
./arch/x86/include/asm/atomic64_64.h:163:53: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  163 | static inline long arch_atomic64_sub_return(long i, atomic64_t *v)
      |                                                     ^~~~~~~~~~
      |                                                     atomic_t
./arch/x86/include/asm/atomic64_64.h:168:52: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  168 | static inline long arch_atomic64_fetch_add(long i, atomic64_t *v)
      |                                                    ^~~~~~~~~~
      |                                                    atomic_t
./arch/x86/include/asm/atomic64_64.h:173:52: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  173 | static inline long arch_atomic64_fetch_sub(long i, atomic64_t *v)
      |                                                    ^~~~~~~~~~
      |                                                    atomic_t
./arch/x86/include/asm/atomic64_64.h:178:42: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  178 | static inline long arch_atomic64_cmpxchg(atomic64_t *v, long old, long new)
      |                                          ^~~~~~~~~~
      |                                          atomic_t
./arch/x86/include/asm/atomic64_64.h:184:55: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  184 | static __always_inline bool arch_atomic64_try_cmpxchg(atomic64_t *v, s64 *old, long new)
      |                                                       ^~~~~~~~~~
      |                                                       atomic_t
./arch/x86/include/asm/atomic64_64.h:189:39: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  189 | static inline long arch_atomic64_xchg(atomic64_t *v, long new)
      |                                       ^~~~~~~~~~
      |                                       atomic_t
./arch/x86/include/asm/atomic64_64.h:194:46: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  194 | static inline void arch_atomic64_and(long i, atomic64_t *v)
      |                                              ^~~~~~~~~~
      |                                              atomic_t
./arch/x86/include/asm/atomic64_64.h:202:52: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  202 | static inline long arch_atomic64_fetch_and(long i, atomic64_t *v)
      |                                                    ^~~~~~~~~~
      |                                                    atomic_t
./arch/x86/include/asm/atomic64_64.h:211:45: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  211 | static inline void arch_atomic64_or(long i, atomic64_t *v)
      |                                             ^~~~~~~~~~
      |                                             atomic_t
./arch/x86/include/asm/atomic64_64.h:219:51: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  219 | static inline long arch_atomic64_fetch_or(long i, atomic64_t *v)
      |                                                   ^~~~~~~~~~
      |                                                   atomic_t
./arch/x86/include/asm/atomic64_64.h:228:46: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  228 | static inline void arch_atomic64_xor(long i, atomic64_t *v)
      |                                              ^~~~~~~~~~
      |                                              atomic_t
./arch/x86/include/asm/atomic64_64.h:236:52: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  236 | static inline long arch_atomic64_fetch_xor(long i, atomic64_t *v)
      |                                                    ^~~~~~~~~~
      |                                                    atomic_t
In file included from ./arch/x86/include/asm/atomic.h:265,
                 from ./include/linux/atomic.h:7,
                 from ./include/linux/rcupdate.h:38,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/asm-generic/atomic-instrumented.h:25:48: error: unknown type name 'atomic64_t'
   25 | static __always_inline s64 atomic64_read(const atomic64_t *v)
      |                                                ^~~~~~~~~~
./include/asm-generic/atomic-instrumented.h:37:42: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
   37 | static __always_inline void atomic64_set(atomic64_t *v, s64 i)
      |                                          ^~~~~~~~~~
      |                                          atomic_t
./include/asm-generic/atomic-instrumented.h:49:42: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
   49 | static __always_inline s64 atomic64_xchg(atomic64_t *v, s64 i)
      |                                          ^~~~~~~~~~
      |                                          atomic_t
./include/asm-generic/atomic-instrumented.h:61:45: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
   61 | static __always_inline s64 atomic64_cmpxchg(atomic64_t *v, s64 old, s64 new)
      |                                             ^~~~~~~~~~
      |                                             atomic_t
./include/asm-generic/atomic-instrumented.h:79:50: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
   79 | static __always_inline bool atomic64_try_cmpxchg(atomic64_t *v, s64 *old, s64 new)
      |                                                  ^~~~~~~~~~
      |                                                  atomic_t
./include/asm-generic/atomic-instrumented.h:116:42: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  116 | static __always_inline void atomic64_inc(atomic64_t *v)
      |                                          ^~~~~~~~~~
      |                                          atomic_t
./include/asm-generic/atomic-instrumented.h:147:49: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  147 | static __always_inline void atomic64_add(s64 i, atomic64_t *v)
      |                                                 ^~~~~~~~~~
      |                                                 atomic_t
./include/asm-generic/atomic-instrumented.h:159:49: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  159 | static __always_inline void atomic64_sub(s64 i, atomic64_t *v)
      |                                                 ^~~~~~~~~~
      |                                                 atomic_t
./include/asm-generic/atomic-instrumented.h:171:49: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  171 | static __always_inline void atomic64_and(s64 i, atomic64_t *v)
      |                                                 ^~~~~~~~~~
      |                                                 atomic_t
./include/asm-generic/atomic-instrumented.h:183:48: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  183 | static __always_inline void atomic64_or(s64 i, atomic64_t *v)
      |                                                ^~~~~~~~~~
      |                                                atomic_t
./include/asm-generic/atomic-instrumented.h:195:49: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  195 | static __always_inline void atomic64_xor(s64 i, atomic64_t *v)
      |                                                 ^~~~~~~~~~
      |                                                 atomic_t
./include/asm-generic/atomic-instrumented.h:266:51: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  266 | static __always_inline bool atomic64_dec_and_test(atomic64_t *v)
      |                                                   ^~~~~~~~~~
      |                                                   atomic_t
./include/asm-generic/atomic-instrumented.h:284:51: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  284 | static __always_inline bool atomic64_inc_and_test(atomic64_t *v)
      |                                                   ^~~~~~~~~~
      |                                                   atomic_t
./include/asm-generic/atomic-instrumented.h:297:55: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  297 | static __always_inline s64 atomic64_add_return(s64 i, atomic64_t *v)
      |                                                       ^~~~~~~~~~
      |                                                       atomic_t
./include/asm-generic/atomic-instrumented.h:309:55: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  309 | static __always_inline s64 atomic64_sub_return(s64 i, atomic64_t *v)
      |                                                       ^~~~~~~~~~
      |                                                       atomic_t
./include/asm-generic/atomic-instrumented.h:321:54: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  321 | static __always_inline s64 atomic64_fetch_add(s64 i, atomic64_t *v)
      |                                                      ^~~~~~~~~~
      |                                                      atomic_t
./include/asm-generic/atomic-instrumented.h:333:54: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  333 | static __always_inline s64 atomic64_fetch_sub(s64 i, atomic64_t *v)
      |                                                      ^~~~~~~~~~
      |                                                      atomic_t
./include/asm-generic/atomic-instrumented.h:345:54: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  345 | static __always_inline s64 atomic64_fetch_and(s64 i, atomic64_t *v)
      |                                                      ^~~~~~~~~~
      |                                                      atomic_t
./include/asm-generic/atomic-instrumented.h:357:53: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  357 | static __always_inline s64 atomic64_fetch_or(s64 i, atomic64_t *v)
      |                                                     ^~~~~~~~~~
      |                                                     atomic_t
./include/asm-generic/atomic-instrumented.h:369:54: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  369 | static __always_inline s64 atomic64_fetch_xor(s64 i, atomic64_t *v)
      |                                                      ^~~~~~~~~~
      |                                                      atomic_t
./include/asm-generic/atomic-instrumented.h:386:58: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  386 | static __always_inline bool atomic64_sub_and_test(s64 i, atomic64_t *v)
      |                                                          ^~~~~~~~~~
      |                                                          atomic_t
./include/asm-generic/atomic-instrumented.h:404:58: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
  404 | static __always_inline bool atomic64_add_negative(s64 i, atomic64_t *v)
      |                                                          ^~~~~~~~~~
      |                                                          atomic_t
In file included from ./include/linux/rcupdate.h:38,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/linux/atomic.h:1161:51: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
 1161 | static inline long long atomic64_fetch_add_unless(atomic64_t *v, long long a,
      |                                                   ^~~~~~~~~~
      |                                                   atomic_t
./include/linux/atomic.h:1184:40: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
 1184 | static inline bool atomic64_add_unless(atomic64_t *v, long long a, long long u)
      |                                        ^~~~~~~~~~
      |                                        atomic_t
./include/linux/atomic.h:1263:49: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
 1263 | static inline bool atomic64_inc_unless_negative(atomic64_t *v)
      |                                                 ^~~~~~~~~~
      |                                                 atomic_t
./include/linux/atomic.h:1277:49: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
 1277 | static inline bool atomic64_dec_unless_positive(atomic64_t *v)
      |                                                 ^~~~~~~~~~
      |                                                 atomic_t
./include/linux/atomic.h:1298:50: error: unknown type name 'atomic64_t'; did you mean 'atomic_t'?
 1298 | static inline long long atomic64_dec_if_positive(atomic64_t *v)
      |                                                  ^~~~~~~~~~
      |                                                  atomic_t
In file included from ./arch/x86/include/asm/pgtable_types.h:347,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/asm-generic/pgtable-nopud.h:21: warning: "PUD_SHIFT" redefined
error, forbidden warning:pgtable-nopud.h:21
   21 | #define PUD_SHIFT P4D_SHIFT
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:250,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/pgtable_64_types.h:83: note: this is the location of the previous definition
   83 | #define PUD_SHIFT 30
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:347,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/asm-generic/pgtable-nopud.h:22: warning: "PTRS_PER_PUD" redefined
error, forbidden warning:pgtable-nopud.h:22
   22 | #define PTRS_PER_PUD 1
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:250,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/pgtable_64_types.h:84: note: this is the location of the previous definition
   84 | #define PTRS_PER_PUD 512
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:347,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/asm-generic/pgtable-nopud.h:23: warning: "PUD_SIZE" redefined
error, forbidden warning:pgtable-nopud.h:23
   23 | #define PUD_SIZE   (1UL << PUD_SHIFT)
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:250,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/pgtable_64_types.h:100: note: this is the location of the previous definition
  100 | #define PUD_SIZE (_AC(1, UL) << PUD_SHIFT)
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:347,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/asm-generic/pgtable-nopud.h:24: warning: "PUD_MASK" redefined
error, forbidden warning:pgtable-nopud.h:24
   24 | #define PUD_MASK   (~(PUD_SIZE-1))
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:250,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/pgtable_64_types.h:101: note: this is the location of the previous definition
  101 | #define PUD_MASK (~(PUD_SIZE - 1))
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:373,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/asm-generic/pgtable-nopmd.h:20: warning: "PMD_SHIFT" redefined
error, forbidden warning:pgtable-nopmd.h:20
   20 | #define PMD_SHIFT PUD_SHIFT
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:250,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/pgtable_64_types.h:90: note: this is the location of the previous definition
   90 | #define PMD_SHIFT 21
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:373,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/asm-generic/pgtable-nopmd.h:21: warning: "PTRS_PER_PMD" redefined
error, forbidden warning:pgtable-nopmd.h:21
   21 | #define PTRS_PER_PMD 1
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:250,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/pgtable_64_types.h:91: note: this is the location of the previous definition
   91 | #define PTRS_PER_PMD 512
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:373,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/asm-generic/pgtable-nopmd.h:22: warning: "PMD_SIZE" redefined
error, forbidden warning:pgtable-nopmd.h:22
   22 | #define PMD_SIZE   (1UL << PMD_SHIFT)
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:250,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/pgtable_64_types.h:98: note: this is the location of the previous definition
   98 | #define PMD_SIZE (_AC(1, UL) << PMD_SHIFT)
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:373,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/asm-generic/pgtable-nopmd.h:23: warning: "PMD_MASK" redefined
error, forbidden warning:pgtable-nopmd.h:23
   23 | #define PMD_MASK   (~(PMD_SIZE-1))
      | 
In file included from ./arch/x86/include/asm/pgtable_types.h:250,
                 from ./arch/x86/include/asm/processor.h:19,
                 from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/pgtable_64_types.h:99: note: this is the location of the previous definition
   99 | #define PMD_MASK (~(PMD_SIZE - 1))
      | 
In file included from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/processor.h:182: warning: "cache_line_size" redefined
error, forbidden warning:processor.h:182
  182 | #define cache_line_size() (boot_cpu_data.x86_cache_alignment)
      | 
In file included from ./include/linux/printk.h:9,
                 from ./include/linux/kernel.h:14,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:2:
./include/linux/cache.h:79: note: this is the location of the previous definition
   79 | #define cache_line_size() L1_CACHE_BYTES
      | 
In file included from ./arch/x86/include/asm/cpufeature.h:5,
                 from ./arch/x86/include/asm/thread_info.h:53,
                 from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/processor.h: In function 'load_cr3':
./arch/x86/include/asm/processor.h:251:12: error: implicit declaration of function '__sme_pa' [-Werror=implicit-function-declaration]
  251 |  write_cr3(__sme_pa(pgdir));
      |            ^~~~~~~~
In file included from ./include/linux/cache.h:6,
                 from ./include/linux/printk.h:9,
                 from ./include/linux/kernel.h:14,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:2:
./arch/x86/include/asm/processor.h: At top level:
./arch/x86/include/asm/cache.h:8:25: error: 'CONFIG_X86_L1_CACHE_SHIFT' undeclared here (not in a function); did you mean 'CONFIG_ARM_L1_CACHE_SHIFT'?
    8 | #define L1_CACHE_SHIFT (CONFIG_X86_L1_CACHE_SHIFT)
      |                         ^~~~~~~~~~~~~~~~~~~~~~~~~
./arch/x86/include/asm/cache.h:9:30: note: in expansion of macro 'L1_CACHE_SHIFT'
    9 | #define L1_CACHE_BYTES (1 << L1_CACHE_SHIFT)
      |                              ^~~~~~~~~~~~~~
./include/linux/cache.h:13:25: note: in expansion of macro 'L1_CACHE_BYTES'
   13 | #define SMP_CACHE_BYTES L1_CACHE_BYTES
      |                         ^~~~~~~~~~~~~~
./include/linux/cache.h:35:58: note: in expansion of macro 'SMP_CACHE_BYTES'
   35 | #define ____cacheline_aligned __attribute__((__aligned__(SMP_CACHE_BYTES)))
      |                                                          ^~~~~~~~~~~~~~~
./include/linux/percpu-defs.h:149:2: note: in expansion of macro '____cacheline_aligned'
  149 |  ____cacheline_aligned
      |  ^~~~~~~~~~~~~~~~~~~~~
./arch/x86/include/asm/processor.h:433:1: note: in expansion of macro 'DECLARE_PER_CPU_ALIGNED'
  433 | DECLARE_PER_CPU_ALIGNED(struct stack_canary, stack_canary);
      | ^~~~~~~~~~~~~~~~~~~~~~~
In file included from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/linux/thread_info.h:103:19: error: redefinition of 'arch_within_stack_frames'
  103 | static inline int arch_within_stack_frames(const void * const stack,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/thread_info.h:38,
                 from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/thread_info.h:186:19: note: previous definition of 'arch_within_stack_frames' was here
  186 | static inline int arch_within_stack_frames(const void * const stack,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/kernel.h:10,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:2:
./include/linux/sched.h: In function 'need_resched':
./include/linux/thread_info.h:98:22: error: implicit declaration of function 'current_thread_info'; did you mean 'task_thread_info'? [-Werror=implicit-function-declaration]
   98 |  test_ti_thread_flag(current_thread_info(), flag)
      |                      ^~~~~~~~~~~~~~~~~~~
./include/linux/compiler.h:77:42: note: in definition of macro 'unlikely'
   77 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
./include/linux/thread_info.h:100:28: note: in expansion of macro 'test_thread_flag'
  100 | #define tif_need_resched() test_thread_flag(TIF_NEED_RESCHED)
      |                            ^~~~~~~~~~~~~~~~
./include/linux/sched.h:1807:18: note: in expansion of macro 'tif_need_resched'
 1807 |  return unlikely(tif_need_resched());
      |                  ^~~~~~~~~~~~~~~~
./include/linux/thread_info.h:98:22: warning: passing argument 1 of 'test_ti_thread_flag' makes pointer from integer without a cast [-Wint-conversion]
error, forbidden warning:thread_info.h:98
   98 |  test_ti_thread_flag(current_thread_info(), flag)
      |                      ^~~~~~~~~~~~~~~~~~~~~
      |                      |
      |                      int
./include/linux/compiler.h:77:42: note: in definition of macro 'unlikely'
   77 | # define unlikely(x) __builtin_expect(!!(x), 0)
      |                                          ^
./include/linux/thread_info.h:100:28: note: in expansion of macro 'test_thread_flag'
  100 | #define tif_need_resched() test_thread_flag(TIF_NEED_RESCHED)
      |                            ^~~~~~~~~~~~~~~~
./include/linux/sched.h:1807:18: note: in expansion of macro 'tif_need_resched'
 1807 |  return unlikely(tif_need_resched());
      |                  ^~~~~~~~~~~~~~~~
In file included from ./arch/x86/include/asm/preempt.h:7,
                 from ./include/linux/preempt.h:81,
                 from ./include/linux/rcupdate.h:40,
                 from ./include/linux/rculist.h:11,
                 from ./include/linux/pid.h:5,
                 from ./include/linux/sched.h:14,
                 from ./include/linux/blkdev.h:5,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/linux/thread_info.h:82:59: note: expected 'struct thread_info *' but argument is of type 'int'
   82 | static inline int test_ti_thread_flag(struct thread_info *ti, int flag)
      |                                       ~~~~~~~~~~~~~~~~~~~~^~
In file included from ./include/linux/kernel.h:10,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:2:
./include/linux/sched.h: In function 'task_cpu':
./include/linux/sched.h:1820:38: error: 'struct thread_info' has no member named 'cpu'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |                                      ^~
./include/linux/compiler.h:255:17: note: in definition of macro '__READ_ONCE'
  255 |  union { typeof(x) __val; char __c[1]; } __u;   \
      |                 ^
./include/linux/sched.h:1820:9: note: in expansion of macro 'READ_ONCE'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |         ^~~~~~~~~
./include/linux/sched.h:1820:38: error: 'struct thread_info' has no member named 'cpu'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |                                      ^~
./include/linux/compiler.h:257:22: note: in definition of macro '__READ_ONCE'
  257 |   __read_once_size(&(x), __u.__c, sizeof(x));  \
      |                      ^
./include/linux/sched.h:1820:9: note: in expansion of macro 'READ_ONCE'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |         ^~~~~~~~~
./include/linux/sched.h:1820:38: error: 'struct thread_info' has no member named 'cpu'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |                                      ^~
./include/linux/compiler.h:257:42: note: in definition of macro '__READ_ONCE'
  257 |   __read_once_size(&(x), __u.__c, sizeof(x));  \
      |                                          ^
./include/linux/sched.h:1820:9: note: in expansion of macro 'READ_ONCE'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |         ^~~~~~~~~
./include/linux/sched.h:1820:38: error: 'struct thread_info' has no member named 'cpu'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |                                      ^~
./include/linux/compiler.h:259:30: note: in definition of macro '__READ_ONCE'
  259 |   __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \
      |                              ^
./include/linux/sched.h:1820:9: note: in expansion of macro 'READ_ONCE'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |         ^~~~~~~~~
./include/linux/sched.h:1820:38: error: 'struct thread_info' has no member named 'cpu'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |                                      ^~
./include/linux/compiler.h:259:50: note: in definition of macro '__READ_ONCE'
  259 |   __read_once_size_nocheck(&(x), __u.__c, sizeof(x)); \
      |                                                  ^
./include/linux/sched.h:1820:9: note: in expansion of macro 'READ_ONCE'
 1820 |  return READ_ONCE(task_thread_info(p)->cpu);
      |         ^~~~~~~~~
In file included from ./include/linux/cache.h:6,
                 from ./include/linux/printk.h:9,
                 from ./include/linux/kernel.h:14,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:2:
./include/linux/mmzone.h: At top level:
./arch/x86/include/asm/cache.h:13:31: error: 'CONFIG_X86_INTERNODE_CACHE_SHIFT' undeclared here (not in a function); did you mean 'INTERNODE_CACHE_SHIFT'?
   13 | #define INTERNODE_CACHE_SHIFT CONFIG_X86_INTERNODE_CACHE_SHIFT
      |                               ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./include/linux/cache.h:72:35: note: in expansion of macro 'INTERNODE_CACHE_SHIFT'
   72 |  __attribute__((__aligned__(1 << (INTERNODE_CACHE_SHIFT))))
      |                                   ^~~~~~~~~~~~~~~~~~~~~
./include/linux/mmzone.h:114:3: note: in expansion of macro '____cacheline_internodealigned_in_smp'
  114 | } ____cacheline_internodealigned_in_smp;
      |   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ./include/linux/mm_types.h:18,
                 from ./include/linux/fs.h:23,
                 from ./include/linux/genhd.h:69,
                 from ./include/linux/blkdev.h:11,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/mmu.h:28:2: error: unknown type name 'atomic64_t'
   28 |  atomic64_t tlb_gen;
      |  ^~~~~~~~~~
In file included from ./include/linux/genhd.h:69,
                 from ./include/linux/blkdev.h:11,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./include/linux/fs.h:667:2: error: unknown type name 'atomic64_t'
  667 |  atomic64_t  i_version;
      |  ^~~~~~~~~~
In file included from ./arch/x86/include/asm/realmode.h:15,
                 from ./arch/x86/include/asm/acpi.h:33,
                 from ./arch/x86/include/asm/fixmap.h:29,
                 from ./arch/x86/include/asm/pgtable_64.h:17,
                 from ./arch/x86/include/asm/pgtable.h:694,
                 from ./include/linux/memremap.h:7,
                 from ./include/linux/mm.h:27,
                 from ./include/linux/pagemap.h:8,
                 from ./include/linux/blkdev.h:16,
                 from ./include/linux/ide.h:13,
                 from /home/alientek/sdk/chenwei/01_chrdevbase/chrdevbase.c:4:
./arch/x86/include/asm/io.h:44:10: fatal error: asm/early_ioremap.h: No such file or directory
   44 | #include <asm/early_ioremap.h>
      |          ^~~~~~~~~~~~~~~~~~~~~
cc1: some warnings being treated as errors
compilation terminated.
make[1]: 离开目录“/home/alientek/sdk/kernel”

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值