Re: [Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-23 Thread Scott Wood
On 01/23/2012 03:29 PM, Alexander Graf wrote: > > > On 23.01.2012, at 21:10, Scott Wood wrote: > >> If TLB0 has TLBnCFG[AVAIL] set, then with this patch you'll be raising >> an exception rather than setting the size to the minimum. >> >> If TLB0 does not have TLBnCFG[AVAIL] set, you'll be letti

Re: [Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-23 Thread Alexander Graf
On 23.01.2012, at 21:10, Scott Wood wrote: > On 01/23/2012 02:03 PM, Alexander Graf wrote: >> >> >> On 23.01.2012, at 19:49, Scott Wood wrote: >> >>> On 01/23/2012 12:41 PM, Alexander Graf wrote: >> For tlb0 on e500 and derivatives, tsize is explicitly documented as >> ignored. Sof

Re: [Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-23 Thread Scott Wood
On 01/23/2012 02:03 PM, Alexander Graf wrote: > > > On 23.01.2012, at 19:49, Scott Wood wrote: > >> On 01/23/2012 12:41 PM, Alexander Graf wrote: > For tlb0 on e500 and derivatives, tsize is explicitly documented as > ignored. Software may rely on this. Yup, that's why there's the

Re: [Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-23 Thread Alexander Graf
On 23.01.2012, at 19:49, Scott Wood wrote: > On 01/23/2012 12:41 PM, Alexander Graf wrote: For tlb0 on e500 and derivatives, tsize is explicitly documented as ignored. Software may rely on this. >>> Yup, that's why there's the check for TLBnCG_AVAIL, which indicates that >>> a TLB ha

Re: [Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-23 Thread Scott Wood
On 01/23/2012 12:41 PM, Alexander Graf wrote: >>> For tlb0 on e500 and derivatives, tsize is explicitly documented as >>> ignored. Software may rely on this. >> Yup, that's why there's the check for TLBnCG_AVAIL, which indicates that >> a TLB has dynamic page size capabilities, which TLB0 does not

Re: [Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-23 Thread Alexander Graf
On 01/23/2012 07:19 PM, Scott Wood wrote: On 01/23/2012 11:33 AM, Alexander Graf wrote: On 01/23/2012 06:32 PM, Scott Wood wrote: On 01/20/2012 10:15 PM, Alexander Graf wrote: @@ -4273,6 +4274,16 @@ void helper_booke206_tlbwe(void) tlb->mas1&= ~MAS1_IPROT; } +/* check th

Re: [Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-23 Thread Scott Wood
On 01/23/2012 11:33 AM, Alexander Graf wrote: > On 01/23/2012 06:32 PM, Scott Wood wrote: >> On 01/20/2012 10:15 PM, Alexander Graf wrote: >>> @@ -4273,6 +4274,16 @@ void helper_booke206_tlbwe(void) >>> tlb->mas1&= ~MAS1_IPROT; >>> } >>> >>> +/* check that we support the targete

Re: [Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-23 Thread Alexander Graf
On 01/23/2012 06:32 PM, Scott Wood wrote: On 01/20/2012 10:15 PM, Alexander Graf wrote: @@ -4273,6 +4274,16 @@ void helper_booke206_tlbwe(void) tlb->mas1&= ~MAS1_IPROT; } +/* check that we support the targeted size */ +size_tlb = (tlb->mas1& MAS1_TSIZE_MASK)>> MAS1_TSI

Re: [Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-23 Thread Scott Wood
On 01/20/2012 10:15 PM, Alexander Graf wrote: > @@ -4273,6 +4274,16 @@ void helper_booke206_tlbwe(void) > tlb->mas1 &= ~MAS1_IPROT; > } > > +/* check that we support the targeted size */ > +size_tlb = (tlb->mas1 & MAS1_TSIZE_MASK) >> MAS1_TSIZE_SHIFT; > +size_ps = booke2

[Qemu-devel] [PATCH 7/8] PPC: booke206: Check for min/max TLB entry size

2012-01-20 Thread Alexander Graf
When setting a TLB entry, we need to check if the TLB we're putting it in actually supports the given size. According to the 2.06 PowerPC ISA, a value that's out of range can either be redefined to something implementation dependent or we can raise an illegal opcode exception. We do the latter. Si