NetBSD-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: port-xen/53267 (XEN amd64 DomU (Dom0??) NetBSD current USERMODE() fails)



The following reply was made to PR port-xen/53267; it has been noted by GNATS.

From: Robert Elz <kre%munnari.OZ.AU@localhost>
To: "Cherry G.Mathew" <cherry%zyx.in@localhost>
Cc: gnats-bugs%NetBSD.org@localhost, netbsd-bugs%netbsd.org@localhost
Subject: Re: port-xen/53267 (XEN amd64 DomU (Dom0??) NetBSD current USERMODE() fails)
Date: Fri, 11 May 2018 17:38:09 +0700

     Date:        Fri, 11 May 2018 14:37:12 +0530
     From:        "Cherry G.Mathew" <cherry%zyx.in@localhost>
     Message-ID:  <87o9hm7e7z.fsf%zyx.in@localhost>
 
   | This was a pretty intrusive change ( we switched to the x86 common
   | interrupt code ), so I'll need a bit of time to figure it out.
 
 Yes, I saw ... and also explains the problem, as regular x86 run the
 kernel and users at different priv levels, but xen does not.   The old
 way, some magic must have been being done to make it appear as if
 there were different levels, which is no longer happening.
 
 I have no idea how all of this works (I don't know x86 architecture at
 all) so I cannot really help with a soltution (I admit to making one wild
 guess, and trying it out - that kernel did not make it through autoconf
 before hanging ... fortunately DomU's are easy to destroy, and bogus
 code is easy to throw away!)
 
 One suggestion though - there is no need for the XEN USERMODE()
 macro to work anything like the x86 one does - it does not need to
 inspect bits in %cs (whatever that is).   Other ports do not.   Any method
 that tells what the mode was before the current interrupt/trap will work.
 
 kre
 
 


Home | Main Index | Thread Index | Old Index