Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-14 Thread Gao, Liming
m>>; edk2-devel-01 mailto:edk2-devel@lists.01.org>> Subject: RE: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code Thanks. I also recommend to take a look at MdePkg\Library\BaseSynchronizationLib. That is also complicated and not so readable for me.

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-08 Thread Andrew Fish via edk2-devel
> Thanks > Liming > From: af...@apple.com <mailto:af...@apple.com> [mailto:af...@apple.com > <mailto:af...@apple.com>] > Sent: Wednesday, March 6, 2019 10:45 PM > To: Yao, Jiewen mailto:jiewen....@intel.com>> > Cc: Kinney, Michael D <mailto:michael

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-08 Thread Kinney, Michael D
Sent: Wednesday, March 6, 2019 11:25 PM To: Gao, Liming ; af...@apple.com Cc: Kinney, Michael D ; edk2-devel-01 Subject: RE: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code Thanks. I also recommend to take a look at MdePkg\Library\BaseSynchronizationLib

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-06 Thread Yao, Jiewen
; Yao, Jiewen Cc: Kinney, Michael D ; edk2-devel-01 Subject: RE: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code Thanks for your clarification. Now, we will focus on SetJump/LongJump() first. Thanks Liming From: af...@apple.com<mailto:af...@apple.com> [mai

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-06 Thread Gao, Liming
intel.com>>; Gao, Liming mailto:liming@intel.com>>; edk2-devel-01 mailto:edk2-devel@lists.01.org>> Subject: Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code On Mar 6, 2019, at 9:06 PM, Yao, Jiewen mailto:jiewen@intel.com>> wrote: H

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-06 Thread Andrew Fish via edk2-devel
ffer > pop eax ; eax <- Value > mov ebx, [edx] > mov esi, [edx + 4] > mov edi, [edx + 8] > mov ebp, [edx + 12] > mov esp, [edx + 16] > jmp dword ptr [edx + 20] > } > } > > >

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-06 Thread Yao, Jiewen
- From: edk2-devel [mailto:edk2-devel-boun...@lists.01.org] On Behalf Of Andrew Fish via edk2-devel Sent: Wednesday, March 6, 2019 5:31 PM To: Kinney, Michael D mailto:michael.d.kin...@intel.com>> Cc: edk2-devel-01 mailto:edk2-devel@lists.01.org>>; Gao, Liming mailto:liming@intel.com>&g

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-06 Thread Andrew Fish via edk2-devel
s function. > > > 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: Wednesday, March 6, 2019 5:31 PM >> To: Kinney, Mic

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-06 Thread Yao, Jiewen
> It seems like we have a reasonable set and should not use the inline > assembly for any more complex code. > > Thanks, > > Andrew Fish > > > The issue you pointed to was around SetJump()/LongJump(). Can we limit > this BZ to only those 2 functions? > > > > M

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-06 Thread Andrew Fish via edk2-devel
; Mike >   <> > From: Gao, Liming > Sent: Wednesday, March 6, 2019 4:28 PM > To: af...@apple.com > Cc: Zhang, Shenglei ; edk2-devel-01 > ; Kinney, Michael D > Subject: RE: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline > X86 assembly code >

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-06 Thread Kinney, Michael D
(). Can we limit this BZ to only those 2 functions? Mike From: Gao, Liming Sent: Wednesday, March 6, 2019 4:28 PM To: af...@apple.com Cc: Zhang, Shenglei ; edk2-devel-01 ; Kinney, Michael D Subject: RE: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code Andrew: I

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-06 Thread Gao, Liming
; Kinney, Michael D Subject: Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code On Mar 5, 2019, at 1:32 PM, Gao, Liming mailto:liming@intel.com>> wrote: Andrew: BZ 1163 is to remove inline X86 assembly code in C source file. But, this patch is wrong.

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-05 Thread Andrew Fish via edk2-devel
> On Mar 5, 2019, at 1:32 PM, Gao, Liming wrote: > > Andrew: > BZ 1163 is to remove inline X86 assembly code in C source file. But, this > patch is wrong. I have gave my comments to update this patch. > Why do we want to remove inline X86 assembly. As I mentioned it will lead to larger

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-05 Thread Kinney, Michael D
or performance. Thanks, Mike > -Original Message- > From: Gao, Liming > Sent: Tuesday, March 5, 2019 1:33 PM > To: af...@apple.com; Zhang, Shenglei > > Cc: edk2-devel-01 ; Kinney, > Michael D > Subject: RE: [edk2] [PATCH 3/3] > MdePkg/BaseSynchronizationLib: Remove

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-05 Thread Gao, Liming
; From: af...@apple.com [mailto:af...@apple.com] > Sent: Tuesday, March 5, 2019 12:58 PM > To: Zhang, Shenglei > Cc: edk2-devel-01 ; Kinney, Michael D > ; Gao, Liming > Subject: Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline > X86 assembly code > >

Re: [edk2] [PATCH 3/3] MdePkg/BaseSynchronizationLib: Remove inline X86 assembly code

2019-03-05 Thread Andrew Fish via edk2-devel
Shenglei, I was confused by the names of these patches. From a C point of view this is inline assembly: VOID EFIAPI CpuBreakpoint ( VOID ) { __asm__ __volatile__ ("int $3"); } These patches seem to be removing GAS and MASM assembly files, but not the inline assembly *.c files? We don't want