-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[11.0.0] Fix test expectations (#7039)
* Fix test expectations [automatically-tag-and-release-this-commit] * CI: upgrade to qemu 8.0.4. (#6849) * CI: upgrade to qemu 8.0.4. This should resolve a bug in qemu triggered by changes in #6820 (see [here](#6820 (comment))). * ci: Update QEMU patch for 8.0.2 --------- Co-authored-by: Afonso Bordado <[email protected]> --------- Co-authored-by: Chris Fallin <[email protected]> Co-authored-by: Afonso Bordado <[email protected]>
- Loading branch information
1 parent
7f3a31c
commit 2d29546
Showing
3 changed files
with
15 additions
and
25 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,4 @@ | ||
From 529c68a118055c95336f91e4d166366a23a943f4 Mon Sep 17 00:00:00 2001 | ||
From 5d05b046efb079360d0175164ee04947f20f9e66 Mon Sep 17 00:00:00 2001 | ||
From: Afonso Bordado <[email protected]> | ||
Date: Tue, 21 Mar 2023 18:45:20 +0000 | ||
Subject: [PATCH] linux-user: Emulate /proc/cpuinfo output for riscv | ||
|
@@ -10,17 +10,16 @@ Currently when querying this file the host's file is shown instead | |
which is slightly confusing. Emulate a basic /proc/cpuinfo file | ||
with mmu info and an ISA string. | ||
--- | ||
linux-user/syscall.c | 33 +++++++++++++++++++++++++++++-- | ||
tests/tcg/riscv64/Makefile.target | 1 + | ||
tests/tcg/riscv64/cpuinfo.c | 30 ++++++++++++++++++++++++++++ | ||
3 files changed, 62 insertions(+), 2 deletions(-) | ||
linux-user/syscall.c | 34 ++++++++++++++++++++++++++++++++-- | ||
tests/tcg/riscv64/cpuinfo.c | 30 ++++++++++++++++++++++++++++++ | ||
2 files changed, 62 insertions(+), 2 deletions(-) | ||
create mode 100644 tests/tcg/riscv64/cpuinfo.c | ||
|
||
diff --git a/linux-user/syscall.c b/linux-user/syscall.c | ||
index 24b25759be..2b8a588be2 100644 | ||
index 333e6b7026..e6d85e0e8a 100644 | ||
--- a/linux-user/syscall.c | ||
+++ b/linux-user/syscall.c | ||
@@ -8206,7 +8206,8 @@ void target_exception_dump(CPUArchState *env, const char *fmt, int code) | ||
@@ -8231,7 +8231,8 @@ void target_exception_dump(CPUArchState *env, const char *fmt, int code) | ||
} | ||
|
||
#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN || \ | ||
|
@@ -30,7 +29,7 @@ index 24b25759be..2b8a588be2 100644 | |
static int is_proc(const char *filename, const char *entry) | ||
{ | ||
return strcmp(filename, entry) == 0; | ||
@@ -8278,6 +8279,34 @@ static int open_cpuinfo(CPUArchState *cpu_env, int fd) | ||
@@ -8309,6 +8310,35 @@ static int open_cpuinfo(CPUArchState *cpu_env, int fd) | ||
} | ||
#endif | ||
|
||
|
@@ -40,10 +39,11 @@ index 24b25759be..2b8a588be2 100644 | |
+ int i; | ||
+ int num_cpus = sysconf(_SC_NPROCESSORS_ONLN); | ||
+ RISCVCPU *cpu = env_archcpu(cpu_env); | ||
+ const RISCVCPUConfig *cfg = riscv_cpu_cfg((CPURISCVState *) cpu_env); | ||
+ char *isa_string = riscv_isa_string(cpu); | ||
+ const char *mmu; | ||
+ | ||
+ if (cpu->cfg.mmu) { | ||
+ if (cfg->mmu) { | ||
+ mmu = (cpu_env->xl == MXL_RV32) ? "sv32" : "sv48"; | ||
+ } else { | ||
+ mmu = "none"; | ||
|
@@ -65,7 +65,7 @@ index 24b25759be..2b8a588be2 100644 | |
#if defined(TARGET_M68K) | ||
static int open_hardware(CPUArchState *cpu_env, int fd) | ||
{ | ||
@@ -8302,7 +8331,7 @@ static int do_openat(CPUArchState *cpu_env, int dirfd, const char *pathname, int | ||
@@ -8333,7 +8363,7 @@ static int do_openat(CPUArchState *cpu_env, int dirfd, const char *pathname, int | ||
#if HOST_BIG_ENDIAN != TARGET_BIG_ENDIAN | ||
{ "/proc/net/route", open_net_route, is_proc }, | ||
#endif | ||
|
@@ -74,16 +74,6 @@ index 24b25759be..2b8a588be2 100644 | |
{ "/proc/cpuinfo", open_cpuinfo, is_proc }, | ||
#endif | ||
#if defined(TARGET_M68K) | ||
diff --git a/tests/tcg/riscv64/Makefile.target b/tests/tcg/riscv64/Makefile.target | ||
index b5b89dfb0e..f455e19a11 100644 | ||
--- a/tests/tcg/riscv64/Makefile.target | ||
+++ b/tests/tcg/riscv64/Makefile.target | ||
@@ -4,3 +4,4 @@ | ||
VPATH += $(SRC_PATH)/tests/tcg/riscv64 | ||
TESTS += test-div | ||
TESTS += noexec | ||
+TESTS += cpuinfo | ||
\ No newline at end of file | ||
diff --git a/tests/tcg/riscv64/cpuinfo.c b/tests/tcg/riscv64/cpuinfo.c | ||
new file mode 100644 | ||
index 0000000000..296abd0a8c | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters