Re: [edk2] [PATCH 3/4] ArmPkg/Mmu: Fix literal number left shift bug

2015-09-07 Thread Laszlo Ersek
On 09/07/15 09:34, Ard Biesheuvel wrote: > On 6 September 2015 at 14:22, Leif Lindholm wrote: >> On 6 September 2015 at 13:05, Ard Biesheuvel >> wrote: >>> On 6 September 2015 at 14:04, Leif Lindholm >>> wrote: On 6 September 2015 at 12:52, Ard Biesheuvel wrote: > On 6 Septembe

Re: [edk2] [PATCH 3/4] ArmPkg/Mmu: Fix literal number left shift bug

2015-09-07 Thread Ard Biesheuvel
On 6 September 2015 at 14:22, Leif Lindholm wrote: > On 6 September 2015 at 13:05, Ard Biesheuvel > wrote: >> On 6 September 2015 at 14:04, Leif Lindholm wrote: >>> On 6 September 2015 at 12:52, Ard Biesheuvel >>> wrote: On 6 September 2015 at 10:15, Heyi Guo wrote: > There is a hid

Re: [edk2] [PATCH 3/4] ArmPkg/Mmu: Fix literal number left shift bug

2015-09-06 Thread Leif Lindholm
On 6 September 2015 at 13:05, Ard Biesheuvel wrote: > On 6 September 2015 at 14:04, Leif Lindholm wrote: >> On 6 September 2015 at 12:52, Ard Biesheuvel >> wrote: >>> On 6 September 2015 at 10:15, Heyi Guo wrote: There is a hidden bug for below code: (1 << BaseAddressAlignment)

Re: [edk2] [PATCH 3/4] ArmPkg/Mmu: Fix literal number left shift bug

2015-09-06 Thread Ard Biesheuvel
On 6 September 2015 at 14:04, Leif Lindholm wrote: > On 6 September 2015 at 12:52, Ard Biesheuvel > wrote: >> On 6 September 2015 at 10:15, Heyi Guo wrote: >>> There is a hidden bug for below code: >>> >>> (1 << BaseAddressAlignment) & *BlockEntrySize >>> >>> From disassembly code, we can the l

Re: [edk2] [PATCH 3/4] ArmPkg/Mmu: Fix literal number left shift bug

2015-09-06 Thread Leif Lindholm
On 6 September 2015 at 12:52, Ard Biesheuvel wrote: > On 6 September 2015 at 10:15, Heyi Guo wrote: >> There is a hidden bug for below code: >> >> (1 << BaseAddressAlignment) & *BlockEntrySize >> >> From disassembly code, we can the literal number 1 will be treated as >> INT32 by compiler by defa

Re: [edk2] [PATCH 3/4] ArmPkg/Mmu: Fix literal number left shift bug

2015-09-06 Thread Ard Biesheuvel
On 6 September 2015 at 10:15, Heyi Guo wrote: > There is a hidden bug for below code: > > (1 << BaseAddressAlignment) & *BlockEntrySize > > From disassembly code, we can the literal number 1 will be treated as > INT32 by compiler by default, and we'll get 0x8000 when > BaseAddressAlign

[edk2] [PATCH 3/4] ArmPkg/Mmu: Fix literal number left shift bug

2015-09-06 Thread Heyi Guo
There is a hidden bug for below code: (1 << BaseAddressAlignment) & *BlockEntrySize >From disassembly code, we can the literal number 1 will be treated as INT32 by compiler by default, and we'll get 0x8000 when BaseAddressAlignment is equal to 31. So we will always get 31 when alignme