On 12/3/18 11:01 AM, Kamil Rytarowski wrote:
> On 03.12.2018 17:08, Richard Henderson wrote:
>> Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
>> ---
>> tcg/i386/tcg-target.inc.c | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/tcg/i386/tcg-target.inc.c b/tcg/i386/tcg-target.inc.c
>> index b8d2dd5ba3..3a39b51685 100644
>> --- a/tcg/i386/tcg-target.inc.c
>> +++ b/tcg/i386/tcg-target.inc.c
>> @@ -1873,6 +1873,15 @@ static inline int setup_guest_base_seg(void)
>> }
>> return 0;
>> }
>> +# elif defined (__FreeBSD__) || defined (__FreeBSD_kernel__)
>> +# include <machine/sysarch.h>
>> +static inline int setup_guest_base_seg(void)
>> +{
>> + if (sysarch(AMD64_SET_GSBASE, &guest_base) == 0) {
>> + return P_GS;
>> + }
>> + return 0;
>> +}
>> # else
>> static inline int setup_guest_base_seg(void)
>> {
>>
>
> There is also X86_SET_GSBASE in <include/sysarch.h> in NetBSD. Do we
> need to set it for this OS too?
You will want to do so, yes. In the meantime NetBSD should not break; it is
only an optimization.
r~