-devel@lists.01.org; Ni, Ray
> ; Dong, Eric
> Subject: Re: [edk2] UefiCpuPkg CpuDxe GDT init question?
>
>
>
> > On Mar 11, 2019, at 9:04 AM, Yao, Jiewen wrote:
> >
> > Thanks Andrew.
> > + More CPU people in our team.
> >
> > Do you want to post
Andrew Fish
> Thank you
> Yao Jiewen
>
>
>
>> -Original Message-
>> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
>> Andrew Fish via edk2-devel
>> Sent: Monday, March 11, 2019 11:59 PM
>> To: Yao, Jiewen
>>
S.
> >
> > It is also not clear to me that we don't need the GDT when in real mode. In
> big-real mode you go to protected mode set the GDT and then it can get
> used for big-real so it seems like the GDT is in play even in real mode.
> >
> > Thanks,
> >
> > And
eal mode.
>
> Thanks,
>
> Andrew Fish
>
>
>> Laszlo
>>
>>>
>>>
>>>
>>> Thank you
>>> Yao Jiewen
>>>
>>>
>>>> -Original Message-
>>>> From: edk2-devel [mailto
can get used for
big-real so it seems like the GDT is in play even in real mode.
Thanks,
Andrew Fish
> Laszlo
>
>>
>>
>>
>> Thank you
>> Yao Jiewen
>>
>>
>>> -----Original Message-
>>> From: edk2-devel [mailto:edk2-dev
900 ("UefiCpuPkg/DxeMpLib: Allocate new safe stack < 4GB",
2016-11-28)
Laszlo
>
>
>
> Thank you
> Yao Jiewen
>
>
>> -Original Message-
>> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
>> Laszlo Ersek
>> S
. Do we need touch GDT at UEFI
runtime?
Thank you
Yao Jiewen
> -Original Message-
> From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of
> Laszlo Ersek
> Sent: Friday, March 8, 2019 12:00 AM
> To: Andrew Fish ; edk2-devel
> Subject: Re: [edk2] Uef
Hi Andrew,
On 03/07/19 23:37, Andrew Fish via edk2-devel wrote:
> I'm trying to understand why gdtPtr.Base is casting to (UINT32)?
> 1) gdtPtr.Base is a a UINTN
> 2) It is legal for AllocateRuntimePool() to return an address > 4GB
>
> It seems like the code should just cast to (UINTN)?
>
>
>
Actually it looks like the the CpuDxe driver is coded to only run if it it is
loaded under 4 GB? Is that following the spec? Is that intentional?
I noticed that SetCodeSelector is coded to use a far jump and that is a 32-bit
absolute value? Note [rsp+4]
I'm trying to understand why gdtPtr.Base is casting to (UINT32)?
1) gdtPtr.Base is a a UINTN
2) It is legal for AllocateRuntimePool() to return an address > 4GB
It seems like the code should just cast to (UINTN)?
https://github.com/tianocore/edk2/blob/master/UefiCpuPkg/CpuDxe/CpuGdt.c#L151
10 matches
Mail list logo