Hey Sunil, On Fri, Mar 03, 2023 at 07:06:27PM +0530, Sunil V L wrote: > This patch series enables the basic ACPI infrastructure for RISC-V. > Supporting external interrupt controllers is in progress and hence it is > tested using poll based HVC SBI console and RAM disk. > > The first patch in this series is one of the patch from Jisheng's > series [1] which is not merged yet. This patch is required to support > ACPI since efi_init() which gets called before sbi_init() can enable > static branches and hits a panic. > > Patch 2 and 3 are ACPICA patches which are not merged into acpica yet > but a PR is raised already. > > Below are two ECRs approved by ASWG. > RINTC - https://drive.google.com/file/d/1R6k4MshhN3WTT-hwqAquu5nX6xSEqK2l/view > RHCT - https://drive.google.com/file/d/1nP3nFiH4jkPMp6COOxP6123DCZKR-tia/view > > The series depends on Anup's IPI improvement series [2]. > > [1] https://lore.kernel.org/all/20220821140918.3613-1-jszhang@xxxxxxxxxx/ > [2] https://lore.kernel.org/lkml/20230103141221.772261-7-apatel@xxxxxxxxxxxxxxxx/T/ Building a clang-15 allmodconfig (I didn't try gcc) with this series, and Anup's IPI bits, results in a broken build, due to failings in cmpxchg: /stuff/linux/drivers/platform/surface/aggregator/controller.c:61:25: error: call to __compiletime_assert_335 declared with 'error' attribute: BUILD_BUG failed while (unlikely((ret = cmpxchg(&c->value, old, new)) != old)) { ^ /stuff/linux/include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:344:23: note: expanded from macro 'arch_cmpxchg' (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:335:3: note: expanded from macro '__cmpxchg' BUILD_BUG(); \ ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /stuff/linux/include/linux/compiler_types.h:385:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /stuff/linux/include/linux/compiler_types.h:378:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ <scratch space>:69:1: note: expanded from here __compiletime_assert_335 ^ /stuff/linux/drivers/platform/surface/aggregator/controller.c:61:25: error: call to __compiletime_assert_335 declared with 'error' attribute: BUILD_BUG failed /stuff/linux/include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:344:23: note: expanded from macro 'arch_cmpxchg' (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:335:3: note: expanded from macro '__cmpxchg' BUILD_BUG(); \ ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /stuff/linux/include/linux/compiler_types.h:385:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /stuff/linux/include/linux/compiler_types.h:378:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ <scratch space>:69:1: note: expanded from here __compiletime_assert_335 ^ /stuff/linux/drivers/platform/surface/aggregator/controller.c:61:25: error: call to __compiletime_assert_335 declared with 'error' attribute: BUILD_BUG failed /stuff/linux/include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:344:23: note: expanded from macro 'arch_cmpxchg' (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:335:3: note: expanded from macro '__cmpxchg' BUILD_BUG(); \ ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /stuff/linux/include/linux/compiler_types.h:385:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /stuff/linux/include/linux/compiler_types.h:378:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ <scratch space>:69:1: note: expanded from here __compiletime_assert_335 ^ /stuff/linux/drivers/platform/surface/aggregator/controller.c:61:25: error: call to __compiletime_assert_335 declared with 'error' attribute: BUILD_BUG failed /stuff/linux/include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:344:23: note: expanded from macro 'arch_cmpxchg' (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:335:3: note: expanded from macro '__cmpxchg' BUILD_BUG(); \ ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /stuff/linux/include/linux/compiler_types.h:385:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /stuff/linux/include/linux/compiler_types.h:378:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ <scratch space>:69:1: note: expanded from here __compiletime_assert_335 ^ /stuff/linux/drivers/platform/surface/aggregator/controller.c:61:25: error: call to __compiletime_assert_335 declared with 'error' attribute: BUILD_BUG failed /stuff/linux/include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:344:23: note: expanded from macro 'arch_cmpxchg' (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:335:3: note: expanded from macro '__cmpxchg' BUILD_BUG(); \ ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /stuff/linux/include/linux/compiler_types.h:385:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /stuff/linux/include/linux/compiler_types.h:378:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ <scratch space>:69:1: note: expanded from here __compiletime_assert_335 ^ /stuff/linux/drivers/platform/surface/aggregator/controller.c:61:25: error: call to __compiletime_assert_335 declared with 'error' attribute: BUILD_BUG failed /stuff/linux/include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:344:23: note: expanded from macro 'arch_cmpxchg' (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:335:3: note: expanded from macro '__cmpxchg' BUILD_BUG(); \ ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /stuff/linux/include/linux/compiler_types.h:385:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /stuff/linux/include/linux/compiler_types.h:378:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ <scratch space>:69:1: note: expanded from here __compiletime_assert_335 ^ /stuff/linux/drivers/platform/surface/aggregator/controller.c:61:25: error: call to __compiletime_assert_335 declared with 'error' attribute: BUILD_BUG failed /stuff/linux/include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:344:23: note: expanded from macro 'arch_cmpxchg' (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:335:3: note: expanded from macro '__cmpxchg' BUILD_BUG(); \ ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /stuff/linux/include/linux/compiler_types.h:385:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /stuff/linux/include/linux/compiler_types.h:378:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ <scratch space>:69:1: note: expanded from here __compiletime_assert_335 ^ /stuff/linux/drivers/platform/surface/aggregator/controller.c:61:25: error: call to __compiletime_assert_335 declared with 'error' attribute: BUILD_BUG failed /stuff/linux/include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:344:23: note: expanded from macro 'arch_cmpxchg' (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:335:3: note: expanded from macro '__cmpxchg' BUILD_BUG(); \ ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /stuff/linux/include/linux/compiler_types.h:385:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /stuff/linux/include/linux/compiler_types.h:378:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ <scratch space>:69:1: note: expanded from here __compiletime_assert_335 ^ /stuff/linux/drivers/platform/surface/aggregator/controller.c:61:25: error: call to __compiletime_assert_335 declared with 'error' attribute: BUILD_BUG failed /stuff/linux/include/linux/atomic/atomic-instrumented.h:1916:2: note: expanded from macro 'cmpxchg' arch_cmpxchg(__ai_ptr, __VA_ARGS__); \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:344:23: note: expanded from macro 'arch_cmpxchg' (__typeof__(*(ptr))) __cmpxchg((ptr), \ ^ /stuff/linux/arch/riscv/include/asm/cmpxchg.h:335:3: note: expanded from macro '__cmpxchg' BUILD_BUG(); \ ^ note: (skipping 3 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all) /stuff/linux/include/linux/compiler_types.h:385:2: note: expanded from macro '_compiletime_assert' __compiletime_assert(condition, msg, prefix, suffix) ^ /stuff/linux/include/linux/compiler_types.h:378:4: note: expanded from macro '__compiletime_assert' prefix ## suffix(); \ ^ <scratch space>:69:1: note: expanded from here __compiletime_assert_335 ^ 9 errors generated.
Attachment:
signature.asc
Description: PGP signature