On 1/14/22 14:16, Claudio Imbrenda wrote:
On Fri, 14 Jan 2022 14:13:01 +0100
Janosch Frank <frankja@xxxxxxxxxxxxx> wrote:
On 1/14/22 14:01, Claudio Imbrenda wrote:
On Fri, 14 Jan 2022 13:50:52 +0100
Nico Boehr <nrb@xxxxxxxxxxxxx> wrote:
On Fri, 2022-01-14 at 10:02 +0000, Janosch Frank wrote:
The store status at address order works with 31 bit addresses so
let's
use them.
Signed-off-by: Janosch Frank <frankja@xxxxxxxxxxxxx>
---
s390x/smp.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/s390x/smp.c b/s390x/smp.c
index 32f128b3..c91f170b 100644
--- a/s390x/smp.c
+++ b/s390x/smp.c
[...]
@@ -244,7 +244,7 @@ static void test_func_initial(void)
static void test_reset_initial(void)
{
- struct cpu_status *status = alloc_pages(0);
+ struct cpu_status *status = alloc_pages_flags(1, AREA_DMA31);
Why do we need two pages now?
actually, wait.....
struct cpu_status *status = alloc_pages_flags(1, AREA_DMA31);
uint32_t r;
report_prefix_push("store status at address");
memset(status, 0, PAGE_SIZE * 2);
we were allocating one page, and using 2!
@Janosch do we need 1 or 2 pages?
Have a look at the memcmp() below those lines.
I test if the status page has changed by doing a memcmp against the
second page.
so we do need 2 pages, and using 1 was a bug
We need two for the store status at address tests but only one for the
initial reset test Nico is pointing out here.