[PATCH 1/3 RESEND] platform/x86: Check validity of EBDA pointer in mpparse.c
by Vit Kabele
The pointer to EBDA area is retrieved from a word at 0x40e in BDA.
In case that the memory there is not initialized and contains garbage,
it might happen that the kernel touches memory above 640K.
This may cause unwanted reads from VGA memory which may not be decoded,
or even present when running under virtualization.
This patch adds sanity check for the EBDA pointer retrieved from the memory
so that scanning EBDA does not leave the low memory.
Signed-off-by: Vit Kabele <vit(a)kabele.me>
Reviewed-by: Rudolf Marek <r.marek(a)assembler.cz>
---
arch/x86/include/asm/bios_ebda.h | 3 +++
arch/x86/kernel/ebda.c | 3 ---
arch/x86/kernel/mpparse.c | 12 +++++++++++-
3 files changed, 14 insertions(+), 4 deletions(-)
diff --git a/arch/x86/include/asm/bios_ebda.h b/arch/x86/include/asm/bios_ebda.h
index 4d5a17e2febe..c3133c01d5b7 100644
--- a/arch/x86/include/asm/bios_ebda.h
+++ b/arch/x86/include/asm/bios_ebda.h
@@ -4,6 +4,9 @@
#include <asm/io.h>
+#define BIOS_START_MIN 0x20000U /* 128K, less than this is insane */
+#define BIOS_START_MAX 0x9f000U /* 640K, absolute maximum */
+
/*
* Returns physical address of EBDA. Returns 0 if there is no EBDA.
*/
diff --git a/arch/x86/kernel/ebda.c b/arch/x86/kernel/ebda.c
index 38e7d597b660..86c0801fc3ce 100644
--- a/arch/x86/kernel/ebda.c
+++ b/arch/x86/kernel/ebda.c
@@ -50,9 +50,6 @@
#define BIOS_RAM_SIZE_KB_PTR 0x413
-#define BIOS_START_MIN 0x20000U /* 128K, less than this is insane */
-#define BIOS_START_MAX 0x9f000U /* 640K, absolute maximum */
-
void __init reserve_bios_regions(void)
{
unsigned int bios_start, ebda_start;
diff --git a/arch/x86/kernel/mpparse.c b/arch/x86/kernel/mpparse.c
index fed721f90116..6bba0744d32d 100644
--- a/arch/x86/kernel/mpparse.c
+++ b/arch/x86/kernel/mpparse.c
@@ -633,7 +633,17 @@ void __init default_find_smp_config(void)
*/
address = get_bios_ebda();
- if (address)
+
+ /* Check that the EBDA address is sane and the get_bios_ebda() did not
+ * return just garbage from memory.
+ * The upper bound is considered valid if it points below 1K before
+ * end of the lower memory (i.e. 639K). The EBDA can be smaller
+ * than 1K in which case the pointer will point above 639K but that
+ * case is handled in step 2) above, and we don't need to adjust scan
+ * size to not bump into the memory above 640K.
+ */
+ if (address >= BIOS_START_MIN &&
+ address < 639 * 0x400)
smp_scan_config(address, 0x400);
}
--
2.30.2
5 months
[PATCH 0/3 RESEND] platform/x86, apcica: Sanitize EBDA pointer from memory
by Vit Kabele
[Resend because I messed up the mailing list addresses]
When testing custom virtualization platform, we noticed that in cases
where the memory is initialized with random pattern, the Linux guest
tends to crash on EPT violation.
It turns out that (at least two) codepaths during boot do not check the
validity of EBDA pointer retrieved from BDA memory at address 0x40e.
In case that the returned address is over 640K, the kernel happily
touches the VGA memory (which was not present in our setup, hence the
EPT violation).
This may be problematic in other virtualized environment too, but it can
probably also happen on bare metal when booted with legacy free (e.g.
UEFI without CSM) firmware, because the BDA may not be initialized and
the VGA range might not be properly decoded.
The third patch of the series adds workaround for the situation where
EBDA is smaller than 1KiB and the ACPI code scanning for RSDP table
bumps to the VGA memory.
The two acpcia patches can eventually be squashed together, it's up to you.
I tested these patches on my lenovo laptop (and in QEMU if that counts).
Vit Kabele (3):
platform/x86: Check validity of EBDA pointer in mpparse.c
acpica: Check that the EBDA pointer is in valid range
acpica: Do not touch VGA memory when EBDA < 1KiB
arch/x86/include/asm/bios_ebda.h | 3 +++
arch/x86/kernel/ebda.c | 3 ---
arch/x86/kernel/mpparse.c | 12 +++++++++++-
drivers/acpi/acpica/tbxfroot.c | 25 ++++++++++++++++++-------
4 files changed, 32 insertions(+), 11 deletions(-)
--
2.30.2
5 months
[PATCH 3/3] acpica: Do not touch VGA memory when EBDA < 1KiB
by Vit Kabele
The ACPICA code assumes that EBDA region must be at least 1KiB in size.
Because this is not guaranteed, it might happen that while scanning the
memory for RSDP pointer, the kernel touches memory above 640KiB.
This is unwanted as the VGA memory range may not be decoded or
even present when running under virtualization.
Signed-off-by: Vit Kabele <vit(a)kabele.me>
Reviewed-by: Rudolf Marek <r.marek(a)assembler.cz>
---
drivers/acpi/acpica/tbxfroot.c | 20 ++++++++++++++------
1 file changed, 14 insertions(+), 6 deletions(-)
diff --git a/drivers/acpi/acpica/tbxfroot.c b/drivers/acpi/acpica/tbxfroot.c
index 67b7df1c0520..b1f4a91044d9 100644
--- a/drivers/acpi/acpica/tbxfroot.c
+++ b/drivers/acpi/acpica/tbxfroot.c
@@ -114,6 +114,7 @@ acpi_find_root_pointer(acpi_physical_address *table_address)
u8 *table_ptr;
u8 *mem_rover;
u32 physical_address;
+ u32 ebda_window_size;
ACPI_FUNCTION_TRACE(acpi_find_root_pointer);
@@ -143,25 +144,32 @@ acpi_find_root_pointer(acpi_physical_address *table_address)
*/
if (physical_address > 0x400 &&
physical_address < 0xA0000) {
+ /* Calculate the scan window size
+ * The EBDA is not guaranteed to be larger than a KiB
+ * and in case that it is smaller the scanning function would
+ * leave the low memory and continue to the VGA range.
+ */
+ ebda_window_size = ACPI_MIN(ACPI_EBDA_WINDOW_SIZE,
+ 0xA0000 - physical_address);
+
/*
- * 1b) Search EBDA paragraphs (EBDA is required to be a
- * minimum of 1K length)
+ * 1b) Search EBDA paragraphs
*/
table_ptr = acpi_os_map_memory((acpi_physical_address)
physical_address,
- ACPI_EBDA_WINDOW_SIZE);
+ ebda_window_size);
if (!table_ptr) {
ACPI_ERROR((AE_INFO,
"Could not map memory at 0x%8.8X for length %u",
- physical_address, ACPI_EBDA_WINDOW_SIZE));
+ physical_address, ebda_window_size));
return_ACPI_STATUS(AE_NO_MEMORY);
}
mem_rover =
acpi_tb_scan_memory_for_rsdp(table_ptr,
- ACPI_EBDA_WINDOW_SIZE);
- acpi_os_unmap_memory(table_ptr, ACPI_EBDA_WINDOW_SIZE);
+ ebda_window_size);
+ acpi_os_unmap_memory(table_ptr, ebda_window_size);
if (mem_rover) {
--
2.30.2
5 months
[PATCH 0/3] platform/x86, apcica: Sanitize EBDA pointer from memory
by Vit Kabele
When testing custom virtualization platform, we noticed that in cases
where the memory is initialized with random pattern, the Linux guest
tends to crash on EPT violation.
It turns out that (at least two) codepaths during boot do not check the
validity of EBDA pointer retrieved from BDA memory at address 0x40e.
In case that the returned address is over 640K, the kernel happily
touches the VGA memory (which was not present in our setup, hence the
EPT violation).
This may be problematic in other virtualized environment too, but it can
probably also happen on bare metal when booted with legacy free (e.g.
UEFI without CSM) firmware, because the BDA may not be initialized and
the VGA range might not be properly decoded.
The third patch of the series adds workaround for the situation where
EBDA is smaller than 1KiB and the ACPI code scanning for RSDP table
bumps to the VGA memory.
The two acpcia patches can eventually be squashed together, it's up to you.
I tested these patches on my lenovo laptop (and in QEMU if that counts).
Vit Kabele (3):
platform/x86: Check validity of EBDA pointer in mpparse.c
acpica: Check that the EBDA pointer is in valid range
acpica: Do not touch VGA memory when EBDA < 1KiB
arch/x86/include/asm/bios_ebda.h | 3 +++
arch/x86/kernel/ebda.c | 3 ---
arch/x86/kernel/mpparse.c | 12 +++++++++++-
drivers/acpi/acpica/tbxfroot.c | 25 ++++++++++++++++++-------
4 files changed, 32 insertions(+), 11 deletions(-)
--
2.30.2
5 months
[rafael-pm:bleeding-edge] BUILD SUCCESS 26f31e5a7e645b72dbd9cb1add8c94c49cbbd488
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: 26f31e5a7e645b72dbd9cb1add8c94c49cbbd488 Merge branch 'pm-docs-next' into bleeding-edge
elapsed time: 725m
configs tested: 110
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm defconfig
arm allmodconfig
arm allyesconfig
arm64 defconfig
arm64 allyesconfig
i386 randconfig-c001-20220314
powerpc storcenter_defconfig
sh sh2007_defconfig
powerpc tqm8548_defconfig
parisc generic-64bit_defconfig
xtensa alldefconfig
powerpc ep8248e_defconfig
sh ul2_defconfig
arc axs103_smp_defconfig
arm sunxi_defconfig
arm multi_v7_defconfig
m68k bvme6000_defconfig
sh apsh4ad0a_defconfig
ia64 tiger_defconfig
openrisc simple_smp_defconfig
xtensa virt_defconfig
arm randconfig-c002-20220313
arm randconfig-c002-20220314
ia64 defconfig
ia64 allmodconfig
ia64 allyesconfig
m68k defconfig
m68k allyesconfig
m68k allmodconfig
csky defconfig
alpha defconfig
nds32 defconfig
nios2 allyesconfig
alpha allyesconfig
arc defconfig
sh allmodconfig
xtensa allyesconfig
h8300 allyesconfig
parisc defconfig
parisc64 defconfig
s390 allmodconfig
s390 defconfig
parisc allyesconfig
s390 allyesconfig
i386 allyesconfig
i386 debian-10.3
i386 debian-10.3-kselftests
i386 defconfig
sparc allyesconfig
sparc defconfig
nds32 allnoconfig
nios2 defconfig
arc allyesconfig
mips allyesconfig
mips allmodconfig
powerpc allnoconfig
powerpc allmodconfig
powerpc allyesconfig
i386 randconfig-a003
i386 randconfig-a001
i386 randconfig-a005
i386 randconfig-a014
i386 randconfig-a012
i386 randconfig-a016
x86_64 randconfig-a006
x86_64 randconfig-a002
x86_64 randconfig-a004
s390 randconfig-r044-20220313
arc randconfig-r043-20220313
riscv randconfig-r042-20220313
arc randconfig-r043-20220314
riscv allyesconfig
riscv allnoconfig
riscv defconfig
riscv rv32_defconfig
riscv allmodconfig
riscv nommu_k210_defconfig
riscv nommu_virt_defconfig
um i386_defconfig
um x86_64_defconfig
x86_64 defconfig
x86_64 allyesconfig
x86_64 kexec
x86_64 rhel-8.3
x86_64 rhel-8.3-func
x86_64 rhel-8.3-kunit
x86_64 rhel-8.3-kselftests
clang tested configs:
mips rbtx49xx_defconfig
arm mainstone_defconfig
i386 randconfig-a002
i386 randconfig-a004
i386 randconfig-a006
x86_64 randconfig-a011-20220314
x86_64 randconfig-a013-20220314
x86_64 randconfig-a012-20220314
x86_64 randconfig-a015-20220314
x86_64 randconfig-a016-20220314
x86_64 randconfig-a014-20220314
i386 randconfig-a013
i386 randconfig-a015
i386 randconfig-a011
x86_64 randconfig-a001
x86_64 randconfig-a003
x86_64 randconfig-a005
hexagon randconfig-r045-20220313
hexagon randconfig-r045-20220314
hexagon randconfig-r041-20220313
s390 randconfig-r044-20220314
hexagon randconfig-r041-20220314
riscv randconfig-r042-20220314
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
5 months
[rafael-pm:bleeding-edge] BUILD SUCCESS 216aa68e610f96eb9882a10f1fe41732030e2d99
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: 216aa68e610f96eb9882a10f1fe41732030e2d99 Merge branches 'pm-docs-next' and 'devprop-next' into bleeding-edge
elapsed time: 729m
configs tested: 104
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm defconfig
arm allmodconfig
arm allyesconfig
arm64 defconfig
arm64 allyesconfig
i386 randconfig-c001
arm footbridge_defconfig
arm eseries_pxa_defconfig
powerpc mpc834x_itx_defconfig
mips vocore2_defconfig
sh ul2_defconfig
arm multi_v7_defconfig
sh r7780mp_defconfig
m68k m5307c3_defconfig
arm randconfig-c002-20220314
ia64 defconfig
ia64 allmodconfig
ia64 allyesconfig
m68k defconfig
m68k allyesconfig
m68k allmodconfig
nds32 allnoconfig
nios2 defconfig
arc allyesconfig
csky defconfig
alpha defconfig
nds32 defconfig
nios2 allyesconfig
alpha allyesconfig
arc defconfig
sh allmodconfig
h8300 allyesconfig
xtensa allyesconfig
parisc defconfig
parisc64 defconfig
s390 allmodconfig
parisc allyesconfig
s390 defconfig
s390 allyesconfig
i386 allyesconfig
i386 debian-10.3
i386 debian-10.3-kselftests
i386 defconfig
sparc defconfig
sparc allyesconfig
mips allmodconfig
mips allyesconfig
powerpc allnoconfig
powerpc allmodconfig
powerpc allyesconfig
i386 randconfig-a001-20220314
i386 randconfig-a002-20220314
i386 randconfig-a004-20220314
i386 randconfig-a003-20220314
i386 randconfig-a005-20220314
i386 randconfig-a006-20220314
x86_64 randconfig-a006
x86_64 randconfig-a002
x86_64 randconfig-a004
arc randconfig-r043-20220313
riscv randconfig-r042-20220313
s390 randconfig-r044-20220313
riscv nommu_k210_defconfig
riscv allyesconfig
riscv allnoconfig
riscv defconfig
riscv rv32_defconfig
riscv allmodconfig
riscv nommu_virt_defconfig
um i386_defconfig
um x86_64_defconfig
x86_64 defconfig
x86_64 allyesconfig
x86_64 kexec
x86_64 rhel-8.3
x86_64 rhel-8.3-func
x86_64 rhel-8.3-kunit
x86_64 rhel-8.3-kselftests
clang tested configs:
mips ip28_defconfig
arm cns3420vb_defconfig
mips bmips_stb_defconfig
arm magician_defconfig
powerpc ebony_defconfig
arm pxa255-idp_defconfig
powerpc skiroot_defconfig
powerpc g5_defconfig
mips omega2p_defconfig
x86_64 randconfig-a011-20220314
x86_64 randconfig-a014-20220314
x86_64 randconfig-a013-20220314
x86_64 randconfig-a012-20220314
x86_64 randconfig-a016-20220314
x86_64 randconfig-a015-20220314
i386 randconfig-a012-20220314
i386 randconfig-a011-20220314
i386 randconfig-a013-20220314
i386 randconfig-a014-20220314
i386 randconfig-a015-20220314
i386 randconfig-a016-20220314
x86_64 randconfig-a001
x86_64 randconfig-a003
x86_64 randconfig-a005
hexagon randconfig-r045-20220313
hexagon randconfig-r041-20220313
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
5 months
[rafael-pm:bleeding-edge] BUILD SUCCESS bbc0e4dfa777cb722b27b3f36a839c0fc61f475b
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: bbc0e4dfa777cb722b27b3f36a839c0fc61f475b Merge branch 'pm-docs-next' into bleeding-edge
elapsed time: 903m
configs tested: 118
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm allmodconfig
arm defconfig
arm64 defconfig
arm allyesconfig
arm64 allyesconfig
i386 randconfig-c001
mips vocore2_defconfig
i386 alldefconfig
arm zeus_defconfig
x86_64 alldefconfig
powerpc mgcoge_defconfig
m68k mvme16x_defconfig
sh migor_defconfig
m68k amiga_defconfig
sh sh7724_generic_defconfig
ia64 gensparse_defconfig
powerpc ppc64_defconfig
arm randconfig-c002-20220310
ia64 allmodconfig
ia64 allyesconfig
ia64 defconfig
m68k allyesconfig
m68k allmodconfig
m68k defconfig
csky defconfig
alpha defconfig
nds32 defconfig
nios2 allyesconfig
alpha allyesconfig
arc defconfig
sh allmodconfig
h8300 allyesconfig
xtensa allyesconfig
nds32 allnoconfig
nios2 defconfig
arc allyesconfig
parisc defconfig
parisc64 defconfig
s390 allmodconfig
s390 allyesconfig
parisc allyesconfig
s390 defconfig
i386 allyesconfig
i386 debian-10.3
i386 debian-10.3-kselftests
i386 defconfig
sparc allyesconfig
sparc defconfig
mips allyesconfig
mips allmodconfig
powerpc allnoconfig
powerpc allmodconfig
powerpc allyesconfig
x86_64 randconfig-a006
x86_64 randconfig-a002
x86_64 randconfig-a004
i386 randconfig-a003
i386 randconfig-a001
i386 randconfig-a005
x86_64 randconfig-a013
x86_64 randconfig-a011
x86_64 randconfig-a015
i386 randconfig-a014
i386 randconfig-a012
i386 randconfig-a016
arc randconfig-r043-20220310
arc randconfig-r043-20220312
riscv nommu_k210_defconfig
riscv allyesconfig
riscv allnoconfig
riscv defconfig
riscv rv32_defconfig
riscv allmodconfig
riscv nommu_virt_defconfig
um i386_defconfig
um x86_64_defconfig
x86_64 defconfig
x86_64 allyesconfig
x86_64 kexec
x86_64 rhel-8.3
x86_64 rhel-8.3-func
x86_64 rhel-8.3-kunit
x86_64 rhel-8.3-kselftests
clang tested configs:
mips randconfig-c004-20220310
x86_64 randconfig-c007
mips randconfig-c004-20220312
riscv randconfig-c006-20220312
s390 randconfig-c005-20220310
s390 randconfig-c005-20220312
arm randconfig-c002-20220312
powerpc randconfig-c003-20220310
i386 randconfig-c001
riscv randconfig-c006-20220310
powerpc randconfig-c003-20220312
arm randconfig-c002-20220310
mips lemote2f_defconfig
arm milbeaut_m10v_defconfig
mips cu1000-neo_defconfig
mips cavium_octeon_defconfig
powerpc g5_defconfig
x86_64 randconfig-a001
x86_64 randconfig-a003
x86_64 randconfig-a005
i386 randconfig-a002
i386 randconfig-a006
i386 randconfig-a004
x86_64 randconfig-a012
x86_64 randconfig-a014
x86_64 randconfig-a016
i386 randconfig-a013
i386 randconfig-a015
i386 randconfig-a011
riscv randconfig-r042-20220310
s390 randconfig-r044-20220312
hexagon randconfig-r045-20220312
hexagon randconfig-r041-20220310
riscv randconfig-r042-20220312
hexagon randconfig-r045-20220310
s390 randconfig-r044-20220310
hexagon randconfig-r041-20220312
---
0-DAY CI Kernel Test Service
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
5 months, 1 week
Re: [PATCH V2 0/2] ACPI: Add LoongArch-related definitions
by Moore, Robert
-----Original Message-----
From: Huacai Chen <chenhuacai(a)gmail.com>
Sent: Tuesday, March 08, 2022 9:30 PM
To: Rafael J. Wysocki <rafael(a)kernel.org>
Cc: Huacai Chen <chenhuacai(a)loongson.cn>; Rafael J . Wysocki <rjw(a)rjwysocki.net>; Len Brown <lenb(a)kernel.org>; Moore, Robert <robert.moore(a)intel.com>; Erik Kaneda <erik.kaneda(a)intel.com>; ACPI Devel Maling List <linux-acpi(a)vger.kernel.org>; open list:ACPI COMPONENT ARCHITECTURE (ACPICA) <devel(a)acpica.org>; Xuefeng Li <lixuefeng(a)loongson.cn>; Jiaxun Yang <jiaxun.yang(a)flygoat.com>; Jianmin Lv <lvjianmin(a)loongson.cn>
Subject: Re: [PATCH V2 0/2] ACPI: Add LoongArch-related definitions
Hi, Rafael,
On Wed, Mar 9, 2022 at 2:49 AM Rafael J. Wysocki <rafael(a)kernel.org> wrote:
>
> On Sun, Mar 6, 2022 at 12:17 PM Huacai Chen <chenhuacai(a)loongson.cn> wrote:
> >
> > LoongArch is a new RISC ISA, which is a bit like MIPS or RISC-V.
> > LoongArch includes a reduced 32-bit version (LA32R), a standard
> > 32-bit version (LA32S) and a 64-bit version (LA64). LoongArch use
> > ACPI as its boot protocol LoongArch-specific interrupt controllers
> > (similar to APIC) are already added in the next revision of ACPI
> > Specification (current revision is 6.4).
> >
> > This patchset are preparing to add LoongArch support in mainline
> > kernel, we can see a snapshot here:
> > https://github.com/loongson/linux/tree/loongarch-next
> >
> > Cross-compile tool chain to build kernel:
> > https://github.com/loongson/build-tools/releases
> >
> > Loongson and LoongArch documentations:
> > https://github.com/loongson/LoongArch-Documentation
> >
> > ECR for LoongArch-specific interrupt controllers:
> > https://mantis.uefi.org/mantis/view.php?id=2203
> > https://mantis.uefi.org/mantis/view.php?id=2313
> >
> > ACPI changes of LoongArch have been approved in the last year, but
> > the new version of ACPI SPEC hasn't been made public yet.
> >
> > V2: Remove merged patches and update commit messages.
> >
> > Huacai Chen and Jianmin Lv(2):
> > ACPICA: MADT: Add LoongArch APICs support.
> > ACPICA: Events: Support fixed pcie wake event.
>
> Both patches in this series are mostly ACPICA material which needs to
> be submitted to the upstream ACPICA project via
> https://github.com/acpica/acpica
>
> It will be pulled by the Linux kernel from there.
I found that you are also a maintainer of the ACPICA project, do you mean I should submit by github PR, not by maillist?
Yes.
>
> >
> > Signed-off-by: Huacai Chen <chenhuacai(a)loongson.cn>
> > Signed-off-by: Jianmin Lv <lvjianmin(a)loongson.cn>
> > ---
> > drivers/acpi/acpica/evevent.c | 17 ++++--
> > drivers/acpi/acpica/hwsleep.c | 12 ++++
> > drivers/acpi/acpica/utglobal.c | 4 ++
> > drivers/acpi/tables.c | 10 ++++
>
> This tables.c change can be submitted as a separate patch when the
> ACPICA changes get integrated.
Do you mean split the first patch into .h parts and .c parts, then submit the .h parts and the second patch by github PR, then submit the .c parts of the first patch by maillist?
No, that is not necessary.
Huacai
>
> > include/acpi/actbl2.h | 125 ++++++++++++++++++++++++++++++++++++++++-
> > include/acpi/actypes.h | 3 +-
> > 6 files changed, 163 insertions(+), 8 deletions(-)
> > --
> > 2.27.0
> >
5 months, 1 week
[rafael-pm:bleeding-edge] BUILD SUCCESS 08069bcb94baf171692d281725123b239e4000fe
by kernel test robot
tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git bleeding-edge
branch HEAD: 08069bcb94baf171692d281725123b239e4000fe Merge branch 'pm-cpuidle' into bleeding-edge
elapsed time: 730m
configs tested: 94
configs skipped: 3
The following configs have been built successfully.
More configs may be tested in the coming days.
gcc tested configs:
arm allmodconfig
arm defconfig
arm64 defconfig
arm64 allyesconfig
arm allyesconfig
i386 randconfig-c001
arm realview_defconfig
mips fuloong2e_defconfig
sh kfr2r09_defconfig
h8300 h8300h-sim_defconfig
powerpc storcenter_defconfig
sh se7722_defconfig
sh magicpanelr2_defconfig
xtensa xip_kc705_defconfig
riscv allmodconfig
h8300 defconfig
arm randconfig-c002-20220309
ia64 allmodconfig
ia64 allyesconfig
ia64 defconfig
m68k defconfig
m68k allmodconfig
m68k allyesconfig
nds32 allnoconfig
alpha allyesconfig
csky defconfig
alpha defconfig
nds32 defconfig
nios2 allyesconfig
arc defconfig
sh allmodconfig
xtensa allyesconfig
h8300 allyesconfig
arc allyesconfig
nios2 defconfig
parisc defconfig
s390 defconfig
parisc64 defconfig
s390 allmodconfig
s390 allyesconfig
parisc allyesconfig
sparc allyesconfig
sparc defconfig
i386 allyesconfig
i386 debian-10.3
i386 debian-10.3-kselftests
i386 defconfig
mips allyesconfig
mips allmodconfig
powerpc allnoconfig
powerpc allyesconfig
powerpc allmodconfig
i386 randconfig-a005
x86_64 randconfig-a015
x86_64 randconfig-a006
x86_64 randconfig-a002
x86_64 randconfig-a004
arc randconfig-r043-20220309
arc randconfig-r043-20220310
riscv nommu_k210_defconfig
riscv nommu_virt_defconfig
riscv allyesconfig
riscv allnoconfig
riscv defconfig
riscv rv32_defconfig
um i386_defconfig
um x86_64_defconfig
x86_64 defconfig
x86_64 allyesconfig
x86_64 kexec
x86_64 rhel-8.3
x86_64 rhel-8.3-func
x86_64 rhel-8.3-kunit
x86_64 rhel-8.3-kselftests
clang tested configs:
arm orion5x_defconfig
arm vt8500_v6_v7_defconfig
powerpc ppa8548_defconfig
powerpc ppc44x_defconfig
powerpc fsp2_defconfig
mips qi_lb60_defconfig
arm spear13xx_defconfig
powerpc obs600_defconfig
i386 randconfig-a006
x86_64 randconfig-a016
x86_64 randconfig-a001
x86_64 randconfig-a003
x86_64 randconfig-a005
hexagon randconfig-r041-20220309
hexagon randconfig-r045-20220309
s390 randconfig-r044-20220309
hexagon randconfig-r041-20220310
hexagon randconfig-r045-20220310
s390 randconfig-r044-20220310
riscv randconfig-r042-20220310
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
5 months, 1 week
Re: [PATCH V2 0/2] ACPI: Add LoongArch-related definitions
by Rafael J. Wysocki
On Sun, Mar 6, 2022 at 12:17 PM Huacai Chen <chenhuacai(a)loongson.cn> wrote:
>
> LoongArch is a new RISC ISA, which is a bit like MIPS or RISC-V.
> LoongArch includes a reduced 32-bit version (LA32R), a standard 32-bit
> version (LA32S) and a 64-bit version (LA64). LoongArch use ACPI as its
> boot protocol LoongArch-specific interrupt controllers (similar to APIC)
> are already added in the next revision of ACPI Specification (current
> revision is 6.4).
>
> This patchset are preparing to add LoongArch support in mainline kernel,
> we can see a snapshot here:
> https://github.com/loongson/linux/tree/loongarch-next
>
> Cross-compile tool chain to build kernel:
> https://github.com/loongson/build-tools/releases
>
> Loongson and LoongArch documentations:
> https://github.com/loongson/LoongArch-Documentation
>
> ECR for LoongArch-specific interrupt controllers:
> https://mantis.uefi.org/mantis/view.php?id=2203
> https://mantis.uefi.org/mantis/view.php?id=2313
>
> ACPI changes of LoongArch have been approved in the last year, but the
> new version of ACPI SPEC hasn't been made public yet.
>
> V2: Remove merged patches and update commit messages.
>
> Huacai Chen and Jianmin Lv(2):
> ACPICA: MADT: Add LoongArch APICs support.
> ACPICA: Events: Support fixed pcie wake event.
Both patches in this series are mostly ACPICA material which needs to
be submitted to the upstream ACPICA project via
https://github.com/acpica/acpica
It will be pulled by the Linux kernel from there.
>
> Signed-off-by: Huacai Chen <chenhuacai(a)loongson.cn>
> Signed-off-by: Jianmin Lv <lvjianmin(a)loongson.cn>
> ---
> drivers/acpi/acpica/evevent.c | 17 ++++--
> drivers/acpi/acpica/hwsleep.c | 12 ++++
> drivers/acpi/acpica/utglobal.c | 4 ++
> drivers/acpi/tables.c | 10 ++++
This tables.c change can be submitted as a separate patch when the
ACPICA changes get integrated.
> include/acpi/actbl2.h | 125 ++++++++++++++++++++++++++++++++++++++++-
> include/acpi/actypes.h | 3 +-
> 6 files changed, 163 insertions(+), 8 deletions(-)
> --
> 2.27.0
>
5 months, 1 week