Message ID | 20210813073615.32837-6-frankja@linux.ibm.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | s390x: Cleanup and maintenance | expand |
On Fri, 13 Aug 2021 07:36:12 +0000 Janosch Frank <frankja@linux.ibm.com> wrote: > UV home addresses don't require us to be in home space but we need to > have it set up so hw/fw can use the home asce to translate home > virtual addresses. > > Hence we add a comment why we're setting up the home asce and remove > the address space since it's unneeded. oh, we actually never use it? > Signed-off-by: Janosch Frank <frankja@linux.ibm.com> Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> > --- > s390x/uv-host.c | 11 ++++++++--- > 1 file changed, 8 insertions(+), 3 deletions(-) > > diff --git a/s390x/uv-host.c b/s390x/uv-host.c > index 426a67f6..28035707 100644 > --- a/s390x/uv-host.c > +++ b/s390x/uv-host.c > @@ -444,13 +444,18 @@ static void test_clear(void) > > static void setup_vmem(void) > { > - uint64_t asce, mask; > + uint64_t asce; > > setup_mmu(get_max_ram_size(), NULL); > + /* > + * setup_mmu() will enable DAT and set the primary address > + * space but we need to have a valid home space since UV > calls > + * take home space virtual addresses. > + * > + * Hence we just copy the primary asce into the home space. > + */ > asce = stctg(1); > lctlg(13, asce); > - mask = extract_psw_mask() | 0x0000C00000000000UL; > - load_psw_mask(mask); > } > > int main(void)
On 8/13/21 10:45 AM, Claudio Imbrenda wrote: > On Fri, 13 Aug 2021 07:36:12 +0000 > Janosch Frank <frankja@linux.ibm.com> wrote: > >> UV home addresses don't require us to be in home space but we need to >> have it set up so hw/fw can use the home asce to translate home >> virtual addresses. >> >> Hence we add a comment why we're setting up the home asce and remove >> the address space since it's unneeded. > > oh, we actually never use it? Yes, as I said, those addresses are not relative to your PSW DAT settings, they are defined to be home space addresses. >> Signed-off-by: Janosch Frank <frankja@linux.ibm.com> > > Reviewed-by: Claudio Imbrenda <imbrenda@linux.ibm.com> Thanks! > >> --- >> s390x/uv-host.c | 11 ++++++++--- >> 1 file changed, 8 insertions(+), 3 deletions(-) >> >> diff --git a/s390x/uv-host.c b/s390x/uv-host.c >> index 426a67f6..28035707 100644 >> --- a/s390x/uv-host.c >> +++ b/s390x/uv-host.c >> @@ -444,13 +444,18 @@ static void test_clear(void) >> >> static void setup_vmem(void) >> { >> - uint64_t asce, mask; >> + uint64_t asce; >> >> setup_mmu(get_max_ram_size(), NULL); >> + /* >> + * setup_mmu() will enable DAT and set the primary address >> + * space but we need to have a valid home space since UV >> calls >> + * take home space virtual addresses. >> + * >> + * Hence we just copy the primary asce into the home space. >> + */ >> asce = stctg(1); >> lctlg(13, asce); >> - mask = extract_psw_mask() | 0x0000C00000000000UL; >> - load_psw_mask(mask); >> } >> >> int main(void) >
diff --git a/s390x/uv-host.c b/s390x/uv-host.c index 426a67f6..28035707 100644 --- a/s390x/uv-host.c +++ b/s390x/uv-host.c @@ -444,13 +444,18 @@ static void test_clear(void) static void setup_vmem(void) { - uint64_t asce, mask; + uint64_t asce; setup_mmu(get_max_ram_size(), NULL); + /* + * setup_mmu() will enable DAT and set the primary address + * space but we need to have a valid home space since UV calls + * take home space virtual addresses. + * + * Hence we just copy the primary asce into the home space. + */ asce = stctg(1); lctlg(13, asce); - mask = extract_psw_mask() | 0x0000C00000000000UL; - load_psw_mask(mask); } int main(void)
UV home addresses don't require us to be in home space but we need to have it set up so hw/fw can use the home asce to translate home virtual addresses. Hence we add a comment why we're setting up the home asce and remove the address space since it's unneeded. Signed-off-by: Janosch Frank <frankja@linux.ibm.com> --- s390x/uv-host.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-)