linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc
@ 2023-04-07  9:31 Kautuk Consul
  2023-04-07 13:46 ` Bagas Sanjaya
  0 siblings, 1 reply; 8+ messages in thread
From: Kautuk Consul @ 2023-04-07  9:31 UTC (permalink / raw)
  To: Michael Ellerman, Nicholas Piggin, Christophe Leroy,
	Fabiano Rosas, Paolo Bonzini, Chao Peng, Sean Christopherson
  Cc: linuxppc-dev, linux-kernel, Kautuk Consul

I used the unlikely() macro on the return values of the k.alloc
calls and found that it changes the code generation a bit.
Optimize all return paths of k.alloc calls by improving
branch prediction on return value of k.alloc.

Signed-off-by: Kautuk Consul <kconsul@linux.vnet.ibm.com>
---
 arch/powerpc/kvm/book3s_hv_nested.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c
index 5a64a1341e6f..dbf2dd073e1f 100644
--- a/arch/powerpc/kvm/book3s_hv_nested.c
+++ b/arch/powerpc/kvm/book3s_hv_nested.c
@@ -446,7 +446,7 @@ long kvmhv_nested_init(void)
 		ptb_order = 12;
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
 				       GFP_KERNEL);
-	if (!pseries_partition_tb) {
+	if (unlikely(!pseries_partition_tb)) {
 		pr_err("kvm-hv: failed to allocated nested partition table\n");
 		return -ENOMEM;
 	}
@@ -575,7 +575,7 @@ long kvmhv_copy_tofrom_guest_nested(struct kvm_vcpu *vcpu)
 		return H_PARAMETER;
 
 	buf = kzalloc(n, GFP_KERNEL | __GFP_NOWARN);
-	if (!buf)
+	if (unlikely(!buf))
 		return H_NO_MEM;
 
 	gp = kvmhv_get_nested(vcpu->kvm, l1_lpid, false);
@@ -689,7 +689,7 @@ static struct kvm_nested_guest *kvmhv_alloc_nested(struct kvm *kvm, unsigned int
 	long shadow_lpid;
 
 	gp = kzalloc(sizeof(*gp), GFP_KERNEL);
-	if (!gp)
+	if (unlikely(!gp))
 		return NULL;
 	gp->l1_host = kvm;
 	gp->l1_lpid = lpid;
@@ -1633,7 +1633,7 @@ static long int __kvmhv_nested_page_fault(struct kvm_vcpu *vcpu,
 	/* 4. Insert the pte into our shadow_pgtable */
 
 	n_rmap = kzalloc(sizeof(*n_rmap), GFP_KERNEL);
-	if (!n_rmap)
+	if (unlikely(!n_rmap))
 		return RESUME_GUEST; /* Let the guest try again */
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
 		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
-- 
2.39.2


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc
  2023-04-07  9:31 [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc Kautuk Consul
@ 2023-04-07 13:46 ` Bagas Sanjaya
  2023-04-07 16:01   ` Sean Christopherson
  0 siblings, 1 reply; 8+ messages in thread
From: Bagas Sanjaya @ 2023-04-07 13:46 UTC (permalink / raw)
  To: Kautuk Consul, Michael Ellerman, Nicholas Piggin,
	Christophe Leroy, Fabiano Rosas, Paolo Bonzini, Chao Peng,
	Sean Christopherson
  Cc: linuxppc-dev, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 570 bytes --]

On Fri, Apr 07, 2023 at 05:31:47AM -0400, Kautuk Consul wrote:
> I used the unlikely() macro on the return values of the k.alloc
> calls and found that it changes the code generation a bit.
> Optimize all return paths of k.alloc calls by improving
> branch prediction on return value of k.alloc.

What about below?

"Improve branch prediction on kmalloc() and kzalloc() call by using
unlikely() macro to optimize their return paths."

That is, try to avoid first-person construct (I).

Thanks.

-- 
An old man doll... just what I always wanted! - Clara

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc
  2023-04-07 13:46 ` Bagas Sanjaya
@ 2023-04-07 16:01   ` Sean Christopherson
  2023-04-11  4:59     ` Kautuk Consul
  0 siblings, 1 reply; 8+ messages in thread
From: Sean Christopherson @ 2023-04-07 16:01 UTC (permalink / raw)
  To: Bagas Sanjaya
  Cc: Kautuk Consul, Michael Ellerman, Nicholas Piggin,
	Christophe Leroy, Fabiano Rosas, Paolo Bonzini, Chao Peng,
	linuxppc-dev, linux-kernel

On Fri, Apr 07, 2023, Bagas Sanjaya wrote:
> On Fri, Apr 07, 2023 at 05:31:47AM -0400, Kautuk Consul wrote:
> > I used the unlikely() macro on the return values of the k.alloc
> > calls and found that it changes the code generation a bit.
> > Optimize all return paths of k.alloc calls by improving
> > branch prediction on return value of k.alloc.

Nit, this is improving code generation, not branch prediction.

> What about below?
> 
> "Improve branch prediction on kmalloc() and kzalloc() call by using
> unlikely() macro to optimize their return paths."

Another nit, using unlikely() doesn't necessarily provide a measurable optimization.
As above, it does often improve code generation for the happy path, but that doesn't
always equate to improved performance, e.g. if the CPU can easily predict the branch
and/or there is no impact on the cache footprint.

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc
  2023-04-07 16:01   ` Sean Christopherson
@ 2023-04-11  4:59     ` Kautuk Consul
  2023-04-11  6:35       ` Michael Ellerman
  0 siblings, 1 reply; 8+ messages in thread
From: Kautuk Consul @ 2023-04-11  4:59 UTC (permalink / raw)
  To: Sean Christopherson
  Cc: Bagas Sanjaya, Michael Ellerman, Nicholas Piggin,
	Christophe Leroy, Fabiano Rosas, Paolo Bonzini, Chao Peng,
	linuxppc-dev, linux-kernel

On 2023-04-07 09:01:29, Sean Christopherson wrote:
> On Fri, Apr 07, 2023, Bagas Sanjaya wrote:
> > On Fri, Apr 07, 2023 at 05:31:47AM -0400, Kautuk Consul wrote:
> > > I used the unlikely() macro on the return values of the k.alloc
> > > calls and found that it changes the code generation a bit.
> > > Optimize all return paths of k.alloc calls by improving
> > > branch prediction on return value of k.alloc.
> 
> Nit, this is improving code generation, not branch prediction.
Sorry my mistake.
> 
> > What about below?
> > 
> > "Improve branch prediction on kmalloc() and kzalloc() call by using
> > unlikely() macro to optimize their return paths."
> 
> Another nit, using unlikely() doesn't necessarily provide a measurable optimization.
> As above, it does often improve code generation for the happy path, but that doesn't
> always equate to improved performance, e.g. if the CPU can easily predict the branch
> and/or there is no impact on the cache footprint.
I see. I will submit a v2 of the patch with a better and more accurate
description. Does anyone else have any comments before I do so ?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc
  2023-04-11  4:59     ` Kautuk Consul
@ 2023-04-11  6:35       ` Michael Ellerman
       [not found]         ` <CAKWYkK0hjMiP7yJWWjWX8CqS1Lcqi2z4P1bzj14-AU8SzBkYqw@mail.gmail.com>
  2023-04-12  7:04         ` Kautuk Consul
  0 siblings, 2 replies; 8+ messages in thread
From: Michael Ellerman @ 2023-04-11  6:35 UTC (permalink / raw)
  To: Kautuk Consul, Sean Christopherson
  Cc: Bagas Sanjaya, Nicholas Piggin, Christophe Leroy, Fabiano Rosas,
	Paolo Bonzini, Chao Peng, linuxppc-dev, linux-kernel

Kautuk Consul <kconsul@linux.vnet.ibm.com> writes:
> On 2023-04-07 09:01:29, Sean Christopherson wrote:
>> On Fri, Apr 07, 2023, Bagas Sanjaya wrote:
>> > On Fri, Apr 07, 2023 at 05:31:47AM -0400, Kautuk Consul wrote:
>> > > I used the unlikely() macro on the return values of the k.alloc
>> > > calls and found that it changes the code generation a bit.
>> > > Optimize all return paths of k.alloc calls by improving
>> > > branch prediction on return value of k.alloc.
>> 
>> Nit, this is improving code generation, not branch prediction.
> Sorry my mistake.
>> 
>> > What about below?
>> > 
>> > "Improve branch prediction on kmalloc() and kzalloc() call by using
>> > unlikely() macro to optimize their return paths."
>> 
>> Another nit, using unlikely() doesn't necessarily provide a measurable optimization.
>> As above, it does often improve code generation for the happy path, but that doesn't
>> always equate to improved performance, e.g. if the CPU can easily predict the branch
>> and/or there is no impact on the cache footprint.

> I see. I will submit a v2 of the patch with a better and more accurate
> description. Does anyone else have any comments before I do so ?
 
In general I think unlikely should be saved for cases where either the
compiler is generating terrible code, or the likelyness of the condition
might be surprising to a human reader.

eg. if you had some code that does a NULL check and it's *expected* that
the value is NULL, then wrapping that check in likely() actually adds
information for a human reader.
    
Also please don't use unlikely in init paths or other cold paths, it
clutters the code (only slightly but a little) and that's not worth the
possible tiny benefit for code that only runs once or infrequently.

I would expect the compilers to do the right thing in all
these cases without the unlikely. But if you can demonstrate that they
meaningfully improve the code generation with a before/after
dissassembly then I'd be interested.

cheers

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc
       [not found]         ` <CAKWYkK0hjMiP7yJWWjWX8CqS1Lcqi2z4P1bzj14-AU8SzBkYqw@mail.gmail.com>
@ 2023-04-11  9:04           ` Kautuk Consul
  0 siblings, 0 replies; 8+ messages in thread
From: Kautuk Consul @ 2023-04-11  9:04 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Kautuk Consul, Sean Christopherson, Fabiano Rosas, linux-kernel,
	Nicholas Piggin, Bagas Sanjaya, Chao Peng, Paolo Bonzini,
	linuxppc-dev

[-- Attachment #1: Type: text/plain, Size: 2996 bytes --]

Sorry, last email rejected by the mailing lists.
Can you please look at the diff file attach ?

On Tue, Apr 11, 2023 at 2:14 PM Kautuk Consul
<kautuk.consul.80@gmail.com> wrote:
>
> Hi,
>
> Sorry Im replying back using my private gmail ID as I can't figure out
> how to attach multiple files using mutt.
>
> On Tue, Apr 11, 2023 at 12:05 PM Michael Ellerman <mpe@ellerman.id.au> wrote:
> >
> > Kautuk Consul <kconsul@linux.vnet.ibm.com> writes:
> > > On 2023-04-07 09:01:29, Sean Christopherson wrote:
> > >> On Fri, Apr 07, 2023, Bagas Sanjaya wrote:
> > >> > On Fri, Apr 07, 2023 at 05:31:47AM -0400, Kautuk Consul wrote:
> > >> > > I used the unlikely() macro on the return values of the k.alloc
> > >> > > calls and found that it changes the code generation a bit.
> > >> > > Optimize all return paths of k.alloc calls by improving
> > >> > > branch prediction on return value of k.alloc.
> > >>
> > >> Nit, this is improving code generation, not branch prediction.
> > > Sorry my mistake.
> > >>
> > >> > What about below?
> > >> >
> > >> > "Improve branch prediction on kmalloc() and kzalloc() call by using
> > >> > unlikely() macro to optimize their return paths."
> > >>
> > >> Another nit, using unlikely() doesn't necessarily provide a measurable optimization.
> > >> As above, it does often improve code generation for the happy path, but that doesn't
> > >> always equate to improved performance, e.g. if the CPU can easily predict the branch
> > >> and/or there is no impact on the cache footprint.
> >
> > > I see. I will submit a v2 of the patch with a better and more accurate
> > > description. Does anyone else have any comments before I do so ?
> >
> > In general I think unlikely should be saved for cases where either the
> > compiler is generating terrible code, or the likelyness of the condition
> > might be surprising to a human reader.
> >
> > eg. if you had some code that does a NULL check and it's *expected* that
> > the value is NULL, then wrapping that check in likely() actually adds
> > information for a human reader.
> >
> > Also please don't use unlikely in init paths or other cold paths, it
> > clutters the code (only slightly but a little) and that's not worth the
> > possible tiny benefit for code that only runs once or infrequently.
> >
> > I would expect the compilers to do the right thing in all
> > these cases without the unlikely. But if you can demonstrate that they
> > meaningfully improve the code generation with a before/after
> > dissassembly then I'd be interested.
> >
> There are surprisingly many changes to code generation before and
> after using these
> instances of the unlikely macro. I couldn't really analyze all of them
> to be able to state
> that they are indeed improving performance in some way. I assumed the compiler
> would generate optimal code for these unlikely paths.
> Please find the before and after file attached to this email.
>
> > cheers

[-- Attachment #2: diff --]
[-- Type: application/octet-stream, Size: 1260592 bytes --]

--- after	2023-04-11 14:13:18.357418573 +0530
+++ before	2023-04-11 14:12:59.205090330 +0530
@@ -749,12 +749,12 @@ static inline void queued_spin_unlock(st
      6b0:	00 00 00 60 	nop
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
      6b4:	00 00 22 3d 	addis   r9,r2,0
-	if (unlikely(!pseries_partition_tb)) {
+	if (!pseries_partition_tb) {
      6b8:	00 00 23 2c 	cmpdi   r3,0
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
      6bc:	00 00 e9 eb 	ld      r31,0(r9)
      6c0:	00 00 7f f8 	std     r3,0(r31)
-	if (unlikely(!pseries_partition_tb)) {
+	if (!pseries_partition_tb) {
      6c4:	70 00 82 41 	beq     734 <kvmhv_nested_init+0xcc>
 	ptcr = __pa(pseries_partition_tb) | (ptb_order - 12);
      6c8:	00 01 64 78 	clrldi  r4,r3,4
@@ -1746,7 +1746,7 @@ static inline struct llist_node *llist_d
     11d4:	78 6b a9 7d 	mr      r9,r13
 	if (unlikely(ms->mmiowb_pending)) {
     11d8:	00 00 8a 2f 	cmpwi   cr7,r10,0
-    11dc:	d4 01 9e 40 	bne     cr7,13b0 <kvmhv_get_nested+0x268>
+    11dc:	04 02 9e 40 	bne     cr7,13e0 <kvmhv_get_nested+0x298>
 	ms->nesting_count--;
     11e0:	80 0c 49 a1 	lhz     r10,3200(r9)
     11e4:	ff ff 4a 39 	addi    r10,r10,-1
@@ -1794,7 +1794,7 @@ static inline struct llist_node *llist_d
     1270:	68 00 69 e8 	ld      r3,104(r9)
     1274:	01 00 00 48 	bl      1274 <kvmhv_get_nested+0x12c>
     1278:	00 00 00 60 	nop
-	if (unlikely(!gp))
+	if (!gp)
     127c:	00 00 23 2e 	cmpdi   cr4,r3,0
     1280:	78 1b 7c 7c 	mr      r28,r3
     1284:	b4 ff 92 41 	beq     cr4,1238 <kvmhv_get_nested+0xf0>
@@ -1898,26 +1898,26 @@ static inline struct llist_node *llist_d
     13a4:	58 fe ff 4b 	b       11fc <kvmhv_get_nested+0xb4>
     13a8:	00 00 00 60 	nop
     13ac:	00 00 42 60 	ori     r2,r2,0
-		ms->mmiowb_pending = 0;
-    13b0:	00 00 40 39 	li      r10,0
-    13b4:	82 0c 4d b1 	sth     r10,3202(r13)
-		mmiowb();
-    13b8:	ac 04 00 7c 	hwsync
-    13bc:	24 fe ff 4b 	b       11e0 <kvmhv_get_nested+0x98>
 	pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
-    13c0:	00 00 22 3d 	addis   r9,r2,0
-    13c4:	00 00 42 3d 	addis   r10,r2,0
-    13c8:	40 00 80 3c 	lis     r4,64
-    13cc:	00 00 29 e9 	ld      r9,0(r9)
-    13d0:	00 00 4a e9 	ld      r10,0(r10)
-    13d4:	c0 0c 84 60 	ori     r4,r4,3264
-    13d8:	00 00 29 e9 	ld      r9,0(r9)
-    13dc:	24 1f 29 79 	rldicr  r9,r9,3,60
-    13e0:	2a 48 6a 7c 	ldx     r3,r10,r9
-    13e4:	01 00 00 48 	bl      13e4 <kvmhv_get_nested+0x29c>
-    13e8:	00 00 00 60 	nop
+    13b0:	00 00 22 3d 	addis   r9,r2,0
+    13b4:	00 00 42 3d 	addis   r10,r2,0
+    13b8:	40 00 80 3c 	lis     r4,64
+    13bc:	00 00 29 e9 	ld      r9,0(r9)
+    13c0:	00 00 4a e9 	ld      r10,0(r10)
+    13c4:	c0 0c 84 60 	ori     r4,r4,3264
+    13c8:	00 00 29 e9 	ld      r9,0(r9)
+    13cc:	24 1f 29 79 	rldicr  r9,r9,3,60
+    13d0:	2a 48 6a 7c 	ldx     r3,r10,r9
+    13d4:	01 00 00 48 	bl      13d4 <kvmhv_get_nested+0x28c>
+    13d8:	00 00 00 60 	nop
 	if (unlikely(!pgd))
-    13ec:	dc fe ff 4b 	b       12c8 <kvmhv_get_nested+0x180>
+    13dc:	ec fe ff 4b 	b       12c8 <kvmhv_get_nested+0x180>
+		ms->mmiowb_pending = 0;
+    13e0:	00 00 40 39 	li      r10,0
+    13e4:	82 0c 4d b1 	sth     r10,3202(r13)
+		mmiowb();
+    13e8:	ac 04 00 7c 	hwsync
+    13ec:	f4 fd ff 4b 	b       11e0 <kvmhv_get_nested+0x98>
 	pgd_free(kvm->mm, gp->shadow_pgtable);
     13f0:	10 00 7c e8 	ld      r3,16(r28)
     13f4:	00 00 00 60 	nop
@@ -3130,9 +3130,9 @@ static inline int hv_guest_state_size(un
     2100:	b8 ff e1 fa 	std     r23,-72(r1)
     2104:	78 1b 7f 7c 	mr      r31,r3
     2108:	c0 ff 01 fb 	std     r24,-64(r1)
-    210c:	d0 ff 41 fb 	std     r26,-48(r1)
+    210c:	c8 ff 21 fb 	std     r25,-56(r1)
     2110:	08 00 61 91 	stw     r11,8(r1)
-    2114:	d8 ff 61 fb 	std     r27,-40(r1)
+    2114:	d0 ff 41 fb 	std     r26,-48(r1)
     2118:	e8 ff a1 fb 	std     r29,-24(r1)
     211c:	f0 ff c1 fb 	std     r30,-16(r1)
     2120:	91 ff 21 f8 	stdu    r1,-112(r1)
@@ -3141,33 +3141,33 @@ static inline int hv_guest_state_size(un
 	int l1_lpid = kvmppc_get_gpr(vcpu, 4);
     2128:	20 0e c3 eb 	ld      r30,3616(r3)
     212c:	28 0e e3 ea 	ld      r23,3624(r3)
-    2130:	30 0e 43 eb 	ld      r26,3632(r3)
+    2130:	30 0e 23 eb 	ld      r25,3632(r3)
     2134:	40 0e 03 eb 	ld      r24,3648(r3)
-    2138:	48 0e 63 eb 	ld      r27,3656(r3)
+    2138:	48 0e 43 eb 	ld      r26,3656(r3)
 	if (gp_to && gp_from) /* One must be NULL to determine the direction */
     213c:	00 00 3d 2e 	cmpdi   cr4,r29,0
     2140:	0c 00 92 41 	beq     cr4,214c <kvmhv_copy_tofrom_guest_nested+0x64>
     2144:	00 00 38 2c 	cmpdi   r24,0
-    2148:	18 02 82 40 	bne     2360 <kvmhv_copy_tofrom_guest_nested+0x278>
+    2148:	f8 01 82 40 	bne     2340 <kvmhv_copy_tofrom_guest_nested+0x258>
 	if (eaddr & (0xFFFUL << 52))
     214c:	ff ff 20 39 	li      r9,-1
     2150:	00 03 29 79 	clrldi  r9,r9,12
-    2154:	40 48 3a 7c 	cmpld   r26,r9
-    2158:	08 02 81 41 	bgt     2360 <kvmhv_copy_tofrom_guest_nested+0x278>
+    2154:	40 48 39 7c 	cmpld   r25,r9
+    2158:	e8 01 81 41 	bgt     2340 <kvmhv_copy_tofrom_guest_nested+0x258>
 				kmalloc_caches[kmalloc_type(flags)][index],
 				flags, size);
 	}
 	return __kmalloc(size, flags);
     215c:	a6 02 08 7c 	mflr    r0
     2160:	c0 2d 80 38 	li      r4,11712
-    2164:	78 db 63 7f 	mr      r3,r27
-    2168:	50 00 81 fb 	std     r28,80(r1)
+    2164:	78 d3 43 7f 	mr      r3,r26
+    2168:	48 00 61 fb 	std     r27,72(r1)
     216c:	80 00 01 f8 	std     r0,128(r1)
     2170:	01 00 00 48 	bl      2170 <kvmhv_copy_tofrom_guest_nested+0x88>
     2174:	00 00 00 60 	nop
-	if (unlikely(!buf))
-    2178:	79 1b 7c 7c 	mr.     r28,r3
-    217c:	c4 01 82 41 	beq     2340 <kvmhv_copy_tofrom_guest_nested+0x258>
+	if (!buf)
+    2178:	79 1b 7b 7c 	mr.     r27,r3
+    217c:	e8 01 82 41 	beq     2364 <kvmhv_copy_tofrom_guest_nested+0x27c>
 	gp = kvmhv_get_nested(vcpu->kvm, l1_lpid, false);
     2180:	00 00 7f e8 	ld      r3,0(r31)
     2184:	b4 07 c4 7f 	extsw   r4,r30
@@ -3176,10 +3176,10 @@ static inline int hv_guest_state_size(un
 	if (!gp) {
     2190:	79 1b 7e 7c 	mr.     r30,r3
     2194:	6c 01 82 41 	beq     2300 <kvmhv_copy_tofrom_guest_nested+0x218>
-    2198:	38 00 21 fb 	std     r25,56(r1)
+    2198:	50 00 81 fb 	std     r28,80(r1)
 	mutex_lock(&gp->tlb_lock);
-    219c:	30 00 3e 3b 	addi    r25,r30,48
-    21a0:	78 cb 23 7f 	mr      r3,r25
+    219c:	30 00 9e 3b 	addi    r28,r30,48
+    21a0:	78 e3 83 7f 	mr      r3,r28
     21a4:	01 00 00 48 	bl      21a4 <kvmhv_copy_tofrom_guest_nested+0xbc>
     21a8:	00 00 00 60 	nop
 	if (is_load) {
@@ -3192,8 +3192,8 @@ static inline int hv_guest_state_size(un
     21bc:	00 00 00 60 	nop
 		rc = kvm_vcpu_read_guest(vcpu, gp_from, buf, n);
     21c0:	78 c3 04 7f 	mr      r4,r24
-    21c4:	78 db 66 7f 	mr      r6,r27
-    21c8:	78 e3 85 7f 	mr      r5,r28
+    21c4:	78 d3 46 7f 	mr      r6,r26
+    21c8:	78 db 65 7f 	mr      r5,r27
     21cc:	78 1b 69 7c 	mr      r9,r3
     21d0:	78 fb e3 7f 	mr      r3,r31
     21d4:	2c 00 3f 91 	stw     r9,44(r31)
@@ -3206,7 +3206,7 @@ static inline int hv_guest_state_size(un
 	WARN_ON_ONCE(idx & ~0x1);
     21ec:	01 00 04 28 	cmplwi  r4,1
     21f0:	30 4d 69 38 	addi    r3,r9,19760
-    21f4:	7c 01 81 41 	bgt     2370 <kvmhv_copy_tofrom_guest_nested+0x288>
+    21f4:	5c 01 81 41 	bgt     2350 <kvmhv_copy_tofrom_guest_nested+0x268>
 	__srcu_read_unlock(ssp, idx);
     21f8:	b4 07 84 7c 	extsw   r4,r4
     21fc:	01 00 00 48 	bl      21fc <kvmhv_copy_tofrom_guest_nested+0x114>
@@ -3217,20 +3217,20 @@ static inline int hv_guest_state_size(un
 	rc = H_NOT_FOUND;
     220c:	f9 ff e0 3b 	li      r31,-7
 	mutex_unlock(&gp->tlb_lock);
-    2210:	78 cb 23 7f 	mr      r3,r25
+    2210:	78 e3 83 7f 	mr      r3,r28
     2214:	01 00 00 48 	bl      2214 <kvmhv_copy_tofrom_guest_nested+0x12c>
     2218:	00 00 00 60 	nop
 	kvmhv_put_nested(gp);
     221c:	78 f3 c3 7f 	mr      r3,r30
     2220:	01 00 00 48 	bl      2220 <kvmhv_copy_tofrom_guest_nested+0x138>
-    2224:	38 00 21 eb 	ld      r25,56(r1)
+    2224:	50 00 81 eb 	ld      r28,80(r1)
 	kfree(buf);
-    2228:	78 e3 83 7f 	mr      r3,r28
+    2228:	78 db 63 7f 	mr      r3,r27
     222c:	01 00 00 48 	bl      222c <kvmhv_copy_tofrom_guest_nested+0x144>
     2230:	00 00 00 60 	nop
 	return rc;
     2234:	80 00 01 e8 	ld      r0,128(r1)
-    2238:	50 00 81 eb 	ld      r28,80(r1)
+    2238:	48 00 61 eb 	ld      r27,72(r1)
     223c:	a6 03 08 7c 	mtlr    r0
 }
     2240:	70 00 21 38 	addi    r1,r1,112
@@ -3238,8 +3238,8 @@ static inline int hv_guest_state_size(un
     2248:	08 00 61 81 	lwz     r11,8(r1)
     224c:	b8 ff e1 ea 	ld      r23,-72(r1)
     2250:	c0 ff 01 eb 	ld      r24,-64(r1)
-    2254:	d0 ff 41 eb 	ld      r26,-48(r1)
-    2258:	d8 ff 61 eb 	ld      r27,-40(r1)
+    2254:	c8 ff 21 eb 	ld      r25,-56(r1)
+    2258:	d0 ff 41 eb 	ld      r26,-48(r1)
     225c:	e8 ff a1 eb 	ld      r29,-24(r1)
     2260:	f0 ff c1 eb 	ld      r30,-16(r1)
     2264:	f8 ff e1 eb 	ld      r31,-8(r1)
@@ -3247,11 +3247,11 @@ static inline int hv_guest_state_size(un
     226c:	20 00 80 4e 	blr
 		rc = __kvmhv_copy_tofrom_guest_radix(gp->shadow_lpid, pid,
     2270:	0e 00 7e e8 	lwa     r3,12(r30)
-    2274:	78 d3 45 7f 	mr      r5,r26
+    2274:	78 cb 25 7f 	mr      r5,r25
     2278:	b4 07 e4 7e 	extsw   r4,r23
-    227c:	78 db 68 7f 	mr      r8,r27
+    227c:	78 d3 48 7f 	mr      r8,r26
     2280:	00 00 e0 38 	li      r7,0
-    2284:	78 e3 86 7f 	mr      r6,r28
+    2284:	78 db 66 7f 	mr      r6,r27
     2288:	01 00 00 48 	bl      2288 <kvmhv_copy_tofrom_guest_nested+0x1a0>
     228c:	00 00 00 60 	nop
 		if (rc)
@@ -3265,8 +3265,8 @@ static inline int hv_guest_state_size(un
     22a4:	00 00 00 60 	nop
 		rc = kvm_vcpu_write_guest(vcpu, gp_to, buf, n);
     22a8:	78 eb a4 7f 	mr      r4,r29
-    22ac:	78 db 66 7f 	mr      r6,r27
-    22b0:	78 e3 85 7f 	mr      r5,r28
+    22ac:	78 d3 46 7f 	mr      r6,r26
+    22b0:	78 db 65 7f 	mr      r5,r27
     22b4:	78 1b 69 7c 	mr      r9,r3
     22b8:	78 fb e3 7f 	mr      r3,r31
     22bc:	2c 00 3f 91 	stw     r9,44(r31)
@@ -3279,7 +3279,7 @@ static inline int hv_guest_state_size(un
 	WARN_ON_ONCE(idx & ~0x1);
     22d4:	01 00 04 28 	cmplwi  r4,1
     22d8:	30 4d 69 38 	addi    r3,r9,19760
-    22dc:	a4 00 81 41 	bgt     2380 <kvmhv_copy_tofrom_guest_nested+0x298>
+    22dc:	84 00 81 41 	bgt     2360 <kvmhv_copy_tofrom_guest_nested+0x278>
 	__srcu_read_unlock(ssp, idx);
     22e0:	b4 07 84 7c 	extsw   r4,r4
     22e4:	01 00 00 48 	bl      22e4 <kvmhv_copy_tofrom_guest_nested+0x1fc>
@@ -3298,10 +3298,10 @@ static inline int hv_guest_state_size(un
     230c:	00 00 42 60 	ori     r2,r2,0
 		rc = __kvmhv_copy_tofrom_guest_radix(gp->shadow_lpid, pid,
     2310:	0e 00 7e e8 	lwa     r3,12(r30)
-    2314:	78 db 68 7f 	mr      r8,r27
-    2318:	78 d3 45 7f 	mr      r5,r26
+    2314:	78 d3 48 7f 	mr      r8,r26
+    2318:	78 cb 25 7f 	mr      r5,r25
     231c:	b4 07 e4 7e 	extsw   r4,r23
-    2320:	78 e3 87 7f 	mr      r7,r28
+    2320:	78 db 67 7f 	mr      r7,r27
     2324:	00 00 c0 38 	li      r6,0
     2328:	01 00 00 48 	bl      2328 <kvmhv_copy_tofrom_guest_nested+0x240>
     232c:	00 00 00 60 	nop
@@ -3311,2140 +3311,2136 @@ static inline int hv_guest_state_size(un
 		rc = kvm_vcpu_write_guest(vcpu, gp_to, buf, n);
     2338:	00 00 e0 3b 	li      r31,0
     233c:	d4 fe ff 4b 	b       2210 <kvmhv_copy_tofrom_guest_nested+0x128>
-		return H_NO_MEM;
-    2340:	80 00 01 e8 	ld      r0,128(r1)
-    2344:	50 00 81 eb 	ld      r28,80(r1)
-    2348:	f7 ff e0 3b 	li      r31,-9
-    234c:	a6 03 08 7c 	mtlr    r0
-    2350:	f0 fe ff 4b 	b       2240 <kvmhv_copy_tofrom_guest_nested+0x158>
+		return H_PARAMETER;
+    2340:	fc ff e0 3b 	li      r31,-4
+    2344:	fc fe ff 4b 	b       2240 <kvmhv_copy_tofrom_guest_nested+0x158>
+    2348:	00 00 00 60 	nop
+    234c:	00 00 42 60 	ori     r2,r2,0
+	WARN_ON_ONCE(idx & ~0x1);
+    2350:	00 00 e0 0f 	twui    r0,0
     2354:	00 00 00 60 	nop
     2358:	00 00 00 60 	nop
     235c:	00 00 42 60 	ori     r2,r2,0
-		return H_PARAMETER;
-    2360:	fc ff e0 3b 	li      r31,-4
-    2364:	dc fe ff 4b 	b       2240 <kvmhv_copy_tofrom_guest_nested+0x158>
-    2368:	00 00 00 60 	nop
-    236c:	00 00 42 60 	ori     r2,r2,0
-	WARN_ON_ONCE(idx & ~0x1);
-    2370:	00 00 e0 0f 	twui    r0,0
-    2374:	00 00 00 60 	nop
+    2360:	00 00 e0 0f 	twui    r0,0
+		return H_NO_MEM;
+    2364:	80 00 01 e8 	ld      r0,128(r1)
+    2368:	48 00 61 eb 	ld      r27,72(r1)
+    236c:	f7 ff e0 3b 	li      r31,-9
+    2370:	a6 03 08 7c 	mtlr    r0
+    2374:	cc fe ff 4b 	b       2240 <kvmhv_copy_tofrom_guest_nested+0x158>
     2378:	00 00 00 60 	nop
     237c:	00 00 42 60 	ori     r2,r2,0
-    2380:	00 00 e0 0f 	twui    r0,0
-    2384:	00 00 00 60 	nop
-    2388:	00 00 00 60 	nop
-    238c:	00 00 42 60 	ori     r2,r2,0
-	...
-
-0000000000002398 <kvmhv_emulate_tlbie_tlb_addr>:
-{
-    2398:	f8 ff 4c e8 	ld      r2,-8(r12)
-    239c:	14 62 42 7c 	add     r2,r2,r12
-    23a0:	a6 02 08 7c 	mflr    r0
-    23a4:	01 00 00 48 	bl      23a4 <kvmhv_emulate_tlbie_tlb_addr+0xc>
-    23a8:	00 00 22 3d 	addis   r9,r2,0
-    23ac:	a6 02 08 7c 	mflr    r0
-    23b0:	e0 ff 81 fb 	std     r28,-32(r1)
-    23b4:	e8 ff a1 fb 	std     r29,-24(r1)
+	...
+
+0000000000002388 <kvmhv_emulate_tlbie_tlb_addr>:
+{
+    2388:	f8 ff 4c e8 	ld      r2,-8(r12)
+    238c:	14 62 42 7c 	add     r2,r2,r12
+    2390:	a6 02 08 7c 	mflr    r0
+    2394:	01 00 00 48 	bl      2394 <kvmhv_emulate_tlbie_tlb_addr+0xc>
+    2398:	00 00 22 3d 	addis   r9,r2,0
+    239c:	a6 02 08 7c 	mflr    r0
+    23a0:	e0 ff 81 fb 	std     r28,-32(r1)
+    23a4:	e8 ff a1 fb 	std     r29,-24(r1)
 
 static inline unsigned int ap_to_shift(unsigned long ap)
 {
 	int psize;
 
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    23b8:	08 00 40 39 	li      r10,8
+    23a8:	08 00 40 39 	li      r10,8
 	int shift, shadow_shift;
-    23bc:	00 00 00 39 	li      r8,0
+    23ac:	00 00 00 39 	li      r8,0
 {
-    23c0:	d8 ff 61 fb 	std     r27,-40(r1)
-    23c4:	f8 ff e1 fb 	std     r31,-8(r1)
-    23c8:	78 1b 7c 7c 	mr      r28,r3
-    23cc:	78 33 dd 7c 	mr      r29,r6
-    23d0:	00 00 e9 e8 	ld      r7,0(r9)
-    23d4:	10 00 01 f8 	std     r0,16(r1)
-    23d8:	a1 ff 21 f8 	stdu    r1,-96(r1)
-    23dc:	a6 03 49 7d 	mtctr   r10
-    23e0:	00 00 20 39 	li      r9,0
-    23e4:	78 0c 4d e9 	ld      r10,3192(r13)
-    23e8:	28 00 41 f9 	std     r10,40(r1)
-    23ec:	00 00 40 39 	li      r10,0
+    23b0:	d8 ff 61 fb 	std     r27,-40(r1)
+    23b4:	f8 ff e1 fb 	std     r31,-8(r1)
+    23b8:	78 1b 7c 7c 	mr      r28,r3
+    23bc:	78 33 dd 7c 	mr      r29,r6
+    23c0:	00 00 e9 e8 	ld      r7,0(r9)
+    23c4:	10 00 01 f8 	std     r0,16(r1)
+    23c8:	a1 ff 21 f8 	stdu    r1,-96(r1)
+    23cc:	a6 03 49 7d 	mtctr   r10
+    23d0:	00 00 20 39 	li      r9,0
+    23d4:	78 0c 4d e9 	ld      r10,3192(r13)
+    23d8:	28 00 41 f9 	std     r10,40(r1)
+    23dc:	00 00 40 39 	li      r10,0
 	struct kvm *kvm = vcpu->kvm;
-    23f0:	00 00 63 e8 	ld      r3,0(r3)
+    23e0:	00 00 63 e8 	ld      r3,0(r3)
 	int shift, shadow_shift;
-    23f4:	24 00 01 91 	stw     r8,36(r1)
-    23f8:	78 3b ea 7c 	mr      r10,r7
-    23fc:	20 00 00 48 	b       241c <kvmhv_emulate_tlbie_tlb_addr+0x84>
+    23e4:	24 00 01 91 	stw     r8,36(r1)
+    23e8:	78 3b ea 7c 	mr      r10,r7
+    23ec:	20 00 00 48 	b       240c <kvmhv_emulate_tlbie_tlb_addr+0x84>
 		if (mmu_psize_defs[psize].ap == ap)
-    2400:	b8 00 0a e9 	ld      r8,184(r10)
+    23f0:	b8 00 0a e9 	ld      r8,184(r10)
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    2404:	01 00 29 39 	addi    r9,r9,1
+    23f4:	01 00 29 39 	addi    r9,r9,1
 		if (mmu_psize_defs[psize].ap == ap)
-    2408:	00 40 25 7c 	cmpd    r5,r8
-    240c:	1c 00 82 41 	beq     2428 <kvmhv_emulate_tlbie_tlb_addr+0x90>
+    23f8:	00 40 25 7c 	cmpd    r5,r8
+    23fc:	1c 00 82 41 	beq     2418 <kvmhv_emulate_tlbie_tlb_addr+0x90>
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    2410:	01 00 29 39 	addi    r9,r9,1
-    2414:	c0 00 4a 39 	addi    r10,r10,192
-    2418:	08 01 40 42 	bdz     2520 <kvmhv_emulate_tlbie_tlb_addr+0x188>
+    2400:	01 00 29 39 	addi    r9,r9,1
+    2404:	c0 00 4a 39 	addi    r10,r10,192
+    2408:	08 01 40 42 	bdz     2510 <kvmhv_emulate_tlbie_tlb_addr+0x188>
 		if (mmu_psize_defs[psize].ap == ap)
-    241c:	58 00 0a e9 	ld      r8,88(r10)
-    2420:	00 40 25 7c 	cmpd    r5,r8
-    2424:	dc ff 82 40 	bne     2400 <kvmhv_emulate_tlbie_tlb_addr+0x68>
+    240c:	58 00 0a e9 	ld      r8,88(r10)
+    2410:	00 40 25 7c 	cmpd    r5,r8
+    2414:	dc ff 82 40 	bne     23f0 <kvmhv_emulate_tlbie_tlb_addr+0x68>
 			return mmu_psize_defs[psize].shift;
-    2428:	b4 07 29 7d 	extsw   r9,r9
-    242c:	60 00 29 1d 	mulli   r9,r9,96
+    2418:	b4 07 29 7d 	extsw   r9,r9
+    241c:	60 00 29 1d 	mulli   r9,r9,96
 	shift = ap_to_shift(ap);
-    2430:	2e 48 e7 7f 	lwzx    r31,r7,r9
+    2420:	2e 48 e7 7f 	lwzx    r31,r7,r9
 	if (shift < 0)
-    2434:	00 00 1f 2c 	cmpwi   r31,0
-    2438:	e8 00 80 41 	blt     2520 <kvmhv_emulate_tlbie_tlb_addr+0x188>
+    2424:	00 00 1f 2c 	cmpwi   r31,0
+    2428:	e8 00 80 41 	blt     2510 <kvmhv_emulate_tlbie_tlb_addr+0x188>
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    243c:	00 00 a0 38 	li      r5,0
-    2440:	01 00 00 48 	bl      2440 <kvmhv_emulate_tlbie_tlb_addr+0xa8>
+    242c:	00 00 a0 38 	li      r5,0
+    2430:	01 00 00 48 	bl      2430 <kvmhv_emulate_tlbie_tlb_addr+0xa8>
 	if (!gp) /* No such guest -> nothing to do */
-    2444:	79 1b 7b 7c 	mr.     r27,r3
-    2448:	94 00 82 41 	beq     24dc <kvmhv_emulate_tlbie_tlb_addr+0x144>
-    244c:	50 00 c1 fb 	std     r30,80(r1)
+    2434:	79 1b 7b 7c 	mr.     r27,r3
+    2438:	94 00 82 41 	beq     24cc <kvmhv_emulate_tlbie_tlb_addr+0x144>
+    243c:	50 00 c1 fb 	std     r30,80(r1)
 	addr &= ~((1UL << shift) - 1);
-    2450:	01 00 c0 3b 	li      r30,1
+    2440:	01 00 c0 3b 	li      r30,1
 	npages = 1UL << (shift - PAGE_SHIFT);
-    2454:	f0 ff 3f 39 	addi    r9,r31,-16
-    2458:	30 00 41 fb 	std     r26,48(r1)
+    2444:	f0 ff 3f 39 	addi    r9,r31,-16
+    2448:	30 00 41 fb 	std     r26,48(r1)
 	mutex_lock(&gp->tlb_lock);
-    245c:	30 00 5b 3b 	addi    r26,r27,48
+    244c:	30 00 5b 3b 	addi    r26,r27,48
 	addr = epn << 12;
-    2460:	e4 64 a6 7b 	rldicr  r6,r29,12,51
+    2450:	e4 64 a6 7b 	rldicr  r6,r29,12,51
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    2464:	01 00 a0 3b 	li      r29,1
+    2454:	01 00 a0 3b 	li      r29,1
 	addr &= ~((1UL << shift) - 1);
-    2468:	36 f8 df 7f 	sld     r31,r30,r31
+    2458:	36 f8 df 7f 	sld     r31,r30,r31
 	mutex_lock(&gp->tlb_lock);
-    246c:	78 d3 43 7f 	mr      r3,r26
+    245c:	78 d3 43 7f 	mr      r3,r26
 	npages = 1UL << (shift - PAGE_SHIFT);
-    2470:	36 48 de 7f 	sld     r30,r30,r9
+    2460:	36 48 de 7f 	sld     r30,r30,r9
 	addr &= ~((1UL << shift) - 1);
-    2474:	d0 00 ff 7f 	neg     r31,r31
-    2478:	38 30 ff 7f 	and     r31,r31,r6
+    2464:	d0 00 ff 7f 	neg     r31,r31
+    2468:	38 30 ff 7f 	and     r31,r31,r6
 	mutex_lock(&gp->tlb_lock);
-    247c:	01 00 00 48 	bl      247c <kvmhv_emulate_tlbie_tlb_addr+0xe4>
-    2480:	00 00 00 60 	nop
-    2484:	00 00 00 60 	nop
-    2488:	00 00 00 60 	nop
-    248c:	00 00 42 60 	ori     r2,r2,0
+    246c:	01 00 00 48 	bl      246c <kvmhv_emulate_tlbie_tlb_addr+0xe4>
+    2470:	00 00 00 60 	nop
+    2474:	00 00 00 60 	nop
+    2478:	00 00 00 60 	nop
+    247c:	00 00 42 60 	ori     r2,r2,0
 		kvmhv_invalidate_shadow_pte(vcpu, gp, addr, &shadow_shift);
-    2490:	00 00 7c e8 	ld      r3,0(r28)
-    2494:	78 fb e5 7f 	mr      r5,r31
-    2498:	24 00 c1 38 	addi    r6,r1,36
-    249c:	78 db 64 7f 	mr      r4,r27
-    24a0:	01 00 00 48 	bl      24a0 <kvmhv_emulate_tlbie_tlb_addr+0x108>
+    2480:	00 00 7c e8 	ld      r3,0(r28)
+    2484:	78 fb e5 7f 	mr      r5,r31
+    2488:	24 00 c1 38 	addi    r6,r1,36
+    248c:	78 db 64 7f 	mr      r4,r27
+    2490:	01 00 00 48 	bl      2490 <kvmhv_emulate_tlbie_tlb_addr+0x108>
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    24a4:	24 00 41 81 	lwz     r10,36(r1)
-    24a8:	f0 ff 2a 39 	addi    r9,r10,-16
+    2494:	24 00 41 81 	lwz     r10,36(r1)
+    2498:	f0 ff 2a 39 	addi    r9,r10,-16
 		addr += 1UL << shadow_shift;
-    24ac:	36 50 aa 7f 	sld     r10,r29,r10
+    249c:	36 50 aa 7f 	sld     r10,r29,r10
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    24b0:	36 48 a9 7f 	sld     r9,r29,r9
+    24a0:	36 48 a9 7f 	sld     r9,r29,r9
 		addr += 1UL << shadow_shift;
-    24b4:	14 52 ff 7f 	add     r31,r31,r10
+    24a4:	14 52 ff 7f 	add     r31,r31,r10
 	} while (npages > 0);
-    24b8:	51 f0 c9 7f 	subf.   r30,r9,r30
-    24bc:	d4 ff 81 41 	bgt     2490 <kvmhv_emulate_tlbie_tlb_addr+0xf8>
+    24a8:	51 f0 c9 7f 	subf.   r30,r9,r30
+    24ac:	d4 ff 81 41 	bgt     2480 <kvmhv_emulate_tlbie_tlb_addr+0xf8>
 	mutex_unlock(&gp->tlb_lock);
-    24c0:	78 d3 43 7f 	mr      r3,r26
-    24c4:	01 00 00 48 	bl      24c4 <kvmhv_emulate_tlbie_tlb_addr+0x12c>
-    24c8:	00 00 00 60 	nop
+    24b0:	78 d3 43 7f 	mr      r3,r26
+    24b4:	01 00 00 48 	bl      24b4 <kvmhv_emulate_tlbie_tlb_addr+0x12c>
+    24b8:	00 00 00 60 	nop
 	kvmhv_put_nested(gp);
-    24cc:	78 db 63 7f 	mr      r3,r27
-    24d0:	01 00 00 48 	bl      24d0 <kvmhv_emulate_tlbie_tlb_addr+0x138>
-    24d4:	30 00 41 eb 	ld      r26,48(r1)
-    24d8:	50 00 c1 eb 	ld      r30,80(r1)
+    24bc:	78 db 63 7f 	mr      r3,r27
+    24c0:	01 00 00 48 	bl      24c0 <kvmhv_emulate_tlbie_tlb_addr+0x138>
+    24c4:	30 00 41 eb 	ld      r26,48(r1)
+    24c8:	50 00 c1 eb 	ld      r30,80(r1)
 		return 0;
-    24dc:	00 00 60 38 	li      r3,0
+    24cc:	00 00 60 38 	li      r3,0
 }
-    24e0:	28 00 41 e9 	ld      r10,40(r1)
-    24e4:	78 0c 2d e9 	ld      r9,3192(r13)
-    24e8:	79 4a 4a 7d 	xor.    r10,r10,r9
-    24ec:	00 00 20 39 	li      r9,0
-    24f0:	b4 07 63 7c 	extsw   r3,r3
-    24f4:	34 00 82 40 	bne     2528 <kvmhv_emulate_tlbie_tlb_addr+0x190>
-    24f8:	60 00 21 38 	addi    r1,r1,96
-    24fc:	10 00 01 e8 	ld      r0,16(r1)
-    2500:	d8 ff 61 eb 	ld      r27,-40(r1)
-    2504:	e0 ff 81 eb 	ld      r28,-32(r1)
-    2508:	e8 ff a1 eb 	ld      r29,-24(r1)
-    250c:	f8 ff e1 eb 	ld      r31,-8(r1)
-    2510:	a6 03 08 7c 	mtlr    r0
-    2514:	20 00 80 4e 	blr
-    2518:	00 00 00 60 	nop
-    251c:	00 00 42 60 	ori     r2,r2,0
+    24d0:	28 00 41 e9 	ld      r10,40(r1)
+    24d4:	78 0c 2d e9 	ld      r9,3192(r13)
+    24d8:	79 4a 4a 7d 	xor.    r10,r10,r9
+    24dc:	00 00 20 39 	li      r9,0
+    24e0:	b4 07 63 7c 	extsw   r3,r3
+    24e4:	34 00 82 40 	bne     2518 <kvmhv_emulate_tlbie_tlb_addr+0x190>
+    24e8:	60 00 21 38 	addi    r1,r1,96
+    24ec:	10 00 01 e8 	ld      r0,16(r1)
+    24f0:	d8 ff 61 eb 	ld      r27,-40(r1)
+    24f4:	e0 ff 81 eb 	ld      r28,-32(r1)
+    24f8:	e8 ff a1 eb 	ld      r29,-24(r1)
+    24fc:	f8 ff e1 eb 	ld      r31,-8(r1)
+    2500:	a6 03 08 7c 	mtlr    r0
+    2504:	20 00 80 4e 	blr
+    2508:	00 00 00 60 	nop
+    250c:	00 00 42 60 	ori     r2,r2,0
 		return -EINVAL;
-    2520:	ea ff 60 38 	li      r3,-22
-    2524:	bc ff ff 4b 	b       24e0 <kvmhv_emulate_tlbie_tlb_addr+0x148>
-    2528:	30 00 41 fb 	std     r26,48(r1)
-    252c:	50 00 c1 fb 	std     r30,80(r1)
-}
-    2530:	01 00 00 48 	bl      2530 <kvmhv_emulate_tlbie_tlb_addr+0x198>
-    2534:	00 00 00 60 	nop
-    2538:	00 00 00 60 	nop
-    253c:	00 00 42 60 	ori     r2,r2,0
-	...
-
-0000000000002548 <find_kvm_nested_guest_pte>:
-{
-    2548:	f8 ff 4c e8 	ld      r2,-8(r12)
-    254c:	14 62 42 7c 	add     r2,r2,r12
-    2550:	a6 02 08 7c 	mflr    r0
-    2554:	01 00 00 48 	bl      2554 <find_kvm_nested_guest_pte+0xc>
-    2558:	a6 02 08 7c 	mflr    r0
-    255c:	f0 ff c1 fb 	std     r30,-16(r1)
-    2560:	f8 ff e1 fb 	std     r31,-8(r1)
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2564:	60 0c 63 38 	addi    r3,r3,3168
-    2568:	b4 07 84 7c 	extsw   r4,r4
-{
-    256c:	78 2b bf 7c 	mr      r31,r5
-    2570:	78 33 de 7c 	mr      r30,r6
-    2574:	10 00 01 f8 	std     r0,16(r1)
-    2578:	d1 ff 21 f8 	stdu    r1,-48(r1)
+    2510:	ea ff 60 38 	li      r3,-22
+    2514:	bc ff ff 4b 	b       24d0 <kvmhv_emulate_tlbie_tlb_addr+0x148>
+    2518:	30 00 41 fb 	std     r26,48(r1)
+    251c:	50 00 c1 fb 	std     r30,80(r1)
+}
+    2520:	01 00 00 48 	bl      2520 <kvmhv_emulate_tlbie_tlb_addr+0x198>
+    2524:	00 00 00 60 	nop
+    2528:	00 00 00 60 	nop
+    252c:	00 00 42 60 	ori     r2,r2,0
+	...
+
+0000000000002538 <find_kvm_nested_guest_pte>:
+{
+    2538:	f8 ff 4c e8 	ld      r2,-8(r12)
+    253c:	14 62 42 7c 	add     r2,r2,r12
+    2540:	a6 02 08 7c 	mflr    r0
+    2544:	01 00 00 48 	bl      2544 <find_kvm_nested_guest_pte+0xc>
+    2548:	a6 02 08 7c 	mflr    r0
+    254c:	f0 ff c1 fb 	std     r30,-16(r1)
+    2550:	f8 ff e1 fb 	std     r31,-8(r1)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2554:	60 0c 63 38 	addi    r3,r3,3168
+    2558:	b4 07 84 7c 	extsw   r4,r4
+{
+    255c:	78 2b bf 7c 	mr      r31,r5
+    2560:	78 33 de 7c 	mr      r30,r6
+    2564:	10 00 01 f8 	std     r0,16(r1)
+    2568:	d1 ff 21 f8 	stdu    r1,-48(r1)
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    257c:	01 00 00 48 	bl      257c <find_kvm_nested_guest_pte+0x34>
-    2580:	00 00 00 60 	nop
+    256c:	01 00 00 48 	bl      256c <find_kvm_nested_guest_pte+0x34>
+    2570:	00 00 00 60 	nop
 	if (!gp)
-    2584:	00 00 23 2c 	cmpdi   r3,0
-    2588:	1c 00 82 41 	beq     25a4 <find_kvm_nested_guest_pte+0x5c>
+    2574:	00 00 23 2c 	cmpdi   r3,0
+    2578:	1c 00 82 41 	beq     2594 <find_kvm_nested_guest_pte+0x5c>
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    258c:	10 00 63 e8 	ld      r3,16(r3)
-    2590:	78 f3 c6 7f 	mr      r6,r30
-    2594:	78 fb e4 7f 	mr      r4,r31
-    2598:	00 00 a0 38 	li      r5,0
-    259c:	01 00 00 48 	bl      259c <find_kvm_nested_guest_pte+0x54>
-    25a0:	00 00 00 60 	nop
-}
-    25a4:	30 00 21 38 	addi    r1,r1,48
-    25a8:	10 00 01 e8 	ld      r0,16(r1)
-    25ac:	f0 ff c1 eb 	ld      r30,-16(r1)
-    25b0:	f8 ff e1 eb 	ld      r31,-8(r1)
-    25b4:	a6 03 08 7c 	mtlr    r0
-    25b8:	20 00 80 4e 	blr
-    25bc:	00 00 42 60 	ori     r2,r2,0
-	...
-
-00000000000025c8 <kvmhv_insert_nest_rmap>:
-{
-    25c8:	f8 ff 4c e8 	ld      r2,-8(r12)
-    25cc:	14 62 42 7c 	add     r2,r2,r12
-    25d0:	a6 02 08 7c 	mflr    r0
-    25d4:	01 00 00 48 	bl      25d4 <kvmhv_insert_nest_rmap+0xc>
-    25d8:	f0 ff c1 fb 	std     r30,-16(r1)
-    25dc:	d1 ff 21 f8 	stdu    r1,-48(r1)
-    25e0:	78 23 86 7c 	mr      r6,r4
+    257c:	10 00 63 e8 	ld      r3,16(r3)
+    2580:	78 f3 c6 7f 	mr      r6,r30
+    2584:	78 fb e4 7f 	mr      r4,r31
+    2588:	00 00 a0 38 	li      r5,0
+    258c:	01 00 00 48 	bl      258c <find_kvm_nested_guest_pte+0x54>
+    2590:	00 00 00 60 	nop
+}
+    2594:	30 00 21 38 	addi    r1,r1,48
+    2598:	10 00 01 e8 	ld      r0,16(r1)
+    259c:	f0 ff c1 eb 	ld      r30,-16(r1)
+    25a0:	f8 ff e1 eb 	ld      r31,-8(r1)
+    25a4:	a6 03 08 7c 	mtlr    r0
+    25a8:	20 00 80 4e 	blr
+    25ac:	00 00 42 60 	ori     r2,r2,0
+	...
+
+00000000000025b8 <kvmhv_insert_nest_rmap>:
+{
+    25b8:	f8 ff 4c e8 	ld      r2,-8(r12)
+    25bc:	14 62 42 7c 	add     r2,r2,r12
+    25c0:	a6 02 08 7c 	mflr    r0
+    25c4:	01 00 00 48 	bl      25c4 <kvmhv_insert_nest_rmap+0xc>
+    25c8:	f0 ff c1 fb 	std     r30,-16(r1)
+    25cc:	d1 ff 21 f8 	stdu    r1,-48(r1)
+    25d0:	78 23 86 7c 	mr      r6,r4
 	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
-    25e4:	00 00 c4 eb 	ld      r30,0(r4)
+    25d4:	00 00 c4 eb 	ld      r30,0(r4)
 	u64 rmap, new_rmap = (*n_rmap)->rmap;
-    25e8:	00 00 85 e8 	ld      r4,0(r5)
+    25d8:	00 00 85 e8 	ld      r4,0(r5)
 	if (!(*rmapp)) {
-    25ec:	00 00 3e 2c 	cmpdi   r30,0
+    25dc:	00 00 3e 2c 	cmpdi   r30,0
 	u64 rmap, new_rmap = (*n_rmap)->rmap;
-    25f0:	08 00 04 e9 	ld      r8,8(r4)
+    25e0:	08 00 04 e9 	ld      r8,8(r4)
 	if (!(*rmapp)) {
-    25f4:	ec 00 82 41 	beq     26e0 <kvmhv_insert_nest_rmap+0x118>
-    25f8:	28 00 e1 fb 	std     r31,40(r1)
-    25fc:	78 f3 c9 7f 	mr      r9,r30
-    2600:	78 2b bf 7c 	mr      r31,r5
-    2604:	00 00 00 60 	nop
-    2608:	00 00 00 60 	nop
-    260c:	00 00 42 60 	ori     r2,r2,0
+    25e4:	ec 00 82 41 	beq     26d0 <kvmhv_insert_nest_rmap+0x118>
+    25e8:	28 00 e1 fb 	std     r31,40(r1)
+    25ec:	78 f3 c9 7f 	mr      r9,r30
+    25f0:	78 2b bf 7c 	mr      r31,r5
+    25f4:	00 00 00 60 	nop
+    25f8:	00 00 00 60 	nop
+    25fc:	00 00 42 60 	ori     r2,r2,0
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2610:	01 00 2a 71 	andi.   r10,r9,1
-    2614:	5c 00 82 41 	beq     2670 <kvmhv_insert_nest_rmap+0xa8>
+    2600:	01 00 2a 71 	andi.   r10,r9,1
+    2604:	5c 00 82 41 	beq     2660 <kvmhv_insert_nest_rmap+0xa8>
 	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
-    2618:	78 42 29 7d 	xor     r9,r9,r8
+    2608:	78 42 29 7d 	xor     r9,r9,r8
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    261c:	ff 0f 29 28 	cmpldi  r9,4095
-    2620:	b0 00 81 40 	ble     26d0 <kvmhv_insert_nest_rmap+0x108>
+    260c:	ff 0f 29 28 	cmpldi  r9,4095
+    2610:	b0 00 81 40 	ble     26c0 <kvmhv_insert_nest_rmap+0x108>
 	if (rmap & RMAP_NESTED_IS_SINGLE_ENTRY) /* Not previously a list */
-    2624:	a6 02 08 7c 	mflr    r0
-    2628:	01 00 c9 73 	andi.   r9,r30,1
-    262c:	40 00 01 f8 	std     r0,64(r1)
-    2630:	70 00 82 40 	bne     26a0 <kvmhv_insert_nest_rmap+0xd8>
+    2614:	a6 02 08 7c 	mflr    r0
+    2618:	01 00 c9 73 	andi.   r9,r30,1
+    261c:	40 00 01 f8 	std     r0,64(r1)
+    2620:	70 00 82 40 	bne     2690 <kvmhv_insert_nest_rmap+0xd8>
 	return llist_add_batch(new, new, head);
-    2634:	78 33 c5 7c 	mr      r5,r6
-    2638:	78 23 83 7c 	mr      r3,r4
-    263c:	01 00 00 48 	bl      263c <kvmhv_insert_nest_rmap+0x74>
-    2640:	00 00 00 60 	nop
+    2624:	78 33 c5 7c 	mr      r5,r6
+    2628:	78 23 83 7c 	mr      r3,r4
+    262c:	01 00 00 48 	bl      262c <kvmhv_insert_nest_rmap+0x74>
+    2630:	00 00 00 60 	nop
 	*n_rmap = NULL;
-    2644:	00 00 20 39 	li      r9,0
-    2648:	00 00 3f f9 	std     r9,0(r31)
-    264c:	40 00 01 e8 	ld      r0,64(r1)
-    2650:	28 00 e1 eb 	ld      r31,40(r1)
+    2634:	00 00 20 39 	li      r9,0
+    2638:	00 00 3f f9 	std     r9,0(r31)
+    263c:	40 00 01 e8 	ld      r0,64(r1)
+    2640:	28 00 e1 eb 	ld      r31,40(r1)
 }
-    2654:	30 00 21 38 	addi    r1,r1,48
-    2658:	f0 ff c1 eb 	ld      r30,-16(r1)
+    2644:	30 00 21 38 	addi    r1,r1,48
+    2648:	f0 ff c1 eb 	ld      r30,-16(r1)
 	*n_rmap = NULL;
-    265c:	a6 03 08 7c 	mtlr    r0
+    264c:	a6 03 08 7c 	mtlr    r0
 }
-    2660:	20 00 80 4e 	blr
-    2664:	00 00 00 60 	nop
-    2668:	00 00 00 60 	nop
-    266c:	00 00 42 60 	ori     r2,r2,0
+    2650:	20 00 80 4e 	blr
+    2654:	00 00 00 60 	nop
+    2658:	00 00 00 60 	nop
+    265c:	00 00 42 60 	ori     r2,r2,0
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2670:	08 00 49 e9 	ld      r10,8(r9)
-    2674:	00 00 2a 2c 	cmpdi   r10,0
+    2660:	08 00 49 e9 	ld      r10,8(r9)
+    2664:	00 00 2a 2c 	cmpdi   r10,0
 	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
-    2678:	78 52 07 7d 	xor     r7,r8,r10
+    2668:	78 52 07 7d 	xor     r7,r8,r10
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    267c:	ff 0f a7 2b 	cmpldi  cr7,r7,4095
+    266c:	ff 0f a7 2b 	cmpldi  cr7,r7,4095
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2680:	a4 ff 82 41 	beq     2624 <kvmhv_insert_nest_rmap+0x5c>
-    2684:	00 00 29 e9 	ld      r9,0(r9)
+    2670:	a4 ff 82 41 	beq     2614 <kvmhv_insert_nest_rmap+0x5c>
+    2674:	00 00 29 e9 	ld      r9,0(r9)
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    2688:	48 00 9d 40 	ble     cr7,26d0 <kvmhv_insert_nest_rmap+0x108>
+    2678:	48 00 9d 40 	ble     cr7,26c0 <kvmhv_insert_nest_rmap+0x108>
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    268c:	00 00 29 2c 	cmpdi   r9,0
-    2690:	80 ff 82 40 	bne     2610 <kvmhv_insert_nest_rmap+0x48>
-    2694:	90 ff ff 4b 	b       2624 <kvmhv_insert_nest_rmap+0x5c>
-    2698:	00 00 00 60 	nop
-    269c:	00 00 42 60 	ori     r2,r2,0
+    267c:	00 00 29 2c 	cmpdi   r9,0
+    2680:	80 ff 82 40 	bne     2600 <kvmhv_insert_nest_rmap+0x48>
+    2684:	90 ff ff 4b 	b       2614 <kvmhv_insert_nest_rmap+0x5c>
+    2688:	00 00 00 60 	nop
+    268c:	00 00 42 60 	ori     r2,r2,0
 		*rmapp = 0UL;
-    26a0:	00 00 20 39 	li      r9,0
-    26a4:	78 33 c5 7c 	mr      r5,r6
-    26a8:	00 00 26 f9 	std     r9,0(r6)
-    26ac:	00 00 9f e8 	ld      r4,0(r31)
-    26b0:	78 23 83 7c 	mr      r3,r4
-    26b4:	01 00 00 48 	bl      26b4 <kvmhv_insert_nest_rmap+0xec>
-    26b8:	00 00 00 60 	nop
+    2690:	00 00 20 39 	li      r9,0
+    2694:	78 33 c5 7c 	mr      r5,r6
+    2698:	00 00 26 f9 	std     r9,0(r6)
+    269c:	00 00 9f e8 	ld      r4,0(r31)
+    26a0:	78 23 83 7c 	mr      r3,r4
+    26a4:	01 00 00 48 	bl      26a4 <kvmhv_insert_nest_rmap+0xec>
+    26a8:	00 00 00 60 	nop
 		(*n_rmap)->list.next = (struct llist_node *) rmap;
-    26bc:	00 00 3f e9 	ld      r9,0(r31)
-    26c0:	00 00 c9 fb 	std     r30,0(r9)
-    26c4:	80 ff ff 4b 	b       2644 <kvmhv_insert_nest_rmap+0x7c>
-    26c8:	00 00 00 60 	nop
-    26cc:	00 00 42 60 	ori     r2,r2,0
-    26d0:	28 00 e1 eb 	ld      r31,40(r1)
+    26ac:	00 00 3f e9 	ld      r9,0(r31)
+    26b0:	00 00 c9 fb 	std     r30,0(r9)
+    26b4:	80 ff ff 4b 	b       2634 <kvmhv_insert_nest_rmap+0x7c>
+    26b8:	00 00 00 60 	nop
+    26bc:	00 00 42 60 	ori     r2,r2,0
+    26c0:	28 00 e1 eb 	ld      r31,40(r1)
 }
-    26d4:	30 00 21 38 	addi    r1,r1,48
-    26d8:	f0 ff c1 eb 	ld      r30,-16(r1)
-    26dc:	20 00 80 4e 	blr
+    26c4:	30 00 21 38 	addi    r1,r1,48
+    26c8:	f0 ff c1 eb 	ld      r30,-16(r1)
+    26cc:	20 00 80 4e 	blr
 		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
-    26e0:	01 00 08 61 	ori     r8,r8,1
+    26d0:	01 00 08 61 	ori     r8,r8,1
 }
-    26e4:	30 00 21 38 	addi    r1,r1,48
+    26d4:	30 00 21 38 	addi    r1,r1,48
 		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
-    26e8:	00 00 06 f9 	std     r8,0(r6)
+    26d8:	00 00 06 f9 	std     r8,0(r6)
 }
-    26ec:	f0 ff c1 eb 	ld      r30,-16(r1)
-    26f0:	20 00 80 4e 	blr
-    26f4:	00 00 00 60 	nop
-    26f8:	00 00 00 60 	nop
-    26fc:	00 00 42 60 	ori     r2,r2,0
+    26dc:	f0 ff c1 eb 	ld      r30,-16(r1)
+    26e0:	20 00 80 4e 	blr
+    26e4:	00 00 00 60 	nop
+    26e8:	00 00 00 60 	nop
+    26ec:	00 00 42 60 	ori     r2,r2,0
 	...
 
-0000000000002708 <kvmhv_update_nest_rmap_rc_list>:
+00000000000026f8 <kvmhv_update_nest_rmap_rc_list>:
 {
-    2708:	f8 ff 4c e8 	ld      r2,-8(r12)
-    270c:	14 62 42 7c 	add     r2,r2,r12
-    2710:	a6 02 08 7c 	mflr    r0
-    2714:	01 00 00 48 	bl      2714 <kvmhv_update_nest_rmap_rc_list+0xc>
+    26f8:	f8 ff 4c e8 	ld      r2,-8(r12)
+    26fc:	14 62 42 7c 	add     r2,r2,r12
+    2700:	a6 02 08 7c 	mflr    r0
+    2704:	01 00 00 48 	bl      2704 <kvmhv_update_nest_rmap_rc_list+0xc>
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
-    2718:	78 33 a9 7c 	or      r9,r5,r6
+    2708:	78 33 a9 7c 	or      r9,r5,r6
 {
-    271c:	f8 ff e1 fb 	std     r31,-8(r1)
-    2720:	81 ff 21 f8 	stdu    r1,-128(r1)
+    270c:	f8 ff e1 fb 	std     r31,-8(r1)
+    2710:	81 ff 21 f8 	stdu    r1,-128(r1)
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
-    2724:	82 b8 29 79 	rldicl  r9,r9,55,2
+    2714:	82 b8 29 79 	rldicl  r9,r9,55,2
 	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
-    2728:	00 00 e4 eb 	ld      r31,0(r4)
+    2718:	00 00 e4 eb 	ld      r31,0(r4)
 {
-    272c:	78 0c 4d e9 	ld      r10,3192(r13)
-    2730:	28 00 41 f9 	std     r10,40(r1)
-    2734:	00 00 40 39 	li      r10,0
+    271c:	78 0c 4d e9 	ld      r10,3192(r13)
+    2720:	28 00 41 f9 	std     r10,40(r1)
+    2724:	00 00 40 39 	li      r10,0
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
-    2738:	01 48 29 79 	rotldi. r9,r9,9
-    273c:	80 01 82 40 	bne     28bc <kvmhv_update_nest_rmap_rc_list+0x1b4>
+    2728:	01 48 29 79 	rotldi. r9,r9,9
+    272c:	80 01 82 40 	bne     28ac <kvmhv_update_nest_rmap_rc_list+0x1b4>
 	mask = PTE_RPN_MASK & ~(nbytes - 1);
-    2740:	d0 00 08 7d 	neg     r8,r8
+    2730:	d0 00 08 7d 	neg     r8,r8
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    2744:	00 00 3f 2c 	cmpdi   r31,0
-    2748:	60 00 81 fb 	std     r28,96(r1)
+    2734:	00 00 3f 2c 	cmpdi   r31,0
+    2738:	60 00 81 fb 	std     r28,96(r1)
 	mask = PTE_RPN_MASK & ~(nbytes - 1);
-    274c:	24 59 1c 79 	rldicr  r28,r8,11,36
-    2750:	c2 aa 9c 7b 	rldicl  r28,r28,53,11
+    273c:	24 59 1c 79 	rldicr  r28,r8,11,36
+    2740:	c2 aa 9c 7b 	rldicl  r28,r28,53,11
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    2754:	04 02 82 41 	beq     2958 <kvmhv_update_nest_rmap_rc_list+0x250>
-    2758:	a6 02 08 7c 	mflr    r0
-    275c:	30 00 c1 fa 	std     r22,48(r1)
-    2760:	38 00 e1 fa 	std     r23,56(r1)
+    2744:	04 02 82 41 	beq     2948 <kvmhv_update_nest_rmap_rc_list+0x250>
+    2748:	a6 02 08 7c 	mflr    r0
+    274c:	30 00 c1 fa 	std     r22,48(r1)
+    2750:	38 00 e1 fa 	std     r23,56(r1)
 	unsigned int shift, lpid;
-    2764:	00 00 c0 3a 	li      r22,0
-    2768:	78 1b 77 7c 	mr      r23,r3
-    276c:	40 00 01 fb 	std     r24,64(r1)
-    2770:	48 00 21 fb 	std     r25,72(r1)
-    2774:	78 33 d8 7c 	mr      r24,r6
-    2778:	78 2b b9 7c 	mr      r25,r5
-    277c:	50 00 41 fb 	std     r26,80(r1)
-    2780:	58 00 61 fb 	std     r27,88(r1)
-    2784:	78 3b fa 7c 	mr      r26,r7
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2788:	60 0c 63 3b 	addi    r27,r3,3168
-    278c:	90 00 01 f8 	std     r0,144(r1)
-    2790:	68 00 a1 fb 	std     r29,104(r1)
-    2794:	70 00 c1 fb 	std     r30,112(r1)
-    2798:	b4 00 00 48 	b       284c <kvmhv_update_nest_rmap_rc_list+0x144>
-    279c:	00 00 42 60 	ori     r2,r2,0
+    2754:	00 00 c0 3a 	li      r22,0
+    2758:	78 1b 77 7c 	mr      r23,r3
+    275c:	40 00 01 fb 	std     r24,64(r1)
+    2760:	48 00 21 fb 	std     r25,72(r1)
+    2764:	78 33 d8 7c 	mr      r24,r6
+    2768:	78 2b b9 7c 	mr      r25,r5
+    276c:	50 00 41 fb 	std     r26,80(r1)
+    2770:	58 00 61 fb 	std     r27,88(r1)
+    2774:	78 3b fa 7c 	mr      r26,r7
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2778:	60 0c 63 3b 	addi    r27,r3,3168
+    277c:	90 00 01 f8 	std     r0,144(r1)
+    2780:	68 00 a1 fb 	std     r29,104(r1)
+    2784:	70 00 c1 fb 	std     r30,112(r1)
+    2788:	b4 00 00 48 	b       283c <kvmhv_update_nest_rmap_rc_list+0x144>
+    278c:	00 00 42 60 	ori     r2,r2,0
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    27a0:	08 00 df eb 	ld      r30,8(r31)
-    27a4:	00 00 3e 2c 	cmpdi   r30,0
-    27a8:	e8 00 82 41 	beq     2890 <kvmhv_update_nest_rmap_rc_list+0x188>
+    2790:	08 00 df eb 	ld      r30,8(r31)
+    2794:	00 00 3e 2c 	cmpdi   r30,0
+    2798:	e8 00 82 41 	beq     2880 <kvmhv_update_nest_rmap_rc_list+0x188>
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    27ac:	20 65 c4 7b 	rldicl  r4,r30,12,52
+    279c:	20 65 c4 7b 	rldicl  r4,r30,12,52
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    27b0:	78 db 63 7f 	mr      r3,r27
+    27a0:	78 db 63 7f 	mr      r3,r27
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    27b4:	00 00 ff eb 	ld      r31,0(r31)
+    27a4:	00 00 ff eb 	ld      r31,0(r31)
 	unsigned int shift, lpid;
-    27b8:	24 00 21 91 	stw     r9,36(r1)
+    27a8:	24 00 21 91 	stw     r9,36(r1)
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    27bc:	e4 61 de 7b 	rldicr  r30,r30,12,39
+    27ac:	e4 61 de 7b 	rldicr  r30,r30,12,39
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    27c0:	78 23 9d 7c 	mr      r29,r4
+    27b0:	78 23 9d 7c 	mr      r29,r4
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    27c4:	01 00 00 48 	bl      27c4 <kvmhv_update_nest_rmap_rc_list+0xbc>
-    27c8:	00 00 00 60 	nop
+    27b4:	01 00 00 48 	bl      27b4 <kvmhv_update_nest_rmap_rc_list+0xbc>
+    27b8:	00 00 00 60 	nop
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    27cc:	02 a3 de 7b 	rldicl  r30,r30,52,12
+    27bc:	02 a3 de 7b 	rldicl  r30,r30,52,12
 	if (!gp)
-    27d0:	00 00 23 2c 	cmpdi   r3,0
-    27d4:	70 00 82 41 	beq     2844 <kvmhv_update_nest_rmap_rc_list+0x13c>
+    27c0:	00 00 23 2c 	cmpdi   r3,0
+    27c4:	70 00 82 41 	beq     2834 <kvmhv_update_nest_rmap_rc_list+0x13c>
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    27d8:	10 00 63 e8 	ld      r3,16(r3)
-    27dc:	24 00 c1 38 	addi    r6,r1,36
-    27e0:	00 00 a0 38 	li      r5,0
-    27e4:	78 f3 c4 7f 	mr      r4,r30
-    27e8:	01 00 00 48 	bl      27e8 <kvmhv_update_nest_rmap_rc_list+0xe0>
-    27ec:	00 00 00 60 	nop
+    27c8:	10 00 63 e8 	ld      r3,16(r3)
+    27cc:	24 00 c1 38 	addi    r6,r1,36
+    27d0:	00 00 a0 38 	li      r5,0
+    27d4:	78 f3 c4 7f 	mr      r4,r30
+    27d8:	01 00 00 48 	bl      27d8 <kvmhv_update_nest_rmap_rc_list+0xe0>
+    27dc:	00 00 00 60 	nop
 	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa)) {
-    27f0:	00 00 23 2c 	cmpdi   r3,0
-    27f4:	50 00 82 41 	beq     2844 <kvmhv_update_nest_rmap_rc_list+0x13c>
-    27f8:	00 00 23 e9 	ld      r9,0(r3)
+    27e0:	00 00 23 2c 	cmpdi   r3,0
+    27e4:	50 00 82 41 	beq     2834 <kvmhv_update_nest_rmap_rc_list+0x13c>
+    27e8:	00 00 23 e9 	ld      r9,0(r3)
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
-    27fc:	32 06 2a 55 	rlwinm  r10,r9,0,24,25
+    27ec:	32 06 2a 55 	rlwinm  r10,r9,0,24,25
 	if (pte_hw_valid(pte))
-    2800:	c0 00 2a 2c 	cmpdi   r10,192
-    2804:	10 00 82 41 	beq     2814 <kvmhv_update_nest_rmap_rc_list+0x10c>
+    27f0:	c0 00 2a 2c 	cmpdi   r10,192
+    27f4:	10 00 82 41 	beq     2804 <kvmhv_update_nest_rmap_rc_list+0x10c>
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-    2808:	74 06 2a 55 	rlwinm  r10,r9,0,25,26
-    280c:	60 00 2a 2c 	cmpdi   r10,96
-    2810:	34 00 82 40 	bne     2844 <kvmhv_update_nest_rmap_rc_list+0x13c>
+    27f8:	74 06 2a 55 	rlwinm  r10,r9,0,25,26
+    27fc:	60 00 2a 2c 	cmpdi   r10,96
+    2800:	34 00 82 40 	bne     2834 <kvmhv_update_nest_rmap_rc_list+0x13c>
 typedef struct { __be64 pte; } pte_t;
 #define __pte(x)	((pte_t) { cpu_to_be64(x) })
 #define __pte_raw(x)	((pte_t) { (x) })
 static inline unsigned long pte_val(pte_t x)
 {
 	return be64_to_cpu(x.pte);
-    2814:	22 00 28 79 	rldicl  r8,r9,32,32
-    2818:	3e c0 2a 55 	rotlwi  r10,r9,24
-    281c:	3e c0 07 55 	rotlwi  r7,r8,24
-    2820:	1e 42 2a 51 	rlwimi  r10,r9,8,8,15
-    2824:	1e 42 07 51 	rlwimi  r7,r8,8,8,15
-    2828:	3e 46 2a 51 	rlwimi  r10,r9,8,24,31
-    282c:	3e 46 07 51 	rlwimi  r7,r8,8,24,31
-    2830:	c6 07 4a 79 	rldicr  r10,r10,32,31
-    2834:	78 3b 4a 7d 	or      r10,r10,r7
-    2838:	78 52 49 7f 	xor     r9,r26,r10
-    283c:	39 e0 29 7d 	and.    r9,r9,r28
-    2840:	a0 00 82 41 	beq     28e0 <kvmhv_update_nest_rmap_rc_list+0x1d8>
+    2804:	22 00 28 79 	rldicl  r8,r9,32,32
+    2808:	3e c0 2a 55 	rotlwi  r10,r9,24
+    280c:	3e c0 07 55 	rotlwi  r7,r8,24
+    2810:	1e 42 2a 51 	rlwimi  r10,r9,8,8,15
+    2814:	1e 42 07 51 	rlwimi  r7,r8,8,8,15
+    2818:	3e 46 2a 51 	rlwimi  r10,r9,8,24,31
+    281c:	3e 46 07 51 	rlwimi  r7,r8,8,24,31
+    2820:	c6 07 4a 79 	rldicr  r10,r10,32,31
+    2824:	78 3b 4a 7d 	or      r10,r10,r7
+    2828:	78 52 49 7f 	xor     r9,r26,r10
+    282c:	39 e0 29 7d 	and.    r9,r9,r28
+    2830:	a0 00 82 41 	beq     28d0 <kvmhv_update_nest_rmap_rc_list+0x1d8>
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    2844:	00 00 3f 2c 	cmpdi   r31,0
-    2848:	48 00 82 41 	beq     2890 <kvmhv_update_nest_rmap_rc_list+0x188>
-    284c:	01 00 e9 73 	andi.   r9,r31,1
-    2850:	50 ff 82 41 	beq     27a0 <kvmhv_update_nest_rmap_rc_list+0x98>
+    2834:	00 00 3f 2c 	cmpdi   r31,0
+    2838:	48 00 82 41 	beq     2880 <kvmhv_update_nest_rmap_rc_list+0x188>
+    283c:	01 00 e9 73 	andi.   r9,r31,1
+    2840:	50 ff 82 41 	beq     2790 <kvmhv_update_nest_rmap_rc_list+0x98>
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2854:	20 65 e4 7b 	rldicl  r4,r31,12,52
+    2844:	20 65 e4 7b 	rldicl  r4,r31,12,52
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2858:	78 db 63 7f 	mr      r3,r27
+    2848:	78 db 63 7f 	mr      r3,r27
 	unsigned int shift, lpid;
-    285c:	24 00 c1 92 	stw     r22,36(r1)
+    284c:	24 00 c1 92 	stw     r22,36(r1)
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2860:	e4 61 fe 7b 	rldicr  r30,r31,12,39
+    2850:	e4 61 fe 7b 	rldicr  r30,r31,12,39
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2864:	78 23 9d 7c 	mr      r29,r4
+    2854:	78 23 9d 7c 	mr      r29,r4
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2868:	01 00 00 48 	bl      2868 <kvmhv_update_nest_rmap_rc_list+0x160>
-    286c:	00 00 00 60 	nop
+    2858:	01 00 00 48 	bl      2858 <kvmhv_update_nest_rmap_rc_list+0x160>
+    285c:	00 00 00 60 	nop
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2870:	02 a3 de 7b 	rldicl  r30,r30,52,12
+    2860:	02 a3 de 7b 	rldicl  r30,r30,52,12
 	if (!gp)
-    2874:	00 00 23 2c 	cmpdi   r3,0
-    2878:	18 00 82 41 	beq     2890 <kvmhv_update_nest_rmap_rc_list+0x188>
+    2864:	00 00 23 2c 	cmpdi   r3,0
+    2868:	18 00 82 41 	beq     2880 <kvmhv_update_nest_rmap_rc_list+0x188>
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    287c:	00 00 e0 3b 	li      r31,0
-    2880:	58 ff ff 4b 	b       27d8 <kvmhv_update_nest_rmap_rc_list+0xd0>
-    2884:	00 00 00 60 	nop
-    2888:	00 00 00 60 	nop
-    288c:	00 00 42 60 	ori     r2,r2,0
-    2890:	90 00 01 e8 	ld      r0,144(r1)
-    2894:	30 00 c1 ea 	ld      r22,48(r1)
-    2898:	38 00 e1 ea 	ld      r23,56(r1)
-    289c:	40 00 01 eb 	ld      r24,64(r1)
-    28a0:	48 00 21 eb 	ld      r25,72(r1)
-    28a4:	50 00 41 eb 	ld      r26,80(r1)
-    28a8:	58 00 61 eb 	ld      r27,88(r1)
-    28ac:	60 00 81 eb 	ld      r28,96(r1)
-    28b0:	68 00 a1 eb 	ld      r29,104(r1)
-    28b4:	70 00 c1 eb 	ld      r30,112(r1)
-    28b8:	a6 03 08 7c 	mtlr    r0
-}
-    28bc:	28 00 41 e9 	ld      r10,40(r1)
-    28c0:	78 0c 2d e9 	ld      r9,3192(r13)
-    28c4:	79 4a 4a 7d 	xor.    r10,r10,r9
-    28c8:	00 00 20 39 	li      r9,0
-    28cc:	94 00 82 40 	bne     2960 <kvmhv_update_nest_rmap_rc_list+0x258>
-    28d0:	80 00 21 38 	addi    r1,r1,128
-    28d4:	f8 ff e1 eb 	ld      r31,-8(r1)
-    28d8:	20 00 80 4e 	blr
-    28dc:	00 00 42 60 	ori     r2,r2,0
+    286c:	00 00 e0 3b 	li      r31,0
+    2870:	58 ff ff 4b 	b       27c8 <kvmhv_update_nest_rmap_rc_list+0xd0>
+    2874:	00 00 00 60 	nop
+    2878:	00 00 00 60 	nop
+    287c:	00 00 42 60 	ori     r2,r2,0
+    2880:	90 00 01 e8 	ld      r0,144(r1)
+    2884:	30 00 c1 ea 	ld      r22,48(r1)
+    2888:	38 00 e1 ea 	ld      r23,56(r1)
+    288c:	40 00 01 eb 	ld      r24,64(r1)
+    2890:	48 00 21 eb 	ld      r25,72(r1)
+    2894:	50 00 41 eb 	ld      r26,80(r1)
+    2898:	58 00 61 eb 	ld      r27,88(r1)
+    289c:	60 00 81 eb 	ld      r28,96(r1)
+    28a0:	68 00 a1 eb 	ld      r29,104(r1)
+    28a4:	70 00 c1 eb 	ld      r30,112(r1)
+    28a8:	a6 03 08 7c 	mtlr    r0
+}
+    28ac:	28 00 41 e9 	ld      r10,40(r1)
+    28b0:	78 0c 2d e9 	ld      r9,3192(r13)
+    28b4:	79 4a 4a 7d 	xor.    r10,r10,r9
+    28b8:	00 00 20 39 	li      r9,0
+    28bc:	94 00 82 40 	bne     2950 <kvmhv_update_nest_rmap_rc_list+0x258>
+    28c0:	80 00 21 38 	addi    r1,r1,128
+    28c4:	f8 ff e1 eb 	ld      r31,-8(r1)
+    28c8:	20 00 80 4e 	blr
+    28cc:	00 00 42 60 	ori     r2,r2,0
 	"	andc	%1,%0,%5	\n"
 	"	or	%1,%1,%4	\n"
 	"	stdcx.	%1,0,%3		\n"
 	"	bne-	1b"
 	: "=&r" (old_be), "=&r" (tmp_be), "=m" (*ptep)
 	: "r" (ptep), "r" (cpu_to_be64(set)), "r" (cpu_to_be64(clr))
-    28e0:	22 00 0a 7b 	rldicl  r10,r24,32,32
-    28e4:	3e c0 09 57 	rotlwi  r9,r24,24
-    28e8:	3e c0 48 55 	rotlwi  r8,r10,24
-    28ec:	1e 42 09 53 	rlwimi  r9,r24,8,8,15
-    28f0:	1e 42 48 51 	rlwimi  r8,r10,8,8,15
-    28f4:	3e 46 09 53 	rlwimi  r9,r24,8,24,31
-    28f8:	3e 46 48 51 	rlwimi  r8,r10,8,24,31
-    28fc:	c6 07 29 79 	rldicr  r9,r9,32,31
-    2900:	3e c0 2a 57 	rotlwi  r10,r25,24
-    2904:	78 43 29 7d 	or      r9,r9,r8
-    2908:	22 00 28 7b 	rldicl  r8,r25,32,32
-    290c:	1e 42 2a 53 	rlwimi  r10,r25,8,8,15
-    2910:	3e c0 07 55 	rotlwi  r7,r8,24
-    2914:	3e 46 2a 53 	rlwimi  r10,r25,8,24,31
-    2918:	1e 42 07 51 	rlwimi  r7,r8,8,8,15
-    291c:	c6 07 4a 79 	rldicr  r10,r10,32,31
-    2920:	3e 46 07 51 	rlwimi  r7,r8,8,24,31
-    2924:	78 3b 4a 7d 	or      r10,r10,r7
+    28d0:	22 00 0a 7b 	rldicl  r10,r24,32,32
+    28d4:	3e c0 09 57 	rotlwi  r9,r24,24
+    28d8:	3e c0 48 55 	rotlwi  r8,r10,24
+    28dc:	1e 42 09 53 	rlwimi  r9,r24,8,8,15
+    28e0:	1e 42 48 51 	rlwimi  r8,r10,8,8,15
+    28e4:	3e 46 09 53 	rlwimi  r9,r24,8,24,31
+    28e8:	3e 46 48 51 	rlwimi  r8,r10,8,24,31
+    28ec:	c6 07 29 79 	rldicr  r9,r9,32,31
+    28f0:	3e c0 2a 57 	rotlwi  r10,r25,24
+    28f4:	78 43 29 7d 	or      r9,r9,r8
+    28f8:	22 00 28 7b 	rldicl  r8,r25,32,32
+    28fc:	1e 42 2a 53 	rlwimi  r10,r25,8,8,15
+    2900:	3e c0 07 55 	rotlwi  r7,r8,24
+    2904:	3e 46 2a 53 	rlwimi  r10,r25,8,24,31
+    2908:	1e 42 07 51 	rlwimi  r7,r8,8,8,15
+    290c:	c6 07 4a 79 	rldicr  r10,r10,32,31
+    2910:	3e 46 07 51 	rlwimi  r7,r8,8,24,31
+    2914:	78 3b 4a 7d 	or      r10,r10,r7
 	__asm__ __volatile__(
-    2928:	a8 18 00 7d 	ldarx   r8,0,r3
-    292c:	78 50 07 7d 	andc    r7,r8,r10
-    2930:	78 4b e7 7c 	or      r7,r7,r9
-    2934:	ad 19 e0 7c 	stdcx.  r7,0,r3
-    2938:	f0 ff c2 40 	bne-    2928 <kvmhv_update_nest_rmap_rc_list+0x220>
+    2918:	a8 18 00 7d 	ldarx   r8,0,r3
+    291c:	78 50 07 7d 	andc    r7,r8,r10
+    2920:	78 4b e7 7c 	or      r7,r7,r9
+    2924:	ad 19 e0 7c 	stdcx.  r7,0,r3
+    2928:	f0 ff c2 40 	bne-    2918 <kvmhv_update_nest_rmap_rc_list+0x220>
 		kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid);
-    293c:	24 00 a1 80 	lwz     r5,36(r1)
-    2940:	20 05 a6 7b 	clrldi  r6,r29,52
-    2944:	78 f3 c4 7f 	mr      r4,r30
-    2948:	78 bb e3 7e 	mr      r3,r23
-    294c:	01 00 00 48 	bl      294c <kvmhv_update_nest_rmap_rc_list+0x244>
-    2950:	00 00 00 60 	nop
-    2954:	f0 fe ff 4b 	b       2844 <kvmhv_update_nest_rmap_rc_list+0x13c>
-    2958:	60 00 81 eb 	ld      r28,96(r1)
-    295c:	60 ff ff 4b 	b       28bc <kvmhv_update_nest_rmap_rc_list+0x1b4>
-    2960:	a6 02 08 7c 	mflr    r0
-    2964:	30 00 c1 fa 	std     r22,48(r1)
-    2968:	38 00 e1 fa 	std     r23,56(r1)
-    296c:	40 00 01 fb 	std     r24,64(r1)
-    2970:	48 00 21 fb 	std     r25,72(r1)
-    2974:	90 00 01 f8 	std     r0,144(r1)
-    2978:	50 00 41 fb 	std     r26,80(r1)
-    297c:	58 00 61 fb 	std     r27,88(r1)
-    2980:	60 00 81 fb 	std     r28,96(r1)
-    2984:	68 00 a1 fb 	std     r29,104(r1)
-    2988:	70 00 c1 fb 	std     r30,112(r1)
-}
-    298c:	01 00 00 48 	bl      298c <kvmhv_update_nest_rmap_rc_list+0x284>
-    2990:	00 00 00 60 	nop
-    2994:	00 00 00 60 	nop
-    2998:	00 00 00 60 	nop
-    299c:	00 00 42 60 	ori     r2,r2,0
-	...
-
-00000000000029a8 <kvmhv_remove_nest_rmap_range>:
-{
-    29a8:	f8 ff 4c e8 	ld      r2,-8(r12)
-    29ac:	14 62 42 7c 	add     r2,r2,r12
-    29b0:	a6 02 08 7c 	mflr    r0
-    29b4:	01 00 00 48 	bl      29b4 <kvmhv_remove_nest_rmap_range+0xc>
-    29b8:	98 ff 61 fa 	std     r19,-104(r1)
-    29bc:	51 ff 21 f8 	stdu    r1,-176(r1)
+    292c:	24 00 a1 80 	lwz     r5,36(r1)
+    2930:	20 05 a6 7b 	clrldi  r6,r29,52
+    2934:	78 f3 c4 7f 	mr      r4,r30
+    2938:	78 bb e3 7e 	mr      r3,r23
+    293c:	01 00 00 48 	bl      293c <kvmhv_update_nest_rmap_rc_list+0x244>
+    2940:	00 00 00 60 	nop
+    2944:	f0 fe ff 4b 	b       2834 <kvmhv_update_nest_rmap_rc_list+0x13c>
+    2948:	60 00 81 eb 	ld      r28,96(r1)
+    294c:	60 ff ff 4b 	b       28ac <kvmhv_update_nest_rmap_rc_list+0x1b4>
+    2950:	a6 02 08 7c 	mflr    r0
+    2954:	30 00 c1 fa 	std     r22,48(r1)
+    2958:	38 00 e1 fa 	std     r23,56(r1)
+    295c:	40 00 01 fb 	std     r24,64(r1)
+    2960:	48 00 21 fb 	std     r25,72(r1)
+    2964:	90 00 01 f8 	std     r0,144(r1)
+    2968:	50 00 41 fb 	std     r26,80(r1)
+    296c:	58 00 61 fb 	std     r27,88(r1)
+    2970:	60 00 81 fb 	std     r28,96(r1)
+    2974:	68 00 a1 fb 	std     r29,104(r1)
+    2978:	70 00 c1 fb 	std     r30,112(r1)
+}
+    297c:	01 00 00 48 	bl      297c <kvmhv_update_nest_rmap_rc_list+0x284>
+    2980:	00 00 00 60 	nop
+    2984:	00 00 00 60 	nop
+    2988:	00 00 00 60 	nop
+    298c:	00 00 42 60 	ori     r2,r2,0
+	...
+
+0000000000002998 <kvmhv_remove_nest_rmap_range>:
+{
+    2998:	f8 ff 4c e8 	ld      r2,-8(r12)
+    299c:	14 62 42 7c 	add     r2,r2,r12
+    29a0:	a6 02 08 7c 	mflr    r0
+    29a4:	01 00 00 48 	bl      29a4 <kvmhv_remove_nest_rmap_range+0xc>
+    29a8:	98 ff 61 fa 	std     r19,-104(r1)
+    29ac:	51 ff 21 f8 	stdu    r1,-176(r1)
 	if (!memslot)
-    29c0:	79 23 93 7c 	mr.     r19,r4
+    29b0:	79 23 93 7c 	mr.     r19,r4
 {
-    29c4:	78 0c 2d e9 	ld      r9,3192(r13)
-    29c8:	28 00 21 f9 	std     r9,40(r1)
-    29cc:	00 00 20 39 	li      r9,0
+    29b4:	78 0c 2d e9 	ld      r9,3192(r13)
+    29b8:	28 00 21 f9 	std     r9,40(r1)
+    29bc:	00 00 20 39 	li      r9,0
 	if (!memslot)
-    29d0:	34 02 82 41 	beq     2c04 <kvmhv_remove_nest_rmap_range+0x25c>
+    29c0:	34 02 82 41 	beq     2bf4 <kvmhv_remove_nest_rmap_range+0x25c>
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
-    29d4:	50 00 81 fa 	std     r20,80(r1)
-    29d8:	68 00 e1 fa 	std     r23,104(r1)
-    29dc:	02 84 a5 78 	rldicl  r5,r5,48,16
+    29c4:	50 00 81 fa 	std     r20,80(r1)
+    29c8:	68 00 e1 fa 	std     r23,104(r1)
+    29cc:	02 84 a5 78 	rldicl  r5,r5,48,16
 	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
-    29e0:	02 84 f4 78 	rldicl  r20,r7,48,16
+    29d0:	02 84 f4 78 	rldicl  r20,r7,48,16
 	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
-    29e4:	d0 00 e7 7c 	neg     r7,r7
-    29e8:	78 00 21 fb 	std     r25,120(r1)
+    29d4:	d0 00 e7 7c 	neg     r7,r7
+    29d8:	78 00 21 fb 	std     r25,120(r1)
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
-    29ec:	b0 00 33 eb 	ld      r25,176(r19)
+    29dc:	b0 00 33 eb 	ld      r25,176(r19)
 	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
-    29f0:	24 59 f7 78 	rldicr  r23,r7,11,36
-    29f4:	c2 aa f7 7a 	rldicl  r23,r23,53,11
+    29e0:	24 59 f7 78 	rldicr  r23,r7,11,36
+    29e4:	c2 aa f7 7a 	rldicl  r23,r23,53,11
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
-    29f8:	50 28 39 7f 	subf    r25,r25,r5
+    29e8:	50 28 39 7f 	subf    r25,r25,r5
 	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
-    29fc:	14 ca 94 7e 	add     r20,r20,r25
+    29ec:	14 ca 94 7e 	add     r20,r20,r25
 	for (; gfn < end_gfn; gfn++) {
-    2a00:	40 a0 39 7c 	cmpld   r25,r20
-    2a04:	20 02 80 40 	bge     2c24 <kvmhv_remove_nest_rmap_range+0x27c>
-    2a08:	a6 02 08 7c 	mflr    r0
-    2a0c:	40 00 41 fa 	std     r18,64(r1)
-    2a10:	58 00 a1 fa 	std     r21,88(r1)
-    2a14:	78 1b 72 7c 	mr      r18,r3
-    2a18:	00 00 a0 3a 	li      r21,0
-    2a1c:	60 00 c1 fa 	std     r22,96(r1)
-    2a20:	70 00 01 fb 	std     r24,112(r1)
-    2a24:	78 33 d6 7c 	mr      r22,r6
+    29f0:	40 a0 39 7c 	cmpld   r25,r20
+    29f4:	20 02 80 40 	bge     2c14 <kvmhv_remove_nest_rmap_range+0x27c>
+    29f8:	a6 02 08 7c 	mflr    r0
+    29fc:	40 00 41 fa 	std     r18,64(r1)
+    2a00:	58 00 a1 fa 	std     r21,88(r1)
+    2a04:	78 1b 72 7c 	mr      r18,r3
+    2a08:	00 00 a0 3a 	li      r21,0
+    2a0c:	60 00 c1 fa 	std     r22,96(r1)
+    2a10:	70 00 01 fb 	std     r24,112(r1)
+    2a14:	78 33 d6 7c 	mr      r22,r6
 	unsigned int shift, lpid;
-    2a28:	00 00 00 3b 	li      r24,0
-    2a2c:	80 00 41 fb 	std     r26,128(r1)
+    2a18:	00 00 00 3b 	li      r24,0
+    2a1c:	80 00 41 fb 	std     r26,128(r1)
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2a30:	60 0c 43 3b 	addi    r26,r3,3168
-    2a34:	c0 00 01 f8 	std     r0,192(r1)
-    2a38:	38 00 21 fa 	std     r17,56(r1)
-    2a3c:	88 00 61 fb 	std     r27,136(r1)
-    2a40:	90 00 81 fb 	std     r28,144(r1)
-    2a44:	98 00 a1 fb 	std     r29,152(r1)
-    2a48:	a0 00 c1 fb 	std     r30,160(r1)
-    2a4c:	a8 00 e1 fb 	std     r31,168(r1)
+    2a20:	60 0c 43 3b 	addi    r26,r3,3168
+    2a24:	c0 00 01 f8 	std     r0,192(r1)
+    2a28:	38 00 21 fa 	std     r17,56(r1)
+    2a2c:	88 00 61 fb 	std     r27,136(r1)
+    2a30:	90 00 81 fb 	std     r28,144(r1)
+    2a34:	98 00 a1 fb 	std     r29,152(r1)
+    2a38:	a0 00 c1 fb 	std     r30,160(r1)
+    2a3c:	a8 00 e1 fb 	std     r31,168(r1)
 		unsigned long *rmap = &memslot->arch.rmap[gfn];
-    2a50:	c8 00 33 e9 	ld      r9,200(r19)
-    2a54:	24 1f 2a 7b 	rldicr  r10,r25,3,60
-    2a58:	14 52 29 7d 	add     r9,r9,r10
+    2a40:	c8 00 33 e9 	ld      r9,200(r19)
+    2a44:	24 1f 2a 7b 	rldicr  r10,r25,3,60
+    2a48:	14 52 29 7d 	add     r9,r9,r10
 	return xchg(&head->first, NULL);
+    2a4c:	ac 04 00 7c 	hwsync
+    2a50:	a8 48 e0 7f 	ldarx   r31,0,r9
+    2a54:	ad 49 a0 7e 	stdcx.  r21,0,r9
+    2a58:	f8 ff c2 40 	bne-    2a50 <kvmhv_remove_nest_rmap_range+0xb8>
     2a5c:	ac 04 00 7c 	hwsync
-    2a60:	a8 48 e0 7f 	ldarx   r31,0,r9
-    2a64:	ad 49 a0 7e 	stdcx.  r21,0,r9
-    2a68:	f8 ff c2 40 	bne-    2a60 <kvmhv_remove_nest_rmap_range+0xb8>
-    2a6c:	ac 04 00 7c 	hwsync
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2a70:	00 00 3f 2c 	cmpdi   r31,0
-    2a74:	58 00 82 40 	bne     2acc <kvmhv_remove_nest_rmap_range+0x124>
-    2a78:	40 01 00 48 	b       2bb8 <kvmhv_remove_nest_rmap_range+0x210>
-    2a7c:	00 00 42 60 	ori     r2,r2,0
-    2a80:	08 00 df eb 	ld      r30,8(r31)
-    2a84:	00 00 3e 2c 	cmpdi   r30,0
-    2a88:	30 01 82 41 	beq     2bb8 <kvmhv_remove_nest_rmap_range+0x210>
+    2a60:	00 00 3f 2c 	cmpdi   r31,0
+    2a64:	58 00 82 40 	bne     2abc <kvmhv_remove_nest_rmap_range+0x124>
+    2a68:	40 01 00 48 	b       2ba8 <kvmhv_remove_nest_rmap_range+0x210>
+    2a6c:	00 00 42 60 	ori     r2,r2,0
+    2a70:	08 00 df eb 	ld      r30,8(r31)
+    2a74:	00 00 3e 2c 	cmpdi   r30,0
+    2a78:	30 01 82 41 	beq     2ba8 <kvmhv_remove_nest_rmap_range+0x210>
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2a8c:	20 65 dc 7b 	rldicl  r28,r30,12,52
+    2a7c:	20 65 dc 7b 	rldicl  r28,r30,12,52
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2a90:	78 d3 43 7f 	mr      r3,r26
+    2a80:	78 d3 43 7f 	mr      r3,r26
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2a94:	00 00 3f ea 	ld      r17,0(r31)
+    2a84:	00 00 3f ea 	ld      r17,0(r31)
 	unsigned int shift, lpid;
-    2a98:	24 00 21 91 	stw     r9,36(r1)
-    2a9c:	78 fb fb 7f 	mr      r27,r31
+    2a88:	24 00 21 91 	stw     r9,36(r1)
+    2a8c:	78 fb fb 7f 	mr      r27,r31
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2aa0:	78 e3 84 7f 	mr      r4,r28
-    2aa4:	01 00 00 48 	bl      2aa4 <kvmhv_remove_nest_rmap_range+0xfc>
-    2aa8:	00 00 00 60 	nop
+    2a90:	78 e3 84 7f 	mr      r4,r28
+    2a94:	01 00 00 48 	bl      2a94 <kvmhv_remove_nest_rmap_range+0xfc>
+    2a98:	00 00 00 60 	nop
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2aac:	78 8b 3f 7e 	mr      r31,r17
+    2a9c:	78 8b 3f 7e 	mr      r31,r17
 	if (!gp)
-    2ab0:	79 1b 7d 7c 	mr.     r29,r3
-    2ab4:	4c 00 82 40 	bne     2b00 <kvmhv_remove_nest_rmap_range+0x158>
+    2aa0:	79 1b 7d 7c 	mr.     r29,r3
+    2aa4:	4c 00 82 40 	bne     2af0 <kvmhv_remove_nest_rmap_range+0x158>
 		kfree(cursor);
-    2ab8:	78 db 63 7f 	mr      r3,r27
-    2abc:	01 00 00 48 	bl      2abc <kvmhv_remove_nest_rmap_range+0x114>
-    2ac0:	00 00 00 60 	nop
+    2aa8:	78 db 63 7f 	mr      r3,r27
+    2aac:	01 00 00 48 	bl      2aac <kvmhv_remove_nest_rmap_range+0x114>
+    2ab0:	00 00 00 60 	nop
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2ac4:	00 00 3f 2c 	cmpdi   r31,0
-    2ac8:	f0 00 82 41 	beq     2bb8 <kvmhv_remove_nest_rmap_range+0x210>
-    2acc:	01 00 e9 73 	andi.   r9,r31,1
-    2ad0:	78 fb fe 7f 	mr      r30,r31
-    2ad4:	ac ff 82 41 	beq     2a80 <kvmhv_remove_nest_rmap_range+0xd8>
+    2ab4:	00 00 3f 2c 	cmpdi   r31,0
+    2ab8:	f0 00 82 41 	beq     2ba8 <kvmhv_remove_nest_rmap_range+0x210>
+    2abc:	01 00 e9 73 	andi.   r9,r31,1
+    2ac0:	78 fb fe 7f 	mr      r30,r31
+    2ac4:	ac ff 82 41 	beq     2a70 <kvmhv_remove_nest_rmap_range+0xd8>
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2ad8:	20 65 fc 7b 	rldicl  r28,r31,12,52
+    2ac8:	20 65 fc 7b 	rldicl  r28,r31,12,52
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2adc:	78 d3 43 7f 	mr      r3,r26
+    2acc:	78 d3 43 7f 	mr      r3,r26
 	unsigned int shift, lpid;
-    2ae0:	24 00 01 93 	stw     r24,36(r1)
+    2ad0:	24 00 01 93 	stw     r24,36(r1)
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2ae4:	78 e3 84 7f 	mr      r4,r28
-    2ae8:	01 00 00 48 	bl      2ae8 <kvmhv_remove_nest_rmap_range+0x140>
-    2aec:	00 00 00 60 	nop
+    2ad4:	78 e3 84 7f 	mr      r4,r28
+    2ad8:	01 00 00 48 	bl      2ad8 <kvmhv_remove_nest_rmap_range+0x140>
+    2adc:	00 00 00 60 	nop
 	if (!gp)
-    2af0:	79 1b 7d 7c 	mr.     r29,r3
-    2af4:	bc 00 82 41 	beq     2bb0 <kvmhv_remove_nest_rmap_range+0x208>
+    2ae0:	79 1b 7d 7c 	mr.     r29,r3
+    2ae4:	bc 00 82 41 	beq     2ba0 <kvmhv_remove_nest_rmap_range+0x208>
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2af8:	00 00 e0 3b 	li      r31,0
-    2afc:	00 00 60 3b 	li      r27,0
+    2ae8:	00 00 e0 3b 	li      r31,0
+    2aec:	00 00 60 3b 	li      r27,0
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2b00:	78 e3 84 7f 	mr      r4,r28
-    2b04:	78 d3 43 7f 	mr      r3,r26
-    2b08:	01 00 00 48 	bl      2b08 <kvmhv_remove_nest_rmap_range+0x160>
-    2b0c:	00 00 00 60 	nop
+    2af0:	78 e3 84 7f 	mr      r4,r28
+    2af4:	78 d3 43 7f 	mr      r3,r26
+    2af8:	01 00 00 48 	bl      2af8 <kvmhv_remove_nest_rmap_range+0x160>
+    2afc:	00 00 00 60 	nop
 	if (!gp)
-    2b10:	00 00 23 2c 	cmpdi   r3,0
-    2b14:	a4 ff 82 41 	beq     2ab8 <kvmhv_remove_nest_rmap_range+0x110>
+    2b00:	00 00 23 2c 	cmpdi   r3,0
+    2b04:	a4 ff 82 41 	beq     2aa8 <kvmhv_remove_nest_rmap_range+0x110>
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2b18:	e4 61 de 7b 	rldicr  r30,r30,12,39
+    2b08:	e4 61 de 7b 	rldicr  r30,r30,12,39
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    2b1c:	10 00 63 e8 	ld      r3,16(r3)
-    2b20:	24 00 c1 38 	addi    r6,r1,36
-    2b24:	00 00 a0 38 	li      r5,0
+    2b0c:	10 00 63 e8 	ld      r3,16(r3)
+    2b10:	24 00 c1 38 	addi    r6,r1,36
+    2b14:	00 00 a0 38 	li      r5,0
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2b28:	02 a3 de 7b 	rldicl  r30,r30,52,12
+    2b18:	02 a3 de 7b 	rldicl  r30,r30,52,12
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    2b2c:	78 f3 c4 7f 	mr      r4,r30
-    2b30:	01 00 00 48 	bl      2b30 <kvmhv_remove_nest_rmap_range+0x188>
-    2b34:	00 00 00 60 	nop
+    2b1c:	78 f3 c4 7f 	mr      r4,r30
+    2b20:	01 00 00 48 	bl      2b20 <kvmhv_remove_nest_rmap_range+0x188>
+    2b24:	00 00 00 60 	nop
 	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa))
-    2b38:	79 1b 64 7c 	mr.     r4,r3
-    2b3c:	7c ff 82 41 	beq     2ab8 <kvmhv_remove_nest_rmap_range+0x110>
-    2b40:	00 00 24 e9 	ld      r9,0(r4)
+    2b28:	79 1b 64 7c 	mr.     r4,r3
+    2b2c:	7c ff 82 41 	beq     2aa8 <kvmhv_remove_nest_rmap_range+0x110>
+    2b30:	00 00 24 e9 	ld      r9,0(r4)
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
-    2b44:	32 06 2a 55 	rlwinm  r10,r9,0,24,25
+    2b34:	32 06 2a 55 	rlwinm  r10,r9,0,24,25
 	if (pte_hw_valid(pte))
-    2b48:	c0 00 2a 2c 	cmpdi   r10,192
-    2b4c:	10 00 82 41 	beq     2b5c <kvmhv_remove_nest_rmap_range+0x1b4>
+    2b38:	c0 00 2a 2c 	cmpdi   r10,192
+    2b3c:	10 00 82 41 	beq     2b4c <kvmhv_remove_nest_rmap_range+0x1b4>
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-    2b50:	74 06 2a 55 	rlwinm  r10,r9,0,25,26
-    2b54:	60 00 2a 2c 	cmpdi   r10,96
-    2b58:	60 ff 82 40 	bne     2ab8 <kvmhv_remove_nest_rmap_range+0x110>
-    2b5c:	22 00 28 79 	rldicl  r8,r9,32,32
-    2b60:	3e c0 2a 55 	rotlwi  r10,r9,24
-    2b64:	3e c0 07 55 	rotlwi  r7,r8,24
-    2b68:	1e 42 2a 51 	rlwimi  r10,r9,8,8,15
-    2b6c:	1e 42 07 51 	rlwimi  r7,r8,8,8,15
-    2b70:	3e 46 2a 51 	rlwimi  r10,r9,8,24,31
-    2b74:	3e 46 07 51 	rlwimi  r7,r8,8,24,31
-    2b78:	c6 07 4a 79 	rldicr  r10,r10,32,31
-    2b7c:	78 3b 4a 7d 	or      r10,r10,r7
-    2b80:	78 52 c9 7e 	xor     r9,r22,r10
-    2b84:	39 b8 29 7d 	and.    r9,r9,r23
-    2b88:	30 ff 82 40 	bne     2ab8 <kvmhv_remove_nest_rmap_range+0x110>
+    2b40:	74 06 2a 55 	rlwinm  r10,r9,0,25,26
+    2b44:	60 00 2a 2c 	cmpdi   r10,96
+    2b48:	60 ff 82 40 	bne     2aa8 <kvmhv_remove_nest_rmap_range+0x110>
+    2b4c:	22 00 28 79 	rldicl  r8,r9,32,32
+    2b50:	3e c0 2a 55 	rotlwi  r10,r9,24
+    2b54:	3e c0 07 55 	rotlwi  r7,r8,24
+    2b58:	1e 42 2a 51 	rlwimi  r10,r9,8,8,15
+    2b5c:	1e 42 07 51 	rlwimi  r7,r8,8,8,15
+    2b60:	3e 46 2a 51 	rlwimi  r10,r9,8,24,31
+    2b64:	3e 46 07 51 	rlwimi  r7,r8,8,24,31
+    2b68:	c6 07 4a 79 	rldicr  r10,r10,32,31
+    2b6c:	78 3b 4a 7d 	or      r10,r10,r7
+    2b70:	78 52 c9 7e 	xor     r9,r22,r10
+    2b74:	39 b8 29 7d 	and.    r9,r9,r23
+    2b78:	30 ff 82 40 	bne     2aa8 <kvmhv_remove_nest_rmap_range+0x110>
 		kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid);
-    2b8c:	0c 00 1d 81 	lwz     r8,12(r29)
-    2b90:	24 00 c1 80 	lwz     r6,36(r1)
-    2b94:	78 f3 c5 7f 	mr      r5,r30
-    2b98:	00 00 e0 38 	li      r7,0
-    2b9c:	78 93 43 7e 	mr      r3,r18
-    2ba0:	01 00 00 48 	bl      2ba0 <kvmhv_remove_nest_rmap_range+0x1f8>
-    2ba4:	00 00 00 60 	nop
-    2ba8:	10 ff ff 4b 	b       2ab8 <kvmhv_remove_nest_rmap_range+0x110>
-    2bac:	00 00 42 60 	ori     r2,r2,0
+    2b7c:	0c 00 1d 81 	lwz     r8,12(r29)
+    2b80:	24 00 c1 80 	lwz     r6,36(r1)
+    2b84:	78 f3 c5 7f 	mr      r5,r30
+    2b88:	00 00 e0 38 	li      r7,0
+    2b8c:	78 93 43 7e 	mr      r3,r18
+    2b90:	01 00 00 48 	bl      2b90 <kvmhv_remove_nest_rmap_range+0x1f8>
+    2b94:	00 00 00 60 	nop
+    2b98:	10 ff ff 4b 	b       2aa8 <kvmhv_remove_nest_rmap_range+0x110>
+    2b9c:	00 00 42 60 	ori     r2,r2,0
 		kfree(cursor);
-    2bb0:	01 00 00 48 	bl      2bb0 <kvmhv_remove_nest_rmap_range+0x208>
-    2bb4:	00 00 00 60 	nop
+    2ba0:	01 00 00 48 	bl      2ba0 <kvmhv_remove_nest_rmap_range+0x208>
+    2ba4:	00 00 00 60 	nop
 	for (; gfn < end_gfn; gfn++) {
-    2bb8:	01 00 39 3b 	addi    r25,r25,1
-    2bbc:	40 c8 34 7c 	cmpld   r20,r25
-    2bc0:	90 fe 82 40 	bne     2a50 <kvmhv_remove_nest_rmap_range+0xa8>
-    2bc4:	c0 00 01 e8 	ld      r0,192(r1)
-    2bc8:	38 00 21 ea 	ld      r17,56(r1)
-    2bcc:	40 00 41 ea 	ld      r18,64(r1)
-    2bd0:	50 00 81 ea 	ld      r20,80(r1)
-    2bd4:	58 00 a1 ea 	ld      r21,88(r1)
-    2bd8:	60 00 c1 ea 	ld      r22,96(r1)
-    2bdc:	68 00 e1 ea 	ld      r23,104(r1)
-    2be0:	70 00 01 eb 	ld      r24,112(r1)
-    2be4:	78 00 21 eb 	ld      r25,120(r1)
-    2be8:	80 00 41 eb 	ld      r26,128(r1)
-    2bec:	a6 03 08 7c 	mtlr    r0
-    2bf0:	88 00 61 eb 	ld      r27,136(r1)
-    2bf4:	90 00 81 eb 	ld      r28,144(r1)
-    2bf8:	98 00 a1 eb 	ld      r29,152(r1)
-    2bfc:	a0 00 c1 eb 	ld      r30,160(r1)
-    2c00:	a8 00 e1 eb 	ld      r31,168(r1)
-}
-    2c04:	28 00 41 e9 	ld      r10,40(r1)
-    2c08:	78 0c 2d e9 	ld      r9,3192(r13)
-    2c0c:	79 4a 4a 7d 	xor.    r10,r10,r9
-    2c10:	00 00 20 39 	li      r9,0
-    2c14:	20 00 82 40 	bne     2c34 <kvmhv_remove_nest_rmap_range+0x28c>
-    2c18:	b0 00 21 38 	addi    r1,r1,176
-    2c1c:	98 ff 61 ea 	ld      r19,-104(r1)
-    2c20:	20 00 80 4e 	blr
-    2c24:	50 00 81 ea 	ld      r20,80(r1)
-    2c28:	68 00 e1 ea 	ld      r23,104(r1)
-    2c2c:	78 00 21 eb 	ld      r25,120(r1)
-    2c30:	d4 ff ff 4b 	b       2c04 <kvmhv_remove_nest_rmap_range+0x25c>
-    2c34:	a6 02 08 7c 	mflr    r0
-    2c38:	38 00 21 fa 	std     r17,56(r1)
-    2c3c:	40 00 41 fa 	std     r18,64(r1)
-    2c40:	50 00 81 fa 	std     r20,80(r1)
-    2c44:	58 00 a1 fa 	std     r21,88(r1)
-    2c48:	c0 00 01 f8 	std     r0,192(r1)
-    2c4c:	60 00 c1 fa 	std     r22,96(r1)
-    2c50:	68 00 e1 fa 	std     r23,104(r1)
-    2c54:	70 00 01 fb 	std     r24,112(r1)
-    2c58:	78 00 21 fb 	std     r25,120(r1)
-    2c5c:	80 00 41 fb 	std     r26,128(r1)
-    2c60:	88 00 61 fb 	std     r27,136(r1)
-    2c64:	90 00 81 fb 	std     r28,144(r1)
-    2c68:	98 00 a1 fb 	std     r29,152(r1)
-    2c6c:	a0 00 c1 fb 	std     r30,160(r1)
-    2c70:	a8 00 e1 fb 	std     r31,168(r1)
-    2c74:	01 00 00 48 	bl      2c74 <kvmhv_remove_nest_rmap_range+0x2cc>
-    2c78:	00 00 00 60 	nop
-    2c7c:	00 00 42 60 	ori     r2,r2,0
+    2ba8:	01 00 39 3b 	addi    r25,r25,1
+    2bac:	40 c8 34 7c 	cmpld   r20,r25
+    2bb0:	90 fe 82 40 	bne     2a40 <kvmhv_remove_nest_rmap_range+0xa8>
+    2bb4:	c0 00 01 e8 	ld      r0,192(r1)
+    2bb8:	38 00 21 ea 	ld      r17,56(r1)
+    2bbc:	40 00 41 ea 	ld      r18,64(r1)
+    2bc0:	50 00 81 ea 	ld      r20,80(r1)
+    2bc4:	58 00 a1 ea 	ld      r21,88(r1)
+    2bc8:	60 00 c1 ea 	ld      r22,96(r1)
+    2bcc:	68 00 e1 ea 	ld      r23,104(r1)
+    2bd0:	70 00 01 eb 	ld      r24,112(r1)
+    2bd4:	78 00 21 eb 	ld      r25,120(r1)
+    2bd8:	80 00 41 eb 	ld      r26,128(r1)
+    2bdc:	a6 03 08 7c 	mtlr    r0
+    2be0:	88 00 61 eb 	ld      r27,136(r1)
+    2be4:	90 00 81 eb 	ld      r28,144(r1)
+    2be8:	98 00 a1 eb 	ld      r29,152(r1)
+    2bec:	a0 00 c1 eb 	ld      r30,160(r1)
+    2bf0:	a8 00 e1 eb 	ld      r31,168(r1)
+}
+    2bf4:	28 00 41 e9 	ld      r10,40(r1)
+    2bf8:	78 0c 2d e9 	ld      r9,3192(r13)
+    2bfc:	79 4a 4a 7d 	xor.    r10,r10,r9
+    2c00:	00 00 20 39 	li      r9,0
+    2c04:	20 00 82 40 	bne     2c24 <kvmhv_remove_nest_rmap_range+0x28c>
+    2c08:	b0 00 21 38 	addi    r1,r1,176
+    2c0c:	98 ff 61 ea 	ld      r19,-104(r1)
+    2c10:	20 00 80 4e 	blr
+    2c14:	50 00 81 ea 	ld      r20,80(r1)
+    2c18:	68 00 e1 ea 	ld      r23,104(r1)
+    2c1c:	78 00 21 eb 	ld      r25,120(r1)
+    2c20:	d4 ff ff 4b 	b       2bf4 <kvmhv_remove_nest_rmap_range+0x25c>
+    2c24:	a6 02 08 7c 	mflr    r0
+    2c28:	38 00 21 fa 	std     r17,56(r1)
+    2c2c:	40 00 41 fa 	std     r18,64(r1)
+    2c30:	50 00 81 fa 	std     r20,80(r1)
+    2c34:	58 00 a1 fa 	std     r21,88(r1)
+    2c38:	c0 00 01 f8 	std     r0,192(r1)
+    2c3c:	60 00 c1 fa 	std     r22,96(r1)
+    2c40:	68 00 e1 fa 	std     r23,104(r1)
+    2c44:	70 00 01 fb 	std     r24,112(r1)
+    2c48:	78 00 21 fb 	std     r25,120(r1)
+    2c4c:	80 00 41 fb 	std     r26,128(r1)
+    2c50:	88 00 61 fb 	std     r27,136(r1)
+    2c54:	90 00 81 fb 	std     r28,144(r1)
+    2c58:	98 00 a1 fb 	std     r29,152(r1)
+    2c5c:	a0 00 c1 fb 	std     r30,160(r1)
+    2c60:	a8 00 e1 fb 	std     r31,168(r1)
+    2c64:	01 00 00 48 	bl      2c64 <kvmhv_remove_nest_rmap_range+0x2cc>
+    2c68:	00 00 00 60 	nop
+    2c6c:	00 00 42 60 	ori     r2,r2,0
 	...
 
-0000000000002c88 <kvmhv_do_nested_tlbie>:
+0000000000002c78 <kvmhv_do_nested_tlbie>:
  * This handles the H_TLB_INVALIDATE hcall.
  * Parameters are (r4) tlbie instruction code, (r5) rS contents,
  * (r6) rB contents.
  */
 long kvmhv_do_nested_tlbie(struct kvm_vcpu *vcpu)
 {
-    2c88:	f8 ff 4c e8 	ld      r2,-8(r12)
-    2c8c:	14 62 42 7c 	add     r2,r2,r12
-    2c90:	a6 02 08 7c 	mflr    r0
-    2c94:	01 00 00 48 	bl      2c94 <kvmhv_do_nested_tlbie+0xc>
-    2c98:	e8 ff a1 fb 	std     r29,-24(r1)
-    2c9c:	a1 ff 21 f8 	stdu    r1,-96(r1)
-    2ca0:	78 0c 2d e9 	ld      r9,3192(r13)
-    2ca4:	28 00 21 f9 	std     r9,40(r1)
-    2ca8:	00 00 20 39 	li      r9,0
+    2c78:	f8 ff 4c e8 	ld      r2,-8(r12)
+    2c7c:	14 62 42 7c 	add     r2,r2,r12
+    2c80:	a6 02 08 7c 	mflr    r0
+    2c84:	01 00 00 48 	bl      2c84 <kvmhv_do_nested_tlbie+0xc>
+    2c88:	e8 ff a1 fb 	std     r29,-24(r1)
+    2c8c:	a1 ff 21 f8 	stdu    r1,-96(r1)
+    2c90:	78 0c 2d e9 	ld      r9,3192(r13)
+    2c94:	28 00 21 f9 	std     r9,40(r1)
+    2c98:	00 00 20 39 	li      r9,0
 	int ret;
 
 	ret = kvmhv_emulate_priv_tlbie(vcpu, kvmppc_get_gpr(vcpu, 4),
-    2cac:	20 0e 23 e9 	ld      r9,3616(r3)
-    2cb0:	30 0e a3 e8 	ld      r5,3632(r3)
+    2c9c:	20 0e 23 e9 	ld      r9,3616(r3)
+    2ca0:	30 0e a3 e8 	ld      r5,3632(r3)
 	struct kvm *kvm = vcpu->kvm;
-    2cb4:	00 00 a3 eb 	ld      r29,0(r3)
+    2ca4:	00 00 a3 eb 	ld      r29,0(r3)
 	return r_val & 0xffffffff;
-    2cb8:	28 0e 83 e8 	ld      r4,3624(r3)
+    2ca8:	28 0e 83 e8 	ld      r4,3624(r3)
 	if ((!r) || (prs) || (ric == 3) || (is == 1) ||
-    2cbc:	01 00 2a 75 	andis.  r10,r9,1
-    2cc0:	d4 01 82 41 	beq     2e94 <kvmhv_do_nested_tlbie+0x20c>
-    2cc4:	50 00 c1 fb 	std     r30,80(r1)
-    2cc8:	be 77 3e 55 	rlwinm  r30,r9,14,30,31
-    2ccc:	fe 7f 29 55 	rlwinm  r9,r9,15,31,31
-    2cd0:	00 00 09 2c 	cmpwi   r9,0
-    2cd4:	bc 01 82 40 	bne     2e90 <kvmhv_do_nested_tlbie+0x208>
-    2cd8:	03 00 1e 28 	cmplwi  r30,3
-    2cdc:	b4 01 82 41 	beq     2e90 <kvmhv_do_nested_tlbie+0x208>
-    2ce0:	be b7 aa 54 	rlwinm  r10,r5,22,30,31
-    2ce4:	01 00 0a 2c 	cmpwi   r10,1
-    2ce8:	a8 01 82 41 	beq     2e90 <kvmhv_do_nested_tlbie+0x208>
-    2cec:	00 00 0a 2c 	cmpwi   r10,0
-    2cf0:	60 00 82 40 	bne     2d50 <kvmhv_do_nested_tlbie+0xc8>
+    2cac:	01 00 2a 75 	andis.  r10,r9,1
+    2cb0:	d4 01 82 41 	beq     2e84 <kvmhv_do_nested_tlbie+0x20c>
+    2cb4:	50 00 c1 fb 	std     r30,80(r1)
+    2cb8:	be 77 3e 55 	rlwinm  r30,r9,14,30,31
+    2cbc:	fe 7f 29 55 	rlwinm  r9,r9,15,31,31
+    2cc0:	00 00 09 2c 	cmpwi   r9,0
+    2cc4:	bc 01 82 40 	bne     2e80 <kvmhv_do_nested_tlbie+0x208>
+    2cc8:	03 00 1e 28 	cmplwi  r30,3
+    2ccc:	b4 01 82 41 	beq     2e80 <kvmhv_do_nested_tlbie+0x208>
+    2cd0:	be b7 aa 54 	rlwinm  r10,r5,22,30,31
+    2cd4:	01 00 0a 2c 	cmpwi   r10,1
+    2cd8:	a8 01 82 41 	beq     2e80 <kvmhv_do_nested_tlbie+0x208>
+    2cdc:	00 00 0a 2c 	cmpwi   r10,0
+    2ce0:	60 00 82 40 	bne     2d40 <kvmhv_do_nested_tlbie+0xc8>
 	    ((!is) && (ric == 1 || ric == 2)))
-    2cf4:	ff ff de 3b 	addi    r30,r30,-1
-    2cf8:	01 00 1e 28 	cmplwi  r30,1
-    2cfc:	94 01 81 40 	ble     2e90 <kvmhv_do_nested_tlbie+0x208>
+    2ce4:	ff ff de 3b 	addi    r30,r30,-1
+    2ce8:	01 00 1e 28 	cmplwi  r30,1
+    2cec:	94 01 81 40 	ble     2e80 <kvmhv_do_nested_tlbie+0x208>
 		ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, epn);
-    2d00:	a6 02 08 7c 	mflr    r0
-    2d04:	02 a3 a6 78 	rldicl  r6,r5,52,12
-    2d08:	b4 07 84 7c 	extsw   r4,r4
-    2d0c:	62 df a5 78 	rldicl  r5,r5,59,61
-    2d10:	70 00 01 f8 	std     r0,112(r1)
-    2d14:	01 00 00 48 	bl      2d14 <kvmhv_do_nested_tlbie+0x8c>
+    2cf0:	a6 02 08 7c 	mflr    r0
+    2cf4:	02 a3 a6 78 	rldicl  r6,r5,52,12
+    2cf8:	b4 07 84 7c 	extsw   r4,r4
+    2cfc:	62 df a5 78 	rldicl  r5,r5,59,61
+    2d00:	70 00 01 f8 	std     r0,112(r1)
+    2d04:	01 00 00 48 	bl      2d04 <kvmhv_do_nested_tlbie+0x8c>
 			kvmppc_get_gpr(vcpu, 5), kvmppc_get_gpr(vcpu, 6));
 	if (ret)
-    2d18:	00 00 03 2c 	cmpwi   r3,0
-    2d1c:	b0 01 82 40 	bne     2ecc <kvmhv_do_nested_tlbie+0x244>
-    2d20:	70 00 01 e8 	ld      r0,112(r1)
-    2d24:	50 00 c1 eb 	ld      r30,80(r1)
+    2d08:	00 00 03 2c 	cmpwi   r3,0
+    2d0c:	b0 01 82 40 	bne     2ebc <kvmhv_do_nested_tlbie+0x244>
+    2d10:	70 00 01 e8 	ld      r0,112(r1)
+    2d14:	50 00 c1 eb 	ld      r30,80(r1)
 		return H_PARAMETER;
 	return H_SUCCESS;
-    2d28:	00 00 60 38 	li      r3,0
-    2d2c:	a6 03 08 7c 	mtlr    r0
+    2d18:	00 00 60 38 	li      r3,0
+    2d1c:	a6 03 08 7c 	mtlr    r0
 }
-    2d30:	28 00 41 e9 	ld      r10,40(r1)
-    2d34:	78 0c 2d e9 	ld      r9,3192(r13)
-    2d38:	79 4a 4a 7d 	xor.    r10,r10,r9
-    2d3c:	00 00 20 39 	li      r9,0
-    2d40:	6c 01 82 40 	bne     2eac <kvmhv_do_nested_tlbie+0x224>
-    2d44:	60 00 21 38 	addi    r1,r1,96
-    2d48:	e8 ff a1 eb 	ld      r29,-24(r1)
-    2d4c:	20 00 80 4e 	blr
+    2d20:	28 00 41 e9 	ld      r10,40(r1)
+    2d24:	78 0c 2d e9 	ld      r9,3192(r13)
+    2d28:	79 4a 4a 7d 	xor.    r10,r10,r9
+    2d2c:	00 00 20 39 	li      r9,0
+    2d30:	6c 01 82 40 	bne     2e9c <kvmhv_do_nested_tlbie+0x224>
+    2d34:	60 00 21 38 	addi    r1,r1,96
+    2d38:	e8 ff a1 eb 	ld      r29,-24(r1)
+    2d3c:	20 00 80 4e 	blr
 	switch (is) {
-    2d50:	02 00 0a 2c 	cmpwi   r10,2
-    2d54:	a6 02 08 7c 	mflr    r0
-    2d58:	58 00 e1 fb 	std     r31,88(r1)
-    2d5c:	78 1b 7f 7c 	mr      r31,r3
-    2d60:	70 00 01 f8 	std     r0,112(r1)
-    2d64:	cc 00 82 41 	beq     2e30 <kvmhv_do_nested_tlbie+0x1a8>
-    2d68:	78 eb a3 7f 	mr      r3,r29
-    2d6c:	38 00 61 fb 	std     r27,56(r1)
-    2d70:	40 00 81 fb 	std     r28,64(r1)
+    2d40:	02 00 0a 2c 	cmpwi   r10,2
+    2d44:	a6 02 08 7c 	mflr    r0
+    2d48:	58 00 e1 fb 	std     r31,88(r1)
+    2d4c:	78 1b 7f 7c 	mr      r31,r3
+    2d50:	70 00 01 f8 	std     r0,112(r1)
+    2d54:	cc 00 82 41 	beq     2e20 <kvmhv_do_nested_tlbie+0x1a8>
+    2d58:	78 eb a3 7f 	mr      r3,r29
+    2d5c:	38 00 61 fb 	std     r27,56(r1)
+    2d60:	40 00 81 fb 	std     r28,64(r1)
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    2d74:	b4 07 de 7f 	extsw   r30,r30
+    2d64:	b4 07 de 7f 	extsw   r30,r30
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-    2d78:	60 0c 9d 3b 	addi    r28,r29,3168
-    2d7c:	00 00 60 3b 	li      r27,0
+    2d68:	60 0c 9d 3b 	addi    r28,r29,3168
+    2d6c:	00 00 60 3b 	li      r27,0
 	int lpid;
-    2d80:	24 00 21 91 	stw     r9,36(r1)
-    2d84:	01 00 00 48 	bl      2d84 <kvmhv_do_nested_tlbie+0xfc>
-    2d88:	00 00 00 60 	nop
+    2d70:	24 00 21 91 	stw     r9,36(r1)
+    2d74:	01 00 00 48 	bl      2d74 <kvmhv_do_nested_tlbie+0xfc>
+    2d78:	00 00 00 60 	nop
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-    2d8c:	00 00 20 39 	li      r9,0
-    2d90:	4c 00 00 48 	b       2ddc <kvmhv_do_nested_tlbie+0x154>
-    2d94:	00 00 00 60 	nop
-    2d98:	00 00 00 60 	nop
-    2d9c:	00 00 42 60 	ori     r2,r2,0
+    2d7c:	00 00 20 39 	li      r9,0
+    2d80:	4c 00 00 48 	b       2dcc <kvmhv_do_nested_tlbie+0x154>
+    2d84:	00 00 00 60 	nop
+    2d88:	00 00 00 60 	nop
+    2d8c:	00 00 42 60 	ori     r2,r2,0
 	if (unlikely(ms->mmiowb_pending)) {
-    2da0:	00 00 0a 2c 	cmpwi   r10,0
-    2da4:	dc 00 82 40 	bne     2e80 <kvmhv_do_nested_tlbie+0x1f8>
+    2d90:	00 00 0a 2c 	cmpwi   r10,0
+    2d94:	dc 00 82 40 	bne     2e70 <kvmhv_do_nested_tlbie+0x1f8>
 	ms->nesting_count--;
-    2da8:	80 0c 49 a1 	lhz     r10,3200(r9)
-    2dac:	ff ff 4a 39 	addi    r10,r10,-1
-    2db0:	80 0c 49 b1 	sth     r10,3200(r9)
-    2db4:	ac 04 20 7c 	lwsync
-    2db8:	00 00 7d b3 	sth     r27,0(r29)
+    2d98:	80 0c 49 a1 	lhz     r10,3200(r9)
+    2d9c:	ff ff 4a 39 	addi    r10,r10,-1
+    2da0:	80 0c 49 b1 	sth     r10,3200(r9)
+    2da4:	ac 04 20 7c 	lwsync
+    2da8:	00 00 7d b3 	sth     r27,0(r29)
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    2dbc:	00 00 7f e8 	ld      r3,0(r31)
-    2dc0:	78 f3 c5 7f 	mr      r5,r30
-    2dc4:	01 00 00 48 	bl      2dc4 <kvmhv_do_nested_tlbie+0x13c>
-    2dc8:	78 eb a3 7f 	mr      r3,r29
-    2dcc:	01 00 00 48 	bl      2dcc <kvmhv_do_nested_tlbie+0x144>
-    2dd0:	00 00 00 60 	nop
+    2dac:	00 00 7f e8 	ld      r3,0(r31)
+    2db0:	78 f3 c5 7f 	mr      r5,r30
+    2db4:	01 00 00 48 	bl      2db4 <kvmhv_do_nested_tlbie+0x13c>
+    2db8:	78 eb a3 7f 	mr      r3,r29
+    2dbc:	01 00 00 48 	bl      2dbc <kvmhv_do_nested_tlbie+0x144>
+    2dc0:	00 00 00 60 	nop
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-    2dd4:	24 00 21 81 	lwz     r9,36(r1)
-    2dd8:	01 00 29 39 	addi    r9,r9,1
-    2ddc:	24 00 81 38 	addi    r4,r1,36
-    2de0:	78 e3 83 7f 	mr      r3,r28
-    2de4:	24 00 21 91 	stw     r9,36(r1)
-    2de8:	01 00 00 48 	bl      2de8 <kvmhv_do_nested_tlbie+0x160>
-    2dec:	00 00 00 60 	nop
-    2df0:	79 1b 64 7c 	mr.     r4,r3
+    2dc4:	24 00 21 81 	lwz     r9,36(r1)
+    2dc8:	01 00 29 39 	addi    r9,r9,1
+    2dcc:	24 00 81 38 	addi    r4,r1,36
+    2dd0:	78 e3 83 7f 	mr      r3,r28
+    2dd4:	24 00 21 91 	stw     r9,36(r1)
+    2dd8:	01 00 00 48 	bl      2dd8 <kvmhv_do_nested_tlbie+0x160>
+    2ddc:	00 00 00 60 	nop
+    2de0:	79 1b 64 7c 	mr.     r4,r3
 	if (unlikely(ms->mmiowb_pending)) {
-    2df4:	82 0c 4d a1 	lhz     r10,3202(r13)
+    2de4:	82 0c 4d a1 	lhz     r10,3202(r13)
 	struct mmiowb_state *ms = __mmiowb_state();
-    2df8:	78 6b a9 7d 	mr      r9,r13
-    2dfc:	a4 ff 82 40 	bne     2da0 <kvmhv_do_nested_tlbie+0x118>
+    2de8:	78 6b a9 7d 	mr      r9,r13
+    2dec:	a4 ff 82 40 	bne     2d90 <kvmhv_do_nested_tlbie+0x118>
 	if (unlikely(ms->mmiowb_pending)) {
-    2e00:	00 00 0a 2c 	cmpwi   r10,0
-    2e04:	9c 00 82 40 	bne     2ea0 <kvmhv_do_nested_tlbie+0x218>
+    2df0:	00 00 0a 2c 	cmpwi   r10,0
+    2df4:	9c 00 82 40 	bne     2e90 <kvmhv_do_nested_tlbie+0x218>
 	ms->nesting_count--;
-    2e08:	80 0c 49 a1 	lhz     r10,3200(r9)
-    2e0c:	ff ff 4a 39 	addi    r10,r10,-1
-    2e10:	80 0c 49 b1 	sth     r10,3200(r9)
-    2e14:	ac 04 20 7c 	lwsync
-    2e18:	00 00 20 39 	li      r9,0
-    2e1c:	00 00 3d b1 	sth     r9,0(r29)
+    2df8:	80 0c 49 a1 	lhz     r10,3200(r9)
+    2dfc:	ff ff 4a 39 	addi    r10,r10,-1
+    2e00:	80 0c 49 b1 	sth     r10,3200(r9)
+    2e04:	ac 04 20 7c 	lwsync
+    2e08:	00 00 20 39 	li      r9,0
+    2e0c:	00 00 3d b1 	sth     r9,0(r29)
 	if (ret)
-    2e20:	38 00 61 eb 	ld      r27,56(r1)
-    2e24:	40 00 81 eb 	ld      r28,64(r1)
-    2e28:	58 00 e1 eb 	ld      r31,88(r1)
-    2e2c:	f4 fe ff 4b 	b       2d20 <kvmhv_do_nested_tlbie+0x98>
+    2e10:	38 00 61 eb 	ld      r27,56(r1)
+    2e14:	40 00 81 eb 	ld      r28,64(r1)
+    2e18:	58 00 e1 eb 	ld      r31,88(r1)
+    2e1c:	f4 fe ff 4b 	b       2d10 <kvmhv_do_nested_tlbie+0x98>
 		gp = kvmhv_get_nested(kvm, lpid, false);
-    2e30:	78 eb a3 7f 	mr      r3,r29
-    2e34:	b4 07 84 7c 	extsw   r4,r4
-    2e38:	00 00 a0 38 	li      r5,0
-    2e3c:	01 00 00 48 	bl      2e3c <kvmhv_do_nested_tlbie+0x1b4>
+    2e20:	78 eb a3 7f 	mr      r3,r29
+    2e24:	b4 07 84 7c 	extsw   r4,r4
+    2e28:	00 00 a0 38 	li      r5,0
+    2e2c:	01 00 00 48 	bl      2e2c <kvmhv_do_nested_tlbie+0x1b4>
 		if (gp) {
-    2e40:	79 1b 7d 7c 	mr.     r29,r3
-    2e44:	2c 00 82 41 	beq     2e70 <kvmhv_do_nested_tlbie+0x1e8>
+    2e30:	79 1b 7d 7c 	mr.     r29,r3
+    2e34:	2c 00 82 41 	beq     2e60 <kvmhv_do_nested_tlbie+0x1e8>
 			kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    2e48:	00 00 7f e8 	ld      r3,0(r31)
-    2e4c:	b4 07 c5 7f 	extsw   r5,r30
-    2e50:	78 eb a4 7f 	mr      r4,r29
-    2e54:	01 00 00 48 	bl      2e54 <kvmhv_do_nested_tlbie+0x1cc>
+    2e38:	00 00 7f e8 	ld      r3,0(r31)
+    2e3c:	b4 07 c5 7f 	extsw   r5,r30
+    2e40:	78 eb a4 7f 	mr      r4,r29
+    2e44:	01 00 00 48 	bl      2e44 <kvmhv_do_nested_tlbie+0x1cc>
 			kvmhv_put_nested(gp);
-    2e58:	78 eb a3 7f 	mr      r3,r29
-    2e5c:	01 00 00 48 	bl      2e5c <kvmhv_do_nested_tlbie+0x1d4>
+    2e48:	78 eb a3 7f 	mr      r3,r29
+    2e4c:	01 00 00 48 	bl      2e4c <kvmhv_do_nested_tlbie+0x1d4>
 	if (ret)
+    2e50:	58 00 e1 eb 	ld      r31,88(r1)
+    2e54:	bc fe ff 4b 	b       2d10 <kvmhv_do_nested_tlbie+0x98>
+    2e58:	00 00 00 60 	nop
+    2e5c:	00 00 42 60 	ori     r2,r2,0
     2e60:	58 00 e1 eb 	ld      r31,88(r1)
-    2e64:	bc fe ff 4b 	b       2d20 <kvmhv_do_nested_tlbie+0x98>
+    2e64:	ac fe ff 4b 	b       2d10 <kvmhv_do_nested_tlbie+0x98>
     2e68:	00 00 00 60 	nop
     2e6c:	00 00 42 60 	ori     r2,r2,0
-    2e70:	58 00 e1 eb 	ld      r31,88(r1)
-    2e74:	ac fe ff 4b 	b       2d20 <kvmhv_do_nested_tlbie+0x98>
-    2e78:	00 00 00 60 	nop
-    2e7c:	00 00 42 60 	ori     r2,r2,0
 		ms->mmiowb_pending = 0;
-    2e80:	00 00 40 39 	li      r10,0
-    2e84:	82 0c 49 b1 	sth     r10,3202(r9)
+    2e70:	00 00 40 39 	li      r10,0
+    2e74:	82 0c 49 b1 	sth     r10,3202(r9)
 		mmiowb();
-    2e88:	ac 04 00 7c 	hwsync
-    2e8c:	1c ff ff 4b 	b       2da8 <kvmhv_do_nested_tlbie+0x120>
-    2e90:	50 00 c1 eb 	ld      r30,80(r1)
+    2e78:	ac 04 00 7c 	hwsync
+    2e7c:	1c ff ff 4b 	b       2d98 <kvmhv_do_nested_tlbie+0x120>
+    2e80:	50 00 c1 eb 	ld      r30,80(r1)
 		return H_PARAMETER;
-    2e94:	fc ff 60 38 	li      r3,-4
-    2e98:	98 fe ff 4b 	b       2d30 <kvmhv_do_nested_tlbie+0xa8>
-    2e9c:	00 00 42 60 	ori     r2,r2,0
+    2e84:	fc ff 60 38 	li      r3,-4
+    2e88:	98 fe ff 4b 	b       2d20 <kvmhv_do_nested_tlbie+0xa8>
+    2e8c:	00 00 42 60 	ori     r2,r2,0
 		ms->mmiowb_pending = 0;
-    2ea0:	82 0c 8d b0 	sth     r4,3202(r13)
+    2e90:	82 0c 8d b0 	sth     r4,3202(r13)
 		mmiowb();
-    2ea4:	ac 04 00 7c 	hwsync
-    2ea8:	60 ff ff 4b 	b       2e08 <kvmhv_do_nested_tlbie+0x180>
-    2eac:	a6 02 08 7c 	mflr    r0
-    2eb0:	38 00 61 fb 	std     r27,56(r1)
-    2eb4:	40 00 81 fb 	std     r28,64(r1)
-    2eb8:	50 00 c1 fb 	std     r30,80(r1)
-    2ebc:	58 00 e1 fb 	std     r31,88(r1)
-    2ec0:	70 00 01 f8 	std     r0,112(r1)
-}
-    2ec4:	01 00 00 48 	bl      2ec4 <kvmhv_do_nested_tlbie+0x23c>
-    2ec8:	00 00 00 60 	nop
-    2ecc:	70 00 01 e8 	ld      r0,112(r1)
-    2ed0:	50 00 c1 eb 	ld      r30,80(r1)
+    2e94:	ac 04 00 7c 	hwsync
+    2e98:	60 ff ff 4b 	b       2df8 <kvmhv_do_nested_tlbie+0x180>
+    2e9c:	a6 02 08 7c 	mflr    r0
+    2ea0:	38 00 61 fb 	std     r27,56(r1)
+    2ea4:	40 00 81 fb 	std     r28,64(r1)
+    2ea8:	50 00 c1 fb 	std     r30,80(r1)
+    2eac:	58 00 e1 fb 	std     r31,88(r1)
+    2eb0:	70 00 01 f8 	std     r0,112(r1)
+}
+    2eb4:	01 00 00 48 	bl      2eb4 <kvmhv_do_nested_tlbie+0x23c>
+    2eb8:	00 00 00 60 	nop
+    2ebc:	70 00 01 e8 	ld      r0,112(r1)
+    2ec0:	50 00 c1 eb 	ld      r30,80(r1)
 		return H_PARAMETER;
-    2ed4:	fc ff 60 38 	li      r3,-4
-    2ed8:	a6 03 08 7c 	mtlr    r0
-    2edc:	54 fe ff 4b 	b       2d30 <kvmhv_do_nested_tlbie+0xa8>
+    2ec4:	fc ff 60 38 	li      r3,-4
+    2ec8:	a6 03 08 7c 	mtlr    r0
+    2ecc:	54 fe ff 4b 	b       2d20 <kvmhv_do_nested_tlbie+0xa8>
 	...
 
-0000000000002ee8 <do_h_rpt_invalidate_pat>:
+0000000000002ed8 <do_h_rpt_invalidate_pat>:
  * as part of H_RPT_INVALIDATE hcall.
  */
 long do_h_rpt_invalidate_pat(struct kvm_vcpu *vcpu, unsigned long lpid,
 			     unsigned long type, unsigned long pg_sizes,
 			     unsigned long start, unsigned long end)
 {
-    2ee8:	f8 ff 4c e8 	ld      r2,-8(r12)
-    2eec:	14 62 42 7c 	add     r2,r2,r12
-    2ef0:	a6 02 08 7c 	mflr    r0
-    2ef4:	01 00 00 48 	bl      2ef4 <do_h_rpt_invalidate_pat+0xc>
-    2ef8:	a6 02 08 7c 	mflr    r0
-    2efc:	b8 ff e1 fa 	std     r23,-72(r1)
-    2f00:	d0 ff 41 fb 	std     r26,-48(r1)
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2f04:	b4 07 97 7c 	extsw   r23,r4
-{
-    2f08:	78 33 da 7c 	mr      r26,r6
-    2f0c:	d8 ff 61 fb 	std     r27,-40(r1)
-    2f10:	e0 ff 81 fb 	std     r28,-32(r1)
-    2f14:	78 3b fb 7c 	mr      r27,r7
-    2f18:	78 43 1c 7d 	mr      r28,r8
-    2f1c:	e8 ff a1 fb 	std     r29,-24(r1)
-    2f20:	f0 ff c1 fb 	std     r30,-16(r1)
-    2f24:	78 1b 7d 7c 	mr      r29,r3
+    2ed8:	f8 ff 4c e8 	ld      r2,-8(r12)
+    2edc:	14 62 42 7c 	add     r2,r2,r12
+    2ee0:	a6 02 08 7c 	mflr    r0
+    2ee4:	01 00 00 48 	bl      2ee4 <do_h_rpt_invalidate_pat+0xc>
+    2ee8:	a6 02 08 7c 	mflr    r0
+    2eec:	b8 ff e1 fa 	std     r23,-72(r1)
+    2ef0:	d0 ff 41 fb 	std     r26,-48(r1)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2ef4:	b4 07 97 7c 	extsw   r23,r4
+{
+    2ef8:	78 33 da 7c 	mr      r26,r6
+    2efc:	d8 ff 61 fb 	std     r27,-40(r1)
+    2f00:	e0 ff 81 fb 	std     r28,-32(r1)
+    2f04:	78 3b fb 7c 	mr      r27,r7
+    2f08:	78 43 1c 7d 	mr      r28,r8
+    2f0c:	e8 ff a1 fb 	std     r29,-24(r1)
+    2f10:	f0 ff c1 fb 	std     r30,-16(r1)
+    2f14:	78 1b 7d 7c 	mr      r29,r3
 	 * partition table entries for L2. This happens even before the
 	 * corresponding shadow lpid is created in HV which happens in
 	 * H_ENTER_NESTED call. Since we can't differentiate this case from
 	 * the invalid case, we ignore such flush requests and return success.
 	 */
 	if (!__find_nested(vcpu->kvm, lpid))
-    2f28:	78 23 9e 7c 	mr      r30,r4
+    2f18:	78 23 9e 7c 	mr      r30,r4
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2f2c:	78 bb e4 7e 	mr      r4,r23
+    2f1c:	78 bb e4 7e 	mr      r4,r23
 {
-    2f30:	f8 ff e1 fb 	std     r31,-8(r1)
-    2f34:	10 00 01 f8 	std     r0,16(r1)
-    2f38:	78 2b bf 7c 	mr      r31,r5
-    2f3c:	71 ff 21 f8 	stdu    r1,-144(r1)
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2f40:	00 00 63 e8 	ld      r3,0(r3)
-    2f44:	60 0c 63 38 	addi    r3,r3,3168
-    2f48:	01 00 00 48 	bl      2f48 <do_h_rpt_invalidate_pat+0x60>
-    2f4c:	00 00 00 60 	nop
+    2f20:	f8 ff e1 fb 	std     r31,-8(r1)
+    2f24:	10 00 01 f8 	std     r0,16(r1)
+    2f28:	78 2b bf 7c 	mr      r31,r5
+    2f2c:	71 ff 21 f8 	stdu    r1,-144(r1)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2f30:	00 00 63 e8 	ld      r3,0(r3)
+    2f34:	60 0c 63 38 	addi    r3,r3,3168
+    2f38:	01 00 00 48 	bl      2f38 <do_h_rpt_invalidate_pat+0x60>
+    2f3c:	00 00 00 60 	nop
 	if (!__find_nested(vcpu->kvm, lpid))
-    2f50:	00 00 23 2c 	cmpdi   r3,0
-    2f54:	28 00 82 41 	beq     2f7c <do_h_rpt_invalidate_pat+0x94>
+    2f40:	00 00 23 2c 	cmpdi   r3,0
+    2f44:	28 00 82 41 	beq     2f6c <do_h_rpt_invalidate_pat+0x94>
 		return H_SUCCESS;
 
 	/*
 	 * A flush all request can be handled by a full lpid flush only.
 	 */
 	if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL)
-    2f58:	3c 07 e9 57 	rlwinm  r9,r31,0,28,30
-    2f5c:	0e 00 29 2c 	cmpdi   r9,14
-    2f60:	50 01 82 41 	beq     30b0 <do_h_rpt_invalidate_pat+0x1c8>
+    2f48:	3c 07 e9 57 	rlwinm  r9,r31,0,28,30
+    2f4c:	0e 00 29 2c 	cmpdi   r9,14
+    2f50:	50 01 82 41 	beq     30a0 <do_h_rpt_invalidate_pat+0x1c8>
 	 *	if (ret)
 	 *		return H_P4;
 	 * }
 	 */
 
 	if (start == 0 && end == -1)
-    2f64:	00 00 3b 2c 	cmpdi   r27,0
-    2f68:	0c 00 82 40 	bne     2f74 <do_h_rpt_invalidate_pat+0x8c>
-    2f6c:	ff ff 3c 2c 	cmpdi   r28,-1
-    2f70:	80 01 82 41 	beq     30f0 <do_h_rpt_invalidate_pat+0x208>
+    2f54:	00 00 3b 2c 	cmpdi   r27,0
+    2f58:	0c 00 82 40 	bne     2f64 <do_h_rpt_invalidate_pat+0x8c>
+    2f5c:	ff ff 3c 2c 	cmpdi   r28,-1
+    2f60:	80 01 82 41 	beq     30e0 <do_h_rpt_invalidate_pat+0x208>
 		return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_TLB);
 
 	if (type & H_RPTI_TYPE_TLB)
-    2f74:	02 00 ff 73 	andi.   r31,r31,2
-    2f78:	38 00 82 40 	bne     2fb0 <do_h_rpt_invalidate_pat+0xc8>
+    2f64:	02 00 ff 73 	andi.   r31,r31,2
+    2f68:	38 00 82 40 	bne     2fa0 <do_h_rpt_invalidate_pat+0xc8>
 		return do_tlb_invalidate_nested_tlb(vcpu, lpid, pg_sizes,
 						    start, end);
 	return H_SUCCESS;
 }
-    2f7c:	90 00 21 38 	addi    r1,r1,144
+    2f6c:	90 00 21 38 	addi    r1,r1,144
 		return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL);
-    2f80:	00 00 60 38 	li      r3,0
+    2f70:	00 00 60 38 	li      r3,0
 }
-    2f84:	10 00 01 e8 	ld      r0,16(r1)
-    2f88:	b8 ff e1 ea 	ld      r23,-72(r1)
-    2f8c:	d0 ff 41 eb 	ld      r26,-48(r1)
-    2f90:	d8 ff 61 eb 	ld      r27,-40(r1)
-    2f94:	e0 ff 81 eb 	ld      r28,-32(r1)
-    2f98:	e8 ff a1 eb 	ld      r29,-24(r1)
-    2f9c:	f0 ff c1 eb 	ld      r30,-16(r1)
-    2fa0:	f8 ff e1 eb 	ld      r31,-8(r1)
-    2fa4:	a6 03 08 7c 	mtlr    r0
-    2fa8:	20 00 80 4e 	blr
-    2fac:	00 00 42 60 	ori     r2,r2,0
-    2fb0:	00 00 22 3d 	addis   r9,r2,0
-    2fb4:	50 00 01 fb 	std     r24,80(r1)
-    2fb8:	28 00 61 fa 	std     r19,40(r1)
-    2fbc:	b4 07 de 7f 	extsw   r30,r30
+    2f74:	10 00 01 e8 	ld      r0,16(r1)
+    2f78:	b8 ff e1 ea 	ld      r23,-72(r1)
+    2f7c:	d0 ff 41 eb 	ld      r26,-48(r1)
+    2f80:	d8 ff 61 eb 	ld      r27,-40(r1)
+    2f84:	e0 ff 81 eb 	ld      r28,-32(r1)
+    2f88:	e8 ff a1 eb 	ld      r29,-24(r1)
+    2f8c:	f0 ff c1 eb 	ld      r30,-16(r1)
+    2f90:	f8 ff e1 eb 	ld      r31,-8(r1)
+    2f94:	a6 03 08 7c 	mtlr    r0
+    2f98:	20 00 80 4e 	blr
+    2f9c:	00 00 42 60 	ori     r2,r2,0
+    2fa0:	00 00 22 3d 	addis   r9,r2,0
+    2fa4:	50 00 01 fb 	std     r24,80(r1)
+    2fa8:	28 00 61 fa 	std     r19,40(r1)
+    2fac:	b4 07 de 7f 	extsw   r30,r30
 	int ret = H_P4;
-    2fc0:	c7 ff 60 38 	li      r3,-57
+    2fb0:	c7 ff 60 38 	li      r3,-57
 		page_size = 1UL << def->shift;
-    2fc4:	01 00 60 3a 	li      r19,1
-    2fc8:	30 00 81 fa 	std     r20,48(r1)
-    2fcc:	38 00 a1 fa 	std     r21,56(r1)
+    2fb4:	01 00 60 3a 	li      r19,1
+    2fb8:	30 00 81 fa 	std     r20,48(r1)
+    2fbc:	38 00 a1 fa 	std     r21,56(r1)
 		nr_pages = (end - start) >> def->shift;
-    2fd0:	50 e0 9b 7e 	subf    r20,r27,r28
-    2fd4:	00 00 09 eb 	ld      r24,0(r9)
-    2fd8:	40 00 c1 fa 	std     r22,64(r1)
-    2fdc:	58 00 21 fb 	std     r25,88(r1)
-    2fe0:	00 06 b8 3a 	addi    r21,r24,1536
+    2fc0:	50 e0 9b 7e 	subf    r20,r27,r28
+    2fc4:	00 00 09 eb 	ld      r24,0(r9)
+    2fc8:	40 00 c1 fa 	std     r22,64(r1)
+    2fcc:	58 00 21 fb 	std     r25,88(r1)
+    2fd0:	00 06 b8 3a 	addi    r21,r24,1536
 		if (!(pg_sizes & def->h_rpt_pgsize))
-    2fe4:	50 00 38 e9 	ld      r9,80(r24)
-    2fe8:	39 48 49 7f 	and.    r9,r26,r9
-    2fec:	24 00 82 40 	bne     3010 <do_h_rpt_invalidate_pat+0x128>
+    2fd4:	50 00 38 e9 	ld      r9,80(r24)
+    2fd8:	39 48 49 7f 	and.    r9,r26,r9
+    2fdc:	24 00 82 40 	bne     3000 <do_h_rpt_invalidate_pat+0x128>
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    2ff0:	60 00 18 3b 	addi    r24,r24,96
-    2ff4:	40 c0 35 7c 	cmpld   r21,r24
-    2ff8:	ec ff 82 40 	bne     2fe4 <do_h_rpt_invalidate_pat+0xfc>
+    2fe0:	60 00 18 3b 	addi    r24,r24,96
+    2fe4:	40 c0 35 7c 	cmpld   r21,r24
+    2fe8:	ec ff 82 40 	bne     2fd4 <do_h_rpt_invalidate_pat+0xfc>
 	return ret;
-    2ffc:	b4 07 63 7c 	extsw   r3,r3
-    3000:	6c 00 00 48 	b       306c <do_h_rpt_invalidate_pat+0x184>
-    3004:	00 00 00 60 	nop
-    3008:	00 00 00 60 	nop
-    300c:	00 00 42 60 	ori     r2,r2,0
+    2fec:	b4 07 63 7c 	extsw   r3,r3
+    2ff0:	6c 00 00 48 	b       305c <do_h_rpt_invalidate_pat+0x184>
+    2ff4:	00 00 00 60 	nop
+    2ff8:	00 00 00 60 	nop
+    2ffc:	00 00 42 60 	ori     r2,r2,0
 		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
-    3010:	00 00 22 3d 	addis   r9,r2,0
+    3000:	00 00 22 3d 	addis   r9,r2,0
 		nr_pages = (end - start) >> def->shift;
-    3014:	00 00 38 83 	lwz     r25,0(r24)
+    3004:	00 00 38 83 	lwz     r25,0(r24)
 		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
-    3018:	00 00 29 e9 	ld      r9,0(r9)
+    3008:	00 00 29 e9 	ld      r9,0(r9)
 		nr_pages = (end - start) >> def->shift;
-    301c:	36 cc 8a 7e 	srd     r10,r20,r25
+    300c:	36 cc 8a 7e 	srd     r10,r20,r25
 		if (flush_lpid)
-    3020:	00 00 29 e9 	ld      r9,0(r9)
-    3024:	40 48 2a 7c 	cmpld   r10,r9
-    3028:	fc 00 81 41 	bgt     3124 <do_h_rpt_invalidate_pat+0x23c>
+    3010:	00 00 29 e9 	ld      r9,0(r9)
+    3014:	40 48 2a 7c 	cmpld   r10,r9
+    3018:	fc 00 81 41 	bgt     3114 <do_h_rpt_invalidate_pat+0x23c>
 		page_size = 1UL << def->shift;
-    302c:	5a 00 d8 ea 	lwa     r22,88(r24)
-    3030:	36 c8 79 7e 	sld     r25,r19,r25
-    3034:	78 db 7f 7f 	mr      r31,r27
-    3038:	0c 00 00 48 	b       3044 <do_h_rpt_invalidate_pat+0x15c>
-    303c:	00 00 42 60 	ori     r2,r2,0
+    301c:	5a 00 d8 ea 	lwa     r22,88(r24)
+    3020:	36 c8 79 7e 	sld     r25,r19,r25
+    3024:	78 db 7f 7f 	mr      r31,r27
+    3028:	0c 00 00 48 	b       3034 <do_h_rpt_invalidate_pat+0x15c>
+    302c:	00 00 42 60 	ori     r2,r2,0
 		} while (addr < end);
-    3040:	b0 ff 9d 40 	ble     cr7,2ff0 <do_h_rpt_invalidate_pat+0x108>
+    3030:	b0 ff 9d 40 	ble     cr7,2fe0 <do_h_rpt_invalidate_pat+0x108>
 			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
-    3044:	02 a3 e6 7b 	rldicl  r6,r31,52,12
-    3048:	78 b3 c5 7e 	mr      r5,r22
-    304c:	78 f3 c4 7f 	mr      r4,r30
-    3050:	78 eb a3 7f 	mr      r3,r29
+    3034:	02 a3 e6 7b 	rldicl  r6,r31,52,12
+    3038:	78 b3 c5 7e 	mr      r5,r22
+    303c:	78 f3 c4 7f 	mr      r4,r30
+    3040:	78 eb a3 7f 	mr      r3,r29
 			addr += page_size;
-    3054:	14 ca ff 7f 	add     r31,r31,r25
+    3044:	14 ca ff 7f 	add     r31,r31,r25
 			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
-    3058:	01 00 00 48 	bl      3058 <do_h_rpt_invalidate_pat+0x170>
+    3048:	01 00 00 48 	bl      3048 <do_h_rpt_invalidate_pat+0x170>
 		} while (addr < end);
-    305c:	40 f8 bc 7f 	cmpld   cr7,r28,r31
+    304c:	40 f8 bc 7f 	cmpld   cr7,r28,r31
 			if (ret)
-    3060:	00 00 03 2c 	cmpwi   r3,0
-    3064:	dc ff 82 41 	beq     3040 <do_h_rpt_invalidate_pat+0x158>
+    3050:	00 00 03 2c 	cmpwi   r3,0
+    3054:	dc ff 82 41 	beq     3030 <do_h_rpt_invalidate_pat+0x158>
 				return H_P4;
-    3068:	c7 ff 60 38 	li      r3,-57
-    306c:	28 00 61 ea 	ld      r19,40(r1)
-    3070:	30 00 81 ea 	ld      r20,48(r1)
-    3074:	38 00 a1 ea 	ld      r21,56(r1)
-    3078:	40 00 c1 ea 	ld      r22,64(r1)
-    307c:	50 00 01 eb 	ld      r24,80(r1)
-    3080:	58 00 21 eb 	ld      r25,88(r1)
-}
-    3084:	90 00 21 38 	addi    r1,r1,144
-    3088:	10 00 01 e8 	ld      r0,16(r1)
-    308c:	b8 ff e1 ea 	ld      r23,-72(r1)
-    3090:	d0 ff 41 eb 	ld      r26,-48(r1)
-    3094:	d8 ff 61 eb 	ld      r27,-40(r1)
-    3098:	e0 ff 81 eb 	ld      r28,-32(r1)
-    309c:	e8 ff a1 eb 	ld      r29,-24(r1)
-    30a0:	f0 ff c1 eb 	ld      r30,-16(r1)
-    30a4:	f8 ff e1 eb 	ld      r31,-8(r1)
-    30a8:	a6 03 08 7c 	mtlr    r0
-    30ac:	20 00 80 4e 	blr
+    3058:	c7 ff 60 38 	li      r3,-57
+    305c:	28 00 61 ea 	ld      r19,40(r1)
+    3060:	30 00 81 ea 	ld      r20,48(r1)
+    3064:	38 00 a1 ea 	ld      r21,56(r1)
+    3068:	40 00 c1 ea 	ld      r22,64(r1)
+    306c:	50 00 01 eb 	ld      r24,80(r1)
+    3070:	58 00 21 eb 	ld      r25,88(r1)
+}
+    3074:	90 00 21 38 	addi    r1,r1,144
+    3078:	10 00 01 e8 	ld      r0,16(r1)
+    307c:	b8 ff e1 ea 	ld      r23,-72(r1)
+    3080:	d0 ff 41 eb 	ld      r26,-48(r1)
+    3084:	d8 ff 61 eb 	ld      r27,-40(r1)
+    3088:	e0 ff 81 eb 	ld      r28,-32(r1)
+    308c:	e8 ff a1 eb 	ld      r29,-24(r1)
+    3090:	f0 ff c1 eb 	ld      r30,-16(r1)
+    3094:	f8 ff e1 eb 	ld      r31,-8(r1)
+    3098:	a6 03 08 7c 	mtlr    r0
+    309c:	20 00 80 4e 	blr
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    30b0:	00 00 7d e8 	ld      r3,0(r29)
-    30b4:	78 bb e4 7e 	mr      r4,r23
-    30b8:	00 00 a0 38 	li      r5,0
-    30bc:	01 00 00 48 	bl      30bc <do_h_rpt_invalidate_pat+0x1d4>
+    30a0:	00 00 7d e8 	ld      r3,0(r29)
+    30a4:	78 bb e4 7e 	mr      r4,r23
+    30a8:	00 00 a0 38 	li      r5,0
+    30ac:	01 00 00 48 	bl      30ac <do_h_rpt_invalidate_pat+0x1d4>
 	if (gp) {
-    30c0:	79 1b 7f 7c 	mr.     r31,r3
-    30c4:	b8 fe 82 41 	beq     2f7c <do_h_rpt_invalidate_pat+0x94>
+    30b0:	79 1b 7f 7c 	mr.     r31,r3
+    30b4:	b8 fe 82 41 	beq     2f6c <do_h_rpt_invalidate_pat+0x94>
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    30c8:	00 00 7d e8 	ld      r3,0(r29)
-    30cc:	02 00 a0 38 	li      r5,2
-    30d0:	78 fb e4 7f 	mr      r4,r31
-    30d4:	01 00 00 48 	bl      30d4 <do_h_rpt_invalidate_pat+0x1ec>
+    30b8:	00 00 7d e8 	ld      r3,0(r29)
+    30bc:	02 00 a0 38 	li      r5,2
+    30c0:	78 fb e4 7f 	mr      r4,r31
+    30c4:	01 00 00 48 	bl      30c4 <do_h_rpt_invalidate_pat+0x1ec>
 		kvmhv_put_nested(gp);
-    30d8:	78 fb e3 7f 	mr      r3,r31
-    30dc:	01 00 00 48 	bl      30dc <do_h_rpt_invalidate_pat+0x1f4>
-    30e0:	9c fe ff 4b 	b       2f7c <do_h_rpt_invalidate_pat+0x94>
-    30e4:	00 00 00 60 	nop
-    30e8:	00 00 00 60 	nop
-    30ec:	00 00 42 60 	ori     r2,r2,0
+    30c8:	78 fb e3 7f 	mr      r3,r31
+    30cc:	01 00 00 48 	bl      30cc <do_h_rpt_invalidate_pat+0x1f4>
+    30d0:	9c fe ff 4b 	b       2f6c <do_h_rpt_invalidate_pat+0x94>
+    30d4:	00 00 00 60 	nop
+    30d8:	00 00 00 60 	nop
+    30dc:	00 00 42 60 	ori     r2,r2,0
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    30f0:	00 00 7d e8 	ld      r3,0(r29)
-    30f4:	78 bb e4 7e 	mr      r4,r23
-    30f8:	00 00 a0 38 	li      r5,0
-    30fc:	01 00 00 48 	bl      30fc <do_h_rpt_invalidate_pat+0x214>
+    30e0:	00 00 7d e8 	ld      r3,0(r29)
+    30e4:	78 bb e4 7e 	mr      r4,r23
+    30e8:	00 00 a0 38 	li      r5,0
+    30ec:	01 00 00 48 	bl      30ec <do_h_rpt_invalidate_pat+0x214>
 	if (gp) {
-    3100:	79 1b 7f 7c 	mr.     r31,r3
-    3104:	78 fe 82 41 	beq     2f7c <do_h_rpt_invalidate_pat+0x94>
+    30f0:	79 1b 7f 7c 	mr.     r31,r3
+    30f4:	78 fe 82 41 	beq     2f6c <do_h_rpt_invalidate_pat+0x94>
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    3108:	00 00 7d e8 	ld      r3,0(r29)
-    310c:	00 00 a0 38 	li      r5,0
-    3110:	78 fb e4 7f 	mr      r4,r31
-    3114:	01 00 00 48 	bl      3114 <do_h_rpt_invalidate_pat+0x22c>
+    30f8:	00 00 7d e8 	ld      r3,0(r29)
+    30fc:	00 00 a0 38 	li      r5,0
+    3100:	78 fb e4 7f 	mr      r4,r31
+    3104:	01 00 00 48 	bl      3104 <do_h_rpt_invalidate_pat+0x22c>
 		kvmhv_put_nested(gp);
-    3118:	78 fb e3 7f 	mr      r3,r31
-    311c:	01 00 00 48 	bl      311c <do_h_rpt_invalidate_pat+0x234>
-    3120:	5c fe ff 4b 	b       2f7c <do_h_rpt_invalidate_pat+0x94>
+    3108:	78 fb e3 7f 	mr      r3,r31
+    310c:	01 00 00 48 	bl      310c <do_h_rpt_invalidate_pat+0x234>
+    3110:	5c fe ff 4b 	b       2f6c <do_h_rpt_invalidate_pat+0x94>
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    3124:	00 00 7d e8 	ld      r3,0(r29)
-    3128:	78 bb e4 7e 	mr      r4,r23
-    312c:	00 00 a0 38 	li      r5,0
-    3130:	01 00 00 48 	bl      3130 <do_h_rpt_invalidate_pat+0x248>
+    3114:	00 00 7d e8 	ld      r3,0(r29)
+    3118:	78 bb e4 7e 	mr      r4,r23
+    311c:	00 00 a0 38 	li      r5,0
+    3120:	01 00 00 48 	bl      3120 <do_h_rpt_invalidate_pat+0x248>
 	if (gp) {
-    3134:	79 1b 7f 7c 	mr.     r31,r3
-    3138:	1c 00 82 41 	beq     3154 <do_h_rpt_invalidate_pat+0x26c>
+    3124:	79 1b 7f 7c 	mr.     r31,r3
+    3128:	1c 00 82 41 	beq     3144 <do_h_rpt_invalidate_pat+0x26c>
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    313c:	00 00 7d e8 	ld      r3,0(r29)
-    3140:	00 00 a0 38 	li      r5,0
-    3144:	78 fb e4 7f 	mr      r4,r31
-    3148:	01 00 00 48 	bl      3148 <do_h_rpt_invalidate_pat+0x260>
+    312c:	00 00 7d e8 	ld      r3,0(r29)
+    3130:	00 00 a0 38 	li      r5,0
+    3134:	78 fb e4 7f 	mr      r4,r31
+    3138:	01 00 00 48 	bl      3138 <do_h_rpt_invalidate_pat+0x260>
 		kvmhv_put_nested(gp);
-    314c:	78 fb e3 7f 	mr      r3,r31
-    3150:	01 00 00 48 	bl      3150 <do_h_rpt_invalidate_pat+0x268>
-    3154:	28 00 61 ea 	ld      r19,40(r1)
-    3158:	30 00 81 ea 	ld      r20,48(r1)
-    315c:	38 00 a1 ea 	ld      r21,56(r1)
-    3160:	40 00 c1 ea 	ld      r22,64(r1)
-    3164:	50 00 01 eb 	ld      r24,80(r1)
-    3168:	58 00 21 eb 	ld      r25,88(r1)
-    316c:	10 fe ff 4b 	b       2f7c <do_h_rpt_invalidate_pat+0x94>
+    313c:	78 fb e3 7f 	mr      r3,r31
+    3140:	01 00 00 48 	bl      3140 <do_h_rpt_invalidate_pat+0x268>
+    3144:	28 00 61 ea 	ld      r19,40(r1)
+    3148:	30 00 81 ea 	ld      r20,48(r1)
+    314c:	38 00 a1 ea 	ld      r21,56(r1)
+    3150:	40 00 c1 ea 	ld      r22,64(r1)
+    3154:	50 00 01 eb 	ld      r24,80(r1)
+    3158:	58 00 21 eb 	ld      r25,88(r1)
+    315c:	10 fe ff 4b 	b       2f6c <do_h_rpt_invalidate_pat+0x94>
 	...
 
-0000000000003178 <kvmhv_nested_page_fault>:
+0000000000003168 <kvmhv_nested_page_fault>:
 	kvmhv_invalidate_shadow_pte(vcpu, gp, n_gpa, NULL);
 	return RESUME_GUEST;
 }
 
 long int kvmhv_nested_page_fault(struct kvm_vcpu *vcpu)
 {
-    3178:	f8 ff 4c e8 	ld      r2,-8(r12)
-    317c:	14 62 42 7c 	add     r2,r2,r12
-    3180:	a6 02 08 7c 	mflr    r0
-    3184:	01 00 00 48 	bl      3184 <kvmhv_nested_page_fault+0xc>
-    3188:	a6 02 08 7c 	mflr    r0
-    318c:	26 80 70 7d 	mfocrf  r11,8
-    3190:	b8 ff e1 fa 	std     r23,-72(r1)
-    3194:	c0 ff 01 fb 	std     r24,-64(r1)
-    3198:	c8 ff 21 fb 	std     r25,-56(r1)
-    319c:	e8 ff a1 fb 	std     r29,-24(r1)
-    31a0:	f0 ff c1 fb 	std     r30,-16(r1)
-    31a4:	f8 ff e1 fb 	std     r31,-8(r1)
-    31a8:	78 1b 7f 7c 	mr      r31,r3
-    31ac:	10 00 01 f8 	std     r0,16(r1)
-    31b0:	d0 ff 41 fb 	std     r26,-48(r1)
-    31b4:	08 00 61 91 	stw     r11,8(r1)
-    31b8:	b1 fe 21 f8 	stdu    r1,-336(r1)
+    3168:	f8 ff 4c e8 	ld      r2,-8(r12)
+    316c:	14 62 42 7c 	add     r2,r2,r12
+    3170:	a6 02 08 7c 	mflr    r0
+    3174:	01 00 00 48 	bl      3174 <kvmhv_nested_page_fault+0xc>
+    3178:	a6 02 08 7c 	mflr    r0
+    317c:	26 80 70 7d 	mfocrf  r11,8
+    3180:	b8 ff e1 fa 	std     r23,-72(r1)
+    3184:	c0 ff 01 fb 	std     r24,-64(r1)
+    3188:	c8 ff 21 fb 	std     r25,-56(r1)
+    318c:	e8 ff a1 fb 	std     r29,-24(r1)
+    3190:	f0 ff c1 fb 	std     r30,-16(r1)
+    3194:	f8 ff e1 fb 	std     r31,-8(r1)
+    3198:	78 1b 7f 7c 	mr      r31,r3
+    319c:	10 00 01 f8 	std     r0,16(r1)
+    31a0:	d0 ff 41 fb 	std     r26,-48(r1)
+    31a4:	08 00 61 91 	stw     r11,8(r1)
+    31a8:	b1 fe 21 f8 	stdu    r1,-336(r1)
 	struct kvm_nested_guest *gp = vcpu->arch.nested;
-    31bc:	80 21 43 eb 	ld      r26,8576(r3)
+    31ac:	80 21 43 eb 	ld      r26,8576(r3)
 {
-    31c0:	78 0c 2d e9 	ld      r9,3192(r13)
-    31c4:	c8 00 21 f9 	std     r9,200(r1)
-    31c8:	00 00 20 39 	li      r9,0
+    31b0:	78 0c 2d e9 	ld      r9,3192(r13)
+    31b4:	c8 00 21 f9 	std     r9,200(r1)
+    31b8:	00 00 20 39 	li      r9,0
 	long int ret;
 
 	mutex_lock(&gp->tlb_lock);
-    31cc:	30 00 3a 3b 	addi    r25,r26,48
-    31d0:	78 cb 23 7f 	mr      r3,r25
-    31d4:	01 00 00 48 	bl      31d4 <kvmhv_nested_page_fault+0x5c>
-    31d8:	00 00 00 60 	nop
+    31bc:	30 00 3a 3b 	addi    r25,r26,48
+    31c0:	78 cb 23 7f 	mr      r3,r25
+    31c4:	01 00 00 48 	bl      31c4 <kvmhv_nested_page_fault+0x5c>
+    31c8:	00 00 00 60 	nop
 	struct rmap_nested *n_rmap;
-    31dc:	00 00 20 39 	li      r9,0
+    31cc:	00 00 20 39 	li      r9,0
 	unsigned long dsisr = vcpu->arch.fault_dsisr;
-    31e0:	e0 1c bf 83 	lwz     r29,7392(r31)
+    31d0:	e0 1c bf 83 	lwz     r29,7392(r31)
 	struct kvm *kvm = vcpu->kvm;
-    31e4:	00 00 1f eb 	ld      r24,0(r31)
+    31d4:	00 00 1f eb 	ld      r24,0(r31)
 	unsigned long ea = vcpu->arch.fault_dar;
-    31e8:	d8 1c ff ea 	ld      r23,7384(r31)
+    31d8:	d8 1c ff ea 	ld      r23,7384(r31)
 	struct kvmppc_pte gpte;
-    31ec:	90 00 21 f9 	std     r9,144(r1)
-    31f0:	98 00 21 f9 	std     r9,152(r1)
-    31f4:	a0 00 21 f9 	std     r9,160(r1)
-    31f8:	a8 00 21 f9 	std     r9,168(r1)
-    31fc:	b0 00 21 f9 	std     r9,176(r1)
-    3200:	b8 00 21 f9 	std     r9,184(r1)
-    3204:	8c 01 be 57 	rlwinm  r30,r29,0,6,6
-    3208:	c0 00 21 f9 	std     r9,192(r1)
+    31dc:	90 00 21 f9 	std     r9,144(r1)
+    31e0:	98 00 21 f9 	std     r9,152(r1)
+    31e4:	a0 00 21 f9 	std     r9,160(r1)
+    31e8:	a8 00 21 f9 	std     r9,168(r1)
+    31ec:	b0 00 21 f9 	std     r9,176(r1)
+    31f0:	b8 00 21 f9 	std     r9,184(r1)
+    31f4:	8c 01 be 57 	rlwinm  r30,r29,0,6,6
+    31f8:	c0 00 21 f9 	std     r9,192(r1)
 	if (!gp->l1_gr_to_hr) {
-    320c:	18 00 da e8 	ld      r6,24(r26)
+    31fc:	18 00 da e8 	ld      r6,24(r26)
 	struct rmap_nested *n_rmap;
-    3210:	78 00 21 f9 	std     r9,120(r1)
+    3200:	78 00 21 f9 	std     r9,120(r1)
 	pte_t pte, *pte_p;
-    3214:	80 00 21 f9 	std     r9,128(r1)
+    3204:	80 00 21 f9 	std     r9,128(r1)
 	unsigned int shift, l1_shift, level;
-    3218:	70 00 21 91 	stw     r9,112(r1)
-    321c:	74 00 21 91 	stw     r9,116(r1)
+    3208:	70 00 21 91 	stw     r9,112(r1)
+    320c:	74 00 21 91 	stw     r9,116(r1)
 	if (!gp->l1_gr_to_hr) {
-    3220:	00 00 26 2c 	cmpdi   r6,0
-    3224:	dc 02 82 41 	beq     3500 <kvmhv_nested_page_fault+0x388>
+    3210:	00 00 26 2c 	cmpdi   r6,0
+    3214:	dc 02 82 41 	beq     34f0 <kvmhv_nested_page_fault+0x388>
 	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
-    3228:	28 01 61 fb 	std     r27,296(r1)
-    322c:	f0 1c 7f eb 	ld      r27,7408(r31)
+    3218:	28 01 61 fb 	std     r27,296(r1)
+    321c:	f0 1c 7f eb 	ld      r27,7408(r31)
 	if (!(dsisr & DSISR_PRTABLE_FAULT))
-    3230:	02 00 a9 77 	andis.  r9,r29,2
+    3220:	02 00 a9 77 	andis.  r9,r29,2
 	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
-    3234:	e4 23 7b 7b 	rldicr  r27,r27,4,47
-    3238:	02 e1 7b 7b 	rldicl  r27,r27,60,4
+    3224:	e4 23 7b 7b 	rldicr  r27,r27,4,47
+    3228:	02 e1 7b 7b 	rldicl  r27,r27,60,4
 	if (!(dsisr & DSISR_PRTABLE_FAULT))
-    323c:	0c 00 82 40 	bne     3248 <kvmhv_nested_page_fault+0xd0>
+    322c:	0c 00 82 40 	bne     3238 <kvmhv_nested_page_fault+0xd0>
 		n_gpa |= ea & 0xFFF;
-    3240:	20 05 e9 7a 	clrldi  r9,r23,52
-    3244:	78 4b 7b 7f 	or      r27,r27,r9
+    3230:	20 05 e9 7a 	clrldi  r9,r23,52
+    3234:	78 4b 7b 7f 	or      r27,r27,r9
 	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
-    3248:	00 00 20 39 	li      r9,0
+    3238:	00 00 20 39 	li      r9,0
 	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
-    324c:	90 00 a1 38 	addi    r5,r1,144
-    3250:	88 00 e1 38 	addi    r7,r1,136
-    3254:	78 db 64 7f 	mr      r4,r27
-    3258:	78 fb e3 7f 	mr      r3,r31
+    323c:	90 00 a1 38 	addi    r5,r1,144
+    3240:	88 00 e1 38 	addi    r7,r1,136
+    3244:	78 db 64 7f 	mr      r4,r27
+    3248:	78 fb e3 7f 	mr      r3,r31
 	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
-    325c:	88 00 21 f9 	std     r9,136(r1)
+    324c:	88 00 21 f9 	std     r9,136(r1)
 	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
-    3260:	01 00 00 48 	bl      3260 <kvmhv_nested_page_fault+0xe8>
-    3264:	00 00 00 60 	nop
+    3250:	01 00 00 48 	bl      3250 <kvmhv_nested_page_fault+0xe8>
+    3254:	00 00 00 60 	nop
 	if (ret) {
-    3268:	00 00 03 2c 	cmpwi   r3,0
-    326c:	34 00 82 41 	beq     32a0 <kvmhv_nested_page_fault+0x128>
+    3258:	00 00 03 2c 	cmpwi   r3,0
+    325c:	34 00 82 41 	beq     3290 <kvmhv_nested_page_fault+0x128>
 		if (ret == -EINVAL) {
-    3270:	ea ff 03 2c 	cmpwi   r3,-22
-    3274:	bc 06 82 41 	beq     3930 <kvmhv_nested_page_fault+0x7b8>
+    3260:	ea ff 03 2c 	cmpwi   r3,-22
+    3264:	bc 06 82 41 	beq     3920 <kvmhv_nested_page_fault+0x7b8>
 		} else if (ret == -ENOENT) {
-    3278:	fe ff 03 2c 	cmpwi   r3,-2
-    327c:	c4 06 82 41 	beq     3940 <kvmhv_nested_page_fault+0x7c8>
+    3268:	fe ff 03 2c 	cmpwi   r3,-2
+    326c:	c4 06 82 41 	beq     3930 <kvmhv_nested_page_fault+0x7c8>
 		} else if (ret == -EFAULT) {
-    3280:	f2 ff 03 2c 	cmpwi   r3,-14
-    3284:	4c 06 82 41 	beq     38d0 <kvmhv_nested_page_fault+0x758>
+    3270:	f2 ff 03 2c 	cmpwi   r3,-14
+    3274:	4c 06 82 41 	beq     38c0 <kvmhv_nested_page_fault+0x758>
 	if (ret == RESUME_HOST &&
-    3288:	02 00 23 2c 	cmpdi   r3,2
+    3278:	02 00 23 2c 	cmpdi   r3,2
 	ret = kvmhv_translate_addr_nested(vcpu, gp, n_gpa, dsisr, &gpte);
-    328c:	78 1b 7e 7c 	mr      r30,r3
+    327c:	78 1b 7e 7c 	mr      r30,r3
 	if (ret == RESUME_HOST &&
-    3290:	04 02 82 41 	beq     3494 <kvmhv_nested_page_fault+0x31c>
-    3294:	28 01 61 eb 	ld      r27,296(r1)
-    3298:	10 02 00 48 	b       34a8 <kvmhv_nested_page_fault+0x330>
-    329c:	00 00 42 60 	ori     r2,r2,0
-    32a0:	30 01 81 fb 	std     r28,304(r1)
+    3280:	04 02 82 41 	beq     3484 <kvmhv_nested_page_fault+0x31c>
+    3284:	28 01 61 eb 	ld      r27,296(r1)
+    3288:	10 02 00 48 	b       3498 <kvmhv_nested_page_fault+0x330>
+    328c:	00 00 42 60 	ori     r2,r2,0
+    3290:	30 01 81 fb 	std     r28,304(r1)
 	bool writing = !!(dsisr & DSISR_ISSTORE);
-    32a4:	34 00 dc 7f 	cntlzw  r28,r30
+    3294:	34 00 dc 7f 	cntlzw  r28,r30
 		if (dsisr & DSISR_ISSTORE) {
-    32a8:	00 00 1e 2e 	cmpwi   cr4,r30,0
-    32ac:	e8 00 61 fa 	std     r19,232(r1)
-    32b0:	f8 00 a1 fa 	std     r21,248(r1)
-    32b4:	f0 00 81 fa 	std     r20,240(r1)
+    3298:	00 00 1e 2e 	cmpwi   cr4,r30,0
+    329c:	e8 00 61 fa 	std     r19,232(r1)
+    32a0:	f8 00 a1 fa 	std     r21,248(r1)
+    32a4:	f0 00 81 fa 	std     r20,240(r1)
 	unsigned long dsisr = vcpu->arch.fault_dsisr;
-    32b8:	20 00 b5 7b 	clrldi  r21,r29,32
-    32bc:	00 01 c1 fa 	std     r22,256(r1)
+    32a8:	20 00 b5 7b 	clrldi  r21,r29,32
+    32ac:	00 01 c1 fa 	std     r22,256(r1)
 	bool writing = !!(dsisr & DSISR_ISSTORE);
-    32c0:	7e d9 9c 57 	rlwinm  r28,r28,27,5,31
-    32c4:	01 00 93 6b 	xori    r19,r28,1
+    32b0:	7e d9 9c 57 	rlwinm  r28,r28,27,5,31
+    32b4:	01 00 93 6b 	xori    r19,r28,1
 		if (dsisr & DSISR_ISSTORE) {
-    32c8:	a8 02 92 41 	beq     cr4,3570 <kvmhv_nested_page_fault+0x3f8>
+    32b8:	a8 02 92 41 	beq     cr4,3560 <kvmhv_nested_page_fault+0x3f8>
 			if (!gpte_p->may_write) {
-    32cc:	a8 00 21 e9 	ld      r9,168(r1)
-    32d0:	02 00 29 71 	andi.   r9,r9,2
-    32d4:	7c 01 82 41 	beq     3450 <kvmhv_nested_page_fault+0x2d8>
+    32bc:	a8 00 21 e9 	ld      r9,168(r1)
+    32c0:	02 00 29 71 	andi.   r9,r9,2
+    32c4:	7c 01 82 41 	beq     3440 <kvmhv_nested_page_fault+0x2d8>
 	if (dsisr & DSISR_SET_RC) {
-    32d8:	04 00 a9 77 	andis.  r9,r29,4
-    32dc:	c4 03 82 40 	bne     36a0 <kvmhv_nested_page_fault+0x528>
-    32e0:	e0 00 41 fa 	std     r18,224(r1)
+    32c8:	04 00 a9 77 	andis.  r9,r29,4
+    32cc:	c4 03 82 40 	bne     3690 <kvmhv_nested_page_fault+0x528>
+    32d0:	e0 00 41 fa 	std     r18,224(r1)
 	l1_shift = gpte.page_shift;
-    32e4:	c1 00 81 8a 	lbz     r20,193(r1)
-    32e8:	3e 06 92 56 	clrlwi  r18,r20,24
+    32d4:	c1 00 81 8a 	lbz     r20,193(r1)
+    32d8:	3e 06 92 56 	clrlwi  r18,r20,24
 	if (l1_shift < PAGE_SHIFT) {
-    32ec:	0f 00 12 28 	cmplwi  r18,15
-    32f0:	b8 07 81 40 	ble     3aa8 <kvmhv_nested_page_fault+0x930>
+    32dc:	0f 00 12 28 	cmplwi  r18,15
+    32e0:	b8 07 81 40 	ble     3a98 <kvmhv_nested_page_fault+0x930>
 	gpa = gpte.raddr;
-    32f4:	a0 00 c1 ea 	ld      r22,160(r1)
+    32e4:	a0 00 c1 ea 	ld      r22,160(r1)
 	memslot = gfn_to_memslot(kvm, gfn);
-    32f8:	78 c3 03 7f 	mr      r3,r24
-    32fc:	02 84 c4 7a 	rldicl  r4,r22,48,16
-    3300:	01 00 00 48 	bl      3300 <kvmhv_nested_page_fault+0x188>
-    3304:	00 00 00 60 	nop
+    32e8:	78 c3 03 7f 	mr      r3,r24
+    32ec:	02 84 c4 7a 	rldicl  r4,r22,48,16
+    32f0:	01 00 00 48 	bl      32f0 <kvmhv_nested_page_fault+0x188>
+    32f4:	00 00 00 60 	nop
 	if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) {
-    3308:	79 1b 7d 7c 	mr.     r29,r3
-    330c:	18 02 82 41 	beq     3524 <kvmhv_nested_page_fault+0x3ac>
-    3310:	d8 00 21 fa 	std     r17,216(r1)
-    3314:	d8 00 3d 81 	lwz     r9,216(r29)
-    3318:	01 00 31 75 	andis.  r17,r9,1
-    331c:	04 02 82 40 	bne     3520 <kvmhv_nested_page_fault+0x3a8>
+    32f8:	79 1b 7d 7c 	mr.     r29,r3
+    32fc:	18 02 82 41 	beq     3514 <kvmhv_nested_page_fault+0x3ac>
+    3300:	d8 00 21 fa 	std     r17,216(r1)
+    3304:	d8 00 3d 81 	lwz     r9,216(r29)
+    3308:	01 00 31 75 	andis.  r17,r9,1
+    330c:	04 02 82 40 	bne     3510 <kvmhv_nested_page_fault+0x3a8>
 	if (memslot->flags & KVM_MEM_READONLY) {
-    3320:	02 00 29 71 	andi.   r9,r9,2
-    3324:	ac 06 82 41 	beq     39d0 <kvmhv_nested_page_fault+0x858>
+    3310:	02 00 29 71 	andi.   r9,r9,2
+    3314:	ac 06 82 41 	beq     39c0 <kvmhv_nested_page_fault+0x858>
 		if (writing) {
-    3328:	c8 05 92 40 	bne     cr4,38f0 <kvmhv_nested_page_fault+0x778>
+    3318:	c8 05 92 40 	bne     cr4,38e0 <kvmhv_nested_page_fault+0x778>
 		kvm_ro = true;
-    332c:	01 00 c0 3b 	li      r30,1
+    331c:	01 00 c0 3b 	li      r30,1
 	mmu_seq = kvm->mmu_invalidate_seq;
-    3330:	e8 4c f8 ea 	ld      r23,19688(r24)
+    3320:	e8 4c f8 ea 	ld      r23,19688(r24)
 	smp_rmb();
-    3334:	ac 04 20 7c 	lwsync
+    3324:	ac 04 20 7c 	lwsync
 	pte = __pte(0);
-    3338:	00 00 20 39 	li      r9,0
-    333c:	78 c3 03 7f 	mr      r3,r24
-    3340:	80 00 21 f9 	std     r9,128(r1)
-    3344:	01 00 00 48 	bl      3344 <kvmhv_nested_page_fault+0x1cc>
-    3348:	00 00 00 60 	nop
+    3328:	00 00 20 39 	li      r9,0
+    332c:	78 c3 03 7f 	mr      r3,r24
+    3330:	80 00 21 f9 	std     r9,128(r1)
+    3334:	01 00 00 48 	bl      3334 <kvmhv_nested_page_fault+0x1cc>
+    3338:	00 00 00 60 	nop
 {
 	pte_t *pte;
 
 	VM_WARN(!spin_is_locked(&kvm->mmu_lock),
 		"%s called with kvm mmu_lock not held \n", __func__);
 	pte = __find_linux_pte(kvm->arch.pgtable, ea, NULL, hshift);
-    334c:	50 0b 78 e8 	ld      r3,2896(r24)
-    3350:	78 b3 c4 7e 	mr      r4,r22
-    3354:	00 00 a0 38 	li      r5,0
-    3358:	70 00 c1 38 	addi    r6,r1,112
-    335c:	01 00 00 48 	bl      335c <kvmhv_nested_page_fault+0x1e4>
-    3360:	00 00 00 60 	nop
+    333c:	50 0b 78 e8 	ld      r3,2896(r24)
+    3340:	78 b3 c4 7e 	mr      r4,r22
+    3344:	00 00 a0 38 	li      r5,0
+    3348:	70 00 c1 38 	addi    r6,r1,112
+    334c:	01 00 00 48 	bl      334c <kvmhv_nested_page_fault+0x1e4>
+    3350:	00 00 00 60 	nop
 	if (!shift)
-    3364:	70 00 21 81 	lwz     r9,112(r1)
-    3368:	00 00 09 2c 	cmpwi   r9,0
-    336c:	0c 00 82 40 	bne     3378 <kvmhv_nested_page_fault+0x200>
+    3354:	70 00 21 81 	lwz     r9,112(r1)
+    3358:	00 00 09 2c 	cmpwi   r9,0
+    335c:	0c 00 82 40 	bne     3368 <kvmhv_nested_page_fault+0x200>
 		shift = PAGE_SHIFT;
-    3370:	10 00 20 39 	li      r9,16
-    3374:	70 00 21 91 	stw     r9,112(r1)
+    3360:	10 00 20 39 	li      r9,16
+    3364:	70 00 21 91 	stw     r9,112(r1)
 	if (pte_p)
-    3378:	00 00 23 2c 	cmpdi   r3,0
-    337c:	0c 00 82 41 	beq     3388 <kvmhv_nested_page_fault+0x210>
+    3368:	00 00 23 2c 	cmpdi   r3,0
+    336c:	0c 00 82 41 	beq     3378 <kvmhv_nested_page_fault+0x210>
 		pte = *pte_p;
-    3380:	00 00 23 e9 	ld      r9,0(r3)
-    3384:	80 00 21 f9 	std     r9,128(r1)
+    3370:	00 00 23 e9 	ld      r9,0(r3)
+    3374:	80 00 21 f9 	std     r9,128(r1)
 	if (unlikely(ms->mmiowb_pending)) {
-    3388:	82 0c 4d a1 	lhz     r10,3202(r13)
+    3378:	82 0c 4d a1 	lhz     r10,3202(r13)
 	struct mmiowb_state *ms = __mmiowb_state();
-    338c:	78 6b a9 7d 	mr      r9,r13
+    337c:	78 6b a9 7d 	mr      r9,r13
 	if (unlikely(ms->mmiowb_pending)) {
-    3390:	00 00 0a 2c 	cmpwi   r10,0
-    3394:	9c 06 82 40 	bne     3a30 <kvmhv_nested_page_fault+0x8b8>
+    3380:	00 00 0a 2c 	cmpwi   r10,0
+    3384:	9c 06 82 40 	bne     3a20 <kvmhv_nested_page_fault+0x8b8>
 	ms->nesting_count--;
-    3398:	80 0c 49 a1 	lhz     r10,3200(r9)
-    339c:	ff ff 4a 39 	addi    r10,r10,-1
-    33a0:	80 0c 49 b1 	sth     r10,3200(r9)
-    33a4:	ac 04 20 7c 	lwsync
-    33a8:	00 00 20 39 	li      r9,0
-    33ac:	00 00 38 b1 	sth     r9,0(r24)
+    3388:	80 0c 49 a1 	lhz     r10,3200(r9)
+    338c:	ff ff 4a 39 	addi    r10,r10,-1
+    3390:	80 0c 49 b1 	sth     r10,3200(r9)
+    3394:	ac 04 20 7c 	lwsync
+    3398:	00 00 20 39 	li      r9,0
+    339c:	00 00 38 b1 	sth     r9,0(r24)
 	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    33b0:	80 00 81 e8 	ld      r4,128(r1)
+    33a0:	80 00 81 e8 	ld      r4,128(r1)
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
-    33b4:	32 06 89 54 	rlwinm  r9,r4,0,24,25
+    33a4:	32 06 89 54 	rlwinm  r9,r4,0,24,25
 	if (pte_hw_valid(pte))
-    33b8:	c0 00 29 2c 	cmpdi   r9,192
-    33bc:	34 04 82 41 	beq     37f0 <kvmhv_nested_page_fault+0x678>
+    33a8:	c0 00 29 2c 	cmpdi   r9,192
+    33ac:	34 04 82 41 	beq     37e0 <kvmhv_nested_page_fault+0x678>
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-    33c0:	74 06 89 54 	rlwinm  r9,r4,0,25,26
-    33c4:	60 00 29 2c 	cmpdi   r9,96
-    33c8:	28 04 82 41 	beq     37f0 <kvmhv_nested_page_fault+0x678>
+    33b0:	74 06 89 54 	rlwinm  r9,r4,0,25,26
+    33b4:	60 00 29 2c 	cmpdi   r9,96
+    33b8:	28 04 82 41 	beq     37e0 <kvmhv_nested_page_fault+0x678>
 		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
-    33cc:	e0 07 c7 7b 	clrldi  r7,r30,63
-    33d0:	e0 07 66 7a 	clrldi  r6,r19,63
-    33d4:	78 fb e3 7f 	mr      r3,r31
-    33d8:	74 00 21 39 	addi    r9,r1,116
-    33dc:	80 00 01 39 	addi    r8,r1,128
-    33e0:	78 eb a5 7f 	mr      r5,r29
-    33e4:	78 b3 c4 7e 	mr      r4,r22
-    33e8:	01 00 00 48 	bl      33e8 <kvmhv_nested_page_fault+0x270>
-    33ec:	00 00 00 60 	nop
+    33bc:	e0 07 c7 7b 	clrldi  r7,r30,63
+    33c0:	e0 07 66 7a 	clrldi  r6,r19,63
+    33c4:	78 fb e3 7f 	mr      r3,r31
+    33c8:	74 00 21 39 	addi    r9,r1,116
+    33cc:	80 00 01 39 	addi    r8,r1,128
+    33d0:	78 eb a5 7f 	mr      r5,r29
+    33d4:	78 b3 c4 7e 	mr      r4,r22
+    33d8:	01 00 00 48 	bl      33d8 <kvmhv_nested_page_fault+0x270>
+    33dc:	00 00 00 60 	nop
 		if (ret == -EAGAIN)
-    33f0:	f5 ff 23 2c 	cmpdi   r3,-11
+    33e0:	f5 ff 23 2c 	cmpdi   r3,-11
 		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
-    33f4:	78 1b 7e 7c 	mr      r30,r3
+    33e4:	78 1b 7e 7c 	mr      r30,r3
 		if (ret == -EAGAIN)
-    33f8:	0c 05 82 41 	beq     3904 <kvmhv_nested_page_fault+0x78c>
+    33e8:	0c 05 82 41 	beq     38f4 <kvmhv_nested_page_fault+0x78c>
 		else if (ret)
-    33fc:	00 00 23 2c 	cmpdi   r3,0
-    3400:	ac 03 82 40 	bne     37ac <kvmhv_nested_page_fault+0x634>
+    33ec:	00 00 23 2c 	cmpdi   r3,0
+    33f0:	ac 03 82 40 	bne     379c <kvmhv_nested_page_fault+0x634>
 		return PUD_SHIFT;
-    3404:	00 00 42 3d 	addis   r10,r2,0
+    33f4:	00 00 42 3d 	addis   r10,r2,0
 		shift = kvmppc_radix_level_to_shift(level);
-    3408:	74 00 21 81 	lwz     r9,116(r1)
+    33f8:	74 00 21 81 	lwz     r9,116(r1)
 		return PUD_SHIFT;
-    340c:	00 00 0a e9 	ld      r8,0(r10)
-    3410:	00 00 42 3d 	addis   r10,r2,0
+    33fc:	00 00 0a e9 	ld      r8,0(r10)
+    3400:	00 00 42 3d 	addis   r10,r2,0
 	switch (level) {
-    3414:	01 00 09 28 	cmplwi  r9,1
+    3404:	01 00 09 28 	cmplwi  r9,1
 		return PUD_SHIFT;
-    3418:	00 00 4a e9 	ld      r10,0(r10)
-    341c:	00 00 a8 e8 	ld      r5,0(r8)
-    3420:	00 00 ea e8 	ld      r7,0(r10)
+    3408:	00 00 4a e9 	ld      r10,0(r10)
+    340c:	00 00 a8 e8 	ld      r5,0(r8)
+    3410:	00 00 ea e8 	ld      r7,0(r10)
 	switch (level) {
-    3424:	1c 06 82 41 	beq     3a40 <kvmhv_nested_page_fault+0x8c8>
-    3428:	02 00 09 28 	cmplwi  r9,2
-    342c:	d4 05 82 40 	bne     3a00 <kvmhv_nested_page_fault+0x888>
+    3414:	1c 06 82 41 	beq     3a30 <kvmhv_nested_page_fault+0x8c8>
+    3418:	02 00 09 28 	cmplwi  r9,2
+    341c:	d4 05 82 40 	bne     39f0 <kvmhv_nested_page_fault+0x888>
 		return PUD_SHIFT;
-    3430:	14 3a 05 7d 	add     r8,r5,r7
+    3420:	14 3a 05 7d 	add     r8,r5,r7
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3434:	01 00 60 38 	li      r3,1
+    3424:	01 00 60 38 	li      r3,1
 		return PUD_SHIFT;
-    3438:	10 00 08 39 	addi    r8,r8,16
+    3428:	10 00 08 39 	addi    r8,r8,16
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    343c:	36 40 63 7c 	sld     r3,r3,r8
-    3440:	d0 00 e3 7f 	neg     r31,r3
-    3444:	80 00 81 e8 	ld      r4,128(r1)
+    342c:	36 40 63 7c 	sld     r3,r3,r8
+    3430:	d0 00 e3 7f 	neg     r31,r3
+    3434:	80 00 81 e8 	ld      r4,128(r1)
 		shift = kvmppc_radix_level_to_shift(level);
-    3448:	70 00 01 91 	stw     r8,112(r1)
-    344c:	d0 03 00 48 	b       381c <kvmhv_nested_page_fault+0x6a4>
+    3438:	70 00 01 91 	stw     r8,112(r1)
+    343c:	d0 03 00 48 	b       380c <kvmhv_nested_page_fault+0x6a4>
 				flags |= DSISR_PROTFAULT;
-    3450:	00 08 de 67 	oris    r30,r30,2048
+    3440:	00 08 de 67 	oris    r30,r30,2048
 				goto forward_to_l1;
-    3454:	e8 00 61 ea 	ld      r19,232(r1)
-    3458:	f0 00 81 ea 	ld      r20,240(r1)
-    345c:	f8 00 a1 ea 	ld      r21,248(r1)
-    3460:	00 01 c1 ea 	ld      r22,256(r1)
-    3464:	30 01 81 eb 	ld      r28,304(r1)
+    3444:	e8 00 61 ea 	ld      r19,232(r1)
+    3448:	f0 00 81 ea 	ld      r20,240(r1)
+    344c:	f8 00 a1 ea 	ld      r21,248(r1)
+    3450:	00 01 c1 ea 	ld      r22,256(r1)
+    3454:	30 01 81 eb 	ld      r28,304(r1)
 				flags |= DSISR_PROTFAULT;
-    3468:	20 00 c8 7b 	clrldi  r8,r30,32
+    3458:	20 00 c8 7b 	clrldi  r8,r30,32
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    346c:	a4 1d 5f 81 	lwz     r10,7588(r31)
+    345c:	a4 1d 5f 81 	lwz     r10,7588(r31)
 	vcpu->arch.fault_dsisr = flags;
-    3470:	e0 1c df 93 	stw     r30,7392(r31)
+    3460:	e0 1c df 93 	stw     r30,7392(r31)
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    3474:	20 0e 0a 2c 	cmpwi   r10,3616
-    3478:	1c 00 82 40 	bne     3494 <kvmhv_nested_page_fault+0x31c>
+    3464:	20 0e 0a 2c 	cmpwi   r10,3616
+    3468:	1c 00 82 40 	bne     3484 <kvmhv_nested_page_fault+0x31c>
 		vcpu->arch.shregs.msr &= SRR1_MSR_BITS;
-    347c:	d8 1e 3f e9 	ld      r9,7896(r31)
-    3480:	c0 87 40 3d 	lis     r10,-30784
-    3484:	ff ff 4a 61 	ori     r10,r10,65535
-    3488:	38 50 29 7d 	and     r9,r9,r10
+    346c:	d8 1e 3f e9 	ld      r9,7896(r31)
+    3470:	c0 87 40 3d 	lis     r10,-30784
+    3474:	ff ff 4a 61 	ori     r10,r10,65535
+    3478:	38 50 29 7d 	and     r9,r9,r10
 		vcpu->arch.shregs.msr |= flags;
-    348c:	78 43 29 7d 	or      r9,r9,r8
-    3490:	d8 1e 3f f9 	std     r9,7896(r31)
+    347c:	78 43 29 7d 	or      r9,r9,r8
+    3480:	d8 1e 3f f9 	std     r9,7896(r31)
 	if (ret == RESUME_HOST &&
-    3494:	0a 07 bd 57 	rlwinm  r29,r29,0,28,5
-    3498:	f9 00 bd 57 	rlwinm. r29,r29,0,3,28
-    349c:	38 03 82 40 	bne     37d4 <kvmhv_nested_page_fault+0x65c>
-    34a0:	28 01 61 eb 	ld      r27,296(r1)
+    3484:	0a 07 bd 57 	rlwinm  r29,r29,0,28,5
+    3488:	f9 00 bd 57 	rlwinm. r29,r29,0,3,28
+    348c:	38 03 82 40 	bne     37c4 <kvmhv_nested_page_fault+0x65c>
+    3490:	28 01 61 eb 	ld      r27,296(r1)
 			return RESUME_HOST;
-    34a4:	02 00 c0 3b 	li      r30,2
+    3494:	02 00 c0 3b 	li      r30,2
 	ret = __kvmhv_nested_page_fault(vcpu, gp);
 	mutex_unlock(&gp->tlb_lock);
-    34a8:	78 cb 23 7f 	mr      r3,r25
-    34ac:	01 00 00 48 	bl      34ac <kvmhv_nested_page_fault+0x334>
-    34b0:	00 00 00 60 	nop
+    3498:	78 cb 23 7f 	mr      r3,r25
+    349c:	01 00 00 48 	bl      349c <kvmhv_nested_page_fault+0x334>
+    34a0:	00 00 00 60 	nop
 	return ret;
 }
-    34b4:	c8 00 41 e9 	ld      r10,200(r1)
-    34b8:	78 0c 2d e9 	ld      r9,3192(r13)
-    34bc:	79 4a 4a 7d 	xor.    r10,r10,r9
-    34c0:	00 00 20 39 	li      r9,0
-    34c4:	bc 05 82 40 	bne     3a80 <kvmhv_nested_page_fault+0x908>
-    34c8:	50 01 21 38 	addi    r1,r1,336
-    34cc:	78 f3 c3 7f 	mr      r3,r30
-    34d0:	10 00 01 e8 	ld      r0,16(r1)
-    34d4:	08 00 61 81 	lwz     r11,8(r1)
-    34d8:	b8 ff e1 ea 	ld      r23,-72(r1)
-    34dc:	c0 ff 01 eb 	ld      r24,-64(r1)
-    34e0:	c8 ff 21 eb 	ld      r25,-56(r1)
-    34e4:	d0 ff 41 eb 	ld      r26,-48(r1)
-    34e8:	e8 ff a1 eb 	ld      r29,-24(r1)
-    34ec:	f0 ff c1 eb 	ld      r30,-16(r1)
-    34f0:	f8 ff e1 eb 	ld      r31,-8(r1)
-    34f4:	a6 03 08 7c 	mtlr    r0
-    34f8:	20 81 70 7d 	mtocrf  8,r11
-    34fc:	20 00 80 4e 	blr
+    34a4:	c8 00 41 e9 	ld      r10,200(r1)
+    34a8:	78 0c 2d e9 	ld      r9,3192(r13)
+    34ac:	79 4a 4a 7d 	xor.    r10,r10,r9
+    34b0:	00 00 20 39 	li      r9,0
+    34b4:	bc 05 82 40 	bne     3a70 <kvmhv_nested_page_fault+0x908>
+    34b8:	50 01 21 38 	addi    r1,r1,336
+    34bc:	78 f3 c3 7f 	mr      r3,r30
+    34c0:	10 00 01 e8 	ld      r0,16(r1)
+    34c4:	08 00 61 81 	lwz     r11,8(r1)
+    34c8:	b8 ff e1 ea 	ld      r23,-72(r1)
+    34cc:	c0 ff 01 eb 	ld      r24,-64(r1)
+    34d0:	c8 ff 21 eb 	ld      r25,-56(r1)
+    34d4:	d0 ff 41 eb 	ld      r26,-48(r1)
+    34d8:	e8 ff a1 eb 	ld      r29,-24(r1)
+    34dc:	f0 ff c1 eb 	ld      r30,-16(r1)
+    34e0:	f8 ff e1 eb 	ld      r31,-8(r1)
+    34e4:	a6 03 08 7c 	mtlr    r0
+    34e8:	20 81 70 7d 	mtocrf  8,r11
+    34ec:	20 00 80 4e 	blr
 		kvmhv_update_ptbl_cache(gp);
-    3500:	78 d3 43 7f 	mr      r3,r26
-    3504:	01 00 00 48 	bl      3504 <kvmhv_nested_page_fault+0x38c>
+    34f0:	78 d3 43 7f 	mr      r3,r26
+    34f4:	01 00 00 48 	bl      34f4 <kvmhv_nested_page_fault+0x38c>
 		if (!gp->l1_gr_to_hr)
-    3508:	18 00 da e8 	ld      r6,24(r26)
-    350c:	00 00 26 2c 	cmpdi   r6,0
-    3510:	18 fd 82 40 	bne     3228 <kvmhv_nested_page_fault+0xb0>
-    3514:	90 ff ff 4b 	b       34a4 <kvmhv_nested_page_fault+0x32c>
-    3518:	00 00 00 60 	nop
-    351c:	00 00 42 60 	ori     r2,r2,0
-    3520:	d8 00 21 ea 	ld      r17,216(r1)
+    34f8:	18 00 da e8 	ld      r6,24(r26)
+    34fc:	00 00 26 2c 	cmpdi   r6,0
+    3500:	18 fd 82 40 	bne     3218 <kvmhv_nested_page_fault+0xb0>
+    3504:	90 ff ff 4b 	b       3494 <kvmhv_nested_page_fault+0x32c>
+    3508:	00 00 00 60 	nop
+    350c:	00 00 42 60 	ori     r2,r2,0
+    3510:	d8 00 21 ea 	ld      r17,216(r1)
 		if (dsisr & (DSISR_PRTABLE_FAULT | DSISR_BADACCESS)) {
-    3524:	02 04 a9 76 	andis.  r9,r21,1026
-    3528:	38 01 82 40 	bne     3660 <kvmhv_nested_page_fault+0x4e8>
+    3514:	02 04 a9 76 	andis.  r9,r21,1026
+    3518:	38 01 82 40 	bne     3650 <kvmhv_nested_page_fault+0x4e8>
 		return kvmppc_hv_emulate_mmio(vcpu, gpa, ea, writing);
-    352c:	b4 07 66 7e 	extsw   r6,r19
-    3530:	78 bb e5 7e 	mr      r5,r23
-    3534:	78 b3 c4 7e 	mr      r4,r22
-    3538:	78 fb e3 7f 	mr      r3,r31
-    353c:	01 00 00 48 	bl      353c <kvmhv_nested_page_fault+0x3c4>
-    3540:	00 00 00 60 	nop
-    3544:	78 1b 7e 7c 	mr      r30,r3
-    3548:	e0 00 41 ea 	ld      r18,224(r1)
-    354c:	e8 00 61 ea 	ld      r19,232(r1)
-    3550:	f0 00 81 ea 	ld      r20,240(r1)
-    3554:	f8 00 a1 ea 	ld      r21,248(r1)
-    3558:	00 01 c1 ea 	ld      r22,256(r1)
-    355c:	28 01 61 eb 	ld      r27,296(r1)
-    3560:	30 01 81 eb 	ld      r28,304(r1)
-    3564:	44 ff ff 4b 	b       34a8 <kvmhv_nested_page_fault+0x330>
-    3568:	00 00 00 60 	nop
-    356c:	00 00 42 60 	ori     r2,r2,0
+    351c:	b4 07 66 7e 	extsw   r6,r19
+    3520:	78 bb e5 7e 	mr      r5,r23
+    3524:	78 b3 c4 7e 	mr      r4,r22
+    3528:	78 fb e3 7f 	mr      r3,r31
+    352c:	01 00 00 48 	bl      352c <kvmhv_nested_page_fault+0x3c4>
+    3530:	00 00 00 60 	nop
+    3534:	78 1b 7e 7c 	mr      r30,r3
+    3538:	e0 00 41 ea 	ld      r18,224(r1)
+    353c:	e8 00 61 ea 	ld      r19,232(r1)
+    3540:	f0 00 81 ea 	ld      r20,240(r1)
+    3544:	f8 00 a1 ea 	ld      r21,248(r1)
+    3548:	00 01 c1 ea 	ld      r22,256(r1)
+    354c:	28 01 61 eb 	ld      r27,296(r1)
+    3550:	30 01 81 eb 	ld      r28,304(r1)
+    3554:	44 ff ff 4b 	b       3498 <kvmhv_nested_page_fault+0x330>
+    3558:	00 00 00 60 	nop
+    355c:	00 00 42 60 	ori     r2,r2,0
 		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    3570:	a4 1d 3f 81 	lwz     r9,7588(r31)
-    3574:	20 0e 09 2c 	cmpwi   r9,3616
+    3560:	a4 1d 3f 81 	lwz     r9,7588(r31)
+    3564:	20 0e 09 2c 	cmpwi   r9,3616
 			if (!gpte_p->may_execute) {
-    3578:	a8 00 21 e9 	ld      r9,168(r1)
+    3568:	a8 00 21 e9 	ld      r9,168(r1)
 		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    357c:	44 01 82 41 	beq     36c0 <kvmhv_nested_page_fault+0x548>
+    356c:	44 01 82 41 	beq     36b0 <kvmhv_nested_page_fault+0x548>
 			if (!gpte_p->may_read && !gpte_p->may_write) {
-    3580:	01 00 2a 71 	andi.   r10,r9,1
-    3584:	0c 00 82 40 	bne     3590 <kvmhv_nested_page_fault+0x418>
-    3588:	02 00 29 71 	andi.   r9,r9,2
-    358c:	84 04 82 41 	beq     3a10 <kvmhv_nested_page_fault+0x898>
+    3570:	01 00 2a 71 	andi.   r10,r9,1
+    3574:	0c 00 82 40 	bne     3580 <kvmhv_nested_page_fault+0x418>
+    3578:	02 00 29 71 	andi.   r9,r9,2
+    357c:	84 04 82 41 	beq     3a00 <kvmhv_nested_page_fault+0x898>
 	if (dsisr & DSISR_SET_RC) {
-    3590:	04 00 a9 77 	andis.  r9,r29,4
-    3594:	4c fd 82 41 	beq     32e0 <kvmhv_nested_page_fault+0x168>
+    3580:	04 00 a9 77 	andis.  r9,r29,4
+    3584:	4c fd 82 41 	beq     32d0 <kvmhv_nested_page_fault+0x168>
 		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
-    3598:	00 00 df eb 	ld      r30,0(r31)
-    359c:	a0 00 c1 ea 	ld      r22,160(r1)
+    3588:	00 00 df eb 	ld      r30,0(r31)
+    358c:	a0 00 c1 ea 	ld      r22,160(r1)
 	pgflags = _PAGE_ACCESSED;
-    35a0:	00 01 20 39 	li      r9,256
-    35a4:	b8 00 41 e9 	ld      r10,184(r1)
+    3590:	00 01 20 39 	li      r9,256
+    3594:	b8 00 41 e9 	ld      r10,184(r1)
 	if (pgflags & ~gpte.rc)
-    35a8:	79 50 29 7d 	andc.   r9,r9,r10
-    35ac:	64 03 82 40 	bne     3910 <kvmhv_nested_page_fault+0x798>
-    35b0:	78 f3 c3 7f 	mr      r3,r30
+    3598:	79 50 29 7d 	andc.   r9,r9,r10
+    359c:	64 03 82 40 	bne     3900 <kvmhv_nested_page_fault+0x798>
+    35a0:	78 f3 c3 7f 	mr      r3,r30
 	ret = kvmppc_hv_handle_set_rc(kvm, false, writing,
-    35b4:	3e 06 74 56 	clrlwi  r20,r19,24
-    35b8:	01 00 00 48 	bl      35b8 <kvmhv_nested_page_fault+0x440>
-    35bc:	00 00 00 60 	nop
-    35c0:	d8 09 fe 80 	lwz     r7,2520(r30)
-    35c4:	78 b3 c6 7e 	mr      r6,r22
-    35c8:	78 a3 85 7e 	mr      r5,r20
-    35cc:	00 00 80 38 	li      r4,0
-    35d0:	78 f3 c3 7f 	mr      r3,r30
-    35d4:	01 00 00 48 	bl      35d4 <kvmhv_nested_page_fault+0x45c>
-    35d8:	00 00 00 60 	nop
+    35a4:	3e 06 74 56 	clrlwi  r20,r19,24
+    35a8:	01 00 00 48 	bl      35a8 <kvmhv_nested_page_fault+0x440>
+    35ac:	00 00 00 60 	nop
+    35b0:	d8 09 fe 80 	lwz     r7,2520(r30)
+    35b4:	78 b3 c6 7e 	mr      r6,r22
+    35b8:	78 a3 85 7e 	mr      r5,r20
+    35bc:	00 00 80 38 	li      r4,0
+    35c0:	78 f3 c3 7f 	mr      r3,r30
+    35c4:	01 00 00 48 	bl      35c4 <kvmhv_nested_page_fault+0x45c>
+    35c8:	00 00 00 60 	nop
 	if (!ret) {
-    35dc:	00 00 23 2c 	cmpdi   r3,0
-    35e0:	28 00 82 41 	beq     3608 <kvmhv_nested_page_fault+0x490>
+    35cc:	00 00 23 2c 	cmpdi   r3,0
+    35d0:	28 00 82 41 	beq     35f8 <kvmhv_nested_page_fault+0x490>
 	ret = kvmppc_hv_handle_set_rc(kvm, true, writing,
-    35e4:	08 00 fa 80 	lwz     r7,8(r26)
-    35e8:	78 a3 85 7e 	mr      r5,r20
-    35ec:	78 db 66 7f 	mr      r6,r27
-    35f0:	01 00 80 38 	li      r4,1
-    35f4:	78 f3 c3 7f 	mr      r3,r30
-    35f8:	01 00 00 48 	bl      35f8 <kvmhv_nested_page_fault+0x480>
-    35fc:	00 00 00 60 	nop
+    35d4:	08 00 fa 80 	lwz     r7,8(r26)
+    35d8:	78 a3 85 7e 	mr      r5,r20
+    35dc:	78 db 66 7f 	mr      r6,r27
+    35e0:	01 00 80 38 	li      r4,1
+    35e4:	78 f3 c3 7f 	mr      r3,r30
+    35e8:	01 00 00 48 	bl      35e8 <kvmhv_nested_page_fault+0x480>
+    35ec:	00 00 00 60 	nop
 	if (!ret)
-    3600:	00 00 23 2c 	cmpdi   r3,0
-    3604:	bc 03 82 40 	bne     39c0 <kvmhv_nested_page_fault+0x848>
+    35f0:	00 00 23 2c 	cmpdi   r3,0
+    35f4:	bc 03 82 40 	bne     39b0 <kvmhv_nested_page_fault+0x848>
 		ret = -EINVAL;
-    3608:	ea ff 00 39 	li      r8,-22
+    35f8:	ea ff 00 39 	li      r8,-22
 	if (unlikely(ms->mmiowb_pending)) {
-    360c:	82 0c 2d a1 	lhz     r9,3202(r13)
+    35fc:	82 0c 2d a1 	lhz     r9,3202(r13)
 	struct mmiowb_state *ms = __mmiowb_state();
-    3610:	78 6b aa 7d 	mr      r10,r13
+    3600:	78 6b aa 7d 	mr      r10,r13
 	if (unlikely(ms->mmiowb_pending)) {
-    3614:	00 00 09 2c 	cmpwi   r9,0
-    3618:	58 04 82 40 	bne     3a70 <kvmhv_nested_page_fault+0x8f8>
+    3604:	00 00 09 2c 	cmpwi   r9,0
+    3608:	58 04 82 40 	bne     3a60 <kvmhv_nested_page_fault+0x8f8>
 	ms->nesting_count--;
-    361c:	80 0c 2a a1 	lhz     r9,3200(r10)
-    3620:	ff ff 29 39 	addi    r9,r9,-1
-    3624:	80 0c 2a b1 	sth     r9,3200(r10)
-    3628:	ac 04 20 7c 	lwsync
-    362c:	00 00 20 39 	li      r9,0
-    3630:	00 00 3e b1 	sth     r9,0(r30)
+    360c:	80 0c 2a a1 	lhz     r9,3200(r10)
+    3610:	ff ff 29 39 	addi    r9,r9,-1
+    3614:	80 0c 2a b1 	sth     r9,3200(r10)
+    3618:	ac 04 20 7c 	lwsync
+    361c:	00 00 20 39 	li      r9,0
+    3620:	00 00 3e b1 	sth     r9,0(r30)
 		if (ret)
-    3634:	00 00 28 2c 	cmpdi   r8,0
-    3638:	88 01 82 40 	bne     37c0 <kvmhv_nested_page_fault+0x648>
+    3624:	00 00 28 2c 	cmpdi   r8,0
+    3628:	88 01 82 40 	bne     37b0 <kvmhv_nested_page_fault+0x648>
 		if (!(dsisr & (DSISR_BAD_FAULT_64S | DSISR_NOHPTE |
-    363c:	1a ec 20 3d 	lis     r9,-5094
-    3640:	0e 40 29 61 	ori     r9,r9,16398
-    3644:	38 48 a9 7f 	and     r9,r29,r9
-    3648:	00 00 09 2c 	cmpwi   r9,0
-    364c:	2c 00 82 41 	beq     3678 <kvmhv_nested_page_fault+0x500>
+    362c:	1a ec 20 3d 	lis     r9,-5094
+    3630:	0e 40 29 61 	ori     r9,r9,16398
+    3634:	38 48 a9 7f 	and     r9,r29,r9
+    3638:	00 00 09 2c 	cmpwi   r9,0
+    363c:	2c 00 82 41 	beq     3668 <kvmhv_nested_page_fault+0x500>
 		dsisr &= ~DSISR_SET_RC;
-    3650:	42 68 b5 7a 	rldicl  r21,r21,45,1
-    3654:	e0 00 41 fa 	std     r18,224(r1)
-    3658:	00 98 b5 7a 	rotldi  r21,r21,19
-    365c:	88 fc ff 4b 	b       32e4 <kvmhv_nested_page_fault+0x16c>
+    3640:	42 68 b5 7a 	rldicl  r21,r21,45,1
+    3644:	e0 00 41 fa 	std     r18,224(r1)
+    3648:	00 98 b5 7a 	rotldi  r21,r21,19
+    364c:	88 fc ff 4b 	b       32d4 <kvmhv_nested_page_fault+0x16c>
 			kvmppc_core_queue_data_storage(vcpu, ea, dsisr);
-    3660:	78 ab a5 7e 	mr      r5,r21
-    3664:	78 bb e4 7e 	mr      r4,r23
-    3668:	78 fb e3 7f 	mr      r3,r31
-    366c:	01 00 00 48 	bl      366c <kvmhv_nested_page_fault+0x4f4>
-    3670:	00 00 00 60 	nop
+    3650:	78 ab a5 7e 	mr      r5,r21
+    3654:	78 bb e4 7e 	mr      r4,r23
+    3658:	78 fb e3 7f 	mr      r3,r31
+    365c:	01 00 00 48 	bl      365c <kvmhv_nested_page_fault+0x4f4>
+    3660:	00 00 00 60 	nop
 			return RESUME_GUEST;
-    3674:	e0 00 41 ea 	ld      r18,224(r1)
-    3678:	e8 00 61 ea 	ld      r19,232(r1)
-    367c:	f0 00 81 ea 	ld      r20,240(r1)
-    3680:	f8 00 a1 ea 	ld      r21,248(r1)
-    3684:	00 01 c1 ea 	ld      r22,256(r1)
-    3688:	30 01 81 eb 	ld      r28,304(r1)
-    368c:	28 01 61 eb 	ld      r27,296(r1)
+    3664:	e0 00 41 ea 	ld      r18,224(r1)
+    3668:	e8 00 61 ea 	ld      r19,232(r1)
+    366c:	f0 00 81 ea 	ld      r20,240(r1)
+    3670:	f8 00 a1 ea 	ld      r21,248(r1)
+    3674:	00 01 c1 ea 	ld      r22,256(r1)
+    3678:	30 01 81 eb 	ld      r28,304(r1)
+    367c:	28 01 61 eb 	ld      r27,296(r1)
 			return RESUME_GUEST;
-    3690:	00 00 c0 3b 	li      r30,0
-    3694:	14 fe ff 4b 	b       34a8 <kvmhv_nested_page_fault+0x330>
-    3698:	00 00 00 60 	nop
-    369c:	00 00 42 60 	ori     r2,r2,0
+    3680:	00 00 c0 3b 	li      r30,0
+    3684:	14 fe ff 4b 	b       3498 <kvmhv_nested_page_fault+0x330>
+    3688:	00 00 00 60 	nop
+    368c:	00 00 42 60 	ori     r2,r2,0
 		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
-    36a0:	00 00 df eb 	ld      r30,0(r31)
-    36a4:	a0 00 c1 ea 	ld      r22,160(r1)
+    3690:	00 00 df eb 	ld      r30,0(r31)
+    3694:	a0 00 c1 ea 	ld      r22,160(r1)
 		pgflags |= _PAGE_DIRTY;
-    36a8:	80 01 20 39 	li      r9,384
-    36ac:	b8 00 41 e9 	ld      r10,184(r1)
+    3698:	80 01 20 39 	li      r9,384
+    369c:	b8 00 41 e9 	ld      r10,184(r1)
 	if (writing)
-    36b0:	f8 fe ff 4b 	b       35a8 <kvmhv_nested_page_fault+0x430>
-    36b4:	00 00 00 60 	nop
-    36b8:	00 00 00 60 	nop
-    36bc:	00 00 42 60 	ori     r2,r2,0
+    36a0:	f8 fe ff 4b 	b       3598 <kvmhv_nested_page_fault+0x430>
+    36a4:	00 00 00 60 	nop
+    36a8:	00 00 00 60 	nop
+    36ac:	00 00 42 60 	ori     r2,r2,0
 			if (!gpte_p->may_execute) {
-    36c0:	04 00 29 71 	andi.   r9,r9,4
-    36c4:	cc fe 82 40 	bne     3590 <kvmhv_nested_page_fault+0x418>
+    36b0:	04 00 29 71 	andi.   r9,r9,4
+    36b4:	cc fe 82 40 	bne     3580 <kvmhv_nested_page_fault+0x418>
 	vcpu->arch.fault_dsisr = flags;
-    36c8:	00 10 20 3d 	lis     r9,4096
+    36b8:	00 10 20 3d 	lis     r9,4096
 				flags |= SRR1_ISI_N_G_OR_CIP;
-    36cc:	00 10 00 3d 	lis     r8,4096
+    36bc:	00 10 00 3d 	lis     r8,4096
 	vcpu->arch.fault_dsisr = flags;
-    36d0:	e0 1c 3f 91 	stw     r9,7392(r31)
+    36c0:	e0 1c 3f 91 	stw     r9,7392(r31)
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    36d4:	e8 00 61 ea 	ld      r19,232(r1)
-    36d8:	f0 00 81 ea 	ld      r20,240(r1)
-    36dc:	f8 00 a1 ea 	ld      r21,248(r1)
-    36e0:	00 01 c1 ea 	ld      r22,256(r1)
-    36e4:	30 01 81 eb 	ld      r28,304(r1)
-    36e8:	94 fd ff 4b 	b       347c <kvmhv_nested_page_fault+0x304>
+    36c4:	e8 00 61 ea 	ld      r19,232(r1)
+    36c8:	f0 00 81 ea 	ld      r20,240(r1)
+    36cc:	f8 00 a1 ea 	ld      r21,248(r1)
+    36d0:	00 01 c1 ea 	ld      r22,256(r1)
+    36d4:	30 01 81 eb 	ld      r28,304(r1)
+    36d8:	94 fd ff 4b 	b       346c <kvmhv_nested_page_fault+0x304>
+    36dc:	00 00 42 60 	ori     r2,r2,0
+    36e0:	01 00 20 3a 	li      r17,1
+    36e4:	00 00 00 60 	nop
+    36e8:	00 00 00 60 	nop
     36ec:	00 00 42 60 	ori     r2,r2,0
-    36f0:	01 00 20 3a 	li      r17,1
-    36f4:	00 00 00 60 	nop
-    36f8:	00 00 00 60 	nop
-    36fc:	00 00 42 60 	ori     r2,r2,0
 		return kmalloc_trace(
-    3700:	00 00 22 3d 	addis   r9,r2,0
+    36f0:	00 00 22 3d 	addis   r9,r2,0
 	n_gpa &= ~((1UL << shift) - 1);
-    3704:	ff ff c0 3b 	li      r30,-1
-    3708:	10 00 a0 38 	li      r5,16
-    370c:	c0 0d 80 38 	li      r4,3520
+    36f4:	ff ff c0 3b 	li      r30,-1
+    36f8:	10 00 a0 38 	li      r5,16
+    36fc:	c0 0d 80 38 	li      r4,3520
 	level = kvmppc_radix_shift_to_level(shift);
-    3710:	74 00 21 92 	stw     r17,116(r1)
-    3714:	00 00 29 e9 	ld      r9,0(r9)
+    3700:	74 00 21 92 	stw     r17,116(r1)
+    3704:	00 00 29 e9 	ld      r9,0(r9)
 	n_gpa &= ~((1UL << shift) - 1);
-    3718:	36 40 de 7f 	sld     r30,r30,r8
-    371c:	38 d8 de 7f 	and     r30,r30,r27
-    3720:	20 00 69 e8 	ld      r3,32(r9)
-    3724:	01 00 00 48 	bl      3724 <kvmhv_nested_page_fault+0x5ac>
-    3728:	00 00 00 60 	nop
-	if (unlikely(!n_rmap))
-    372c:	00 00 23 2c 	cmpdi   r3,0
-    3730:	78 1b 69 7c 	mr      r9,r3
+    3708:	36 40 de 7f 	sld     r30,r30,r8
+    370c:	38 d8 de 7f 	and     r30,r30,r27
+    3710:	20 00 69 e8 	ld      r3,32(r9)
+    3714:	01 00 00 48 	bl      3714 <kvmhv_nested_page_fault+0x5ac>
+    3718:	00 00 00 60 	nop
+	if (!n_rmap)
+    371c:	00 00 23 2c 	cmpdi   r3,0
+    3720:	78 1b 69 7c 	mr      r9,r3
 	n_rmap = kzalloc(sizeof(*n_rmap), GFP_KERNEL);
-    3734:	78 00 61 f8 	std     r3,120(r1)
-	if (unlikely(!n_rmap))
-    3738:	cc 01 82 41 	beq     3904 <kvmhv_nested_page_fault+0x78c>
+    3724:	78 00 61 f8 	std     r3,120(r1)
+	if (!n_rmap)
+    3728:	cc 01 82 41 	beq     38f4 <kvmhv_nested_page_fault+0x78c>
 		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
-    373c:	0a 00 5a e9 	lwa     r10,8(r26)
+    372c:	0a 00 5a e9 	lwa     r10,8(r26)
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
-    3740:	e4 61 c4 7b 	rldicr  r4,r30,12,39
+    3730:	e4 61 c4 7b 	rldicr  r4,r30,12,39
 	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
-    3744:	74 00 e1 80 	lwz     r7,116(r1)
-    3748:	78 f3 c6 7f 	mr      r6,r30
-    374c:	78 00 01 38 	addi    r0,r1,120
-    3750:	78 bb e8 7e 	mr      r8,r23
-    3754:	80 00 a1 e8 	ld      r5,128(r1)
-    3758:	78 c3 03 7f 	mr      r3,r24
+    3734:	74 00 e1 80 	lwz     r7,116(r1)
+    3738:	78 f3 c6 7f 	mr      r6,r30
+    373c:	78 00 01 38 	addi    r0,r1,120
+    3740:	78 bb e8 7e 	mr      r8,r23
+    3744:	80 00 a1 e8 	ld      r5,128(r1)
+    3748:	78 c3 03 7f 	mr      r3,r24
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
-    375c:	02 a3 84 78 	rldicl  r4,r4,52,12
+    374c:	02 a3 84 78 	rldicl  r4,r4,52,12
 		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
-    3760:	c6 a2 4a 79 	rldicr  r10,r10,52,11
+    3750:	c6 a2 4a 79 	rldicr  r10,r10,52,11
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
-    3764:	78 23 4a 7d 	or      r10,r10,r4
-    3768:	08 00 49 f9 	std     r10,8(r9)
+    3754:	78 23 4a 7d 	or      r10,r10,r4
+    3758:	08 00 49 f9 	std     r10,8(r9)
 	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
-    376c:	b0 00 7d e9 	ld      r11,176(r29)
-    3770:	c8 00 5d e9 	ld      r10,200(r29)
+    375c:	b0 00 7d e9 	ld      r11,176(r29)
+    3760:	c8 00 5d e9 	ld      r10,200(r29)
 	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
-    3774:	0c 00 3a 81 	lwz     r9,12(r26)
-    3778:	10 00 9a e8 	ld      r4,16(r26)
-    377c:	60 00 01 f8 	std     r0,96(r1)
+    3764:	0c 00 3a 81 	lwz     r9,12(r26)
+    3768:	10 00 9a e8 	ld      r4,16(r26)
+    376c:	60 00 01 f8 	std     r0,96(r1)
 	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
-    3780:	50 f8 6b 7d 	subf    r11,r11,r31
-    3784:	24 1f 6b 79 	rldicr  r11,r11,3,60
+    3770:	50 f8 6b 7d 	subf    r11,r11,r31
+    3774:	24 1f 6b 79 	rldicr  r11,r11,3,60
 	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
-    3788:	14 5a 4a 7d 	add     r10,r10,r11
-    378c:	01 00 00 48 	bl      378c <kvmhv_nested_page_fault+0x614>
-    3790:	00 00 00 60 	nop
-    3794:	78 1b 7e 7c 	mr      r30,r3
+    3778:	14 5a 4a 7d 	add     r10,r10,r11
+    377c:	01 00 00 48 	bl      377c <kvmhv_nested_page_fault+0x614>
+    3780:	00 00 00 60 	nop
+    3784:	78 1b 7e 7c 	mr      r30,r3
 	kfree(n_rmap);
-    3798:	78 00 61 e8 	ld      r3,120(r1)
-    379c:	01 00 00 48 	bl      379c <kvmhv_nested_page_fault+0x624>
-    37a0:	00 00 00 60 	nop
+    3788:	78 00 61 e8 	ld      r3,120(r1)
+    378c:	01 00 00 48 	bl      378c <kvmhv_nested_page_fault+0x624>
+    3790:	00 00 00 60 	nop
 	if (ret == -EAGAIN)
-    37a4:	f5 ff 3e 2c 	cmpdi   r30,-11
-    37a8:	5c 01 82 41 	beq     3904 <kvmhv_nested_page_fault+0x78c>
-    37ac:	d8 00 21 ea 	ld      r17,216(r1)
-    37b0:	98 fd ff 4b 	b       3548 <kvmhv_nested_page_fault+0x3d0>
-    37b4:	00 00 00 60 	nop
-    37b8:	00 00 00 60 	nop
-    37bc:	00 00 42 60 	ori     r2,r2,0
-    37c0:	e8 00 61 ea 	ld      r19,232(r1)
-    37c4:	f0 00 81 ea 	ld      r20,240(r1)
-    37c8:	f8 00 a1 ea 	ld      r21,248(r1)
-    37cc:	00 01 c1 ea 	ld      r22,256(r1)
-    37d0:	30 01 81 eb 	ld      r28,304(r1)
+    3794:	f5 ff 3e 2c 	cmpdi   r30,-11
+    3798:	5c 01 82 41 	beq     38f4 <kvmhv_nested_page_fault+0x78c>
+    379c:	d8 00 21 ea 	ld      r17,216(r1)
+    37a0:	98 fd ff 4b 	b       3538 <kvmhv_nested_page_fault+0x3d0>
+    37a4:	00 00 00 60 	nop
+    37a8:	00 00 00 60 	nop
+    37ac:	00 00 42 60 	ori     r2,r2,0
+    37b0:	e8 00 61 ea 	ld      r19,232(r1)
+    37b4:	f0 00 81 ea 	ld      r20,240(r1)
+    37b8:	f8 00 a1 ea 	ld      r21,248(r1)
+    37bc:	00 01 c1 ea 	ld      r22,256(r1)
+    37c0:	30 01 81 eb 	ld      r28,304(r1)
 	kvmhv_invalidate_shadow_pte(vcpu, gp, n_gpa, NULL);
-    37d4:	00 00 7f e8 	ld      r3,0(r31)
-    37d8:	78 db 65 7f 	mr      r5,r27
-    37dc:	78 d3 44 7f 	mr      r4,r26
-    37e0:	00 00 c0 38 	li      r6,0
-    37e4:	01 00 00 48 	bl      37e4 <kvmhv_nested_page_fault+0x66c>
+    37c4:	00 00 7f e8 	ld      r3,0(r31)
+    37c8:	78 db 65 7f 	mr      r5,r27
+    37cc:	78 d3 44 7f 	mr      r4,r26
+    37d0:	00 00 c0 38 	li      r6,0
+    37d4:	01 00 00 48 	bl      37d4 <kvmhv_nested_page_fault+0x66c>
 	return RESUME_GUEST;
-    37e8:	a4 fe ff 4b 	b       368c <kvmhv_nested_page_fault+0x514>
-    37ec:	00 00 42 60 	ori     r2,r2,0
+    37d8:	a4 fe ff 4b 	b       367c <kvmhv_nested_page_fault+0x514>
+    37dc:	00 00 42 60 	ori     r2,r2,0
 	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    37f0:	c0 01 92 40 	bne     cr4,39b0 <kvmhv_nested_page_fault+0x838>
+    37e0:	c0 01 92 40 	bne     cr4,39a0 <kvmhv_nested_page_fault+0x838>
 		if (PMD_SHIFT < l1_shift)
-    37f4:	00 00 22 3d 	addis   r9,r2,0
+    37e4:	00 00 22 3d 	addis   r9,r2,0
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    37f8:	70 00 01 81 	lwz     r8,112(r1)
-    37fc:	01 00 60 38 	li      r3,1
+    37e8:	70 00 01 81 	lwz     r8,112(r1)
+    37ec:	01 00 60 38 	li      r3,1
 		if (PMD_SHIFT < l1_shift)
-    3800:	00 00 49 e9 	ld      r10,0(r9)
+    37f0:	00 00 49 e9 	ld      r10,0(r9)
 	if (shift == PUD_SHIFT)
-    3804:	00 00 22 3d 	addis   r9,r2,0
-    3808:	00 00 29 e9 	ld      r9,0(r9)
+    37f4:	00 00 22 3d 	addis   r9,r2,0
+    37f8:	00 00 29 e9 	ld      r9,0(r9)
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    380c:	36 40 63 7c 	sld     r3,r3,r8
+    37fc:	36 40 63 7c 	sld     r3,r3,r8
 		if (PMD_SHIFT < l1_shift)
-    3810:	00 00 aa e8 	ld      r5,0(r10)
+    3800:	00 00 aa e8 	ld      r5,0(r10)
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3814:	d0 00 e3 7f 	neg     r31,r3
+    3804:	d0 00 e3 7f 	neg     r31,r3
 	if (shift == PUD_SHIFT)
-    3818:	00 00 e9 e8 	ld      r7,0(r9)
+    3808:	00 00 e9 e8 	ld      r7,0(r9)
 	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    381c:	a8 00 21 89 	lbz     r9,168(r1)
+    380c:	a8 00 21 89 	lbz     r9,168(r1)
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    3820:	b8 00 c1 eb 	ld      r30,184(r1)
+    3810:	b8 00 c1 eb 	ld      r30,184(r1)
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3824:	38 f8 df 7e 	and     r31,r22,r31
+    3814:	38 f8 df 7e 	and     r31,r22,r31
 	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
-    3828:	80 00 00 38 	li      r0,128
+    3818:	80 00 00 38 	li      r0,128
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    382c:	02 84 ff 7b 	rldicl  r31,r31,48,16
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    3830:	f8 48 26 7d 	not     r6,r9
+    381c:	02 84 ff 7b 	rldicl  r31,r31,48,16
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3834:	02 00 2b 69 	xori    r11,r9,2
+    3820:	02 00 26 69 	xori    r6,r9,2
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
+    3824:	f8 48 2b 7d 	not     r11,r9
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    3838:	04 00 29 69 	xori    r9,r9,4
+    3828:	04 00 29 69 	xori    r9,r9,4
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    383c:	00 01 ca 6b 	xori    r10,r30,256
+    382c:	00 01 ca 6b 	xori    r10,r30,256
 	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
-    3840:	80 00 de 73 	andi.   r30,r30,128
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    3844:	68 17 c6 78 	rldic   r6,r6,2,61
+    3830:	80 00 de 73 	andi.   r30,r30,128
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3848:	bc 07 6b 55 	rlwinm  r11,r11,0,30,30
+    3834:	bc 07 c6 54 	rlwinm  r6,r6,0,30,30
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
+    3838:	68 17 6b 79 	rldic   r11,r11,2,61
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    384c:	e2 f7 29 79 	rldicl  r9,r9,62,63
+    383c:	e2 f7 29 79 	rldicl  r9,r9,62,63
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    3850:	ee 05 4a 55 	rlwinm  r10,r10,0,23,23
+    3840:	ee 05 4a 55 	rlwinm  r10,r10,0,23,23
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3854:	78 5b c6 7c 	or      r6,r6,r11
+    3844:	78 5b c6 7c 	or      r6,r6,r11
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    3858:	78 33 29 7d 	or      r9,r9,r6
+    3848:	78 33 29 7d 	or      r9,r9,r6
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    385c:	78 4b 49 7d 	or      r9,r10,r9
+    384c:	78 4b 49 7d 	or      r9,r10,r9
 	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
-    3860:	08 00 82 41 	beq     3868 <kvmhv_nested_page_fault+0x6f0>
-    3864:	28 3e 80 7b 	rldic   r0,r28,7,56
+    3850:	08 00 82 41 	beq     3858 <kvmhv_nested_page_fault+0x6f0>
+    3854:	28 3e 80 7b 	rldic   r0,r28,7,56
 	pte = __pte(pte_val(pte) & ~perm);
-    3868:	f8 00 29 7d 	nor     r9,r9,r0
+    3858:	f8 00 29 7d 	nor     r9,r9,r0
 	if (shift > l1_shift) {
-    386c:	40 40 12 7c 	cmplw   r18,r8
+    385c:	40 40 12 7c 	cmplw   r18,r8
 	pte = __pte(pte_val(pte) & ~perm);
-    3870:	22 00 26 79 	rldicl  r6,r9,32,32
-    3874:	3e c0 2a 55 	rotlwi  r10,r9,24
-    3878:	3e c0 cb 54 	rotlwi  r11,r6,24
-    387c:	1e 42 2a 51 	rlwimi  r10,r9,8,8,15
-    3880:	1e 42 cb 50 	rlwimi  r11,r6,8,8,15
-    3884:	3e 46 2a 51 	rlwimi  r10,r9,8,24,31
-    3888:	3e 46 cb 50 	rlwimi  r11,r6,8,24,31
-    388c:	c6 07 4a 79 	rldicr  r10,r10,32,31
-    3890:	78 5b 4a 7d 	or      r10,r10,r11
-    3894:	38 20 49 7d 	and     r9,r10,r4
+    3860:	22 00 26 79 	rldicl  r6,r9,32,32
+    3864:	3e c0 2a 55 	rotlwi  r10,r9,24
+    3868:	3e c0 cb 54 	rotlwi  r11,r6,24
+    386c:	1e 42 2a 51 	rlwimi  r10,r9,8,8,15
+    3870:	1e 42 cb 50 	rlwimi  r11,r6,8,8,15
+    3874:	3e 46 2a 51 	rlwimi  r10,r9,8,24,31
+    3878:	3e 46 cb 50 	rlwimi  r11,r6,8,24,31
+    387c:	c6 07 4a 79 	rldicr  r10,r10,32,31
+    3880:	78 5b 4a 7d 	or      r10,r10,r11
+    3884:	38 20 49 7d 	and     r9,r10,r4
 	if (shift > l1_shift) {
-    3898:	b8 00 80 41 	blt     3950 <kvmhv_nested_page_fault+0x7d8>
+    3888:	b8 00 80 41 	blt     3940 <kvmhv_nested_page_fault+0x7d8>
 	level = kvmppc_radix_shift_to_level(shift);
-    389c:	78 43 04 7d 	mr      r4,r8
+    388c:	78 43 04 7d 	mr      r4,r8
 	if (shift == PUD_SHIFT)
-    38a0:	20 00 06 79 	clrldi  r6,r8,32
+    3890:	20 00 06 79 	clrldi  r6,r8,32
 	pte = __pte(pte_val(pte) & ~perm);
-    38a4:	80 00 21 f9 	std     r9,128(r1)
+    3894:	80 00 21 f9 	std     r9,128(r1)
 	if (shift == PUD_SHIFT)
-    38a8:	14 3a e5 7c 	add     r7,r5,r7
-    38ac:	10 00 e7 38 	addi    r7,r7,16
-    38b0:	00 30 27 7c 	cmpd    r7,r6
-    38b4:	ac 01 82 41 	beq     3a60 <kvmhv_nested_page_fault+0x8e8>
+    3898:	14 3a e5 7c 	add     r7,r5,r7
+    389c:	10 00 e7 38 	addi    r7,r7,16
+    38a0:	00 30 27 7c 	cmpd    r7,r6
+    38a4:	ac 01 82 41 	beq     3a50 <kvmhv_nested_page_fault+0x8e8>
 	if (shift == PMD_SHIFT)
-    38b8:	10 00 a5 38 	addi    r5,r5,16
-    38bc:	00 30 25 7c 	cmpd    r5,r6
-    38c0:	30 fe 82 41 	beq     36f0 <kvmhv_nested_page_fault+0x578>
+    38a8:	10 00 a5 38 	addi    r5,r5,16
+    38ac:	00 30 25 7c 	cmpd    r5,r6
+    38b0:	30 fe 82 41 	beq     36e0 <kvmhv_nested_page_fault+0x578>
 	if (shift == PAGE_SHIFT)
-    38c4:	10 00 04 2c 	cmpwi   r4,16
-    38c8:	38 fe 82 41 	beq     3700 <kvmhv_nested_page_fault+0x588>
+    38b4:	10 00 04 2c 	cmpwi   r4,16
+    38b8:	38 fe 82 41 	beq     36f0 <kvmhv_nested_page_fault+0x588>
 	WARN_ON_ONCE(1);
-    38cc:	00 00 e0 0f 	twui    r0,0
+    38bc:	00 00 e0 0f 	twui    r0,0
 			vcpu->arch.fault_gpa = fault_addr;
-    38d0:	88 00 41 e9 	ld      r10,136(r1)
-    38d4:	02 00 de 67 	oris    r30,r30,2
+    38c0:	88 00 41 e9 	ld      r10,136(r1)
+    38c4:	02 00 de 67 	oris    r30,r30,2
 			flags |= DSISR_PRTABLE_FAULT;
-    38d8:	20 00 c8 7b 	clrldi  r8,r30,32
+    38c8:	20 00 c8 7b 	clrldi  r8,r30,32
 			vcpu->arch.fault_gpa = fault_addr;
-    38dc:	f0 1c 5f f9 	std     r10,7408(r31)
-    38e0:	8c fb ff 4b 	b       346c <kvmhv_nested_page_fault+0x2f4>
-    38e4:	00 00 00 60 	nop
-    38e8:	00 00 00 60 	nop
-    38ec:	00 00 42 60 	ori     r2,r2,0
+    38cc:	f0 1c 5f f9 	std     r10,7408(r31)
+    38d0:	8c fb ff 4b 	b       345c <kvmhv_nested_page_fault+0x2f4>
+    38d4:	00 00 00 60 	nop
+    38d8:	00 00 00 60 	nop
+    38dc:	00 00 42 60 	ori     r2,r2,0
 			kvmppc_core_queue_data_storage(vcpu, ea,
-    38f0:	78 bb e4 7e 	mr      r4,r23
-    38f4:	78 fb e3 7f 	mr      r3,r31
-    38f8:	00 0a a0 3c 	lis     r5,2560
-    38fc:	01 00 00 48 	bl      38fc <kvmhv_nested_page_fault+0x784>
-    3900:	00 00 00 60 	nop
+    38e0:	78 bb e4 7e 	mr      r4,r23
+    38e4:	78 fb e3 7f 	mr      r3,r31
+    38e8:	00 0a a0 3c 	lis     r5,2560
+    38ec:	01 00 00 48 	bl      38ec <kvmhv_nested_page_fault+0x784>
+    38f0:	00 00 00 60 	nop
 			return RESUME_GUEST;
-    3904:	d8 00 21 ea 	ld      r17,216(r1)
-    3908:	6c fd ff 4b 	b       3674 <kvmhv_nested_page_fault+0x4fc>
-    390c:	00 00 42 60 	ori     r2,r2,0
-    3910:	e8 00 61 ea 	ld      r19,232(r1)
-    3914:	f0 00 81 ea 	ld      r20,240(r1)
-    3918:	f8 00 a1 ea 	ld      r21,248(r1)
-    391c:	00 01 c1 ea 	ld      r22,256(r1)
-    3920:	28 01 61 eb 	ld      r27,296(r1)
-    3924:	30 01 81 eb 	ld      r28,304(r1)
-    3928:	7c fb ff 4b 	b       34a4 <kvmhv_nested_page_fault+0x32c>
-    392c:	00 00 42 60 	ori     r2,r2,0
+    38f4:	d8 00 21 ea 	ld      r17,216(r1)
+    38f8:	6c fd ff 4b 	b       3664 <kvmhv_nested_page_fault+0x4fc>
+    38fc:	00 00 42 60 	ori     r2,r2,0
+    3900:	e8 00 61 ea 	ld      r19,232(r1)
+    3904:	f0 00 81 ea 	ld      r20,240(r1)
+    3908:	f8 00 a1 ea 	ld      r21,248(r1)
+    390c:	00 01 c1 ea 	ld      r22,256(r1)
+    3910:	28 01 61 eb 	ld      r27,296(r1)
+    3914:	30 01 81 eb 	ld      r28,304(r1)
+    3918:	7c fb ff 4b 	b       3494 <kvmhv_nested_page_fault+0x32c>
+    391c:	00 00 42 60 	ori     r2,r2,0
 			flags |= DSISR_UNSUPP_MMU;
-    3930:	08 00 de 67 	oris    r30,r30,8
+    3920:	08 00 de 67 	oris    r30,r30,8
+    3924:	20 00 c8 7b 	clrldi  r8,r30,32
+    3928:	34 fb ff 4b 	b       345c <kvmhv_nested_page_fault+0x2f4>
+    392c:	00 00 42 60 	ori     r2,r2,0
+			flags |= DSISR_NOHPTE;
+    3930:	00 40 de 67 	oris    r30,r30,16384
     3934:	20 00 c8 7b 	clrldi  r8,r30,32
-    3938:	34 fb ff 4b 	b       346c <kvmhv_nested_page_fault+0x2f4>
+    3938:	24 fb ff 4b 	b       345c <kvmhv_nested_page_fault+0x2f4>
     393c:	00 00 42 60 	ori     r2,r2,0
-			flags |= DSISR_NOHPTE;
-    3940:	00 40 de 67 	oris    r30,r30,16384
-    3944:	20 00 c8 7b 	clrldi  r8,r30,32
-    3948:	24 fb ff 4b 	b       346c <kvmhv_nested_page_fault+0x2f4>
-    394c:	00 00 42 60 	ori     r2,r2,0
 		if (PMD_SHIFT < l1_shift)
-    3950:	3e 06 94 56 	clrlwi  r20,r20,24
-    3954:	10 00 45 39 	addi    r10,r5,16
-    3958:	40 a0 2a 7c 	cmpld   r10,r20
-    395c:	84 00 80 40 	bge     39e0 <kvmhv_nested_page_fault+0x868>
+    3940:	3e 06 94 56 	clrlwi  r20,r20,24
+    3944:	10 00 45 39 	addi    r10,r5,16
+    3948:	40 a0 2a 7c 	cmpld   r10,r20
+    394c:	84 00 80 40 	bge     39d0 <kvmhv_nested_page_fault+0x868>
 			actual_shift = PMD_SHIFT;
-    3960:	10 00 05 39 	addi    r8,r5,16
+    3950:	10 00 05 39 	addi    r8,r5,16
 		mask = (1UL << shift) - (1UL << actual_shift);
-    3964:	01 00 40 39 	li      r10,1
+    3954:	01 00 40 39 	li      r10,1
 	level = kvmppc_radix_shift_to_level(shift);
-    3968:	78 43 04 7d 	mr      r4,r8
+    3958:	78 43 04 7d 	mr      r4,r8
 		mask = (1UL << shift) - (1UL << actual_shift);
-    396c:	36 40 4a 7d 	sld     r10,r10,r8
+    395c:	36 40 4a 7d 	sld     r10,r10,r8
 	if (shift == PUD_SHIFT)
-    3970:	20 00 06 79 	clrldi  r6,r8,32
+    3960:	20 00 06 79 	clrldi  r6,r8,32
 		mask = (1UL << shift) - (1UL << actual_shift);
-    3974:	50 18 4a 7d 	subf    r10,r10,r3
+    3964:	50 18 4a 7d 	subf    r10,r10,r3
 		shift = actual_shift;
-    3978:	70 00 01 91 	stw     r8,112(r1)
+    3968:	70 00 01 91 	stw     r8,112(r1)
 		pte = __pte(pte_val(pte) | (gpa & mask));
-    397c:	38 b0 4a 7d 	and     r10,r10,r22
-    3980:	22 00 4b 79 	rldicl  r11,r10,32,32
-    3984:	3e c0 43 55 	rotlwi  r3,r10,24
-    3988:	3e c0 60 55 	rotlwi  r0,r11,24
-    398c:	1e 42 43 51 	rlwimi  r3,r10,8,8,15
-    3990:	1e 42 60 51 	rlwimi  r0,r11,8,8,15
-    3994:	3e 46 43 51 	rlwimi  r3,r10,8,24,31
-    3998:	3e 46 60 51 	rlwimi  r0,r11,8,24,31
-    399c:	c6 07 63 78 	rldicr  r3,r3,32,31
-    39a0:	78 03 63 7c 	or      r3,r3,r0
-    39a4:	78 1b 29 7d 	or      r9,r9,r3
-    39a8:	80 00 21 f9 	std     r9,128(r1)
+    396c:	38 b0 4a 7d 	and     r10,r10,r22
+    3970:	22 00 4b 79 	rldicl  r11,r10,32,32
+    3974:	3e c0 43 55 	rotlwi  r3,r10,24
+    3978:	3e c0 60 55 	rotlwi  r0,r11,24
+    397c:	1e 42 43 51 	rlwimi  r3,r10,8,8,15
+    3980:	1e 42 60 51 	rlwimi  r0,r11,8,8,15
+    3984:	3e 46 43 51 	rlwimi  r3,r10,8,24,31
+    3988:	3e 46 60 51 	rlwimi  r0,r11,8,24,31
+    398c:	c6 07 63 78 	rldicr  r3,r3,32,31
+    3990:	78 03 63 7c 	or      r3,r3,r0
+    3994:	78 1b 29 7d 	or      r9,r9,r3
+    3998:	80 00 21 f9 	std     r9,128(r1)
 		shift = actual_shift;
-    39ac:	fc fe ff 4b 	b       38a8 <kvmhv_nested_page_fault+0x730>
+    399c:	fc fe ff 4b 	b       3898 <kvmhv_nested_page_fault+0x730>
 	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    39b0:	e1 3f 89 78 	rldicl. r9,r4,7,63
-    39b4:	18 fa 82 41 	beq     33cc <kvmhv_nested_page_fault+0x254>
-    39b8:	3c fe ff 4b 	b       37f4 <kvmhv_nested_page_fault+0x67c>
-    39bc:	00 00 42 60 	ori     r2,r2,0
+    39a0:	e1 3f 89 78 	rldicl. r9,r4,7,63
+    39a4:	18 fa 82 41 	beq     33bc <kvmhv_nested_page_fault+0x254>
+    39a8:	3c fe ff 4b 	b       37e4 <kvmhv_nested_page_fault+0x67c>
+    39ac:	00 00 42 60 	ori     r2,r2,0
 		ret = 0;
-    39c0:	00 00 00 39 	li      r8,0
-    39c4:	48 fc ff 4b 	b       360c <kvmhv_nested_page_fault+0x494>
+    39b0:	00 00 00 39 	li      r8,0
+    39b4:	48 fc ff 4b 	b       35fc <kvmhv_nested_page_fault+0x494>
+    39b8:	00 00 00 60 	nop
+    39bc:	00 00 42 60 	ori     r2,r2,0
+	bool kvm_ro = false;
+    39c0:	00 00 c0 3b 	li      r30,0
+    39c4:	5c f9 ff 4b 	b       3320 <kvmhv_nested_page_fault+0x1b8>
     39c8:	00 00 00 60 	nop
     39cc:	00 00 42 60 	ori     r2,r2,0
-	bool kvm_ro = false;
-    39d0:	00 00 c0 3b 	li      r30,0
-    39d4:	5c f9 ff 4b 	b       3330 <kvmhv_nested_page_fault+0x1b8>
-    39d8:	00 00 00 60 	nop
-    39dc:	00 00 42 60 	ori     r2,r2,0
-    39e0:	10 00 c0 38 	li      r6,16
-    39e4:	10 00 80 38 	li      r4,16
-    39e8:	01 00 40 3d 	lis     r10,1
+    39d0:	10 00 c0 38 	li      r6,16
+    39d4:	10 00 80 38 	li      r4,16
+    39d8:	01 00 40 3d 	lis     r10,1
 		unsigned int actual_shift = PAGE_SHIFT;
-    39ec:	10 00 00 39 	li      r8,16
-    39f0:	84 ff ff 4b 	b       3974 <kvmhv_nested_page_fault+0x7fc>
-    39f4:	00 00 00 60 	nop
-    39f8:	00 00 00 60 	nop
-    39fc:	00 00 42 60 	ori     r2,r2,0
+    39dc:	10 00 00 39 	li      r8,16
+    39e0:	84 ff ff 4b 	b       3964 <kvmhv_nested_page_fault+0x7fc>
+    39e4:	00 00 00 60 	nop
+    39e8:	00 00 00 60 	nop
+    39ec:	00 00 42 60 	ori     r2,r2,0
 	switch (level) {
-    3a00:	ff ff e0 3f 	lis     r31,-1
-    3a04:	01 00 60 3c 	lis     r3,1
-    3a08:	10 00 00 39 	li      r8,16
-    3a0c:	38 fa ff 4b 	b       3444 <kvmhv_nested_page_fault+0x2cc>
+    39f0:	ff ff e0 3f 	lis     r31,-1
+    39f4:	01 00 60 3c 	lis     r3,1
+    39f8:	10 00 00 39 	li      r8,16
+    39fc:	38 fa ff 4b 	b       3434 <kvmhv_nested_page_fault+0x2cc>
 	vcpu->arch.fault_dsisr = flags;
-    3a10:	00 08 20 3d 	lis     r9,2048
-    3a14:	e0 1c 3f 91 	stw     r9,7392(r31)
+    3a00:	00 08 20 3d 	lis     r9,2048
+    3a04:	e0 1c 3f 91 	stw     r9,7392(r31)
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    3a18:	e8 00 61 ea 	ld      r19,232(r1)
-    3a1c:	f0 00 81 ea 	ld      r20,240(r1)
-    3a20:	f8 00 a1 ea 	ld      r21,248(r1)
-    3a24:	00 01 c1 ea 	ld      r22,256(r1)
-    3a28:	30 01 81 eb 	ld      r28,304(r1)
-    3a2c:	68 fa ff 4b 	b       3494 <kvmhv_nested_page_fault+0x31c>
+    3a08:	e8 00 61 ea 	ld      r19,232(r1)
+    3a0c:	f0 00 81 ea 	ld      r20,240(r1)
+    3a10:	f8 00 a1 ea 	ld      r21,248(r1)
+    3a14:	00 01 c1 ea 	ld      r22,256(r1)
+    3a18:	30 01 81 eb 	ld      r28,304(r1)
+    3a1c:	68 fa ff 4b 	b       3484 <kvmhv_nested_page_fault+0x31c>
 		ms->mmiowb_pending = 0;
-    3a30:	00 00 40 39 	li      r10,0
-    3a34:	82 0c 4d b1 	sth     r10,3202(r13)
+    3a20:	00 00 40 39 	li      r10,0
+    3a24:	82 0c 4d b1 	sth     r10,3202(r13)
 		mmiowb();
-    3a38:	ac 04 00 7c 	hwsync
-    3a3c:	5c f9 ff 4b 	b       3398 <kvmhv_nested_page_fault+0x220>
+    3a28:	ac 04 00 7c 	hwsync
+    3a2c:	5c f9 ff 4b 	b       3388 <kvmhv_nested_page_fault+0x220>
 		return PMD_SHIFT;
-    3a40:	10 00 05 39 	addi    r8,r5,16
+    3a30:	10 00 05 39 	addi    r8,r5,16
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3a44:	01 00 60 38 	li      r3,1
-    3a48:	36 40 63 7c 	sld     r3,r3,r8
-    3a4c:	d0 00 e3 7f 	neg     r31,r3
+    3a34:	01 00 60 38 	li      r3,1
+    3a38:	36 40 63 7c 	sld     r3,r3,r8
+    3a3c:	d0 00 e3 7f 	neg     r31,r3
 		return PMD_SHIFT;
-    3a50:	f4 f9 ff 4b 	b       3444 <kvmhv_nested_page_fault+0x2cc>
-    3a54:	00 00 00 60 	nop
+    3a40:	f4 f9 ff 4b 	b       3434 <kvmhv_nested_page_fault+0x2cc>
+    3a44:	00 00 00 60 	nop
+    3a48:	00 00 00 60 	nop
+    3a4c:	00 00 42 60 	ori     r2,r2,0
+    3a50:	02 00 20 3a 	li      r17,2
+    3a54:	9c fc ff 4b 	b       36f0 <kvmhv_nested_page_fault+0x588>
     3a58:	00 00 00 60 	nop
     3a5c:	00 00 42 60 	ori     r2,r2,0
-    3a60:	02 00 20 3a 	li      r17,2
-    3a64:	9c fc ff 4b 	b       3700 <kvmhv_nested_page_fault+0x588>
-    3a68:	00 00 00 60 	nop
-    3a6c:	00 00 42 60 	ori     r2,r2,0
 		ms->mmiowb_pending = 0;
-    3a70:	00 00 20 39 	li      r9,0
-    3a74:	82 0c 2d b1 	sth     r9,3202(r13)
+    3a60:	00 00 20 39 	li      r9,0
+    3a64:	82 0c 2d b1 	sth     r9,3202(r13)
 		mmiowb();
-    3a78:	ac 04 00 7c 	hwsync
-    3a7c:	a0 fb ff 4b 	b       361c <kvmhv_nested_page_fault+0x4a4>
-    3a80:	d8 00 21 fa 	std     r17,216(r1)
-    3a84:	e0 00 41 fa 	std     r18,224(r1)
-    3a88:	e8 00 61 fa 	std     r19,232(r1)
-    3a8c:	f0 00 81 fa 	std     r20,240(r1)
-    3a90:	f8 00 a1 fa 	std     r21,248(r1)
-    3a94:	00 01 c1 fa 	std     r22,256(r1)
-    3a98:	28 01 61 fb 	std     r27,296(r1)
-    3a9c:	30 01 81 fb 	std     r28,304(r1)
+    3a68:	ac 04 00 7c 	hwsync
+    3a6c:	a0 fb ff 4b 	b       360c <kvmhv_nested_page_fault+0x4a4>
+    3a70:	d8 00 21 fa 	std     r17,216(r1)
+    3a74:	e0 00 41 fa 	std     r18,224(r1)
+    3a78:	e8 00 61 fa 	std     r19,232(r1)
+    3a7c:	f0 00 81 fa 	std     r20,240(r1)
+    3a80:	f8 00 a1 fa 	std     r21,248(r1)
+    3a84:	00 01 c1 fa 	std     r22,256(r1)
+    3a88:	28 01 61 fb 	std     r27,296(r1)
+    3a8c:	30 01 81 fb 	std     r28,304(r1)
 }
-    3aa0:	01 00 00 48 	bl      3aa0 <kvmhv_nested_page_fault+0x928>
-    3aa4:	00 00 00 60 	nop
+    3a90:	01 00 00 48 	bl      3a90 <kvmhv_nested_page_fault+0x928>
+    3a94:	00 00 00 60 	nop
 		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
-    3aa8:	00 00 22 3d 	addis   r9,r2,0
-    3aac:	3e 06 44 56 	clrlwi  r4,r18,24
-    3ab0:	10 00 a0 38 	li      r5,16
+    3a98:	00 00 22 3d 	addis   r9,r2,0
+    3a9c:	3e 06 44 56 	clrlwi  r4,r18,24
+    3aa0:	10 00 a0 38 	li      r5,16
 		return -EINVAL;
-    3ab4:	ea ff c0 3b 	li      r30,-22
+    3aa4:	ea ff c0 3b 	li      r30,-22
 		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
-    3ab8:	00 00 69 e8 	ld      r3,0(r9)
-    3abc:	01 00 00 48 	bl      3abc <kvmhv_nested_page_fault+0x944>
-    3ac0:	00 00 00 60 	nop
+    3aa8:	00 00 69 e8 	ld      r3,0(r9)
+    3aac:	01 00 00 48 	bl      3aac <kvmhv_nested_page_fault+0x944>
+    3ab0:	00 00 00 60 	nop
 		return -EINVAL;
-    3ac4:	84 fa ff 4b 	b       3548 <kvmhv_nested_page_fault+0x3d0>
-    3ac8:	00 00 00 60 	nop
-    3acc:	00 00 42 60 	ori     r2,r2,0
+    3ab4:	84 fa ff 4b 	b       3538 <kvmhv_nested_page_fault+0x3d0>
+    3ab8:	00 00 00 60 	nop
+    3abc:	00 00 42 60 	ori     r2,r2,0
 	...
 
-0000000000003ad8 <kvmhv_nested_next_lpid>:
+0000000000003ac8 <kvmhv_nested_next_lpid>:
 
 int kvmhv_nested_next_lpid(struct kvm *kvm, int lpid)
 {
-    3ad8:	f8 ff 4c e8 	ld      r2,-8(r12)
-    3adc:	14 62 42 7c 	add     r2,r2,r12
-    3ae0:	a6 02 08 7c 	mflr    r0
-    3ae4:	01 00 00 48 	bl      3ae4 <kvmhv_nested_next_lpid+0xc>
-    3ae8:	a6 02 08 7c 	mflr    r0
-    3aec:	f8 ff e1 fb 	std     r31,-8(r1)
+    3ac8:	f8 ff 4c e8 	ld      r2,-8(r12)
+    3acc:	14 62 42 7c 	add     r2,r2,r12
+    3ad0:	a6 02 08 7c 	mflr    r0
+    3ad4:	01 00 00 48 	bl      3ad4 <kvmhv_nested_next_lpid+0xc>
+    3ad8:	a6 02 08 7c 	mflr    r0
+    3adc:	f8 ff e1 fb 	std     r31,-8(r1)
 	int ret = lpid + 1;
-    3af0:	01 00 84 38 	addi    r4,r4,1
+    3ae0:	01 00 84 38 	addi    r4,r4,1
 {
-    3af4:	78 1b 7f 7c 	mr      r31,r3
-    3af8:	10 00 01 f8 	std     r0,16(r1)
-    3afc:	c1 ff 21 f8 	stdu    r1,-64(r1)
-    3b00:	78 0c 2d e9 	ld      r9,3192(r13)
-    3b04:	28 00 21 f9 	std     r9,40(r1)
-    3b08:	00 00 20 39 	li      r9,0
+    3ae4:	78 1b 7f 7c 	mr      r31,r3
+    3ae8:	10 00 01 f8 	std     r0,16(r1)
+    3aec:	c1 ff 21 f8 	stdu    r1,-64(r1)
+    3af0:	78 0c 2d e9 	ld      r9,3192(r13)
+    3af4:	28 00 21 f9 	std     r9,40(r1)
+    3af8:	00 00 20 39 	li      r9,0
 	int ret = lpid + 1;
-    3b0c:	24 00 81 90 	stw     r4,36(r1)
-    3b10:	01 00 00 48 	bl      3b10 <kvmhv_nested_next_lpid+0x38>
-    3b14:	00 00 00 60 	nop
+    3afc:	24 00 81 90 	stw     r4,36(r1)
+    3b00:	01 00 00 48 	bl      3b00 <kvmhv_nested_next_lpid+0x38>
+    3b04:	00 00 00 60 	nop
 
 	spin_lock(&kvm->mmu_lock);
 	if (!idr_get_next(&kvm->arch.kvm_nested_guest_idr, &ret))
-    3b18:	60 0c 7f 38 	addi    r3,r31,3168
-    3b1c:	24 00 81 38 	addi    r4,r1,36
-    3b20:	01 00 00 48 	bl      3b20 <kvmhv_nested_next_lpid+0x48>
-    3b24:	00 00 00 60 	nop
-    3b28:	00 00 23 2c 	cmpdi   r3,0
-    3b2c:	64 00 82 41 	beq     3b90 <kvmhv_nested_next_lpid+0xb8>
+    3b08:	60 0c 7f 38 	addi    r3,r31,3168
+    3b0c:	24 00 81 38 	addi    r4,r1,36
+    3b10:	01 00 00 48 	bl      3b10 <kvmhv_nested_next_lpid+0x48>
+    3b14:	00 00 00 60 	nop
+    3b18:	00 00 23 2c 	cmpdi   r3,0
+    3b1c:	64 00 82 41 	beq     3b80 <kvmhv_nested_next_lpid+0xb8>
 	if (unlikely(ms->mmiowb_pending)) {
-    3b30:	82 0c 4d a1 	lhz     r10,3202(r13)
+    3b20:	82 0c 4d a1 	lhz     r10,3202(r13)
 	struct mmiowb_state *ms = __mmiowb_state();
-    3b34:	78 6b a9 7d 	mr      r9,r13
+    3b24:	78 6b a9 7d 	mr      r9,r13
 	if (unlikely(ms->mmiowb_pending)) {
-    3b38:	00 00 0a 2c 	cmpwi   r10,0
-    3b3c:	6c 00 82 40 	bne     3ba8 <kvmhv_nested_next_lpid+0xd0>
+    3b28:	00 00 0a 2c 	cmpwi   r10,0
+    3b2c:	6c 00 82 40 	bne     3b98 <kvmhv_nested_next_lpid+0xd0>
 	ms->nesting_count--;
-    3b40:	80 0c 49 a1 	lhz     r10,3200(r9)
-    3b44:	ff ff 4a 39 	addi    r10,r10,-1
-    3b48:	80 0c 49 b1 	sth     r10,3200(r9)
-    3b4c:	ac 04 20 7c 	lwsync
-    3b50:	00 00 20 39 	li      r9,0
-    3b54:	00 00 3f b1 	sth     r9,0(r31)
+    3b30:	80 0c 49 a1 	lhz     r10,3200(r9)
+    3b34:	ff ff 4a 39 	addi    r10,r10,-1
+    3b38:	80 0c 49 b1 	sth     r10,3200(r9)
+    3b3c:	ac 04 20 7c 	lwsync
+    3b40:	00 00 20 39 	li      r9,0
+    3b44:	00 00 3f b1 	sth     r9,0(r31)
 		ret = -1;
 	spin_unlock(&kvm->mmu_lock);
 
 	return ret;
 }
-    3b58:	28 00 41 e9 	ld      r10,40(r1)
-    3b5c:	78 0c 2d e9 	ld      r9,3192(r13)
-    3b60:	79 4a 4a 7d 	xor.    r10,r10,r9
-    3b64:	00 00 20 39 	li      r9,0
+    3b48:	28 00 41 e9 	ld      r10,40(r1)
+    3b4c:	78 0c 2d e9 	ld      r9,3192(r13)
+    3b50:	79 4a 4a 7d 	xor.    r10,r10,r9
+    3b54:	00 00 20 39 	li      r9,0
 	return ret;
-    3b68:	26 00 61 e8 	lwa     r3,36(r1)
+    3b58:	26 00 61 e8 	lwa     r3,36(r1)
 }
-    3b6c:	4c 00 82 40 	bne     3bb8 <kvmhv_nested_next_lpid+0xe0>
-    3b70:	40 00 21 38 	addi    r1,r1,64
-    3b74:	10 00 01 e8 	ld      r0,16(r1)
-    3b78:	f8 ff e1 eb 	ld      r31,-8(r1)
-    3b7c:	a6 03 08 7c 	mtlr    r0
-    3b80:	20 00 80 4e 	blr
-    3b84:	00 00 00 60 	nop
-    3b88:	00 00 00 60 	nop
-    3b8c:	00 00 42 60 	ori     r2,r2,0
+    3b5c:	4c 00 82 40 	bne     3ba8 <kvmhv_nested_next_lpid+0xe0>
+    3b60:	40 00 21 38 	addi    r1,r1,64
+    3b64:	10 00 01 e8 	ld      r0,16(r1)
+    3b68:	f8 ff e1 eb 	ld      r31,-8(r1)
+    3b6c:	a6 03 08 7c 	mtlr    r0
+    3b70:	20 00 80 4e 	blr
+    3b74:	00 00 00 60 	nop
+    3b78:	00 00 00 60 	nop
+    3b7c:	00 00 42 60 	ori     r2,r2,0
 	if (unlikely(ms->mmiowb_pending)) {
-    3b90:	82 0c 4d a1 	lhz     r10,3202(r13)
+    3b80:	82 0c 4d a1 	lhz     r10,3202(r13)
 		ret = -1;
-    3b94:	ff ff 20 39 	li      r9,-1
-    3b98:	24 00 21 91 	stw     r9,36(r1)
+    3b84:	ff ff 20 39 	li      r9,-1
+    3b88:	24 00 21 91 	stw     r9,36(r1)
 	struct mmiowb_state *ms = __mmiowb_state();
-    3b9c:	78 6b a9 7d 	mr      r9,r13
+    3b8c:	78 6b a9 7d 	mr      r9,r13
 	if (unlikely(ms->mmiowb_pending)) {
-    3ba0:	00 00 0a 2c 	cmpwi   r10,0
-    3ba4:	9c ff 82 41 	beq     3b40 <kvmhv_nested_next_lpid+0x68>
+    3b90:	00 00 0a 2c 	cmpwi   r10,0
+    3b94:	9c ff 82 41 	beq     3b30 <kvmhv_nested_next_lpid+0x68>
 		ms->mmiowb_pending = 0;
-    3ba8:	00 00 40 39 	li      r10,0
-    3bac:	82 0c 4d b1 	sth     r10,3202(r13)
+    3b98:	00 00 40 39 	li      r10,0
+    3b9c:	82 0c 4d b1 	sth     r10,3202(r13)
 		mmiowb();
-    3bb0:	ac 04 00 7c 	hwsync
-    3bb4:	8c ff ff 4b 	b       3b40 <kvmhv_nested_next_lpid+0x68>
+    3ba0:	ac 04 00 7c 	hwsync
+    3ba4:	8c ff ff 4b 	b       3b30 <kvmhv_nested_next_lpid+0x68>
 }
-    3bb8:	01 00 00 48 	bl      3bb8 <kvmhv_nested_next_lpid+0xe0>
-    3bbc:	00 00 00 60 	nop
+    3ba8:	01 00 00 48 	bl      3ba8 <kvmhv_nested_next_lpid+0xe0>
+    3bac:	00 00 00 60 	nop
 
 Disassembly of section .bss:
 
@@ -5636,7 +5632,7 @@ Disassembly of section .debug_info:
       10:	00 00 1d 00 	.long 0x1d0000
 	...
 		*addr = swab64(*addr);
-      20:	00 00 00 c0 	lfs     f0,0(0)
+      20:	00 00 00 b0 	sth     r0,0(0)
       24:	3b 00 00 00 	.long 0x3b
       28:	00 00 00 00 	.long 0x0
       2c:	00 00 00 4f 	mcrf    cr6,cr0
@@ -6256,12 +6252,12 @@ static bool kvmhv_invalidate_shadow_pte(
      6b0:	00 22 d2 01 	attn
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
      6b4:	11 9b 04 00 	.long 0x49b11
-	if (unlikely(!pseries_partition_tb)) {
+	if (!pseries_partition_tb) {
      6b8:	00 d8 02 05 	.long 0x502d800
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
      6bc:	00 00 00 00 	.long 0x0
      6c0:	22 d3 01 0f 	twnei   r1,-11486
-	if (unlikely(!pseries_partition_tb)) {
+	if (!pseries_partition_tb) {
      6c4:	5c 00 00 00 	.long 0x5c
 	ptcr = __pa(pseries_partition_tb) | (ptb_order - 12);
      6c8:	e0 02 05 00 	.long 0x502e0
@@ -6401,7 +6397,7 @@ static bool kvmhv_invalidate_shadow_pte(
      864:	3f 10 2f 00 	.long 0x2f103f
      868:	00 00 00 01 	.long 0x1000000
      86c:	00 00 00 00 	.long 0x0
-     870:	23 40 0e 4b 	bla     ff0e4020 <kvmhv_nested_next_lpid+0xff0e0548>
+     870:	23 40 0e 4b 	bla     ff0e4020 <kvmhv_nested_next_lpid+0xff0e0558>
 	struct patb_entry ptbl_entry;
      874:	00 00 00 08 	tdi     0,r0,0
 {
@@ -6634,7 +6630,7 @@ static void kvmhv_emulate_tlbie_lpid(str
      b38:	00 00 29 17 	.long 0x17290000
      b3c:	10 2f 00 00 	.long 0x2f10
 	struct kvm *kvm = gp->l1_host;
-     b40:	00 20 00 4b 	b       ffffffffff002b40 <kvmhv_nested_next_lpid+0xfffffffffefff068>
+     b40:	00 20 00 4b 	b       ffffffffff002b40 <kvmhv_nested_next_lpid+0xfffffffffefff078>
      b44:	00 00 00 00 	.long 0x0
      b48:	10 01 24 da 	stfd    f17,272(r4)
      b4c:	06 30 0d 00 	.long 0xd3006
@@ -7217,7 +7213,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1270:	00 08 20 2f 	cmpdi   cr6,r0,2048
     1274:	69 00 00 30 	addic   r0,r0,105
     1278:	01 00 00 00 	.long 0x1
-	if (unlikely(!gp))
+	if (!gp)
     127c:	00 35 c3 0b 	tdi     30,r3,13568
     1280:	a5 03 00 00 	.long 0x3a5
     1284:	34 01 00 00 	.long 0x134
@@ -7234,7 +7230,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     12a0:	00 0f 2f 00 	.long 0x2f0f00
     12a4:	00 00 02 00 	.long 0x20000
     12a8:	1b 00 00 00 	.long 0x1b
-    12ac:	00 f8 16 48 	b       170aac <kvmhv_nested_next_lpid+0x16cfd4>
+    12ac:	00 f8 16 48 	b       170aac <kvmhv_nested_next_lpid+0x16cfe4>
     12b0:	02 08 4c 14 	.long 0x144c0802
 	return (pgd_t *)__get_free_page(pgtable_gfp_flags(mm, PGALLOC_GFP));
     12b4:	00 00 02 00 	.long 0x20000
@@ -7279,7 +7275,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1324:	00 30 02 00 	.long 0x23000
     1328:	00 00 00 16 	.long 0x16000000
 		kvmhv_release_nested(newgp);
-    132c:	52 02 06 48 	ba      60250 <kvmhv_nested_next_lpid+0x5c778>
+    132c:	52 02 06 48 	ba      60250 <kvmhv_nested_next_lpid+0x5c788>
     1330:	01 00 00 38 	li      r0,1
 		return NULL;
     1334:	02 00 00 00 	.long 0x2
@@ -7321,13 +7317,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     13a4:	00 00 00 00 	.long 0x0
     13a8:	16 5b 02 06 	.long 0x6025b16
     13ac:	52 01 00 00 	.long 0x152
-		ms->mmiowb_pending = 0;
+	pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
     13b0:	80 02 00 00 	.long 0x280
     13b4:	00 00 16 5c 	rlwnm   r22,r0,r0,0,0
-		mmiowb();
     13b8:	02 06 52 01 	.long 0x1520602
     13bc:	00 00 88 02 	.long 0x2880000
-	pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
     13c0:	00 00 00 00 	.long 0x0
     13c4:	16 5d 02 06 	.long 0x6025d16
     13c8:	52 01 00 00 	.long 0x152
@@ -7335,11 +7329,13 @@ static void kvmhv_emulate_tlbie_lpid(str
     13d0:	00 00 16 5e 	rlwnm   r22,r16,r0,0,0
     13d4:	02 06 52 01 	.long 0x1520602
     13d8:	00 00 98 02 	.long 0x2980000
+	if (unlikely(!pgd))
     13dc:	00 00 00 00 	.long 0x0
+		ms->mmiowb_pending = 0;
     13e0:	16 60 02 06 	.long 0x6026016
     13e4:	52 01 00 00 	.long 0x152
+		mmiowb();
     13e8:	a0 02 00 00 	.long 0x2a0
-	if (unlikely(!pgd))
     13ec:	00 00 16 61 	ori     r22,r8,0
 	pgd_free(kvm->mm, gp->shadow_pgtable);
     13f0:	02 06 52 01 	.long 0x1520602
@@ -7422,7 +7418,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     14ec:	f7 14 00 00 	.long 0x14f7
 	if (unlikely(ms->mmiowb_pending)) {
     14f0:	0f 2f 00 00 	.long 0x2f0f
-    14f4:	00 3f 00 4b 	b       ffffffffff0053f4 <kvmhv_nested_next_lpid+0xffffffffff00191c>
+    14f4:	00 3f 00 4b 	b       ffffffffff0053f4 <kvmhv_nested_next_lpid+0xffffffffff00192c>
     14f8:	00 00 00 00 	.long 0x0
 	ms->nesting_count--;
     14fc:	38 10 17 c9 	lfd     f8,4152(r23)
@@ -7980,7 +7976,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	delta_spurr = vcpu->arch.spurr - l2_hv.spurr;
     1b04:	08 01 00 00 	.long 0x108
 	delta_ic = vcpu->arch.ic - l2_hv.ic;
-    1b08:	00 00 10 48 	b       101b08 <kvmhv_nested_next_lpid+0xfe030>
+    1b08:	00 00 10 48 	b       101b08 <kvmhv_nested_next_lpid+0xfe040>
 	hr->srr0 = vcpu->arch.shregs.srr0;
     1b0c:	06 c5 00 00 	.long 0xc506
     1b10:	00 0c 01 00 	.long 0x10c00
@@ -8313,7 +8309,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1e4c:	c5 00 00 00 	.long 0xc5
     1e50:	28 02 00 00 	.long 0x228
 		return H_BAD_MODE;
-    1e54:	00 00 14 48 	b       141e54 <kvmhv_nested_next_lpid+0x13e37c>
+    1e54:	00 00 14 48 	b       141e54 <kvmhv_nested_next_lpid+0x13e38c>
     1e58:	01 06 c5 00 	.long 0xc50601
     1e5c:	00 00 2c 02 	.long 0x22c0000
 		byteswap_hv_regs(&l2_hv);
@@ -8348,7 +8344,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1ebc:	c5 00 00 00 	.long 0xc5
     1ec0:	78 02 00 00 	.long 0x278
     1ec4:	00 00 14 58 	rlmi    r20,r0,r0,0,0
-    1ec8:	01 0b f2 49 	bl      1f229c8 <kvmhv_nested_next_lpid+0x1f1eef0>
+    1ec8:	01 0b f2 49 	bl      1f229c8 <kvmhv_nested_next_lpid+0x1f1ef00>
     1ecc:	00 00 80 02 	.long 0x2800000
 	return kvm_vcpu_write_guest(vcpu, hv_ptr, l2_hv, size) ||
     1ed0:	00 00 00 00 	.long 0x0
@@ -8565,7 +8561,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     216c:	06 00 00 00 	.long 0x6
     2170:	00 05 06 00 	.long 0x60500
     2174:	00 00 00 06 	.long 0x6000000
-	if (unlikely(!buf))
+	if (!buf)
     2178:	06 00 00 00 	.long 0x6
     217c:	00 07 06 00 	.long 0x60700
 	gp = kvmhv_get_nested(vcpu->kvm, l1_lpid, false);
@@ -8711,45 +8707,45 @@ static void kvmhv_emulate_tlbie_lpid(str
 		rc = kvm_vcpu_write_guest(vcpu, gp_to, buf, n);
     2338:	00 00 3b 85 	lwzu    r9,0(r27)
     233c:	08 8c 20 00 	.long 0x208c08
-		return H_NO_MEM;
+		return H_PARAMETER;
     2340:	00 04 01 00 	.long 0x10400
     2344:	00 00 00 3b 	li      r24,0
     2348:	86 09 52 01 	.long 0x1520986
     234c:	00 00 08 01 	.long 0x1080000
+	WARN_ON_ONCE(idx & ~0x1);
     2350:	00 00 00 00 	.long 0x0
     2354:	3b 87 09 52 	rlwimi. r9,r16,16,28,29
     2358:	01 00 00 10 	vmul10cuq v0,v0
     235c:	01 00 00 00 	.long 0x1
-		return H_PARAMETER;
     2360:	00 3b 88 08 	tdeqi   r8,15104
+		return H_NO_MEM;
     2364:	ac 1a 00 00 	.long 0x1aac
     2368:	18 00 18 20 	subfic  r0,r24,24
     236c:	3b 8b 03 b6 	sthu    r16,-29893(r3)
-	WARN_ON_ONCE(idx & ~0x1);
     2370:	23 00 00 33 	addic   r24,r0,35
     2374:	00 00 00 00 	.long 0x0
     2378:	3b 8c 1a e9 	.long 0xe91a8c3b
     237c:	21 00 00 08 	tdi     0,r0,33
     2380:	00 01 00 00 	.long 0x100
     2384:	00 00 3b 8d 	lbzu    r9,0(r27)
+{
     2388:	08 08 01 00 	.long 0x10808
     238c:	00 01 01 00 	.long 0x10100
     2390:	00 00 00 3b 	li      r24,0
     2394:	8e 08 6e 19 	.long 0x196e088e
-{
     2398:	00 00 02 01 	.long 0x1020000
     239c:	00 00 00 00 	.long 0x0
     23a0:	3b 8f 09 52 	rlwimi. r9,r16,17,28,29
     23a4:	01 00 00 08 	tdi     0,r0,1
+	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     23a8:	01 00 00 00 	.long 0x1
+	int shift, shadow_shift;
     23ac:	00 3b 90 08 	tdeqi   r16,15104
+{
     23b0:	9e 19 00 00 	.long 0x199e
     23b4:	10 00 18 20 	subfic  r0,r24,16
-	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     23b8:	3b 93 03 02 	.long 0x203933b
-	int shift, shadow_shift;
     23bc:	24 00 00 33 	addic   r24,r0,36
-{
     23c0:	00 00 00 00 	.long 0x0
     23c4:	3b 94 1b 0c 	twi     0,r27,-27589
     23c8:	22 00 00 08 	tdi     0,r0,34
@@ -8758,102 +8754,102 @@ static void kvmhv_emulate_tlbie_lpid(str
     23d4:	08 08 01 00 	.long 0x10808
     23d8:	00 01 01 00 	.long 0x10100
     23dc:	00 00 00 3b 	li      r24,0
+	struct kvm *kvm = vcpu->kvm;
     23e0:	96 08 6e 19 	.long 0x196e0896
+	int shift, shadow_shift;
     23e4:	00 00 02 01 	.long 0x1020000
     23e8:	00 00 00 00 	.long 0x0
     23ec:	3b 97 09 52 	rlwimi. r9,r16,18,28,29
-	struct kvm *kvm = vcpu->kvm;
+		if (mmu_psize_defs[psize].ap == ap)
     23f0:	01 00 00 08 	tdi     0,r0,1
-	int shift, shadow_shift;
+	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     23f4:	01 00 00 00 	.long 0x1
+		if (mmu_psize_defs[psize].ap == ap)
     23f8:	00 3b 98 08 	tdeqi   r24,15104
     23fc:	9e 19 00 00 	.long 0x199e
-		if (mmu_psize_defs[psize].ap == ap)
-    2400:	10 00 18 20 	subfic  r0,r24,16
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
+    2400:	10 00 18 20 	subfic  r0,r24,16
     2404:	3b 9b 03 4e 	.long 0x4e039b3b
-		if (mmu_psize_defs[psize].ap == ap)
     2408:	24 00 00 33 	addic   r24,r0,36
+		if (mmu_psize_defs[psize].ap == ap)
     240c:	00 00 00 00 	.long 0x0
-	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     2410:	3b 9c 1a 2f 	cmpwi   cr6,r26,-25541
     2414:	22 00 00 08 	tdi     0,r0,34
+			return mmu_psize_defs[psize].shift;
     2418:	00 01 00 00 	.long 0x100
-		if (mmu_psize_defs[psize].ap == ap)
     241c:	00 00 3b 9d 	stbu    r9,0(r27)
+	shift = ap_to_shift(ap);
     2420:	08 08 01 00 	.long 0x10808
+	if (shift < 0)
     2424:	00 01 01 00 	.long 0x10100
-			return mmu_psize_defs[psize].shift;
     2428:	00 00 00 3b 	li      r24,0
+	gp = kvmhv_get_nested(kvm, lpid, false);
     242c:	9e 08 6e 19 	.long 0x196e089e
-	shift = ap_to_shift(ap);
     2430:	00 00 02 01 	.long 0x1020000
-	if (shift < 0)
+	if (!gp) /* No such guest -> nothing to do */
     2434:	00 00 00 00 	.long 0x0
     2438:	3b 9f 09 52 	rlwimi. r9,r16,19,28,29
-	gp = kvmhv_get_nested(kvm, lpid, false);
     243c:	01 00 00 08 	tdi     0,r0,1
+	addr &= ~((1UL << shift) - 1);
     2440:	01 00 00 00 	.long 0x1
-	if (!gp) /* No such guest -> nothing to do */
+	npages = 1UL << (shift - PAGE_SHIFT);
     2444:	00 3b a0 08 	tdlgei  r0,15104
     2448:	9e 19 00 00 	.long 0x199e
+	mutex_lock(&gp->tlb_lock);
     244c:	10 00 18 20 	subfic  r0,r24,16
-	addr &= ~((1UL << shift) - 1);
+	addr = epn << 12;
     2450:	3b a3 03 9a 	stb     r16,-23749(r3)
-	npages = 1UL << (shift - PAGE_SHIFT);
+		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
     2454:	24 00 00 33 	addic   r24,r0,36
+	addr &= ~((1UL << shift) - 1);
     2458:	00 00 00 00 	.long 0x0
 	mutex_lock(&gp->tlb_lock);
     245c:	3b a4 1b 52 	rlwimi. r27,r16,20,16,29
-	addr = epn << 12;
+	npages = 1UL << (shift - PAGE_SHIFT);
     2460:	22 00 00 08 	tdi     0,r0,34
-		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    2464:	00 01 00 00 	.long 0x100
 	addr &= ~((1UL << shift) - 1);
+    2464:	00 01 00 00 	.long 0x100
     2468:	00 00 3b a5 	lhzu    r9,0(r27)
 	mutex_lock(&gp->tlb_lock);
     246c:	08 08 01 00 	.long 0x10808
-	npages = 1UL << (shift - PAGE_SHIFT);
     2470:	00 01 01 00 	.long 0x10100
-	addr &= ~((1UL << shift) - 1);
     2474:	00 00 00 3b 	li      r24,0
     2478:	a6 08 6e 19 	.long 0x196e08a6
-	mutex_lock(&gp->tlb_lock);
     247c:	00 00 02 01 	.long 0x1020000
+		kvmhv_invalidate_shadow_pte(vcpu, gp, addr, &shadow_shift);
     2480:	00 00 00 00 	.long 0x0
     2484:	3b a7 09 52 	rlwimi. r9,r16,20,28,29
     2488:	01 00 00 08 	tdi     0,r0,1
     248c:	01 00 00 00 	.long 0x1
-		kvmhv_invalidate_shadow_pte(vcpu, gp, addr, &shadow_shift);
     2490:	00 3b a8 08 	tdlgei  r8,15104
+		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
     2494:	9e 19 00 00 	.long 0x199e
     2498:	10 00 18 20 	subfic  r0,r24,16
+		addr += 1UL << shadow_shift;
     249c:	3b ab 03 e6 	lxssp   v16,-21704(r3)
-    24a0:	24 00 00 33 	addic   r24,r0,36
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
+    24a0:	24 00 00 33 	addic   r24,r0,36
+		addr += 1UL << shadow_shift;
     24a4:	00 00 00 00 	.long 0x0
+	} while (npages > 0);
     24a8:	3b ac 19 75 	andis.  r25,r8,44091
-		addr += 1UL << shadow_shift;
     24ac:	22 00 00 08 	tdi     0,r0,34
-		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
+	mutex_unlock(&gp->tlb_lock);
     24b0:	00 01 00 00 	.long 0x100
-		addr += 1UL << shadow_shift;
     24b4:	00 00 3b ad 	lhau    r9,0(r27)
-	} while (npages > 0);
     24b8:	08 08 01 00 	.long 0x10808
+	kvmhv_put_nested(gp);
     24bc:	00 01 01 00 	.long 0x10100
-	mutex_unlock(&gp->tlb_lock);
     24c0:	00 00 00 3b 	li      r24,0
     24c4:	ae 08 6e 19 	.long 0x196e08ae
     24c8:	00 00 02 01 	.long 0x1020000
-	kvmhv_put_nested(gp);
+		return 0;
     24cc:	00 00 00 00 	.long 0x0
+}
     24d0:	3b af 09 52 	rlwimi. r9,r16,21,28,29
     24d4:	01 00 00 08 	tdi     0,r0,1
     24d8:	01 00 00 00 	.long 0x1
-		return 0;
     24dc:	00 3b b0 08 	tdlgei  r16,15104
-}
     24e0:	9e 19 00 00 	.long 0x199e
     24e4:	10 00 18 20 	subfic  r0,r24,16
     24e8:	3b b3 03 32 	addic   r16,r3,-19653
@@ -8866,261 +8862,261 @@ static void kvmhv_emulate_tlbie_lpid(str
     2504:	08 08 01 00 	.long 0x10808
     2508:	00 01 01 00 	.long 0x10100
     250c:	00 00 00 3b 	li      r24,0
+		return -EINVAL;
     2510:	b6 08 6e 19 	.long 0x196e08b6
     2514:	00 00 02 01 	.long 0x1020000
     2518:	00 00 00 00 	.long 0x0
     251c:	3b b7 09 52 	rlwimi. r9,r16,22,28,29
-		return -EINVAL;
+}
     2520:	01 00 00 08 	tdi     0,r0,1
     2524:	01 00 00 00 	.long 0x1
     2528:	00 3b b8 08 	tdlgei  r24,15104
     252c:	9e 19 00 00 	.long 0x199e
-}
     2530:	10 00 27 20 	subfic  r1,r7,16
     2534:	3b 7f 02 90 	stw     r0,32571(r2)
+{
     2538:	25 00 00 12 	vmsummbm v16,v0,v0,v0
     253c:	00 00 00 00 	.long 0x0
     2540:	3b 89 05 f7 	stxssp  v24,-30408(r5)
     2544:	22 00 00 12 	vmladduhm v16,v0,v0,v0
-{
     2548:	00 00 00 00 	.long 0x0
     254c:	3b 91 05 6a 	xori    r5,r16,37179
     2550:	23 00 00 12 	vmsumudm v16,v0,v0,v0
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2554:	00 00 00 00 	.long 0x0
     2558:	3b 99 05 b6 	sthu    r16,-26309(r5)
+{
     255c:	23 00 00 12 	vmsumudm v16,v0,v0,v0
     2560:	00 00 00 00 	.long 0x0
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2564:	3b a1 05 02 	.long 0x205a13b
     2568:	24 00 00 12 	vmsumubm v16,v0,v0,v0
-{
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     256c:	00 00 00 00 	.long 0x0
     2570:	3b a9 05 4e 	.long 0x4e05a93b
+	if (!gp)
     2574:	24 00 00 12 	vmsumubm v16,v0,v0,v0
     2578:	00 00 00 00 	.long 0x0
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     257c:	3b b1 05 9a 	stb     r16,-20165(r5)
     2580:	24 00 00 12 	vmsumubm v16,v0,v0,v0
-	if (!gp)
     2584:	00 00 00 00 	.long 0x0
     2588:	3b b9 05 e6 	lxssp   v16,-18120(r5)
-	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     258c:	24 00 00 00 	.long 0x24
     2590:	0b 00 00 00 	.long 0xb
+}
     2594:	00 48 3b 72 	andi.   r27,r17,18432
     2598:	08 4b 26 00 	.long 0x264b08
     259c:	00 33 00 00 	.long 0x3300
     25a0:	00 00 3b 73 	andi.   r27,r25,0
-}
     25a4:	13 ac 20 00 	.long 0x20ac13
     25a8:	00 08 00 01 	.long 0x1000800
     25ac:	00 00 00 00 	.long 0x0
     25b0:	3b 74 07 08 	tdi     0,r7,29755
     25b4:	01 00 00 01 	.long 0x1000001
+{
     25b8:	33 00 00 00 	.long 0x33
     25bc:	00 3b 75 14 	.long 0x14753b00
     25c0:	c3 20 00 00 	.long 0x20c3
     25c4:	08 10 33 00 	.long 0x331008
-{
     25c8:	00 00 00 3b 	li      r24,0
     25cc:	76 15 09 21 	subfic  r8,r9,5494
     25d0:	00 00 08 18 	lxvp    vs0,0(r8)
+	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
     25d4:	33 00 00 00 	.long 0x33
+	u64 rmap, new_rmap = (*n_rmap)->rmap;
     25d8:	00 3b 77 15 	.long 0x15773b00
+	if (!(*rmapp)) {
     25dc:	3e 21 00 00 	.long 0x213e
+	u64 rmap, new_rmap = (*n_rmap)->rmap;
     25e0:	08 20 33 00 	.long 0x332008
-	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
+	if (!(*rmapp)) {
     25e4:	00 00 00 3b 	li      r24,0
-	u64 rmap, new_rmap = (*n_rmap)->rmap;
     25e8:	78 16 8b 21 	subfic  r12,r11,5752
-	if (!(*rmapp)) {
     25ec:	00 00 08 28 	cmplwi  r8,0
-	u64 rmap, new_rmap = (*n_rmap)->rmap;
     25f0:	33 00 00 00 	.long 0x33
-	if (!(*rmapp)) {
     25f4:	00 3b 79 17 	.long 0x17793b00
     25f8:	ec 20 00 00 	.long 0x20ec
     25fc:	08 30 01 00 	.long 0x13008
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2600:	00 00 00 3b 	li      r24,0
     2604:	7a 09 df 02 	.long 0x2df097a
+	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
     2608:	00 00 07 0e 	twlti   r7,0
+		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
     260c:	63 70 75 00 	.long 0x757063
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2610:	3b 7b 08 20 	subfic  r0,r8,31547
+	if (rmap & RMAP_NESTED_IS_SINGLE_ENTRY) /* Not previously a list */
     2614:	01 00 00 08 	tdi     0,r0,1
-	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
     2618:	01 00 00 00 	.long 0x1
-		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
     261c:	00 3b 7c 08 	tdi     3,r28,15104
     2620:	52 01 00 00 	.long 0x152
-	if (rmap & RMAP_NESTED_IS_SINGLE_ENTRY) /* Not previously a list */
+	return llist_add_batch(new, new, head);
     2624:	10 01 00 00 	.long 0x110
     2628:	00 00 3b 7d 	cmpd    cr2,r27,r0
     262c:	08 52 01 00 	.long 0x15208
     2630:	00 18 01 00 	.long 0x11800
-	return llist_add_batch(new, new, head);
+	*n_rmap = NULL;
     2634:	00 00 00 3b 	li      r24,0
     2638:	7e 08 52 01 	.long 0x152087e
     263c:	00 00 20 0e 	twi     17,r0,0
     2640:	75 00 3b ba 	lm      r17,117(r27)
-	*n_rmap = NULL;
+}
     2644:	04 32 25 00 	.long 0x253204
     2648:	00 28 00 43 	bdnz-   4e48 <.debug_info+0x4e48>
+	*n_rmap = NULL;
     264c:	00 00 00 00 	.long 0x0
-    2650:	88 08 3b d1 	stfs    f9,2184(r27)
 }
+    2650:	88 08 3b d1 	stfs    f9,2184(r27)
     2654:	08 ac 26 00 	.long 0x26ac08
     2658:	00 01 00 00 	.long 0x100
-	*n_rmap = NULL;
     265c:	00 00 3b d2 	stfs    f17,0(r27)
-}
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2660:	06 c5 00 00 	.long 0xc506
     2664:	00 00 01 00 	.long 0x10000
+	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
     2668:	00 00 00 3b 	li      r24,0
+		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
     266c:	d3 1d ac 26 	dozi    r21,r12,7635
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2670:	00 00 08 09 	tdgti   r8,0
     2674:	00 00 00 00 	.long 0x0
-	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
-    2678:	3b d5 06 c5 	lfsu    f8,-10949(r6)
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    267c:	00 00 00 d8 	stfd    f0,0(0)
+    2678:	3b d5 06 c5 	lfsu    f8,-10949(r6)
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
+    267c:	00 00 00 d8 	stfd    f0,0(0)
     2680:	02 09 00 00 	.long 0x902
     2684:	00 00 3b d6 	stfsu   f17,0(r27)
-		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
     2688:	1d ac 26 00 	.long 0x26ac1d
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     268c:	00 e0 02 09 	tdgti   r2,-8192
+		*rmapp = 0UL;
     2690:	00 00 00 00 	.long 0x0
     2694:	3b d8 06 c5 	lfsu    f8,-10181(r6)
     2698:	00 00 00 b0 	sth     r0,0(0)
     269c:	05 09 00 00 	.long 0x905
-		*rmapp = 0UL;
     26a0:	00 00 3b d9 	stfd    f9,0(r27)
     26a4:	1e ac 26 00 	.long 0x26ac1e
     26a8:	00 b8 05 00 	.long 0x5b800
+		(*n_rmap)->list.next = (struct llist_node *) rmap;
     26ac:	0d 90 25 00 	.long 0x25900d
     26b0:	00 bc 26 00 	.long 0x26bc00
     26b4:	00 0f 2f 00 	.long 0x2f0f00
     26b8:	00 00 09 00 	.long 0x90000
-		(*n_rmap)->list.next = (struct llist_node *) rmap;
     26bc:	0b 00 00 00 	.long 0xb
     26c0:	00 04 3c 07 	.long 0x73c0400
+}
     26c4:	08 e4 26 00 	.long 0x26e408
     26c8:	00 01 00 00 	.long 0x100
     26cc:	00 00 3c 08 	tdlgti  r28,0
+		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
     26d0:	06 20 01 00 	.long 0x12006
 }
     26d4:	00 00 01 00 	.long 0x10000
+		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
     26d8:	00 00 00 3c 	lis     r0,0
+}
     26dc:	09 06 20 01 	.long 0x1200609
-		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
     26e0:	00 00 02 00 	.long 0x20000
-}
     26e4:	55 00 00 00 	.long 0x55
-		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
     26e8:	00 00 0d 80 	lwz     r0,0(r13)
-}
     26ec:	3d 41 61 2a 	cmpldi  cr4,r1,16701
     26f0:	00 00 01 00 	.long 0x10000
     26f4:	00 00 00 3d 	lis     r8,0
+{
     26f8:	4a 11 d1 2a 	cmplwi  cr5,r17,4426
     26fc:	00 00 00 01 	.long 0x1000000
     2700:	00 00 00 00 	.long 0x0
     2704:	3d 57 06 20 	subfic  r0,r6,22333
-{
+	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
     2708:	01 00 00 08 	tdi     0,r0,1
+{
     270c:	01 00 00 00 	.long 0x1
     2710:	00 3d 58 06 	.long 0x6583d00
-    2714:	20 01 00 00 	.long 0x120
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
+    2714:	20 01 00 00 	.long 0x120
+	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
     2718:	0a 01 00 00 	.long 0x10a
 {
     271c:	00 00 3d 5b 	rlmi    r29,r25,r0,0,0
     2720:	06 52 01 00 	.long 0x15206
-	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
     2724:	00 10 01 00 	.long 0x11000
-	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
+	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
     2728:	00 00 00 3d 	lis     r8,0
-{
     272c:	5c 06 52 01 	.long 0x152065c
+	mask = PTE_RPN_MASK & ~(nbytes - 1);
     2730:	00 00 18 01 	.long 0x1180000
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     2734:	00 00 00 00 	.long 0x0
-	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
     2738:	3d 5d 06 52 	rlwimi. r6,r16,11,20,30
-    273c:	01 00 00 20 	subfic  r0,r0,1
 	mask = PTE_RPN_MASK & ~(nbytes - 1);
+    273c:	01 00 00 20 	subfic  r0,r0,1
     2740:	01 00 00 00 	.long 0x1
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
     2744:	00 3d 5e 08 	tdllti  r30,15616
     2748:	9b 04 00 00 	.long 0x49b
-	mask = PTE_RPN_MASK & ~(nbytes - 1);
     274c:	28 01 00 00 	.long 0x128
     2750:	00 00 3d 5f 	rlwnm   r29,r25,r0,0,0
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
+	unsigned int shift, lpid;
     2754:	06 52 01 00 	.long 0x15206
     2758:	00 30 01 00 	.long 0x13000
     275c:	00 00 00 3d 	lis     r8,0
     2760:	60 06 16 01 	.long 0x1160660
-	unsigned int shift, lpid;
     2764:	00 00 38 01 	.long 0x1380000
     2768:	00 00 00 00 	.long 0x0
     276c:	3d 61 05 08 	tdi     0,r5,24893
     2770:	01 00 00 3a 	li      r16,1
     2774:	01 00 00 00 	.long 0x1
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2778:	00 3d 63 05 	.long 0x5633d00
     277c:	08 01 00 00 	.long 0x108
     2780:	3b 01 00 00 	.long 0x13b
     2784:	00 00 3d 66 	oris    r29,r17,0
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2788:	15 d6 2a 00 	.long 0x2ad615
     278c:	00 40 01 00 	.long 0x14000
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     2790:	00 00 00 3d 	lis     r8,0
     2794:	68 14 e0 2a 	cmpldi  cr5,r0,5224
     2798:	00 00 48 01 	.long 0x1480000
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     279c:	00 00 00 00 	.long 0x0
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     27a0:	3d 69 14 e0 	lq      r0,26928(r20)
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     27a4:	2a 00 00 50 	rlwimi  r0,r0,0,0,21
+	unsigned int shift, lpid;
     27a8:	01 00 00 00 	.long 0x1
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
+	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     27ac:	00 3d 6b 06 	.long 0x66b3d00
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     27b0:	52 01 00 00 	.long 0x152
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     27b4:	58 50 00 00 	.long 0x5058
-	unsigned int shift, lpid;
     27b8:	00 00 3d 72 	andi.   r29,r17,0
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     27bc:	06 e5 2a 00 	.long 0x2ae506
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
+	if (!gp)
     27c0:	00 80 80 01 	.long 0x1808000
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     27c4:	00 00 00 00 	.long 0x0
+	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     27c8:	3d 76 06 20 	subfic  r0,r6,30269
-	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     27cc:	01 00 00 d0 	stfs    f0,1(0)
-	if (!gp)
     27d0:	01 00 00 00 	.long 0x1
     27d4:	00 3d 77 05 	.long 0x5773d00
-	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     27d8:	08 01 00 00 	.long 0x108
     27dc:	d2 01 00 00 	.long 0x1d2
+	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa)) {
     27e0:	00 00 3d 78 	rotldi  r29,r1,0
     27e4:	05 08 01 00 	.long 0x10805
     27e8:	00 d3 01 00 	.long 0x1d300
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     27ec:	00 00 00 3d 	lis     r8,0
-	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa)) {
+	if (pte_hw_valid(pte))
     27f0:	7c 06 3e 01 	.long 0x13e067c
     27f4:	00 00 d4 01 	.long 0x1d40000
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     27f8:	00 00 00 00 	.long 0x0
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     27fc:	3d 7d 06 3e 	addis   r16,r6,32061
-	if (pte_hw_valid(pte))
     2800:	01 00 00 d8 	stfd    f0,1(0)
     2804:	01 00 00 00 	.long 0x1
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     2808:	00 3d 7e 06 	.long 0x67e3d00
     280c:	cc 1f 00 00 	.long 0x1fcc
     2810:	dc 01 00 00 	.long 0x1dc
@@ -9132,34 +9128,34 @@ static void kvmhv_emulate_tlbie_lpid(str
     2828:	00 00 04 01 	.long 0x1040000
     282c:	09 00 00 00 	.long 0x9
     2830:	00 3d a4 16 	.long 0x16a43d00
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     2834:	a4 37 00 00 	.long 0x37a4
     2838:	08 09 09 00 	.long 0x90908
     283c:	00 00 00 3d 	lis     r8,0
     2840:	a5 06 52 01 	.long 0x15206a5
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2844:	00 00 10 09 	tdgti   r16,0
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2848:	09 00 00 00 	.long 0x9
+	unsigned int shift, lpid;
     284c:	00 3d a6 06 	.long 0x6a63d00
+	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     2850:	52 01 00 00 	.long 0x152
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2854:	18 09 09 00 	.long 0x90918
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2858:	00 00 00 3d 	lis     r8,0
-	unsigned int shift, lpid;
     285c:	a7 06 52 01 	.long 0x15206a7
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     2860:	00 00 20 09 	tdi     9,r0,0
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
+	if (!gp)
     2864:	09 00 00 00 	.long 0x9
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2868:	00 3d a9 06 	.long 0x6a93d00
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     286c:	52 01 00 00 	.long 0x152
-	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     2870:	28 09 09 00 	.long 0x90928
-	if (!gp)
     2874:	00 00 00 3d 	lis     r8,0
     2878:	af 05 08 01 	.long 0x10805af
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
     287c:	00 00 30 09 	tdi     9,r16,0
     2880:	09 00 00 00 	.long 0x9
     2884:	00 3d b0 05 	.long 0x5b03d00
@@ -9172,21 +9168,21 @@ static void kvmhv_emulate_tlbie_lpid(str
     28a0:	00 3d b3 05 	.long 0x5b33d00
     28a4:	08 01 00 00 	.long 0x108
     28a8:	33 09 09 00 	.long 0x90933
+}
     28ac:	00 00 00 3d 	lis     r8,0
     28b0:	b4 05 08 01 	.long 0x10805b4
     28b4:	00 00 34 09 	tdi     9,r20,0
     28b8:	09 00 00 00 	.long 0x9
-}
     28bc:	00 3d b6 05 	.long 0x5b63d00
     28c0:	08 01 00 00 	.long 0x108
     28c4:	35 09 09 00 	.long 0x90935
     28c8:	00 00 00 3d 	lis     r8,0
     28cc:	b8 06 52 01 	.long 0x15206b8
+	: "r" (ptep), "r" (cpu_to_be64(set)), "r" (cpu_to_be64(clr))
     28d0:	00 00 38 09 	tdi     9,r24,0
     28d4:	09 00 00 00 	.long 0x9
     28d8:	00 3d ba 06 	.long 0x6ba3d00
     28dc:	52 01 00 00 	.long 0x152
-	: "r" (ptep), "r" (cpu_to_be64(set)), "r" (cpu_to_be64(clr))
     28e0:	40 09 09 00 	.long 0x90940
     28e4:	00 00 00 3d 	lis     r8,0
     28e8:	c0 10 2f 00 	.long 0x2f10c0
@@ -9201,17 +9197,17 @@ static void kvmhv_emulate_tlbie_lpid(str
     290c:	06 e5 2a 00 	.long 0x2ae506
     2910:	00 b0 09 09 	tdgti   r9,-20480
     2914:	00 00 00 00 	.long 0x0
+	__asm__ __volatile__(
     2918:	3d dd 08 9b 	stb     r24,-8899(r8)
     291c:	04 00 00 00 	.long 0x4
     2920:	0a 09 00 00 	.long 0x90a
     2924:	00 00 3d de 	stfdu   f17,0(r29)
-	__asm__ __volatile__(
     2928:	08 9b 04 00 	.long 0x49b08
+		kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid);
     292c:	00 08 0a 09 	tdgti   r10,2048
     2930:	00 00 00 00 	.long 0x0
     2934:	3d e0 06 20 	subfic  r0,r6,-8131
     2938:	01 00 00 10 	vmul10cuq v0,v0
-		kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid);
     293c:	0a 09 00 00 	.long 0x90a
     2940:	00 00 3d e6 	psq_lu  f17,0(r29),0,0
     2944:	06 20 01 00 	.long 0x12006
@@ -9228,142 +9224,144 @@ static void kvmhv_emulate_tlbie_lpid(str
     2970:	01 00 00 18 	stxvp   vs0,0(0)
     2974:	0a 09 00 00 	.long 0x90a
     2978:	00 00 3d eb 	ld      r25,0(r29)
+}
     297c:	05 08 01 00 	.long 0x10805
     2980:	00 1c 0a 09 	tdgti   r10,7168
     2984:	00 00 00 00 	.long 0x0
     2988:	3d ee 1d e1 	lq      r8,-4560(r29)
-}
     298c:	1f 00 00 20 	subfic  r0,r0,31
     2990:	0a 09 00 00 	.long 0x90a
     2994:	00 00 3d ef 	.long 0xef3d0000
+{
     2998:	06 52 01 00 	.long 0x15206
     299c:	00 68 0a 09 	tdgti   r10,26624
     29a0:	00 00 00 00 	.long 0x0
     29a4:	3d f0 14 e0 	lq      r0,-4048(r20)
-{
     29a8:	2a 00 00 70 	andi.   r0,r0,42
     29ac:	0a 09 00 00 	.long 0x90a
+	if (!memslot)
     29b0:	00 00 3d f7 	psq_stu f25,0(r29),0,0
+{
     29b4:	1b 4b 1c 00 	.long 0x1c4b1b
     29b8:	00 78 0a 09 	tdgti   r10,30720
     29bc:	00 00 00 00 	.long 0x0
 	if (!memslot)
     29c0:	3d fd 20 a9 	lha     r9,-707(0)
-{
+	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
     29c4:	37 00 00 88 	lbz     r0,55(0)
     29c8:	0b 48 00 00 	.long 0x480b
     29cc:	00 00 3d 05 	.long 0x53d0000
-	if (!memslot)
+	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
     29d0:	01 06 e5 2a 	cmpldi  cr5,r5,1537
-	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
+	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
     29d4:	00 00 80 00 	.long 0x800000
     29d8:	0c 05 00 00 	.long 0x50c
+	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
     29dc:	00 00 3d 06 	.long 0x63d0000
-	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
-    29e0:	01 08 9b 04 	.long 0x49b0801
 	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
+    29e0:	01 08 9b 04 	.long 0x49b0801
     29e4:	00 00 50 0c 	twllti  r16,0
-    29e8:	05 00 00 00 	.long 0x5
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
+    29e8:	05 00 00 00 	.long 0x5
+	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
     29ec:	00 3d 07 01 	.long 0x1073d00
-	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
+	for (; gfn < end_gfn; gfn++) {
     29f0:	06 52 01 00 	.long 0x15206
     29f4:	00 58 0c 05 	.long 0x50c5800
-	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
     29f8:	00 00 00 00 	.long 0x0
-	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
     29fc:	3d 0a 01 06 	.long 0x6010a3d
-	for (; gfn < end_gfn; gfn++) {
     2a00:	ae 37 00 00 	.long 0x37ae
     2a04:	60 0c 05 00 	.long 0x50c60
     2a08:	00 00 00 3d 	lis     r8,0
     2a0c:	10 01 14 b3 	sth     r24,272(r20)
     2a10:	37 00 00 68 	xori    r0,r0,55
     2a14:	0c 05 00 00 	.long 0x50c
+	unsigned int shift, lpid;
     2a18:	00 00 3d 11 	vaddubm v9,v29,v0
     2a1c:	01 06 20 01 	.long 0x1200601
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2a20:	00 00 70 0c 	twi     3,r16,0
     2a24:	05 00 00 00 	.long 0x5
-	unsigned int shift, lpid;
     2a28:	00 3d 15 01 	.long 0x1153d00
     2a2c:	10 2f 00 00 	.long 0x2f10
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2a30:	00 78 0c 05 	.long 0x50c7800
     2a34:	00 00 00 00 	.long 0x0
     2a38:	3d 18 01 16 	.long 0x1601183d
     2a3c:	bc 26 00 00 	.long 0x26bc
+		unsigned long *rmap = &memslot->arch.rmap[gfn];
     2a40:	80 0c 05 00 	.long 0x50c80
     2a44:	00 00 00 3d 	lis     r8,0
     2a48:	1b 01 13 b8 	lm      r0,283(r19)
+	return xchg(&head->first, NULL);
     2a4c:	37 00 00 88 	lbz     r0,55(0)
-		unsigned long *rmap = &memslot->arch.rmap[gfn];
     2a50:	0c 05 00 00 	.long 0x50c
     2a54:	00 00 3d 1c 	mulli   r1,r29,0
     2a58:	01 05 08 01 	.long 0x1080501
-	return xchg(&head->first, NULL);
     2a5c:	00 00 90 0c 	tweqi   r16,0
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a60:	00 a2 01 00 	attn
     2a64:	00 00 00 3d 	lis     r8,0
     2a68:	25 1e 70 2a 	cmpldi  cr4,r16,7717
     2a6c:	00 00 01 5d 	rlwnm   r1,r8,r0,0,0
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a70:	04 e4 26 00 	.long 0x26e404
     2a74:	00 18 02 3d 	addis   r8,r2,6144
     2a78:	c3 03 99 2a 	cmplwi  cr5,r25,963
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2a7c:	00 00 01 00 	.long 0x10000
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2a80:	00 00 00 3d 	lis     r8,0
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a84:	c5 07 08 01 	.long 0x10807c5
+	unsigned int shift, lpid;
     2a88:	00 00 00 01 	.long 0x1000000
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2a8c:	00 00 00 00 	.long 0x0
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2a90:	3d c7 07 08 	tdi     0,r7,-14531
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a94:	01 00 00 01 	.long 0x1000001
-	unsigned int shift, lpid;
     2a98:	00 18 10 3d 	addis   r8,r16,6144
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a9c:	cb 03 bd 2a 	cmpldi  cr5,r29,971
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	if (!gp)
     2aa0:	00 00 01 00 	.long 0x10000
     2aa4:	00 00 00 3d 	lis     r8,0
+		kfree(cursor);
     2aa8:	ce 08 52 01 	.long 0x15208ce
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2aac:	00 00 00 01 	.long 0x1000000
-	if (!gp)
     2ab0:	00 00 00 00 	.long 0x0
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2ab4:	3d d0 0d a5 	lhzu    r8,-12227(r13)
-		kfree(cursor);
     2ab8:	03 00 00 08 	tdi     0,r0,3
     2abc:	00 27 10 3d 	addis   r8,r16,9984
     2ac0:	c1 02 d1 2a 	cmplwi  cr5,r17,705
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2ac4:	00 00 32 75 	andis.  r18,r9,0
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2ac8:	2a 00 00 32 	addic   r16,r0,42
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2acc:	99 2a 00 00 	.long 0x2a99
+	unsigned int shift, lpid;
     2ad0:	00 04 1c 17 	.long 0x171c0400
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2ad4:	00 00 04 f2 	xsaddsp vs16,vs4,vs0
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2ad8:	19 00 00 10 	vextdubvrx v0,v0,v0,r0
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2adc:	00 00 00 00 	.long 0x0
-	unsigned int shift, lpid;
+	if (!gp)
     2ae0:	04 db 2a 00 	.long 0x2adb04
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2ae4:	00 0d 52 01 	.long 0x1520d00
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2ae8:	00 00 f5 2a 	cmpldi  cr5,r21,0
     2aec:	00 00 0f 2f 	cmpwi   cr6,r15,0
-	if (!gp)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2af0:	00 00 00 09 	tdgti   r0,0
     2af4:	00 59 00 00 	.long 0x5900
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2af8:	00 00 80 18 	lxvp    vs4,0(0)
     2afc:	80 3e e1 02 	.long 0x2e13e80
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	if (!gp)
     2b00:	a4 37 00 00 	.long 0x37a4
     2b04:	4c 00 00 00 	.long 0x4c
+	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     2b08:	00 3e e7 02 	.long 0x2e73e00
+	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     2b0c:	16 05 3e 00 	.long 0x3e0516
-	if (!gp)
     2b10:	00 80 00 05 	.long 0x5008000
     2b14:	00 00 00 00 	.long 0x0
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
@@ -9372,22 +9370,20 @@ static void kvmhv_emulate_tlbie_lpid(str
     2b1c:	5c 00 00 00 	.long 0x5c
     2b20:	00 01 05 00 	.long 0x50100
     2b24:	00 00 00 3e 	lis     r16,0
-	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
+	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa))
     2b28:	f6 02 0b 9b 	stb     r24,758(r11)
-	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     2b2c:	04 00 00 08 	tdi     0,r0,4
     2b30:	01 05 00 00 	.long 0x501
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     2b34:	00 00 3e f7 	psq_stu f25,0(r30),0,0
-	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa))
+	if (pte_hw_valid(pte))
     2b38:	02 0f 2b 41 	bdnzta  4*cr2+so,f00 <.debug_info+0xf00>
     2b3c:	00 00 10 01 	.long 0x1100000
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     2b40:	05 00 00 00 	.long 0x5
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     2b44:	00 3e f9 02 	.long 0x2f93e00
-	if (pte_hw_valid(pte))
     2b48:	11 5c 00 00 	.long 0x5c11
     2b4c:	00 14 01 05 	.long 0x5011400
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     2b50:	00 00 00 00 	.long 0x0
     2b54:	3e fa 02 11 	vsubeuqm v8,v2,v31,v8
     2b58:	5c 00 00 00 	.long 0x5c
@@ -9399,24 +9395,24 @@ static void kvmhv_emulate_tlbie_lpid(str
     2b70:	00 00 3e fe 	.long 0xfe3e0000
     2b74:	02 1c c2 3f 	addis   r30,r2,7170
     2b78:	00 00 20 01 	.long 0x1200000
+		kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid);
     2b7c:	05 00 00 00 	.long 0x5
     2b80:	00 3e ff 02 	.long 0x2ff3e00
     2b84:	11 5c 00 00 	.long 0x5c11
     2b88:	00 30 01 05 	.long 0x5013000
-		kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid);
     2b8c:	00 00 00 00 	.long 0x0
     2b90:	3e 00 03 12 	vsubeuqm v16,v3,v0,v0
     2b94:	2f 00 00 00 	.long 0x2f
     2b98:	38 01 05 00 	.long 0x50138
     2b9c:	00 00 00 3e 	lis     r16,0
+		kfree(cursor);
     2ba0:	01 03 17 a4 	lhzu    r0,769(r23)
     2ba4:	37 00 00 40 	bdnzfla lt,34 <.debug_info+0x34>
+	for (; gfn < end_gfn; gfn++) {
     2ba8:	01 05 00 00 	.long 0x501
     2bac:	00 00 3e 0a 	tdi     17,r30,0
-		kfree(cursor);
     2bb0:	03 09 c5 00 	.long 0xc50903
     2bb4:	00 00 48 01 	.long 0x1480000
-	for (; gfn < end_gfn; gfn++) {
     2bb8:	05 00 00 00 	.long 0x5
     2bbc:	00 3e 0b 03 	.long 0x30b3e00
     2bc0:	09 c5 00 00 	.long 0xc509
@@ -9432,11 +9428,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     2be8:	00 00 3e 10 	vaddubm v1,v30,v0
     2bec:	03 09 c5 00 	.long 0xc50903
     2bf0:	00 00 58 01 	.long 0x1580000
+}
     2bf4:	05 00 00 00 	.long 0x5
     2bf8:	00 3e 11 03 	.long 0x3113e00
     2bfc:	09 c5 00 00 	.long 0xc509
     2c00:	00 5c 01 05 	.long 0x5015c00
-}
     2c04:	00 00 00 00 	.long 0x0
     2c08:	3e 12 03 11 	vsubeuqm v8,v3,v2,v8
     2c0c:	5c 00 00 00 	.long 0x5c
@@ -9466,28 +9462,28 @@ static void kvmhv_emulate_tlbie_lpid(str
     2c6c:	05 00 00 00 	.long 0x5
     2c70:	00 3e 34 03 	.long 0x3343e00
     2c74:	15 01 04 00 	.long 0x40115
+{
     2c78:	00 80 04 05 	.long 0x5048000
     2c7c:	00 00 00 00 	.long 0x0
     2c80:	3e 38 03 11 	vsubeuqm v8,v3,v7,v0
     2c84:	5c 00 00 00 	.long 0x5c
-{
     2c88:	88 04 05 00 	.long 0x50488
     2c8c:	00 00 00 3e 	lis     r16,0
     2c90:	3b 03 11 5c 	rlwnm.  r17,r0,r0,12,29
     2c94:	00 00 00 8c 	.long 0x8c000000
     2c98:	04 05 00 00 	.long 0x504
+	ret = kvmhv_emulate_priv_tlbie(vcpu, kvmppc_get_gpr(vcpu, 4),
     2c9c:	00 00 3e 3c 	addis   r1,r30,0
     2ca0:	03 09 c5 00 	.long 0xc50903
+	struct kvm *kvm = vcpu->kvm;
     2ca4:	00 00 90 04 	.long 0x4900000
+	return r_val & 0xffffffff;
     2ca8:	05 00 00 00 	.long 0x5
-	ret = kvmhv_emulate_priv_tlbie(vcpu, kvmppc_get_gpr(vcpu, 4),
+	if ((!r) || (prs) || (ric == 3) || (is == 1) ||
     2cac:	00 3e 3d 03 	.long 0x33d3e00
     2cb0:	15 8c 58 00 	.long 0x588c15
-	struct kvm *kvm = vcpu->kvm;
     2cb4:	00 98 04 05 	.long 0x5049800
-	return r_val & 0xffffffff;
     2cb8:	00 00 00 00 	.long 0x0
-	if ((!r) || (prs) || (ric == 3) || (is == 1) ||
     2cbc:	3e 3e 03 0f 	twnei   r3,15934
     2cc0:	91 58 00 00 	.long 0x5891
     2cc4:	a0 04 05 00 	.long 0x504a0
@@ -9498,219 +9494,219 @@ static void kvmhv_emulate_tlbie_lpid(str
     2cd8:	00 00 3e 40 	bdnzf   4*cr7+eq,2cd8 <.debug_info+0x2cd8>
     2cdc:	03 0b 9b 04 	.long 0x49b0b03
     2ce0:	00 00 a8 05 	.long 0x5a80000
+	    ((!is) && (ric == 1 || ric == 2)))
     2ce4:	05 00 00 00 	.long 0x5
     2ce8:	00 3e 42 03 	.long 0x3423e00
     2cec:	13 b2 00 00 	.long 0xb213
+		ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, epn);
     2cf0:	00 b0 05 05 	.long 0x505b000
-	    ((!is) && (ric == 1 || ric == 2)))
     2cf4:	00 00 00 00 	.long 0x0
     2cf8:	3e 44 03 13 	vsubeuqm v24,v3,v8,v16
     2cfc:	b2 00 00 00 	.long 0xb2
-		ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, epn);
     2d00:	b2 05 05 00 	.long 0x505b2
     2d04:	00 00 00 3e 	lis     r16,0
+	if (ret)
     2d08:	56 03 09 c5 	lfsu    f8,854(r9)
     2d0c:	00 00 00 b4 	.long 0xb4000000
     2d10:	05 05 00 00 	.long 0x505
     2d14:	00 00 3e 57 	rlwinm  r30,r25,0,0,0
-	if (ret)
+	return H_SUCCESS;
     2d18:	03 09 c5 00 	.long 0xc50903
     2d1c:	00 00 b8 05 	.long 0x5b80000
+}
     2d20:	05 00 00 00 	.long 0x5
     2d24:	00 3e 58 03 	.long 0x3583e00
-	return H_SUCCESS;
     2d28:	15 fd 57 00 	.long 0x57fd15
     2d2c:	00 bc 05 05 	.long 0x505bc00
-}
     2d30:	00 00 00 00 	.long 0x0
     2d34:	3e 59 03 14 	.long 0x1403593e
     2d38:	d4 03 00 00 	.long 0x3d4
     2d3c:	c0 05 05 00 	.long 0x505c0
+	switch (is) {
     2d40:	00 00 00 3e 	lis     r16,0
     2d44:	5a 03 14 d4 	stfsu   f0,858(r20)
     2d48:	03 00 00 d0 	stfs    f0,3(0)
     2d4c:	05 05 00 00 	.long 0x505
-	switch (is) {
     2d50:	00 00 3e 5b 	rlmi    r30,r25,r0,0,0
     2d54:	03 09 c5 00 	.long 0xc50903
     2d58:	00 00 e0 05 	.long 0x5e00000
     2d5c:	05 00 00 00 	.long 0x5
     2d60:	00 3e 5e 03 	.long 0x35e3e00
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2d64:	15 1a 54 00 	.long 0x541a15
+	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2d68:	00 e8 05 05 	.long 0x505e800
     2d6c:	00 00 00 00 	.long 0x0
+	int lpid;
     2d70:	3e 60 03 14 	.long 0x1403603e
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2d74:	d4 03 00 00 	.long 0x3d4
-	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2d78:	08 06 05 00 	.long 0x50608
+	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2d7c:	00 00 00 3e 	lis     r16,0
-	int lpid;
     2d80:	62 03 15 ca 	lfd     f16,866(r21)
     2d84:	44 00 00 18 	.long 0x18000044
     2d88:	06 48 00 00 	.long 0x4806
-	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2d8c:	00 00 3e 63 	ori     r30,r25,0
+	if (unlikely(ms->mmiowb_pending)) {
     2d90:	03 13 ff 44 	.long 0x44ff1303
     2d94:	00 00 08 40 	bdnzf   4*cr2+lt,2d94 <.debug_info+0x2d94>
+	ms->nesting_count--;
     2d98:	06 30 6d 6d 	xoris   r13,r11,12294
     2d9c:	00 3e 66 03 	.long 0x3663e00
-	if (unlikely(ms->mmiowb_pending)) {
     2da0:	15 ba 58 00 	.long 0x58ba15
     2da4:	00 58 06 05 	.long 0x5065800
-	ms->nesting_count--;
     2da8:	00 00 00 00 	.long 0x0
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2dac:	3e 67 03 15 	.long 0x1503673e
     2db0:	ba 58 00 00 	.long 0x58ba
     2db4:	60 06 05 00 	.long 0x50660
     2db8:	00 00 00 3e 	lis     r16,0
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2dbc:	69 03 09 c5 	lfsu    f8,873(r9)
     2dc0:	00 00 00 68 	xnop
+	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2dc4:	06 05 00 00 	.long 0x506
     2dc8:	00 00 3e 6a 	xori    r30,r17,0
     2dcc:	03 09 c5 00 	.long 0xc50903
     2dd0:	00 00 6c 06 	.long 0x66c0000
-	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2dd4:	05 00 00 00 	.long 0x5
     2dd8:	00 3e 6b 03 	.long 0x36b3e00
     2ddc:	09 c5 00 00 	.long 0xc509
     2de0:	00 70 06 05 	.long 0x5067000
+	if (unlikely(ms->mmiowb_pending)) {
     2de4:	00 00 00 00 	.long 0x0
+	struct mmiowb_state *ms = __mmiowb_state();
     2de8:	3e 6d 03 09 	tdgti   r3,27966
     2dec:	c5 00 00 00 	.long 0xc5
-    2df0:	74 06 05 00 	.long 0x50674
 	if (unlikely(ms->mmiowb_pending)) {
+    2df0:	74 06 05 00 	.long 0x50674
     2df4:	00 00 00 3e 	lis     r16,0
-	struct mmiowb_state *ms = __mmiowb_state();
+	ms->nesting_count--;
     2df8:	6f 03 12 2f 	cmpwi   cr6,r18,879
     2dfc:	00 00 00 78 	rotldi  r0,r0,0
-	if (unlikely(ms->mmiowb_pending)) {
     2e00:	06 05 00 00 	.long 0x506
     2e04:	00 00 3e 72 	andi.   r30,r17,0
-	ms->nesting_count--;
     2e08:	03 11 5c 00 	.long 0x5c1103
     2e0c:	00 00 80 06 	.long 0x6800000
+	if (ret)
     2e10:	21 00 00 00 	.long 0x21
     2e14:	00 3e 75 03 	.long 0x3753e00
     2e18:	0d 5c 00 00 	.long 0x5c0d
     2e1c:	00 01 20 34 	addic.  r1,r0,256
-	if (ret)
+		gp = kvmhv_get_nested(kvm, lpid, false);
     2e20:	21 00 00 00 	.long 0x21
     2e24:	00 3e 76 03 	.long 0x3763e00
     2e28:	0d 5c 00 00 	.long 0x5c0d
     2e2c:	00 01 21 34 	addic.  r1,r1,256
-		gp = kvmhv_get_nested(kvm, lpid, false);
+		if (gp) {
     2e30:	21 00 00 00 	.long 0x21
     2e34:	00 3e 77 03 	.long 0x3773e00
+			kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2e38:	0d 5c 00 00 	.long 0x5c0d
     2e3c:	00 01 22 34 	addic.  r1,r2,256
-		if (gp) {
     2e40:	21 00 00 00 	.long 0x21
     2e44:	00 3e 8b 03 	.long 0x38b3e00
-			kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
+			kvmhv_put_nested(gp);
     2e48:	0d 5c 00 00 	.long 0x5c0d
     2e4c:	00 01 40 34 	addic.  r2,r0,256
+	if (ret)
     2e50:	21 00 00 00 	.long 0x21
     2e54:	00 3e 8e 03 	.long 0x38e3e00
-			kvmhv_put_nested(gp);
     2e58:	0d 5c 00 00 	.long 0x5c0d
     2e5c:	00 01 41 34 	addic.  r2,r1,256
-	if (ret)
     2e60:	21 00 00 00 	.long 0x21
     2e64:	00 3e 8f 03 	.long 0x38f3e00
     2e68:	0d 5c 00 00 	.long 0x5c0d
     2e6c:	00 01 42 34 	addic.  r2,r2,256
+		ms->mmiowb_pending = 0;
     2e70:	21 00 00 00 	.long 0x21
     2e74:	00 3e 91 03 	.long 0x3913e00
+		mmiowb();
     2e78:	0d 5c 00 00 	.long 0x5c0d
     2e7c:	00 01 43 34 	addic.  r2,r3,256
-		ms->mmiowb_pending = 0;
     2e80:	21 00 00 00 	.long 0x21
+		return H_PARAMETER;
     2e84:	00 3e 94 03 	.long 0x3943e00
-		mmiowb();
     2e88:	0d 5c 00 00 	.long 0x5c0d
     2e8c:	00 01 44 34 	addic.  r2,r4,256
+		ms->mmiowb_pending = 0;
     2e90:	21 00 00 00 	.long 0x21
-		return H_PARAMETER;
+		mmiowb();
     2e94:	00 3e 9f 03 	.long 0x39f3e00
     2e98:	0d 5c 00 00 	.long 0x5c0d
     2e9c:	00 01 45 34 	addic.  r2,r5,256
-		ms->mmiowb_pending = 0;
     2ea0:	21 00 00 00 	.long 0x21
-		mmiowb();
     2ea4:	00 3e a1 03 	.long 0x3a13e00
     2ea8:	0d 5c 00 00 	.long 0x5c0d
     2eac:	00 01 46 34 	addic.  r2,r6,256
     2eb0:	21 00 00 00 	.long 0x21
+}
     2eb4:	00 3e b0 03 	.long 0x3b03e00
     2eb8:	0d 5c 00 00 	.long 0x5c0d
     2ebc:	00 01 47 34 	addic.  r2,r7,256
     2ec0:	21 00 00 00 	.long 0x21
-}
+		return H_PARAMETER;
     2ec4:	00 3e ba 03 	.long 0x3ba3e00
     2ec8:	22 5c 00 00 	.long 0x5c22
     2ecc:	00 01 48 34 	addic.  r2,r8,256
     2ed0:	05 00 00 00 	.long 0x5
-		return H_PARAMETER;
     2ed4:	00 3e bd 03 	.long 0x3bd3e00
+{
     2ed8:	12 2f 00 00 	.long 0x2f12
     2edc:	00 90 06 05 	.long 0x5069000
     2ee0:	00 00 00 00 	.long 0x0
     2ee4:	3e bf 03 18 	.long 0x1803bf3e
-{
     2ee8:	a4 0f 00 00 	.long 0xfa4
     2eec:	98 06 30 70 	andi.   r16,r1,1688
     2ef0:	69 64 00 3e 	lis     r16,25705
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2ef4:	c1 03 0b c7 	lfsu    f24,961(r11)
+{
     2ef8:	02 00 00 d0 	stfs    f0,2(0)
     2efc:	06 05 00 00 	.long 0x506
     2f00:	00 00 3e c2 	lfs     f17,0(r30)
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2f04:	03 0b c7 02 	.long 0x2c70b03
-{
     2f08:	00 00 d4 06 	.long 0x6d40000
     2f0c:	05 00 00 00 	.long 0x5
     2f10:	00 3e c6 03 	.long 0x3c63e00
     2f14:	12 2f 00 00 	.long 0x2f12
+	if (!__find_nested(vcpu->kvm, lpid))
     2f18:	00 d8 06 05 	.long 0x506d800
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2f1c:	00 00 00 00 	.long 0x0
+{
     2f20:	3e cf 03 1c 	mulli   r0,r3,-12482
     2f24:	a4 37 00 00 	.long 0x37a4
-	if (!__find_nested(vcpu->kvm, lpid))
     2f28:	e0 06 05 00 	.long 0x506e0
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2f2c:	00 00 00 3e 	lis     r16,0
-{
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2f30:	d2 03 1c a4 	lhzu    r0,978(r28)
     2f34:	37 00 00 e8 	.long 0xe8000037
     2f38:	06 05 00 00 	.long 0x506
     2f3c:	00 00 3e d7 	stfsu   f25,0(r30)
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	if (!__find_nested(vcpu->kvm, lpid))
     2f40:	03 14 d4 03 	.long 0x3d41403
     2f44:	00 00 f0 06 	.long 0x6f00000
+	if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL)
     2f48:	05 00 00 00 	.long 0x5
     2f4c:	00 3e d8 03 	.long 0x3d83e00
-	if (!__find_nested(vcpu->kvm, lpid))
     2f50:	14 d4 03 00 	.long 0x3d414
+	if (start == 0 && end == -1)
     2f54:	00 00 07 05 	.long 0x5070000
-	if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL)
     2f58:	00 00 00 00 	.long 0x0
     2f5c:	3e d9 03 17 	.long 0x1703d93e
     2f60:	a4 37 00 00 	.long 0x37a4
-	if (start == 0 && end == -1)
+	if (type & H_RPTI_TYPE_TLB)
     2f64:	10 07 05 00 	.long 0x50710
     2f68:	00 00 00 3e 	lis     r16,0
+}
     2f6c:	e1 03 14 d4 	stfsu   f0,993(r20)
+		return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL);
     2f70:	03 00 00 18 	.long 0x18000003
-	if (type & H_RPTI_TYPE_TLB)
+}
     2f74:	07 05 00 00 	.long 0x507
     2f78:	00 00 3e e2 	psq_l   f17,0(r30),0,0
-}
     2f7c:	03 14 d4 03 	.long 0x3d41403
-		return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL);
     2f80:	00 00 28 07 	.long 0x7280000
-}
     2f84:	05 00 00 00 	.long 0x5
     2f88:	00 3e e5 03 	.long 0x3e53e00
     2f8c:	10 bb 4e 00 	.long 0x4ebb10
@@ -9722,79 +9718,79 @@ static void kvmhv_emulate_tlbie_lpid(str
     2fa4:	00 00 00 3e 	lis     r16,0
     2fa8:	e7 03 14 d4 	stfsu   f0,999(r20)
     2fac:	03 00 00 80 	lwz     r0,3(0)
+	int ret = H_P4;
     2fb0:	07 05 00 00 	.long 0x507
+		page_size = 1UL << def->shift;
     2fb4:	00 00 3e e8 	ld      r1,0(r30)
     2fb8:	03 14 d4 03 	.long 0x3d41403
     2fbc:	00 00 90 07 	.long 0x7900000
-	int ret = H_P4;
+		nr_pages = (end - start) >> def->shift;
     2fc0:	05 00 00 00 	.long 0x5
-		page_size = 1UL << def->shift;
     2fc4:	00 3e ea 03 	.long 0x3ea3e00
     2fc8:	16 f7 58 00 	.long 0x58f716
     2fcc:	00 a0 07 05 	.long 0x507a000
-		nr_pages = (end - start) >> def->shift;
     2fd0:	00 00 00 00 	.long 0x0
+		if (!(pg_sizes & def->h_rpt_pgsize))
     2fd4:	3e ed 03 10 	vsubeuqm v0,v3,v29,v20
     2fd8:	3c 40 00 00 	.long 0x403c
     2fdc:	a8 07 05 00 	.long 0x507a8
+	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     2fe0:	00 00 00 3e 	lis     r16,0
-		if (!(pg_sizes & def->h_rpt_pgsize))
     2fe4:	f0 03 10 3c 	addis   r0,r16,1008
     2fe8:	40 00 00 b0 	sth     r0,64(0)
+	return ret;
     2fec:	07 05 00 00 	.long 0x507
-	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     2ff0:	00 00 3e f3 	xsaddsp vs25,vs30,vs0
     2ff4:	03 0b 9b 04 	.long 0x49b0b03
     2ff8:	00 00 b8 07 	.long 0x7b80000
-	return ret;
     2ffc:	05 00 00 00 	.long 0x5
+		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
     3000:	00 3e f5 03 	.long 0x3f53e00
+		nr_pages = (end - start) >> def->shift;
     3004:	09 52 01 00 	.long 0x15209
+		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
     3008:	00 c0 07 05 	.long 0x507c000
+		nr_pages = (end - start) >> def->shift;
     300c:	00 00 00 00 	.long 0x0
-		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
+		if (flush_lpid)
     3010:	3e f6 03 09 	tdgti   r3,-2498
-		nr_pages = (end - start) >> def->shift;
     3014:	52 01 00 00 	.long 0x152
-		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
     3018:	c8 07 05 00 	.long 0x507c8
-		nr_pages = (end - start) >> def->shift;
+		page_size = 1UL << def->shift;
     301c:	00 00 00 3e 	lis     r16,0
-		if (flush_lpid)
     3020:	fb 03 09 52 	rlwimi. r9,r16,0,15,29
     3024:	01 00 00 d0 	stfs    f0,1(0)
     3028:	07 05 00 00 	.long 0x507
-		page_size = 1UL << def->shift;
     302c:	00 00 3e fc 	.long 0xfc3e0000
+		} while (addr < end);
     3030:	03 17 40 53 	rlwimi. r0,r26,2,28,1
+			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
     3034:	00 00 d8 07 	.long 0x7d80000
     3038:	05 00 00 00 	.long 0x5
     303c:	00 3e fe 03 	.long 0x3fe3e00
-		} while (addr < end);
     3040:	11 a9 53 00 	.long 0x53a911
-			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
+			addr += page_size;
     3044:	00 f0 07 05 	.long 0x507f000
+			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
     3048:	00 00 00 00 	.long 0x0
+		} while (addr < end);
     304c:	3e 05 04 12 	vsubeuqm v16,v4,v0,v20
+			if (ret)
     3050:	2f 00 00 00 	.long 0x2f
-			addr += page_size;
     3054:	20 08 05 00 	.long 0x50820
-			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
+				return H_P4;
     3058:	00 00 00 3e 	lis     r16,0
-		} while (addr < end);
     305c:	06 04 12 2f 	cmpwi   cr6,r18,1030
-			if (ret)
     3060:	00 00 00 28 	cmplwi  r0,0
     3064:	08 05 00 00 	.long 0x508
-				return H_P4;
     3068:	00 00 3e 09 	tdi     9,r30,0
     306c:	04 09 52 01 	.long 0x1520904
     3070:	00 00 30 08 	tdlgti  r16,0
+}
     3074:	05 00 00 00 	.long 0x5
     3078:	00 3e 0c 04 	.long 0x40c3e00
     307c:	09 52 01 00 	.long 0x15209
     3080:	00 38 08 05 	.long 0x5083800
-}
     3084:	00 00 00 00 	.long 0x0
     3088:	3e 0f 04 12 	vsubeuqm v16,v4,v1,v28
     308c:	2f 00 00 00 	.long 0x2f
@@ -9802,61 +9798,61 @@ static void kvmhv_emulate_tlbie_lpid(str
     3094:	00 00 00 3e 	lis     r16,0
     3098:	10 04 12 2f 	cmpwi   cr6,r18,1040
     309c:	00 00 00 48 	b       309c <.debug_info+0x309c>
+	gp = kvmhv_get_nested(kvm, lpid, false);
     30a0:	08 05 00 00 	.long 0x508
     30a4:	00 00 3e 13 	vaddubm v25,v30,v0
     30a8:	04 1a e8 4e 	addpcis r23,6672
     30ac:	00 00 50 08 	tdllti  r16,0
-	gp = kvmhv_get_nested(kvm, lpid, false);
+	if (gp) {
     30b0:	05 00 00 00 	.long 0x5
     30b4:	00 3e 1c 04 	.long 0x41c3e00
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     30b8:	1c 4d 5a 00 	.long 0x5a4d1c
     30bc:	00 a0 08 05 	.long 0x508a000
-	if (gp) {
     30c0:	00 00 00 00 	.long 0x0
     30c4:	3e 1f 04 1c 	mulli   r0,r4,7998
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
+		kvmhv_put_nested(gp);
     30c8:	4d 5a 00 00 	.long 0x5a4d
     30cc:	a8 08 05 00 	.long 0x508a8
     30d0:	00 00 00 3e 	lis     r16,0
     30d4:	22 04 1c 4d 	.long 0x4d1c0422
-		kvmhv_put_nested(gp);
     30d8:	5a 00 00 b0 	sth     r0,90(0)
     30dc:	08 05 00 00 	.long 0x508
+	gp = kvmhv_get_nested(kvm, lpid, false);
     30e0:	00 00 3e 26 	dozi    r17,r30,0
     30e4:	04 10 2f 5b 	rlmi    r15,r25,r2,0,2
     30e8:	00 00 b8 08 	tdlgei  r24,0
     30ec:	05 00 00 00 	.long 0x5
-	gp = kvmhv_get_nested(kvm, lpid, false);
+	if (gp) {
     30f0:	00 3e 30 04 	.long 0x4303e00
     30f4:	0a 9c 20 00 	.long 0x209c0a
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     30f8:	00 c0 08 05 	.long 0x508c000
     30fc:	00 00 00 00 	.long 0x0
-	if (gp) {
     3100:	3e 32 04 15 	.long 0x1504323e
     3104:	39 5b 00 00 	.long 0x5b39
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
+		kvmhv_put_nested(gp);
     3108:	d0 08 05 00 	.long 0x508d0
     310c:	00 00 00 3e 	lis     r16,0
     3110:	35 04 14 8a 	lbz     r16,1077(r20)
+	gp = kvmhv_get_nested(kvm, lpid, false);
     3114:	44 00 00 d8 	stfd    f0,68(0)
-		kvmhv_put_nested(gp);
     3118:	08 05 00 00 	.long 0x508
     311c:	00 00 3e 36 	addic.  r17,r30,0
     3120:	04 14 af 44 	.long 0x44af1404
-	gp = kvmhv_get_nested(kvm, lpid, false);
+	if (gp) {
     3124:	00 00 e0 08 	tdi     7,r0,0
     3128:	05 00 00 00 	.long 0x5
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     312c:	00 3e 39 04 	.long 0x4393e00
     3130:	12 2f 00 00 	.long 0x2f12
-	if (gp) {
     3134:	00 f0 08 05 	.long 0x508f000
     3138:	00 00 00 00 	.long 0x0
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
+		kvmhv_put_nested(gp);
     313c:	3e 3a 04 12 	vsubeuqm v16,v4,v7,v8
     3140:	2f 00 00 00 	.long 0x2f
     3144:	f8 08 30 66 	oris    r16,r17,2296
     3148:	73 00 3e 3d 	addis   r9,r30,115
-		kvmhv_put_nested(gp);
     314c:	04 15 43 5b 	rlmi    r3,r26,r2,20,2
     3150:	00 00 00 09 	tdgti   r0,0
     3154:	05 00 00 00 	.long 0x5
@@ -9864,15 +9860,15 @@ static void kvmhv_emulate_tlbie_lpid(str
     315c:	18 4d 5b 00 	.long 0x5b4d18
     3160:	00 08 09 05 	.long 0x5090800
     3164:	00 00 00 00 	.long 0x0
+{
     3168:	3e 43 04 19 	.long 0x1904433e
     316c:	57 5b 00 00 	.long 0x5b57
     3170:	10 09 05 00 	.long 0x50910
     3174:	00 00 00 3e 	lis     r16,0
-{
     3178:	47 04 14 df 	stfdu   f24,1095(r20)
     317c:	5b 00 00 18 	.long 0x1800005b
     3180:	09 05 00 00 	.long 0x509
-    3184:	00 00 3e 4a 	b       fffffffffe3e3184 <kvmhv_nested_next_lpid+0xfffffffffe3df6ac>
+    3184:	00 00 3e 4a 	b       fffffffffe3e3184 <kvmhv_nested_next_lpid+0xfffffffffe3df6bc>
     3188:	04 19 8c 52 	rlwimi  r12,r20,3,4,2
     318c:	00 00 20 09 	tdi     9,r0,0
     3190:	05 00 00 00 	.long 0x5
@@ -9882,152 +9878,152 @@ static void kvmhv_emulate_tlbie_lpid(str
     31a0:	00 00 00 00 	.long 0x0
     31a4:	3e 4c 04 0d 	twgti   r4,19518
     31a8:	f2 49 00 00 	.long 0x49f2
+	struct kvm_nested_guest *gp = vcpu->arch.nested;
     31ac:	30 09 05 00 	.long 0x50930
+{
     31b0:	00 00 00 3e 	lis     r16,0
     31b4:	4d 04 0d f2 	xsnmaddmsp vs48,vs45,vs0
     31b8:	49 00 00 38 	li      r0,73
-	struct kvm_nested_guest *gp = vcpu->arch.nested;
+	mutex_lock(&gp->tlb_lock);
     31bc:	09 05 00 00 	.long 0x509
-{
     31c0:	00 00 3e 4f 	.long 0x4f3e0000
-    31c4:	04 0d f2 49 	b       1f23ec8 <kvmhv_nested_next_lpid+0x1f203f0>
+    31c4:	04 0d f2 49 	b       1f23ec8 <kvmhv_nested_next_lpid+0x1f20400>
     31c8:	00 00 40 09 	tdi     10,r0,0
-	mutex_lock(&gp->tlb_lock);
+	struct rmap_nested *n_rmap;
     31cc:	05 00 00 00 	.long 0x5
+	unsigned long dsisr = vcpu->arch.fault_dsisr;
     31d0:	00 3e 50 04 	.long 0x4503e00
+	struct kvm *kvm = vcpu->kvm;
     31d4:	15 60 4d 00 	.long 0x4d6015
+	unsigned long ea = vcpu->arch.fault_dar;
     31d8:	00 48 09 05 	.long 0x5094800
-	struct rmap_nested *n_rmap;
+	struct kvmppc_pte gpte;
     31dc:	00 00 00 00 	.long 0x0
-	unsigned long dsisr = vcpu->arch.fault_dsisr;
     31e0:	3e 51 04 12 	vsubeuqm v16,v4,v10,v4
-	struct kvm *kvm = vcpu->kvm;
     31e4:	2f 00 00 00 	.long 0x2f
-	unsigned long ea = vcpu->arch.fault_dar;
     31e8:	60 09 05 00 	.long 0x50960
-	struct kvmppc_pte gpte;
     31ec:	00 00 00 3e 	lis     r16,0
     31f0:	52 04 0c 16 	.long 0x160c0452
     31f4:	03 00 00 68 	xori    r0,r0,3
     31f8:	09 05 00 00 	.long 0x509
+	if (!gp->l1_gr_to_hr) {
     31fc:	00 00 3e 53 	rlwimi  r30,r25,0,0,0
+	struct rmap_nested *n_rmap;
     3200:	04 11 5c 00 	.long 0x5c1104
+	pte_t pte, *pte_p;
     3204:	00 00 70 09 	tdi     11,r16,0
+	unsigned int shift, l1_shift, level;
     3208:	05 00 00 00 	.long 0x5
-	if (!gp->l1_gr_to_hr) {
     320c:	00 3e 55 04 	.long 0x4553e00
-	struct rmap_nested *n_rmap;
+	if (!gp->l1_gr_to_hr) {
     3210:	19 86 04 00 	.long 0x48619
-	pte_t pte, *pte_p;
     3214:	00 78 09 05 	.long 0x5097800
-	unsigned int shift, l1_shift, level;
+	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
     3218:	00 00 00 00 	.long 0x0
     321c:	3e 59 04 19 	.long 0x1904593e
-	if (!gp->l1_gr_to_hr) {
+	if (!(dsisr & DSISR_PRTABLE_FAULT))
     3220:	31 5c 00 00 	.long 0x5c31
-    3224:	80 09 05 00 	.long 0x50980
 	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
+    3224:	80 09 05 00 	.long 0x50980
     3228:	00 00 00 3e 	lis     r16,0
-    322c:	5b 04 0c ee 	.long 0xee0c045b
 	if (!(dsisr & DSISR_PRTABLE_FAULT))
+    322c:	5b 04 0c ee 	.long 0xee0c045b
+		n_gpa |= ea & 0xFFF;
     3230:	42 00 00 88 	lbz     r0,66(0)
-	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
     3234:	09 05 00 00 	.long 0x509
+	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
     3238:	00 00 3e 5c 	rlwnm   r30,r1,r0,0,0
-	if (!(dsisr & DSISR_PRTABLE_FAULT))
+	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
     323c:	04 11 5c 00 	.long 0x5c1104
-		n_gpa |= ea & 0xFFF;
     3240:	00 00 8c 09 	tdgei   r12,0
     3244:	05 00 00 00 	.long 0x5
-	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
     3248:	00 3e 5e 04 	.long 0x45e3e00
-	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
+	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
     324c:	13 ff 48 00 	.long 0x48ff13
+	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
     3250:	00 90 09 05 	.long 0x5099000
     3254:	00 00 00 00 	.long 0x0
+	if (ret) {
     3258:	3e 5f 04 1f 	mulli   r24,r4,24382
-	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
     325c:	e4 4d 00 00 	.long 0x4de4
-	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
+		if (ret == -EINVAL) {
     3260:	a0 09 05 00 	.long 0x509a0
     3264:	00 00 00 3e 	lis     r16,0
-	if (ret) {
+		} else if (ret == -ENOENT) {
     3268:	62 04 09 52 	rlwimi  r9,r16,0,17,17
     326c:	01 00 00 a0 	lhz     r0,1(0)
-		if (ret == -EINVAL) {
+		} else if (ret == -EFAULT) {
     3270:	09 05 00 00 	.long 0x509
     3274:	00 00 3e 63 	ori     r30,r25,0
-		} else if (ret == -ENOENT) {
+	if (ret == RESUME_HOST &&
     3278:	04 09 52 01 	.long 0x1520904
+	ret = kvmhv_translate_addr_nested(vcpu, gp, n_gpa, dsisr, &gpte);
     327c:	00 00 a8 09 	tdi     13,r8,0
-		} else if (ret == -EFAULT) {
+	if (ret == RESUME_HOST &&
     3280:	05 00 00 00 	.long 0x5
     3284:	00 3e 66 04 	.long 0x4663e00
-	if (ret == RESUME_HOST &&
     3288:	0f ad 40 00 	.long 0x40ad0f
-	ret = kvmhv_translate_addr_nested(vcpu, gp, n_gpa, dsisr, &gpte);
     328c:	00 b0 09 05 	.long 0x509b000
-	if (ret == RESUME_HOST &&
     3290:	00 00 00 00 	.long 0x0
+	bool writing = !!(dsisr & DSISR_ISSTORE);
     3294:	3e 69 04 13 	vsubeuqm v24,v4,v13,v4
+		if (dsisr & DSISR_ISSTORE) {
     3298:	ce 0a 00 00 	.long 0xace
     329c:	b4 09 05 00 	.long 0x509b4
     32a0:	00 00 00 3e 	lis     r16,0
-	bool writing = !!(dsisr & DSISR_ISSTORE);
     32a4:	6b 04 16 22 	subfic  r16,r22,1131
-		if (dsisr & DSISR_ISSTORE) {
+	unsigned long dsisr = vcpu->arch.fault_dsisr;
     32a8:	58 00 00 b8 	lm      r0,88(0)
     32ac:	09 05 00 00 	.long 0x509
+	bool writing = !!(dsisr & DSISR_ISSTORE);
     32b0:	00 00 3e 6f 	xoris   r30,r25,0
     32b4:	04 19 54 45 	.long 0x45541904
-	unsigned long dsisr = vcpu->arch.fault_dsisr;
+		if (dsisr & DSISR_ISSTORE) {
     32b8:	00 00 c0 09 	tdi     14,r0,0
+			if (!gpte_p->may_write) {
     32bc:	05 00 00 00 	.long 0x5
-	bool writing = !!(dsisr & DSISR_ISSTORE);
     32c0:	00 3e 71 04 	.long 0x4713e00
     32c4:	17 a4 37 00 	.long 0x37a417
-		if (dsisr & DSISR_ISSTORE) {
+	if (dsisr & DSISR_SET_RC) {
     32c8:	00 d0 09 05 	.long 0x509d000
-			if (!gpte_p->may_write) {
     32cc:	00 00 00 00 	.long 0x0
     32d0:	3e 73 04 1b 	.long 0x1b04733e
+	l1_shift = gpte.page_shift;
     32d4:	3b 5c 00 00 	.long 0x5c3b
-	if (dsisr & DSISR_SET_RC) {
     32d8:	d8 09 05 00 	.long 0x509d8
+	if (l1_shift < PAGE_SHIFT) {
     32dc:	00 00 00 3e 	lis     r16,0
     32e0:	98 04 0b 9b 	stb     r24,1176(r11)
-	l1_shift = gpte.page_shift;
+	gpa = gpte.raddr;
     32e4:	04 00 00 e0 	psq_l   f0,4(r0),0,0
+	memslot = gfn_to_memslot(kvm, gfn);
     32e8:	09 05 00 00 	.long 0x509
-	if (l1_shift < PAGE_SHIFT) {
     32ec:	00 00 3e 9b 	stb     r25,0(r30)
     32f0:	04 15 45 5c 	rlwnm   r5,r2,r2,20,2
-	gpa = gpte.raddr;
     32f4:	00 00 e8 09 	tdi     15,r8,0
-	memslot = gfn_to_memslot(kvm, gfn);
+	if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) {
     32f8:	05 00 00 00 	.long 0x5
     32fc:	00 3e 9e 04 	.long 0x49e3e00
     3300:	15 4f 5c 00 	.long 0x5c4f15
     3304:	00 f0 09 05 	.long 0x509f000
-	if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) {
     3308:	00 00 00 00 	.long 0x0
     330c:	3e a1 04 19 	.long 0x1904a13e
+	if (memslot->flags & KVM_MEM_READONLY) {
     3310:	59 5c 00 00 	.long 0x5c59
     3314:	f8 09 05 00 	.long 0x509f8
+		if (writing) {
     3318:	00 00 00 3e 	lis     r16,0
+		kvm_ro = true;
     331c:	a3 04 1c 63 	ori     r28,r24,1187
-	if (memslot->flags & KVM_MEM_READONLY) {
+	mmu_seq = kvm->mmu_invalidate_seq;
     3320:	5c 00 00 00 	.long 0x5c
+	smp_rmb();
     3324:	0a 05 00 00 	.long 0x50a
-		if (writing) {
+	pte = __pte(0);
     3328:	00 00 3e a5 	lhzu    r9,0(r30)
-		kvm_ro = true;
     332c:	04 16 9d 5c 	rlwnm   r29,r4,r2,24,2
-	mmu_seq = kvm->mmu_invalidate_seq;
     3330:	00 00 08 0a 	tdlti   r8,0
-	smp_rmb();
     3334:	05 00 00 00 	.long 0x5
-	pte = __pte(0);
     3338:	00 3e a8 04 	.long 0x4a83e00
     333c:	1b a7 5c 00 	.long 0x5ca71b
     3340:	00 10 0a 05 	.long 0x50a1000
@@ -10035,134 +10031,134 @@ static void kvmhv_emulate_tlbie_lpid(str
     3348:	3e ab 04 12 	vsubeuqm v16,v4,v21,v12
     334c:	2f 00 00 00 	.long 0x2f
     3350:	18 0a 05 00 	.long 0x50a18
+	if (!shift)
     3354:	00 00 00 3e 	lis     r16,0
     3358:	ac 04 15 ac 	lhau    r0,1196(r21)
     335c:	5c 00 00 20 	subfic  r0,r0,92
+		shift = PAGE_SHIFT;
     3360:	0a 05 00 00 	.long 0x50a
-	if (!shift)
     3364:	00 00 3e ae 	lhau    r17,0(r30)
+	if (pte_p)
     3368:	04 1c 52 4e 	addpcis r18,7204
     336c:	00 00 28 0a 	tdi     17,r8,0
-		shift = PAGE_SHIFT;
+		pte = *pte_p;
     3370:	05 00 00 00 	.long 0x5
     3374:	00 3e b5 04 	.long 0x4b53e00
-	if (pte_p)
+	if (unlikely(ms->mmiowb_pending)) {
     3378:	09 52 01 00 	.long 0x15209
+	struct mmiowb_state *ms = __mmiowb_state();
     337c:	00 60 0a 05 	.long 0x50a6000
-		pte = *pte_p;
+	if (unlikely(ms->mmiowb_pending)) {
     3380:	00 00 00 00 	.long 0x0
     3384:	3e b7 04 09 	tdgti   r4,-18626
-	if (unlikely(ms->mmiowb_pending)) {
+	ms->nesting_count--;
     3388:	52 01 00 00 	.long 0x152
-	struct mmiowb_state *ms = __mmiowb_state();
     338c:	68 0a 05 00 	.long 0x50a68
-	if (unlikely(ms->mmiowb_pending)) {
     3390:	00 00 00 3e 	lis     r16,0
     3394:	b9 04 09 52 	rlwimi. r9,r16,0,18,28
-	ms->nesting_count--;
     3398:	01 00 00 70 	andi.   r0,r0,1
     339c:	0a 05 00 00 	.long 0x50a
+	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
     33a0:	00 00 3e bd 	stmw    r9,0(r30)
-    33a4:	04 0f 55 49 	b       15542a8 <kvmhv_nested_next_lpid+0x15507d0>
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
+    33a4:	04 0f 55 49 	b       15542a8 <kvmhv_nested_next_lpid+0x15507e0>
+	if (pte_hw_valid(pte))
     33a8:	00 00 78 0a 	tdi     19,r24,0
     33ac:	05 00 00 00 	.long 0x5
-	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     33b0:	00 3e bf 04 	.long 0x4bf3e00
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     33b4:	17 ea 45 00 	.long 0x45ea17
-	if (pte_hw_valid(pte))
     33b8:	00 98 0a 05 	.long 0x50a9800
+		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
     33bc:	00 00 00 00 	.long 0x0
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     33c0:	3e c0 04 09 	tdgti   r4,-16322
     33c4:	c5 00 00 00 	.long 0xc5
     33c8:	9c 0a 05 00 	.long 0x50a9c
-		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
     33cc:	00 00 00 3e 	lis     r16,0
     33d0:	c1 04 09 c5 	lfsu    f8,1217(r9)
     33d4:	00 00 00 a0 	lhz     r0,0(0)
     33d8:	0a 05 00 00 	.long 0x50a
     33dc:	00 00 3e c5 	lfsu    f9,0(r30)
+		if (ret == -EAGAIN)
     33e0:	04 19 b6 5c 	rlwnm   r22,r5,r3,4,2
+		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
     33e4:	00 00 a8 0a 	tdi     21,r8,0
+		if (ret == -EAGAIN)
     33e8:	05 00 00 00 	.long 0x5
+		else if (ret)
     33ec:	00 3e c7 04 	.long 0x4c73e00
-		if (ret == -EAGAIN)
     33f0:	14 d4 03 00 	.long 0x3d414
-		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
+		return PUD_SHIFT;
     33f4:	00 b0 0a 05 	.long 0x50ab000
-		if (ret == -EAGAIN)
+		shift = kvmppc_radix_level_to_shift(level);
     33f8:	00 00 00 00 	.long 0x0
-		else if (ret)
+		return PUD_SHIFT;
     33fc:	3e ce 04 22 	subfic  r16,r4,-12738
     3400:	c0 5c 00 00 	.long 0x5cc0
-		return PUD_SHIFT;
+	switch (level) {
     3404:	c0 0a 05 00 	.long 0x50ac0
-		shift = kvmppc_radix_level_to_shift(level);
-    3408:	00 00 00 3e 	lis     r16,0
 		return PUD_SHIFT;
+    3408:	00 00 00 3e 	lis     r16,0
     340c:	d2 04 14 d4 	stfsu   f0,1234(r20)
     3410:	03 00 00 c8 	lfd     f0,3(0)
 	switch (level) {
     3414:	0a 05 00 00 	.long 0x50a
-		return PUD_SHIFT;
     3418:	00 00 3e d3 	stfs    f25,0(r30)
     341c:	04 1a ca 5c 	rlwnm   r10,r6,r3,8,2
+		return PUD_SHIFT;
     3420:	00 00 d8 0a 	tdi     22,r24,0
-	switch (level) {
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3424:	05 00 00 00 	.long 0x5
+		return PUD_SHIFT;
     3428:	00 3e d4 04 	.long 0x4d43e00
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     342c:	11 38 43 00 	.long 0x433811
-		return PUD_SHIFT;
     3430:	00 e0 0a 05 	.long 0x50ae000
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3434:	00 00 00 00 	.long 0x0
-		return PUD_SHIFT;
+		shift = kvmppc_radix_level_to_shift(level);
     3438:	3e d5 04 11 	vsubeuqm v8,v4,v26,v20
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     343c:	5c 00 00 00 	.long 0x5c
+				flags |= DSISR_PROTFAULT;
     3440:	00 0b 05 00 	.long 0x50b00
+				goto forward_to_l1;
     3444:	00 00 00 3e 	lis     r16,0
-		shift = kvmppc_radix_level_to_shift(level);
     3448:	d8 04 1d d4 	stfsu   f0,1240(r29)
     344c:	5c 00 00 08 	tdi     0,r0,92
-				flags |= DSISR_PROTFAULT;
     3450:	0b 05 00 00 	.long 0x50b
-				goto forward_to_l1;
     3454:	00 00 3e d9 	stfd    f9,0(r30)
+				flags |= DSISR_PROTFAULT;
     3458:	04 11 38 43 	bc+     25,4*cr6+lt,455c <.debug_info+0x455c>
+	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     345c:	00 00 10 0b 	tdnei   r16,0
+	vcpu->arch.fault_dsisr = flags;
     3460:	05 00 00 00 	.long 0x5
+	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3464:	00 3e da 04 	.long 0x4da3e00
-				flags |= DSISR_PROTFAULT;
     3468:	14 d4 03 00 	.long 0x3d414
-	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
+		vcpu->arch.shregs.msr &= SRR1_MSR_BITS;
     346c:	00 30 0b 05 	.long 0x50b3000
-	vcpu->arch.fault_dsisr = flags;
     3470:	00 00 00 00 	.long 0x0
-	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3474:	3e e1 04 15 	.long 0x1504e13e
     3478:	de 5c 00 00 	.long 0x5cde
-		vcpu->arch.shregs.msr &= SRR1_MSR_BITS;
+		vcpu->arch.shregs.msr |= flags;
     347c:	40 0b 05 00 	.long 0x50b40
     3480:	00 00 00 3e 	lis     r16,0
+	if (ret == RESUME_HOST &&
     3484:	e2 04 0b 9f 	stbu    r24,1250(r11)
     3488:	00 00 00 48 	b       3488 <.debug_info+0x3488>
-		vcpu->arch.shregs.msr |= flags;
     348c:	0b 05 00 00 	.long 0x50b
     3490:	00 00 3e e3 	psq_l   f25,0(r30),0,0
-	if (ret == RESUME_HOST &&
+			return RESUME_HOST;
     3494:	04 0b 9f 00 	.long 0x9f0b04
+	mutex_unlock(&gp->tlb_lock);
     3498:	00 00 4a 0b 	tdi     26,r10,0
     349c:	05 00 00 00 	.long 0x5
     34a0:	00 3e e6 04 	.long 0x4e63e00
-			return RESUME_HOST;
+}
     34a4:	09 c5 00 00 	.long 0xc509
-	mutex_unlock(&gp->tlb_lock);
     34a8:	00 4c 0b 05 	.long 0x50b4c00
     34ac:	00 00 00 00 	.long 0x0
     34b0:	3e e7 04 11 	vsubeuqm v8,v4,v28,v28
-}
     34b4:	5c 00 00 00 	.long 0x5c
     34b8:	50 0b 05 00 	.long 0x50b50
     34bc:	00 00 00 3e 	lis     r16,0
@@ -10178,25 +10174,25 @@ static void kvmhv_emulate_tlbie_lpid(str
     34e4:	00 60 0b 05 	.long 0x50b6000
     34e8:	00 00 00 00 	.long 0x0
     34ec:	3e ec 04 09 	tdgti   r4,-5058
+		kvmhv_update_ptbl_cache(gp);
     34f0:	52 01 00 00 	.long 0x152
     34f4:	68 0b 05 00 	.long 0x50b68
+		if (!gp->l1_gr_to_hr)
     34f8:	00 00 00 3e 	lis     r16,0
     34fc:	ed 04 09 52 	rlwimi. r9,r16,0,19,22
-		kvmhv_update_ptbl_cache(gp);
     3500:	01 00 00 70 	andi.   r0,r0,1
     3504:	0b 05 00 00 	.long 0x50b
-		if (!gp->l1_gr_to_hr)
     3508:	00 00 3e ee 	.long 0xee3e0000
     350c:	04 09 52 01 	.long 0x1520904
     3510:	00 00 78 0b 	tdi     27,r24,0
+		if (dsisr & (DSISR_PRTABLE_FAULT | DSISR_BADACCESS)) {
     3514:	48 00 00 00 	.long 0x48
     3518:	00 3e ef 04 	.long 0x4ef3e00
+		return kvmppc_hv_emulate_mmio(vcpu, gpa, ea, writing);
     351c:	18 5e 04 00 	.long 0x45e18
     3520:	00 08 80 0b 	tdi     28,r0,2048
-		if (dsisr & (DSISR_PRTABLE_FAULT | DSISR_BADACCESS)) {
     3524:	05 00 00 00 	.long 0x5
     3528:	00 3e f9 04 	.long 0x4f93e00
-		return kvmppc_hv_emulate_mmio(vcpu, gpa, ea, writing);
     352c:	1c e8 5c 00 	.long 0x5ce81c
     3530:	00 90 0b 05 	.long 0x50b9000
     3534:	00 00 00 00 	.long 0x0
@@ -10210,130 +10206,130 @@ static void kvmhv_emulate_tlbie_lpid(str
     3554:	00 00 3e 12 	vaddubm v17,v30,v0
     3558:	05 12 98 12 	vsrq    v20,v24,v2
     355c:	00 00 a8 0b 	tdi     29,r8,0
+		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3560:	05 00 00 00 	.long 0x5
     3564:	00 3e 14 05 	.long 0x5143e00
+			if (!gpte_p->may_execute) {
     3568:	12 2f 00 00 	.long 0x2f12
-    356c:	00 c0 0b 05 	.long 0x50bc000
 		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
+    356c:	00 c0 0b 05 	.long 0x50bc000
+			if (!gpte_p->may_read && !gpte_p->may_write) {
     3570:	00 00 00 00 	.long 0x0
     3574:	3e 18 05 16 	.long 0x1605183e
-			if (!gpte_p->may_execute) {
     3578:	f2 5c 00 00 	.long 0x5cf2
-		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     357c:	c8 0b 05 00 	.long 0x50bc8
-			if (!gpte_p->may_read && !gpte_p->may_write) {
+	if (dsisr & DSISR_SET_RC) {
     3580:	00 00 00 3e 	lis     r16,0
     3584:	19 05 06 3e 	addis   r16,r6,1305
+		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
     3588:	01 00 00 d0 	stfs    f0,1(0)
     358c:	0b 05 00 00 	.long 0x50b
-	if (dsisr & DSISR_SET_RC) {
+	pgflags = _PAGE_ACCESSED;
     3590:	00 00 3e 1a 	lxvp    vs48,0(r30)
     3594:	05 06 3e 01 	.long 0x13e0605
-		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
+	if (pgflags & ~gpte.rc)
     3598:	00 00 d4 0b 	tdi     30,r20,0
     359c:	05 00 00 00 	.long 0x5
-	pgflags = _PAGE_ACCESSED;
     35a0:	00 3e 1f 05 	.long 0x51f3e00
+	ret = kvmppc_hv_handle_set_rc(kvm, false, writing,
     35a4:	10 2f 00 00 	.long 0x2f10
-	if (pgflags & ~gpte.rc)
     35a8:	00 d8 0b 05 	.long 0x50bd800
     35ac:	00 00 00 00 	.long 0x0
     35b0:	3e 23 05 09 	tdgti   r5,9022
-	ret = kvmppc_hv_handle_set_rc(kvm, false, writing,
     35b4:	c5 00 00 00 	.long 0xc5
     35b8:	e0 0b 05 00 	.long 0x50be0
     35bc:	00 00 00 3e 	lis     r16,0
     35c0:	24 05 09 c5 	lfsu    f8,1316(r9)
     35c4:	00 00 00 e4 	psq_lu  f0,0(r0),0,0
     35c8:	0b 05 00 00 	.long 0x50b
+	if (!ret) {
     35cc:	00 00 3e 27 	dozi    r25,r30,0
     35d0:	05 1e 4b 4e 	addpcis r18,7703
+	ret = kvmppc_hv_handle_set_rc(kvm, true, writing,
     35d4:	00 00 e8 0b 	tdui    r8,0
     35d8:	8a 01 4d 58 	rlmi    r13,r2,r0,6,5
-	if (!ret) {
     35dc:	00 00 e8 0b 	tdui    r8,0
     35e0:	05 00 00 00 	.long 0x5
-	ret = kvmppc_hv_handle_set_rc(kvm, true, writing,
     35e4:	00 3e 2f 05 	.long 0x52f3e00
     35e8:	1b fc 5c 00 	.long 0x5cfc1b
     35ec:	00 f8 0b 05 	.long 0x50bf800
+	if (!ret)
     35f0:	00 00 00 00 	.long 0x0
     35f4:	3e 31 05 14 	.long 0x1405313e
+		ret = -EINVAL;
     35f8:	16 4e 00 00 	.long 0x4e16
+	if (unlikely(ms->mmiowb_pending)) {
     35fc:	00 0c 05 00 	.long 0x50c00
-	if (!ret)
+	struct mmiowb_state *ms = __mmiowb_state();
     3600:	00 00 00 3e 	lis     r16,0
+	if (unlikely(ms->mmiowb_pending)) {
     3604:	34 05 1b 06 	.long 0x61b0534
-		ret = -EINVAL;
     3608:	5d 00 00 10 	vextduwvrx v0,v0,v0,r1
-	if (unlikely(ms->mmiowb_pending)) {
+	ms->nesting_count--;
     360c:	0c 05 00 00 	.long 0x50c
-	struct mmiowb_state *ms = __mmiowb_state();
     3610:	00 00 3e 3f 	addis   r25,r30,0
-	if (unlikely(ms->mmiowb_pending)) {
     3614:	05 09 c5 00 	.long 0xc50905
     3618:	00 00 18 0c 	twi     0,r24,0
-	ms->nesting_count--;
     361c:	05 00 00 00 	.long 0x5
     3620:	00 3e 40 05 	.long 0x5403e00
+		if (ret)
     3624:	09 c5 00 00 	.long 0xc509
     3628:	00 1c 0c 05 	.long 0x50c1c00
+		if (!(dsisr & (DSISR_BAD_FAULT_64S | DSISR_NOHPTE |
     362c:	00 00 00 00 	.long 0x0
     3630:	3e 42 05 12 	vsubeuqm v16,v5,v8,v8
-		if (ret)
     3634:	2f 00 00 00 	.long 0x2f
     3638:	20 0c 05 00 	.long 0x50c20
-		if (!(dsisr & (DSISR_BAD_FAULT_64S | DSISR_NOHPTE |
     363c:	00 00 00 3e 	lis     r16,0
+		dsisr &= ~DSISR_SET_RC;
     3640:	4c 05 09 52 	rlwimi  r9,r16,0,21,6
     3644:	01 00 00 28 	cmplwi  r0,1
     3648:	0c 05 00 00 	.long 0x50c
     364c:	00 00 3e 4d 	.long 0x4d3e0000
-		dsisr &= ~DSISR_SET_RC;
+			kvmppc_core_queue_data_storage(vcpu, ea, dsisr);
     3650:	05 09 52 01 	.long 0x1520905
     3654:	00 00 30 0c 	twlgti  r16,0
     3658:	05 00 00 00 	.long 0x5
     365c:	00 3e 67 05 	.long 0x5673e00
-			kvmppc_core_queue_data_storage(vcpu, ea, dsisr);
     3660:	09 c5 00 00 	.long 0xc509
+			return RESUME_GUEST;
     3664:	00 38 0c 05 	.long 0x50c3800
     3668:	00 00 00 00 	.long 0x0
     366c:	3e 68 05 09 	tdgti   r5,26686
     3670:	c5 00 00 00 	.long 0xc5
-			return RESUME_GUEST;
     3674:	3c 0c 05 00 	.long 0x50c3c
     3678:	00 00 00 3e 	lis     r16,0
     367c:	6b 05 1c 52 	rlwimi. r28,r16,0,21,21
+			return RESUME_GUEST;
     3680:	5d 00 00 40 	bdnzfl  lt,36dc <.debug_info+0x36dc>
     3684:	0c 05 00 00 	.long 0x50c
     3688:	00 00 3e 6e 	xoris   r30,r17,0
     368c:	05 16 f8 00 	.long 0xf81605
-			return RESUME_GUEST;
+		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
     3690:	00 00 48 0c 	twllti  r8,0
     3694:	05 00 00 00 	.long 0x5
+		pgflags |= _PAGE_DIRTY;
     3698:	00 3e 74 05 	.long 0x5743e00
     369c:	0d a5 03 00 	.long 0x3a50d
-		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
+	if (writing)
     36a0:	00 50 0c 05 	.long 0x50c5000
     36a4:	00 00 00 00 	.long 0x0
-		pgflags |= _PAGE_DIRTY;
     36a8:	3e 77 05 0d 	twgti   r5,30526
     36ac:	a5 03 00 00 	.long 0x3a5
-	if (writing)
+			if (!gpte_p->may_execute) {
     36b0:	54 0c 05 00 	.long 0x50c54
     36b4:	00 00 00 3e 	lis     r16,0
+	vcpu->arch.fault_dsisr = flags;
     36b8:	7c 05 12 2f 	cmpwi   cr6,r18,1404
+				flags |= SRR1_ISI_N_G_OR_CIP;
     36bc:	00 00 00 58 	rlmi    r0,r0,r0,0,0
-			if (!gpte_p->may_execute) {
+	vcpu->arch.fault_dsisr = flags;
     36c0:	0c 05 00 00 	.long 0x50c
+	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     36c4:	00 00 3e 99 	stb     r9,0(r30)
-	vcpu->arch.fault_dsisr = flags;
     36c8:	05 16 5c 5d 	rlwnm.  r28,r10,r2,24,2
-				flags |= SRR1_ISI_N_G_OR_CIP;
     36cc:	00 00 60 0c 	twi     3,r0,0
-	vcpu->arch.fault_dsisr = flags;
     36d0:	05 00 00 00 	.long 0x5
-	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     36d4:	00 3e 9a 05 	.long 0x59a3e00
     36d8:	0b 76 03 00 	.long 0x3760b
     36dc:	00 68 0c 05 	.long 0x50c6800
@@ -10341,70 +10337,70 @@ static void kvmhv_emulate_tlbie_lpid(str
     36e4:	3e 9b 05 09 	tdgti   r5,-25794
     36e8:	c5 00 00 00 	.long 0xc5
     36ec:	6c 0c 05 00 	.long 0x50c6c
+		return kmalloc_trace(
     36f0:	00 00 00 3e 	lis     r16,0
+	n_gpa &= ~((1UL << shift) - 1);
     36f4:	9e 05 11 5c 	rlwnm   r17,r0,r0,22,15
     36f8:	00 00 00 70 	andi.   r0,r0,0
     36fc:	0c 05 00 00 	.long 0x50c
-		return kmalloc_trace(
+	level = kvmppc_radix_shift_to_level(shift);
     3700:	00 00 3e a1 	lhz     r9,0(r30)
-	n_gpa &= ~((1UL << shift) - 1);
     3704:	05 16 5c 5d 	rlwnm.  r28,r10,r2,24,2
+	n_gpa &= ~((1UL << shift) - 1);
     3708:	00 00 78 0c 	twi     3,r24,0
     370c:	05 00 00 00 	.long 0x5
-	level = kvmppc_radix_shift_to_level(shift);
     3710:	00 3e a9 05 	.long 0x5a93e00
     3714:	17 b6 5d 00 	.long 0x5db617
-	n_gpa &= ~((1UL << shift) - 1);
     3718:	00 80 0c 05 	.long 0x50c8000
+	if (!n_rmap)
     371c:	00 00 00 00 	.long 0x0
     3720:	3e af 05 14 	.long 0x1405af3e
+	n_rmap = kzalloc(sizeof(*n_rmap), GFP_KERNEL);
     3724:	44 58 00 00 	.long 0x5844
+	if (!n_rmap)
     3728:	88 0c 05 00 	.long 0x50c88
-	if (unlikely(!n_rmap))
+		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
     372c:	00 00 00 3e 	lis     r16,0
+	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
     3730:	b6 05 09 c5 	lfsu    f8,1462(r9)
-	n_rmap = kzalloc(sizeof(*n_rmap), GFP_KERNEL);
+	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3734:	00 00 00 88 	lbz     r0,0(0)
-	if (unlikely(!n_rmap))
     3738:	0c 05 00 00 	.long 0x50c
-		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
     373c:	00 00 3e b8 	lm      r1,0(r30)
-	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
     3740:	05 17 a4 37 	addic.  r29,r4,5893
-	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3744:	00 00 90 0c 	tweqi   r16,0
     3748:	05 00 00 00 	.long 0x5
+	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
     374c:	00 3e b9 05 	.long 0x5b93e00
+		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
     3750:	15 92 43 00 	.long 0x439215
+	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
     3754:	00 98 0c 05 	.long 0x50c9800
     3758:	00 00 00 00 	.long 0x0
-	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
+	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
     375c:	3e c0 05 0f 	twnei   r5,-16322
-		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
     3760:	2b 41 00 00 	.long 0x412b
-	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
+	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3764:	c0 0c 05 00 	.long 0x50cc0
     3768:	00 00 00 3e 	lis     r16,0
-	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
     376c:	cb 05 22 c0 	lfs     f1,1483(r2)
+	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
     3770:	5d 00 00 c8 	lfd     f0,93(0)
-	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3774:	0c 05 00 00 	.long 0x50c
+	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3778:	00 00 3e cd 	lfdu    f9,0(r30)
     377c:	05 17 ca 5d 	rlwnm.  r10,r14,r2,28,2
-	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
     3780:	00 00 d0 0c 	twllei  r16,0
     3784:	05 00 00 00 	.long 0x5
-	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
+	kfree(n_rmap);
     3788:	00 3e e1 05 	.long 0x5e13e00
     378c:	22 65 3f 00 	.long 0x3f6522
-    3790:	00 d8 0c 48 	b       d0f90 <kvmhv_nested_next_lpid+0xcd4b8>
+    3790:	00 d8 0c 48 	b       d0f90 <kvmhv_nested_next_lpid+0xcd4c8>
+	if (ret == -EAGAIN)
     3794:	00 00 00 00 	.long 0x0
-	kfree(n_rmap);
     3798:	3e 02 06 18 	.long 0x1806023e
     379c:	0b 3b 00 00 	.long 0x3b0b
     37a0:	10 e0 0c 00 	.long 0xce010
-	if (ret == -EAGAIN)
     37a4:	04 f5 2a 00 	.long 0x2af504
     37a8:	00 04 64 20 	subfic  r3,r4,1024
     37ac:	00 00 04 08 	tdi     0,r4,0
@@ -10413,131 +10409,131 @@ static void kvmhv_emulate_tlbie_lpid(str
     37b8:	04 4b 26 00 	.long 0x264b04
     37bc:	00 a3 01 00 	.long 0x1a300
     37c0:	00 00 00 3f 	lis     r24,0
+	kvmhv_invalidate_shadow_pte(vcpu, gp, n_gpa, NULL);
     37c4:	ab 05 18 2f 	cmpwi   cr6,r24,1451
     37c8:	00 00 00 01 	.long 0x1000000
     37cc:	51 43 00 00 	.long 0x4351
     37d0:	00 00 60 01 	.long 0x1600000
-	kvmhv_invalidate_shadow_pte(vcpu, gp, n_gpa, NULL);
     37d4:	40 21 08 91 	stw     r8,8512(r8)
+	return RESUME_GUEST;
     37d8:	38 00 00 0e 	twlti   r0,56
     37dc:	67 70 72 00 	.long 0x727067
+	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
     37e0:	40 26 10 91 	stw     r8,9792(r16)
+		if (PMD_SHIFT < l1_shift)
     37e4:	38 00 00 00 	.long 0x38
-	return RESUME_GUEST;
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     37e8:	2f 6e 69 70 	andi.   r9,r3,28207
     37ec:	00 40 27 10 	vaddubm v1,v7,v8
-	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    37f0:	2f 00 00 00 	.long 0x2f
 		if (PMD_SHIFT < l1_shift)
+    37f0:	2f 00 00 00 	.long 0x2f
+	if (shift == PUD_SHIFT)
     37f4:	00 01 2f 6d 	xoris   r15,r9,256
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     37f8:	73 72 00 40 	bdnzfla lt,7270 <.debug_info+0x7270>
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     37fc:	28 10 2f 00 	.long 0x2f1028
 		if (PMD_SHIFT < l1_shift)
     3800:	00 00 08 01 	.long 0x1080000
-	if (shift == PUD_SHIFT)
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3804:	09 00 00 00 	.long 0x9
+	if (shift == PUD_SHIFT)
     3808:	00 40 29 10 	vaddubm v1,v9,v8
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
     380c:	2f 00 00 00 	.long 0x2f
-		if (PMD_SHIFT < l1_shift)
+	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
     3810:	10 01 2f 63 	ori     r15,r25,272
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3814:	74 72 00 40 	bdnzf   lt,aa88 <.debug_info+0xaa88>
-	if (shift == PUD_SHIFT)
+	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
     3818:	2a 10 2f 00 	.long 0x2f102a
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     381c:	00 00 18 01 	.long 0x1180000
-	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
+	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
     3820:	09 00 00 00 	.long 0x9
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
     3824:	00 40 2b 10 	vaddubm v1,v11,v8
-	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
+	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
     3828:	2f 00 00 00 	.long 0x2f
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
+	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
     382c:	20 01 2f 78 	clrldi  r15,r1,36
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
+	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
     3830:	65 72 00 40 	bdnzfl  lt,aa94 <.debug_info+0xaa94>
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
     3834:	2c 10 2f 00 	.long 0x2f102c
-	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
     3838:	00 00 28 01 	.long 0x1280000
-	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
+	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
     383c:	2f 63 63 72 	andi.   r3,r19,25391
-	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
+	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
     3840:	00 40 2d 10 	vaddubm v1,v13,v8
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    3844:	2f 00 00 00 	.long 0x2f
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3848:	30 01 09 00 	.long 0x90130
+    3844:	2f 00 00 00 	.long 0x2f
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    384c:	00 00 00 40 	bdnzf   lt,384c <.debug_info+0x384c>
+    3848:	30 01 09 00 	.long 0x90130
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
+    384c:	00 00 00 40 	bdnzf   lt,384c <.debug_info+0x384c>
+	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
     3850:	2f 10 2f 00 	.long 0x2f102f
-	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
     3854:	00 00 38 01 	.long 0x1380000
-	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
+	pte = __pte(pte_val(pte) & ~perm);
     3858:	09 00 00 00 	.long 0x9
-	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
+	if (shift > l1_shift) {
     385c:	00 40 34 10 	vaddubm v1,v20,v8
-	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
+	pte = __pte(pte_val(pte) & ~perm);
     3860:	2f 00 00 00 	.long 0x2f
     3864:	40 01 2f 64 	oris    r15,r1,320
-	pte = __pte(pte_val(pte) & ~perm);
     3868:	61 72 00 40 	bdnzfl  lt,aac8 <.debug_info+0xaac8>
-	if (shift > l1_shift) {
     386c:	37 10 2f 00 	.long 0x2f1037
-	pte = __pte(pte_val(pte) & ~perm);
     3870:	00 00 48 01 	.long 0x1480000
     3874:	09 00 00 00 	.long 0x9
     3878:	00 40 38 10 	vaddubm v1,v24,v8
     387c:	2f 00 00 00 	.long 0x2f
     3880:	50 01 09 00 	.long 0x90150
     3884:	00 00 00 40 	bdnzf   lt,3884 <.debug_info+0x3884>
+	if (shift > l1_shift) {
     3888:	39 10 2f 00 	.long 0x2f1039
+	level = kvmppc_radix_shift_to_level(shift);
     388c:	00 00 58 01 	.long 0x1580000
+	if (shift == PUD_SHIFT)
     3890:	00 0d 2f 00 	.long 0x2f0d00
+	pte = __pte(pte_val(pte) & ~perm);
     3894:	00 00 a1 38 	addi    r5,r1,0
-	if (shift > l1_shift) {
+	if (shift == PUD_SHIFT)
     3898:	00 00 0f 2f 	cmpwi   cr6,r15,0
-	level = kvmppc_radix_shift_to_level(shift);
     389c:	00 00 00 1f 	mulli   r24,r0,0
-	if (shift == PUD_SHIFT)
     38a0:	00 27 08 2a 	cmplwi  cr4,r8,9984
-	pte = __pte(pte_val(pte) & ~perm);
     38a4:	2f 04 c3 38 	addi    r6,r3,1071
-	if (shift == PUD_SHIFT)
+	if (shift == PMD_SHIFT)
     38a8:	00 00 3b 64 	oris    r27,r1,0
     38ac:	61 72 00 2a 	cmplwi  cr4,r0,29281
     38b0:	30 13 2f 00 	.long 0x2f1330
+	if (shift == PAGE_SHIFT)
     38b4:	00 00 12 00 	.long 0x120000
-	if (shift == PMD_SHIFT)
     38b8:	00 00 00 2a 	cmplwi  cr4,r0,0
+	WARN_ON_ONCE(1);
     38bc:	31 13 2f 00 	.long 0x2f1331
+			vcpu->arch.fault_gpa = fault_addr;
     38c0:	00 00 00 27 	dozi    r24,r0,0
-	if (shift == PAGE_SHIFT)
     38c4:	08 2a 33 04 	.long 0x4332a08
+			flags |= DSISR_PRTABLE_FAULT;
     38c8:	e5 38 00 00 	.long 0x38e5
-	WARN_ON_ONCE(1);
-    38cc:	12 00 00 00 	.long 0x12
 			vcpu->arch.fault_gpa = fault_addr;
+    38cc:	12 00 00 00 	.long 0x12
     38d0:	00 2a 34 13 	vaddubs v25,v20,v5
     38d4:	2f 00 00 00 	.long 0x2f
-			flags |= DSISR_PRTABLE_FAULT;
     38d8:	3b 65 73 72 	andi.   r19,r19,25915
-			vcpu->arch.fault_gpa = fault_addr;
     38dc:	00 2a 35 13 	vaddubs v25,v21,v5
+			kvmppc_core_queue_data_storage(vcpu, ea,
     38e0:	2f 00 00 00 	.long 0x2f
     38e4:	00 7a 60 01 	attn
     38e8:	2a 20 03 97 	stwu    r24,8234(r3)
     38ec:	39 00 00 0e 	twlti   r0,57
-			kvmppc_core_queue_data_storage(vcpu, ea,
     38f0:	67 70 72 00 	.long 0x727067
+			return RESUME_GUEST;
     38f4:	2a 21 12 91 	stw     r8,8490(r18)
     38f8:	38 00 00 00 	.long 0x38
     38fc:	2f 6e 69 70 	andi.   r9,r3,28207
     3900:	00 2a 22 12 	vaddubs v17,v2,v5
-			return RESUME_GUEST;
     3904:	2f 00 00 00 	.long 0x2f
     3908:	00 01 2f 6d 	xoris   r15,r9,256
     390c:	73 72 00 2a 	cmplwi  cr4,r0,29299
@@ -10545,40 +10541,40 @@ static void kvmhv_emulate_tlbie_lpid(str
     3914:	00 00 08 01 	.long 0x1080000
     3918:	09 00 00 00 	.long 0x9
     391c:	00 2a 24 12 	vaddubs v17,v4,v5
+			flags |= DSISR_UNSUPP_MMU;
     3920:	2f 00 00 00 	.long 0x2f
     3924:	10 01 2f 63 	ori     r15,r25,272
     3928:	74 72 00 2a 	cmplwi  cr4,r0,29300
     392c:	25 12 2f 00 	.long 0x2f1225
-			flags |= DSISR_UNSUPP_MMU;
+			flags |= DSISR_NOHPTE;
     3930:	00 00 18 01 	.long 0x1180000
     3934:	09 00 00 00 	.long 0x9
     3938:	00 2a 26 12 	vaddubs v17,v6,v5
     393c:	2f 00 00 00 	.long 0x2f
-			flags |= DSISR_NOHPTE;
+		if (PMD_SHIFT < l1_shift)
     3940:	20 01 2f 78 	clrldi  r15,r1,36
     3944:	65 72 00 2a 	cmplwi  cr4,r0,29285
     3948:	27 12 2f 00 	.long 0x2f1227
     394c:	00 00 28 01 	.long 0x1280000
-		if (PMD_SHIFT < l1_shift)
+			actual_shift = PMD_SHIFT;
     3950:	2f 63 63 72 	andi.   r3,r19,25391
+		mask = (1UL << shift) - (1UL << actual_shift);
     3954:	00 2a 28 12 	vaddubs v17,v8,v5
+	level = kvmppc_radix_shift_to_level(shift);
     3958:	2f 00 00 00 	.long 0x2f
+		mask = (1UL << shift) - (1UL << actual_shift);
     395c:	30 01 09 00 	.long 0x90130
-			actual_shift = PMD_SHIFT;
+	if (shift == PUD_SHIFT)
     3960:	00 00 00 2a 	cmplwi  cr4,r0,0
 		mask = (1UL << shift) - (1UL << actual_shift);
     3964:	2a 12 2f 00 	.long 0x2f122a
-	level = kvmppc_radix_shift_to_level(shift);
+		shift = actual_shift;
     3968:	00 00 38 01 	.long 0x1380000
-		mask = (1UL << shift) - (1UL << actual_shift);
+		pte = __pte(pte_val(pte) | (gpa & mask));
     396c:	09 00 00 00 	.long 0x9
-	if (shift == PUD_SHIFT)
     3970:	00 2a 2e 12 	vaddubs v17,v14,v5
-		mask = (1UL << shift) - (1UL << actual_shift);
     3974:	2f 00 00 00 	.long 0x2f
-		shift = actual_shift;
     3978:	40 01 67 a1 	lhz     r11,320(r7)
-		pte = __pte(pte_val(pte) | (gpa & mask));
     397c:	38 00 00 48 	b       39b4 <.debug_info+0x39b4>
     3980:	01 67 c3 38 	addi    r6,r3,26369
     3984:	00 00 50 01 	.long 0x1500000
@@ -10587,88 +10583,90 @@ static void kvmhv_emulate_tlbie_lpid(str
     3990:	2f 00 00 00 	.long 0x2f
     3994:	58 01 00 81 	lwz     r8,344(0)
     3998:	01 60 01 2a 	cmplwi  cr4,r1,24577
+		shift = actual_shift;
     399c:	1e 02 b4 39 	addi    r13,r20,542
+	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
     39a0:	00 00 12 00 	.long 0x120000
     39a4:	00 00 00 2a 	cmplwi  cr4,r0,0
     39a8:	1f 17 cd 37 	addic.  r30,r13,5919
-		shift = actual_shift;
     39ac:	00 00 32 e5 	psq_lu  f9,0(r18),0,0
-	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
+		ret = 0;
     39b0:	38 00 00 00 	.long 0x38
     39b4:	27 08 2a 41 	bdnztla 4*cr2+eq,824 <.debug_info+0x824>
     39b8:	04 d6 39 00 	.long 0x39d604
     39bc:	00 12 00 00 	attn
-		ret = 0;
+	bool kvm_ro = false;
     39c0:	00 00 2a 43 	bc+     25,4*cr2+eq,39c0 <.debug_info+0x39c0>
     39c4:	13 2f 00 00 	.long 0x2f13
     39c8:	00 3b 61 6d 	xoris   r1,r11,15104
     39cc:	72 00 2a 46 	.long 0x462a0072
-	bool kvm_ro = false;
     39d0:	13 2f 00 00 	.long 0x2f13
     39d4:	00 00 18 20 	subfic  r0,r24,0
     39d8:	2a 3c 03 0d 	twgti   r3,15402
+		unsigned int actual_shift = PAGE_SHIFT;
     39dc:	3a 00 00 0e 	twlti   r0,58
     39e0:	70 70 72 00 	.long 0x727070
     39e4:	2a 3e 12 2f 	cmpwi   cr6,r18,15914
     39e8:	00 00 00 00 	.long 0x0
-		unsigned int actual_shift = PAGE_SHIFT;
     39ec:	01 00 00 00 	.long 0x1
+	switch (level) {
     39f0:	00 2a 3f 12 	vaddubs v17,v31,v5
     39f4:	2f 00 00 00 	.long 0x2f
     39f8:	08 20 b4 39 	addi    r13,r20,8200
     39fc:	00 00 10 01 	.long 0x1100000
-	switch (level) {
+	vcpu->arch.fault_dsisr = flags;
     3a00:	00 00 00 00 	.long 0x0
     3a04:	2a 4a 12 2f 	cmpwi   cr6,r18,18986
+	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3a08:	00 00 00 18 	lxvp    vs0,0(0)
     3a0c:	00 27 20 2a 	cmpldi  cr4,r0,9984
-	vcpu->arch.fault_dsisr = flags;
     3a10:	3b 02 28 3a 	addi    r17,r8,571
     3a14:	00 00 32 d6 	stfsu   f17,0(r18)
-	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3a18:	39 00 00 12 	ps_msub. f16,f0,f0,f0
     3a1c:	00 00 00 00 	.long 0x0
+		ms->mmiowb_pending = 0;
     3a20:	2a 4d 11 28 	cmplwi  r17,19754
     3a24:	3a 00 00 00 	.long 0x3a
+		mmiowb();
     3a28:	0d 2f 00 00 	.long 0x2f0d
     3a2c:	00 38 3a 00 	.long 0x3a3800
-		ms->mmiowb_pending = 0;
+		return PMD_SHIFT;
     3a30:	00 0f 2f 00 	.long 0x2f0f00
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3a34:	00 00 03 00 	.long 0x30000
-		mmiowb();
     3a38:	0b 00 00 00 	.long 0xb
     3a3c:	00 10 41 0f 	twi     26,r1,4096
 		return PMD_SHIFT;
     3a40:	08 87 3a 00 	.long 0x3a8708
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3a44:	00 01 00 00 	.long 0x100
     3a48:	00 00 41 10 	vaddubm v2,v1,v0
     3a4c:	10 2f 00 00 	.long 0x2f10
-		return PMD_SHIFT;
     3a50:	00 00 01 00 	.long 0x10000
     3a54:	00 00 00 41 	bdnzt   lt,3a54 <.debug_info+0x3a54>
     3a58:	11 07 20 01 	.long 0x1200711
     3a5c:	00 00 08 0e 	twlti   r8,0
+		ms->mmiowb_pending = 0;
     3a60:	6c 65 6e 00 	.long 0x6e656c
     3a64:	41 12 07 20 	subfic  r0,r7,4673
+		mmiowb();
     3a68:	01 00 00 0a 	tdlti   r0,1
     3a6c:	01 00 00 00 	.long 0x1
-		ms->mmiowb_pending = 0;
     3a70:	00 41 13 07 	.long 0x7134100
     3a74:	20 01 00 00 	.long 0x120
-		mmiowb();
     3a78:	0c 01 00 00 	.long 0x10c
     3a7c:	00 00 41 14 	.long 0x14410000
     3a80:	06 08 01 00 	.long 0x10806
     3a84:	00 0e 00 55 	rlwinm  r0,r8,1,24,0
     3a88:	00 00 00 00 	.long 0x0
     3a8c:	10 02 10 42 	bc      16,4*cr4+lt,3c9c <.debug_info+0x3c9c>
+}
     3a90:	53 b2 3a 00 	.long 0x3ab253
     3a94:	00 52 66 70 	andi.   r6,r3,20992
+		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
     3a98:	72 00 42 54 	rlwinm  r2,r2,0,1,25
     3a9c:	06 b2 3a 00 	.long 0x3ab206
-}
     3aa0:	00 10 00 09 	tdgti   r0,4096
+		return -EINVAL;
     3aa4:	00 00 00 00 	.long 0x0
 		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
     3aa8:	42 55 06 52 	rlwimi  r6,r16,10,21,1
@@ -10676,91 +10674,89 @@ static void kvmhv_emulate_tlbie_lpid(str
     3ab0:	02 00 0d 52 	rlwimi  r13,r16,0,0,1
 		return -EINVAL;
     3ab4:	01 00 00 c8 	lfd     f0,1(0)
-		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
     3ab8:	3a 00 00 0f 	twnei   r0,58
     3abc:	2f 00 00 00 	.long 0x2f
     3ac0:	1f 0f 2f 00 	.long 0x2f0f1f
-		return -EINVAL;
     3ac4:	00 00 01 00 	.long 0x10000
+{
     3ac8:	55 00 00 00 	.long 0x55
     3acc:	00 10 02 10 	vaddubm v0,v2,v2
     3ad0:	42 59 f3 3a 	addi    r23,r19,22850
     3ad4:	00 00 52 76 	andis.  r18,r18,0
-{
     3ad8:	72 00 42 5a 	rlmi    r2,r18,r0,1,25
     3adc:	0c f3 3a 00 	.long 0x3af30c
+	int ret = lpid + 1;
     3ae0:	00 10 00 70 	andi.   r0,r0,4096
+{
     3ae4:	00 00 00 00 	.long 0x0
     3ae8:	42 5b 0c 90 	stw     r0,23362(r12)
     3aec:	01 00 00 10 	vmul10cuq v0,v0
-	int ret = lpid + 1;
     3af0:	00 02 00 71 	andi.   r0,r8,512
-{
     3af4:	90 01 00 00 	.long 0x190
     3af8:	10 04 3b 00 	.long 0x3b0410
+	int ret = lpid + 1;
     3afc:	00 0f 2f 00 	.long 0x2f0f00
     3b00:	00 00 1f 00 	.long 0x1f0000
     3b04:	6f 00 00 00 	.long 0x6f
+	if (!idr_get_next(&kvm->arch.kvm_nested_guest_idr, &ret))
     3b08:	00 42 5e 55 	rlwinm  r30,r10,8,8,0
-	int ret = lpid + 1;
     3b0c:	00 00 00 00 	.long 0x0
     3b10:	30 0b 10 42 	bc      16,4*cr4+lt,4640 <.debug_info+0x4640>
     3b14:	85 d1 3d 00 	.long 0x3dd185
-	if (!idr_get_next(&kvm->arch.kvm_nested_guest_idr, &ret))
     3b18:	00 0e 6b 73 	andi.   r11,r27,3584
     3b1c:	70 00 42 86 	lwzu    r18,112(r2)
+	if (unlikely(ms->mmiowb_pending)) {
     3b20:	10 2f 00 00 	.long 0x2f10
+	struct mmiowb_state *ms = __mmiowb_state();
     3b24:	00 00 01 00 	.long 0x10000
+	if (unlikely(ms->mmiowb_pending)) {
     3b28:	00 00 00 42 	bdnz    3b28 <.debug_info+0x3b28>
     3b2c:	89 10 2f 00 	.long 0x2f1089
-	if (unlikely(ms->mmiowb_pending)) {
+	ms->nesting_count--;
     3b30:	00 00 08 01 	.long 0x1080000
-	struct mmiowb_state *ms = __mmiowb_state();
     3b34:	00 00 00 00 	.long 0x0
-	if (unlikely(ms->mmiowb_pending)) {
     3b38:	42 8b 12 92 	stw     r16,-29886(r18)
     3b3c:	08 00 00 10 	vmuloub v0,v0,v0
-	ms->nesting_count--;
     3b40:	01 00 00 00 	.long 0x1
     3b44:	00 42 a6 13 	vaddubs v29,v6,v8
+}
     3b48:	04 3b 00 00 	.long 0x3b04
     3b4c:	18 50 00 00 	.long 0x5018
     3b50:	00 00 42 a8 	lha     r2,0(r2)
     3b54:	19 87 3a 00 	.long 0x3a8719
-}
+	return ret;
     3b58:	00 10 20 09 	tdi     9,r0,4096
+}
     3b5c:	00 00 00 00 	.long 0x0
     3b60:	42 a9 1a d1 	stfs    f8,-22206(r26)
     3b64:	3d 00 00 30 	addic   r0,r0,61
-	return ret;
     3b68:	02 09 00 00 	.long 0x902
-}
     3b6c:	00 00 42 ab 	lha     r26,0(r2)
     3b70:	07 c5 00 00 	.long 0xc507
     3b74:	00 38 02 09 	tdgti   r2,14336
     3b78:	00 00 00 00 	.long 0x0
     3b7c:	42 ac 0f 5c 	rlwnm   r15,r0,r21,17,1
+	if (unlikely(ms->mmiowb_pending)) {
     3b80:	00 00 00 3c 	lis     r0,0
+		ret = -1;
     3b84:	02 09 00 00 	.long 0x902
     3b88:	00 00 42 ae 	lhau    r18,0(r2)
+	struct mmiowb_state *ms = __mmiowb_state();
     3b8c:	15 d6 3d 00 	.long 0x3dd615
 	if (unlikely(ms->mmiowb_pending)) {
     3b90:	00 40 02 09 	tdgti   r2,16384
-		ret = -1;
     3b94:	00 00 00 00 	.long 0x0
+		ms->mmiowb_pending = 0;
     3b98:	42 b3 15 d6 	stfsu   f16,-19646(r21)
-	struct mmiowb_state *ms = __mmiowb_state();
     3b9c:	3d 00 00 50 	rlwimi. r0,r0,0,0,30
-	if (unlikely(ms->mmiowb_pending)) {
+		mmiowb();
     3ba0:	02 09 00 00 	.long 0x902
     3ba4:	00 00 42 b5 	sthu    r10,0(r2)
-		ms->mmiowb_pending = 0;
+}
     3ba8:	1c f0 3d 00 	.long 0x3df01c
     3bac:	00 60 02 09 	tdgti   r2,24576
-		mmiowb();
     3bb0:	00 00 00 00 	.long 0x0
     3bb4:	42 b6 10 2f 	cmpwi   cr6,r16,-18878
-}
     3bb8:	00 00 00 80 	lwz     r0,0(0)
     3bbc:	02 09 00 00 	.long 0x902
     3bc0:	00 00 42 b7 	sthu    r26,0(r2)
@@ -11059,7 +11055,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4054:	00 04 5c 00 	.long 0x5c0400
     4058:	00 00 2e 00 	.long 0x2e0000
     405c:	00 00 00 5c 	rlwnm   r0,r0,r0,0,0
-    4060:	00 00 00 49 	b       1004060 <kvmhv_nested_next_lpid+0x1000588>
+    4060:	00 00 00 49 	b       1004060 <kvmhv_nested_next_lpid+0x1000598>
     4064:	55 06 83 40 	bnsl    46b8 <.debug_info+0x46b8>
     4068:	00 00 06 00 	.long 0x60000
     406c:	00 00 00 00 	.long 0x0
@@ -11074,17 +11070,17 @@ static void kvmhv_emulate_tlbie_lpid(str
     4090:	00 4a 13 17 	.long 0x17134a00
     4094:	b3 0a 00 00 	.long 0xab3
     4098:	00 0b 00 00 	.long 0xb00
-    409c:	00 00 04 4a 	b       fffffffffe04409c <kvmhv_nested_next_lpid+0xfffffffffe0405c4>
+    409c:	00 00 04 4a 	b       fffffffffe04409c <kvmhv_nested_next_lpid+0xfffffffffe0405d4>
     40a0:	11 10 ad 40 	blel    cr3,50b0 <.debug_info+0x50b0>
     40a4:	00 00 20 83 	lwz     r25,0(0)
     40a8:	40 00 00 00 	.long 0x40
     40ac:	00 11 00 00 	.long 0x1100
     40b0:	00 00 4a 1d 	mulli   r10,r10,0
     40b4:	03 99 40 00 	.long 0x409903
-    40b8:	00 18 08 4b 	b       ffffffffff0858b8 <kvmhv_nested_next_lpid+0xffffffffff081de0>
+    40b8:	00 18 08 4b 	b       ffffffffff0858b8 <kvmhv_nested_next_lpid+0xffffffffff081df0>
     40bc:	19 09 d0 40 	bgel-   cr4,49d4 <.debug_info+0x49d4>
     40c0:	00 00 01 00 	.long 0x10000
-    40c4:	00 00 00 4b 	b       ffffffffff0040c4 <kvmhv_nested_next_lpid+0xffffffffff0005ec>
+    40c4:	00 00 00 4b 	b       ffffffffff0040c4 <kvmhv_nested_next_lpid+0xffffffffff0005fc>
     40c8:	1a 10 99 0a 	tdlei   r25,4122
     40cc:	00 00 00 00 	.long 0x0
     40d0:	11 00 00 00 	.long 0x11
@@ -11622,10 +11618,10 @@ static void kvmhv_emulate_tlbie_lpid(str
     4920:	0b a5 03 00 	.long 0x3a50b
     4924:	00 04 01 00 	.long 0x10400
     4928:	00 00 00 5d 	rlwnm   r0,r8,r0,0,0
-    492c:	28 19 39 49 	b       1396254 <kvmhv_nested_next_lpid+0x139277c>
+    492c:	28 19 39 49 	b       1396254 <kvmhv_nested_next_lpid+0x139278c>
     4930:	00 00 08 00 	.long 0x80000
     4934:	10 00 00 00 	.long 0x10
-    4938:	00 04 34 49 	b       1344d38 <kvmhv_nested_next_lpid+0x1341260>
+    4938:	00 04 34 49 	b       1344d38 <kvmhv_nested_next_lpid+0x1341270>
     493c:	00 00 18 20 	subfic  r0,r24,0
     4940:	5e 63 09 55 	rlwinm  r9,r8,12,13,15
     4944:	49 00 00 01 	.long 0x1000049
@@ -11638,7 +11634,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4960:	00 3c 00 00 	.long 0x3c00
     4964:	00 00 07 5c 	rlwnm   r7,r0,r0,0,0
     4968:	00 00 00 5e 	rlwnm   r0,r16,r0,0,0
-    496c:	8e 01 a3 49 	ba      1a3018c <kvmhv_nested_next_lpid+0x1a2c6b4>
+    496c:	8e 01 a3 49 	ba      1a3018c <kvmhv_nested_next_lpid+0x1a2c6c4>
     4970:	00 00 06 00 	.long 0x60000
     4974:	00 00 00 00 	.long 0x0
     4978:	06 00 00 00 	.long 0x6
@@ -11673,13 +11669,13 @@ static void kvmhv_emulate_tlbie_lpid(str
     49ec:	2f 00 00 00 	.long 0x2f
     49f0:	00 00 11 00 	.long 0x110000
     49f4:	00 00 00 60 	nop
-    49f8:	13 03 cb 49 	bla     1cb0310 <kvmhv_nested_next_lpid+0x1cac838>
+    49f8:	13 03 cb 49 	bla     1cb0310 <kvmhv_nested_next_lpid+0x1cac848>
     49fc:	00 00 11 00 	.long 0x110000
     4a00:	00 00 00 61 	ori     r0,r8,0
     4a04:	52 0e b6 01 	.long 0x1b60e52
     4a08:	00 00 11 00 	.long 0x110000
     4a0c:	00 00 00 61 	ori     r0,r8,0
-    4a10:	53 1e 16 4a 	bla     fe161e50 <kvmhv_nested_next_lpid+0xfe15e378>
+    4a10:	53 1e 16 4a 	bla     fe161e50 <kvmhv_nested_next_lpid+0xfe15e388>
     4a14:	00 00 04 fe 	fcmpu   cr4,f4,f0
     4a18:	49 00 00 11 	.long 0x11000049
     4a1c:	00 00 00 00 	.long 0x0
@@ -11700,7 +11696,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4a58:	0f 9b 04 00 	.long 0x49b0f
     4a5c:	00 00 11 00 	.long 0x110000
     4a60:	00 00 00 62 	ori     r0,r16,0
-    4a64:	0b 03 38 4a 	bla     fe380308 <kvmhv_nested_next_lpid+0xfe37c830>
+    4a64:	0b 03 38 4a 	bla     fe380308 <kvmhv_nested_next_lpid+0xfe37c840>
     4a68:	00 00 18 08 	tdi     0,r24,0
     4a6c:	62 27 02 8e 	lbzu    r16,10082(r2)
     4a70:	4a 00 00 01 	.long 0x100004a
@@ -11739,7 +11735,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4af4:	62 38 0c 5e 	rlwnm   r12,r16,r7,1,17
     4af8:	4a 00 00 08 	tdi     0,r0,74
     4afc:	00 18 20 62 	ori     r0,r17,6144
-    4b00:	3c 02 48 4b 	b       ffffffffff484d3c <kvmhv_nested_next_lpid+0xffffffffff481264>
+    4b00:	3c 02 48 4b 	b       ffffffffff484d3c <kvmhv_nested_next_lpid+0xffffffffff481274>
     4b04:	00 00 01 00 	.long 0x10000
     4b08:	00 00 00 62 	ori     r0,r16,0
     4b0c:	3d 12 e0 01 	.long 0x1e0123d
@@ -11770,20 +11766,20 @@ static void kvmhv_emulate_tlbie_lpid(str
     4b70:	62 5b 12 9b 	stb     r24,23394(r18)
     4b74:	04 00 00 10 	vrlb    v0,v0,v0
     4b78:	00 0d 50 00 	.long 0x500d00
-    4b7c:	00 00 89 4b 	b       ffffffffff894b7c <kvmhv_nested_next_lpid+0xffffffffff8910a4>
+    4b7c:	00 00 89 4b 	b       ffffffffff894b7c <kvmhv_nested_next_lpid+0xffffffffff8910b4>
     4b80:	00 00 0f 2f 	cmpwi   cr6,r15,0
     4b84:	00 00 00 07 	.long 0x7000000
     4b88:	00 18 0c 62 	ori     r12,r16,6144
-    4b8c:	5e 04 ad 4b 	ba      ffad045c <kvmhv_nested_next_lpid+0xffacc984>
+    4b8c:	5e 04 ad 4b 	ba      ffad045c <kvmhv_nested_next_lpid+0xffacc994>
     4b90:	00 00 01 00 	.long 0x10000
     4b94:	00 00 00 62 	ori     r0,r16,0
-    4b98:	5f 0a 79 4b 	bla     ff790a5c <kvmhv_nested_next_lpid+0xff78cf84>
+    4b98:	5f 0a 79 4b 	bla     ff790a5c <kvmhv_nested_next_lpid+0xff78cf94>
     4b9c:	00 00 00 01 	.long 0x1000000
     4ba0:	00 00 00 00 	.long 0x0
     4ba4:	62 60 0b cd 	lfdu    f8,24674(r11)
     4ba8:	00 00 00 08 	tdi     0,r0,0
     4bac:	00 18 10 62 	ori     r16,r16,6144
-    4bb0:	63 04 de 4b 	bla     ffde0460 <kvmhv_nested_next_lpid+0xffddc988>
+    4bb0:	63 04 de 4b 	bla     ffde0460 <kvmhv_nested_next_lpid+0xffddc998>
     4bb4:	00 00 01 00 	.long 0x10000
     4bb8:	00 00 00 62 	ori     r0,r16,0
     4bbc:	64 13 2f 00 	.long 0x2f1364
@@ -11804,7 +11800,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4bf8:	62 56 0a 9f 	stbu    r24,22114(r10)
     4bfc:	00 00 00 12 	vaddubm v16,v0,v0
     4c00:	00 00 00 00 	.long 0x0
-    4c04:	62 5c 06 48 	ba      65c60 <kvmhv_nested_next_lpid+0x62188>
+    4c04:	62 5c 06 48 	ba      65c60 <kvmhv_nested_next_lpid+0x62198>
     4c08:	4b 00 00 12 	.long 0x1200004b
     4c0c:	00 00 00 00 	.long 0x0
     4c10:	62 61 06 89 	lbz     r8,24930(r6)
@@ -11882,7 +11878,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4d30:	96 4c 00 00 	.long 0x4c96
     4d34:	10 00 0b 00 	.long 0xb0010
     4d38:	00 00 00 30 	addic   r0,r0,0
-    4d3c:	63 0c 10 4a 	bla     fe100c60 <kvmhv_nested_next_lpid+0xfe0fd188>
+    4d3c:	63 0c 10 4a 	bla     fe100c60 <kvmhv_nested_next_lpid+0xfe0fd198>
     4d40:	4d 00 00 20 	subfic  r0,r0,77
     4d44:	f8 4c 00 00 	.long 0x4cf8
     4d48:	00 00 11 00 	.long 0x110000
@@ -11899,7 +11895,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4d74:	13 d4 03 00 	.long 0x3d413
     4d78:	00 00 01 00 	.long 0x10000
     4d7c:	00 00 00 63 	ori     r0,r24,0
-    4d80:	22 0b f2 49 	ba      1f20b20 <kvmhv_nested_next_lpid+0x1f1d048>
+    4d80:	22 0b f2 49 	ba      1f20b20 <kvmhv_nested_next_lpid+0x1f1d058>
     4d84:	00 00 10 00 	.long 0x100000
     4d88:	0b 00 00 00 	.long 0xb
     4d8c:	00 20 63 25 	dozi    r11,r3,8192
@@ -11938,7 +11934,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4e10:	00 00 00 00 	.long 0x0
     4e14:	04 00 0b 00 	.long 0xb0004
     4e18:	00 00 00 10 	vaddubm v0,v0,v0
-    4e1c:	65 27 08 4b 	bl      ffffffffff087580 <kvmhv_nested_next_lpid+0xffffffffff083aa8>
+    4e1c:	65 27 08 4b 	bl      ffffffffff087580 <kvmhv_nested_next_lpid+0xffffffffff083ab8>
     4e20:	4e 00 00 01 	.long 0x100004e
     4e24:	00 00 00 00 	.long 0x0
     4e28:	65 28 0f 93 	stw     r24,10341(r15)
@@ -12236,7 +12232,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     52b8:	00 20 20 69 	xori    r0,r9,8192
     52bc:	3e 1d 53 00 	.long 0x531d3e
     52c0:	00 01 00 00 	.long 0x100
-    52c4:	00 00 69 4b 	b       ffffffffff6952c4 <kvmhv_nested_next_lpid+0xffffffffff6917ec>
+    52c4:	00 00 69 4b 	b       ffffffffff6952c4 <kvmhv_nested_next_lpid+0xffffffffff6917fc>
     52c8:	08 cd 00 00 	.long 0xcd08
     52cc:	00 00 01 00 	.long 0x10000
     52d0:	00 00 00 69 	xori    r0,r8,0
@@ -12468,14 +12464,14 @@ static void kvmhv_emulate_tlbie_lpid(str
     5658:	3e 48 02 14 	.long 0x1402483e
     565c:	d4 03 00 00 	.long 0x3d4
     5660:	00 02 00 00 	attn
-    5664:	00 00 3e 49 	b       13e5664 <kvmhv_nested_next_lpid+0x13e1b8c>
+    5664:	00 00 3e 49 	b       13e5664 <kvmhv_nested_next_lpid+0x13e1b9c>
     5668:	02 12 2f 00 	.long 0x2f1202
     566c:	00 00 10 02 	.long 0x2100000
     5670:	00 00 00 00 	.long 0x0
     5674:	3e 4a 02 12 	vsubeuqm v16,v2,v9,v8
     5678:	2f 00 00 00 	.long 0x2f
     567c:	18 02 00 00 	.long 0x218
-    5680:	00 00 3e 4b 	b       ffffffffff3e5680 <kvmhv_nested_next_lpid+0xffffffffff3e1ba8>
+    5680:	00 00 3e 4b 	b       ffffffffff3e5680 <kvmhv_nested_next_lpid+0xffffffffff3e1bb8>
     5684:	02 11 5c 00 	.long 0x5c1102
     5688:	00 00 20 02 	.long 0x2200000
     568c:	00 00 00 00 	.long 0x0
@@ -12516,7 +12512,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     5718:	09 52 01 00 	.long 0x15209
     571c:	00 38 02 00 	.long 0x23800
     5720:	00 00 00 3e 	lis     r16,0
-    5724:	6c 02 09 48 	b       95990 <kvmhv_nested_next_lpid+0x91eb8>
+    5724:	6c 02 09 48 	b       95990 <kvmhv_nested_next_lpid+0x91ec8>
     5728:	01 00 00 40 	bdnzfl  lt,5728 <.debug_info+0x5728>
     572c:	02 00 00 00 	.long 0x2
     5730:	00 3e 6d 02 	.long 0x26d3e00
@@ -13020,14 +13016,14 @@ static void kvmhv_emulate_tlbie_lpid(str
     5ef8:	72 47 12 ce 	lfdu    f16,18290(r18)
     5efc:	0a 00 00 94 	stu     r0,10(0)
     5f00:	01 09 00 00 	.long 0x901
-    5f04:	00 00 72 48 	b       725f04 <kvmhv_nested_next_lpid+0x72242c>
+    5f04:	00 00 72 48 	b       725f04 <kvmhv_nested_next_lpid+0x72243c>
     5f08:	13 c6 db 00 	.long 0xdbc613
     5f0c:	00 98 01 09 	tdgti   r1,-26624
     5f10:	00 00 00 00 	.long 0x0
     5f14:	72 49 18 15 	.long 0x15184972
     5f18:	83 00 00 a0 	lhz     r0,131(0)
     5f1c:	01 09 00 00 	.long 0x901
-    5f20:	00 00 72 4b 	b       ffffffffff725f20 <kvmhv_nested_next_lpid+0xffffffffff722448>
+    5f20:	00 00 72 4b 	b       ffffffffff725f20 <kvmhv_nested_next_lpid+0xffffffffff722458>
     5f24:	18 15 83 00 	.long 0x831518
     5f28:	00 a8 01 09 	tdgti   r1,-22528
     5f2c:	00 00 00 00 	.long 0x0
@@ -13301,7 +13297,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     635c:	00 78 4a 10 	vaddubm v2,v10,v15
     6360:	2f 00 00 00 	.long 0x2f
     6364:	90 01 00 00 	.long 0x190
-    6368:	00 00 78 4b 	b       ffffffffff786368 <kvmhv_nested_next_lpid+0xffffffffff782890>
+    6368:	00 00 78 4b 	b       ffffffffff786368 <kvmhv_nested_next_lpid+0xffffffffff7828a0>
     636c:	10 2f 00 00 	.long 0x2f10
     6370:	00 98 01 00 	.long 0x19800
     6374:	00 00 00 78 	rotldi  r0,r0,0
@@ -13394,7 +13390,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     64d0:	70 47 19 5e 	rlwnm   r25,r16,r8,29,24
     64d4:	04 00 00 08 	tdi     0,r0,4
     64d8:	00 01 00 00 	.long 0x100
-    64dc:	00 00 70 48 	b       7064dc <kvmhv_nested_next_lpid+0x702a04>
+    64dc:	00 00 70 48 	b       7064dc <kvmhv_nested_next_lpid+0x702a14>
     64e0:	13 2f 00 00 	.long 0x2f13
     64e4:	00 10 00 6b 	xori    r0,r24,4096
     64e8:	18 70 40 fc 	frsp    f2,f14
@@ -13732,7 +13728,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     6a18:	00 00 00 35 	addic.  r8,r0,0
     6a1c:	48 01 0f 52 	rlwimi  r15,r16,0,5,4
     6a20:	12 00 00 00 	.long 0x12
-    6a24:	29 28 35 4b 	bl      ffffffffff35924c <kvmhv_nested_next_lpid+0xffffffffff355774>
+    6a24:	29 28 35 4b 	bl      ffffffffff35924c <kvmhv_nested_next_lpid+0xffffffffff355784>
     6a28:	01 03 9f 6a 	xori    r31,r20,769
     6a2c:	00 00 02 00 	.long 0x20000
     6a30:	00 00 00 35 	addic.  r8,r0,0
@@ -14262,7 +14258,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7260:	00 0d 2f 00 	.long 0x2f0d00
     7264:	00 00 71 72 	andi.   r17,r19,0
     7268:	00 00 0f 2f 	cmpwi   cr6,r15,0
-    726c:	00 00 00 4b 	b       ffffffffff00726c <kvmhv_nested_next_lpid+0xffffffffff003794>
+    726c:	00 00 00 4b 	b       ffffffffff00726c <kvmhv_nested_next_lpid+0xffffffffff0037a4>
     7270:	00 0d 8c 65 	oris    r12,r12,3328
     7274:	00 00 81 72 	andi.   r1,r20,0
     7278:	00 00 0f 2f 	cmpwi   cr6,r15,0
@@ -14991,7 +14987,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7dc4:	82 1e 08 e6 	lxsd    v16,7808(r8)
     7dc8:	7d 00 00 01 	.long 0x100007d
     7dcc:	00 00 00 00 	.long 0x0
-    7dd0:	82 1f 0f 4b 	ba      ff0f1f80 <kvmhv_nested_next_lpid+0xff0ee4a8>
+    7dd0:	82 1f 0f 4b 	ba      ff0f1f80 <kvmhv_nested_next_lpid+0xff0ee4b8>
     7dd4:	00 00 00 00 	.long 0x0
     7dd8:	01 00 00 00 	.long 0x1
     7ddc:	00 82 20 0c 	twlgti  r0,-32256
@@ -15001,7 +14997,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7dec:	82 54 08 35 	addic.  r8,r8,21634
     7df0:	7e 00 00 01 	.long 0x100007e
     7df4:	00 00 00 00 	.long 0x0
-    7df8:	82 55 0f 4b 	ba      ff0f5580 <kvmhv_nested_next_lpid+0xff0f1aa8>
+    7df8:	82 55 0f 4b 	ba      ff0f5580 <kvmhv_nested_next_lpid+0xff0f1ab8>
     7dfc:	00 00 00 00 	.long 0x0
     7e00:	01 00 00 00 	.long 0x1
     7e04:	00 82 56 0e 	twi     18,r22,-32256
@@ -15445,7 +15441,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     84dc:	19 46 9c 00 	.long 0x9c4619
     84e0:	00 48 02 00 	.long 0x24800
     84e4:	00 00 00 86 	lu      r16,0(0)
-    84e8:	31 02 0f 4b 	bl      ffffffffff0f8718 <kvmhv_nested_next_lpid+0xffffffffff0f4c40>
+    84e8:	31 02 0f 4b 	bl      ffffffffff0f8718 <kvmhv_nested_next_lpid+0xffffffffff0f4c50>
     84ec:	00 00 00 50 	rlwimi  r0,r0,0,0,0
     84f0:	02 00 00 00 	.long 0x2
     84f4:	00 86 32 02 	.long 0x2328600
@@ -15918,7 +15914,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8c40:	01 00 00 00 	.long 0x1
     8c44:	04 34 8c 00 	.long 0x8c3404
     8c48:	00 10 00 00 	.long 0x1000
-    8c4c:	00 00 04 49 	b       1048c4c <kvmhv_nested_next_lpid+0x1045174>
+    8c4c:	00 00 04 49 	b       1048c4c <kvmhv_nested_next_lpid+0x1045184>
     8c50:	8c 00 00 1b 	.long 0x1b00008c
     8c54:	00 00 00 00 	.long 0x0
     8c58:	e0 85 ce 02 	.long 0x2ce85e0
@@ -16045,7 +16041,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8e3c:	64 12 34 90 	stw     r1,4708(r20)
     8e40:	00 00 10 01 	.long 0x1100000
     8e44:	00 00 00 00 	.long 0x0
-    8e48:	89 65 0f 4b 	bl      ffffffffff0ff3d0 <kvmhv_nested_next_lpid+0xffffffffff0fb8f8>
+    8e48:	89 65 0f 4b 	bl      ffffffffff0ff3d0 <kvmhv_nested_next_lpid+0xffffffffff0fb908>
     8e4c:	00 00 00 18 	lxvp    vs0,0(0)
     8e50:	01 00 00 00 	.long 0x1
     8e54:	00 89 67 07 	.long 0x7678900
@@ -16121,7 +16117,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8f6c:	8a 36 08 34 	addic.  r0,r8,13962
     8f70:	90 00 00 01 	.long 0x1000090
     8f74:	00 00 00 00 	.long 0x0
-    8f78:	8a 37 0f 4b 	ba      ff0f3788 <kvmhv_nested_next_lpid+0xff0efcb0>
+    8f78:	8a 37 0f 4b 	ba      ff0f3788 <kvmhv_nested_next_lpid+0xff0efcc0>
     8f7c:	00 00 00 00 	.long 0x0
     8f80:	01 00 00 00 	.long 0x1
     8f84:	00 8a 38 12 	vaddubs v17,v24,v17
@@ -16302,7 +16298,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     9240:	00 8c 49 0c 	twllti  r9,-29696
     9244:	2a 01 00 00 	.long 0x12a
     9248:	18 01 00 00 	.long 0x118
-    924c:	00 00 8c 4a 	b       fffffffffe8c924c <kvmhv_nested_next_lpid+0xfffffffffe8c5774>
+    924c:	00 00 8c 4a 	b       fffffffffe8c924c <kvmhv_nested_next_lpid+0xfffffffffe8c5784>
     9250:	05 ff 00 00 	.long 0xff05
     9254:	00 1a 01 00 	attn
     9258:	00 00 00 8c 	.long 0x8c000000
@@ -16551,7 +16547,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     9624:	05 96 00 00 	.long 0x9605
     9628:	19 38 96 00 	.long 0x963819
     962c:	00 03 34 90 	stw     r1,768(r20)
-    9630:	00 00 03 4b 	b       ffffffffff039630 <kvmhv_nested_next_lpid+0xffffffffff035b58>
+    9630:	00 00 03 4b 	b       ffffffffff039630 <kvmhv_nested_next_lpid+0xffffffffff035b68>
     9634:	00 00 00 00 	.long 0x0
     9638:	04 28 96 00 	.long 0x962804
     963c:	00 0a c5 00 	attn
@@ -16596,7 +16592,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     96d8:	22 47 01 0f 	twnei   r1,18210
     96dc:	5c 00 00 00 	.long 0x5c
     96e0:	08 02 00 00 	.long 0x208
-    96e4:	00 00 22 49 	b       12296e4 <kvmhv_nested_next_lpid+0x1225c0c>
+    96e4:	00 00 22 49 	b       12296e4 <kvmhv_nested_next_lpid+0x1225c1c>
     96e8:	01 0f 5c 00 	.long 0x5c0f01
     96ec:	00 00 0c 02 	.long 0x20c0000
     96f0:	00 00 00 00 	.long 0x0
@@ -17800,7 +17796,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a9a8:	38 43 00 00 	.long 0x4338
     a9ac:	d0 03 05 00 	.long 0x503d0
     a9b0:	00 00 00 24 	dozi    r0,r0,0
-    a9b4:	bd 04 0e 4b 	bl      ffffffffff0eae70 <kvmhv_nested_next_lpid+0xffffffffff0e7398>
+    a9b4:	bd 04 0e 4b 	bl      ffffffffff0eae70 <kvmhv_nested_next_lpid+0xffffffffff0e73a8>
     a9b8:	00 00 00 f0 	xsaddsp vs0,vs0,vs0
     a9bc:	03 05 00 00 	.long 0x503
     a9c0:	00 00 24 bf 	stmw    r25,0(r4)
@@ -17858,7 +17854,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     aa90:	05 00 00 00 	.long 0x5
     aa94:	00 24 ec 04 	.long 0x4ec2400
     aa98:	06 c5 00 00 	.long 0xc506
-    aa9c:	00 20 05 48 	b       5ca9c <kvmhv_nested_next_lpid+0x58fc4>
+    aa9c:	00 20 05 48 	b       5ca9c <kvmhv_nested_next_lpid+0x58fd4>
     aaa0:	00 00 00 00 	.long 0x0
     aaa4:	24 ef 04 0e 	twlti   r4,-4316
     aaa8:	ad 40 00 00 	.long 0x40ad
@@ -17941,7 +17937,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     abdc:	00 9a 49 06 	.long 0x6499a00
     abe0:	c5 00 00 00 	.long 0xc5
     abe4:	10 01 00 00 	.long 0x110
-    abe8:	00 00 9a 4a 	b       fffffffffe9aabe8 <kvmhv_nested_next_lpid+0xfffffffffe9a7110>
+    abe8:	00 00 9a 4a 	b       fffffffffe9aabe8 <kvmhv_nested_next_lpid+0xfffffffffe9a7120>
     abec:	14 2c b3 00 	.long 0xb32c14
     abf0:	00 18 00 0a 	tdlti   r0,6144
     abf4:	02 ac 00 00 	.long 0xac02
@@ -18292,7 +18288,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b158:	43 1d 10 b1 	sth     r8,7491(r16)
     b15c:	00 00 00 00 	.long 0x0
     b160:	0b 00 00 00 	.long 0xb
-    b164:	00 10 68 4b 	b       ffffffffff68c164 <kvmhv_nested_next_lpid+0xffffffffff68868c>
+    b164:	00 10 68 4b 	b       ffffffffff68c164 <kvmhv_nested_next_lpid+0xffffffffff68869c>
     b168:	08 88 b1 00 	.long 0xb18808
     b16c:	00 01 00 00 	.long 0x100
     b170:	00 00 68 4c 	.long 0x4c680000
@@ -18327,7 +18323,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b1e4:	00 03 00 10 	vaddsbs v0,v0,v0
     b1e8:	00 00 00 00 	.long 0x0
     b1ec:	04 e7 b1 00 	.long 0xb1e704
-    b1f0:	00 0d a3 49 	b       1a3bef0 <kvmhv_nested_next_lpid+0x1a38418>
+    b1f0:	00 0d a3 49 	b       1a3bef0 <kvmhv_nested_next_lpid+0x1a38428>
     b1f4:	00 00 01 b2 	sth     r16,0(r1)
     b1f8:	00 00 0f 2f 	cmpwi   cr6,r15,0
     b1fc:	00 00 00 0f 	twnei   r0,0
@@ -18609,7 +18605,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b64c:	64 00 a7 47 	.long 0x47a70064
     b650:	0a 11 43 00 	.long 0x43110a
     b654:	00 12 00 00 	attn
-    b658:	00 00 a7 48 	b       a7b658 <kvmhv_nested_next_lpid+0xa77b80>
+    b658:	00 00 a7 48 	b       a7b658 <kvmhv_nested_next_lpid+0xa77b90>
     b65c:	0d da b5 00 	.long 0xb5da0d
     b660:	00 00 0b 00 	.long 0xb0000
     b664:	00 00 00 08 	tdi     0,r0,0
@@ -18617,7 +18613,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b66c:	b6 00 00 20 	subfic  r0,r0,182
     b670:	34 b6 00 00 	.long 0xb634
     b674:	00 01 00 00 	.long 0x100
-    b678:	00 00 a7 4a 	b       fffffffffea7b678 <kvmhv_nested_next_lpid+0xfffffffffea77ba0>
+    b678:	00 00 a7 4a 	b       fffffffffea7b678 <kvmhv_nested_next_lpid+0xfffffffffea77bb0>
     b67c:	12 05 b6 00 	.long 0xb60512
     b680:	00 04 00 0b 	tdnei   r0,1024
     b684:	00 00 00 00 	.long 0x0
@@ -18798,7 +18794,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b940:	a7 48 01 08 	tdi     0,r1,18599
     b944:	c4 b8 00 00 	.long 0xb8c4
     b948:	28 02 00 00 	.long 0x228
-    b94c:	00 00 a7 49 	b       1a7b94c <kvmhv_nested_next_lpid+0x1a77e74>
+    b94c:	00 00 a7 49 	b       1a7b94c <kvmhv_nested_next_lpid+0x1a77e84>
     b950:	01 08 b0 b8 	lm      r5,2049(r16)
     b954:	00 00 30 02 	.long 0x2300000
     b958:	00 00 00 00 	.long 0x0
@@ -18876,7 +18872,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     ba78:	06 52 01 00 	.long 0x15206
     ba7c:	00 30 02 00 	.long 0x23000
     ba80:	00 00 00 a7 	.long 0xa7000000
-    ba84:	5f 01 06 48 	bla     6015c <kvmhv_nested_next_lpid+0x5c684>
+    ba84:	5f 01 06 48 	bla     6015c <kvmhv_nested_next_lpid+0x5c694>
     ba88:	01 00 00 38 	li      r0,1
     ba8c:	02 00 00 00 	.long 0x2
     ba90:	00 a7 61 01 	.long 0x161a700
@@ -19083,7 +19079,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     bdb4:	04 98 bb 00 	.long 0xbb9804
     bdb8:	00 04 a0 bd 	stmw    r13,1024(0)
     bdbc:	00 00 04 97 	stwu    r24,0(r4)
-    bdc0:	b8 00 00 4b 	b       ffffffffff00be78 <kvmhv_nested_next_lpid+0xffffffffff0083a0>
+    bdc0:	b8 00 00 4b 	b       ffffffffff00be78 <kvmhv_nested_next_lpid+0xffffffffff0083b0>
     bdc4:	00 00 00 00 	.long 0x0
     bdc8:	38 01 a7 07 	.long 0x7a70138
     bdcc:	02 19 be 00 	.long 0xbe1902
@@ -19418,7 +19414,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     c2f0:	08 2b cb 00 	.long 0xcb2b08
     c2f4:	00 10 02 00 	.long 0x21000
     c2f8:	00 00 00 24 	dozi    r0,r0,0
-    c2fc:	0c 07 17 49 	b       117ca08 <kvmhv_nested_next_lpid+0x1178f30>
+    c2fc:	0c 07 17 49 	b       117ca08 <kvmhv_nested_next_lpid+0x1178f40>
     c300:	cb 00 00 18 	.long 0x180000cb
     c304:	02 00 00 00 	.long 0x2
     c308:	00 24 0e 07 	.long 0x70e2400
@@ -19756,7 +19752,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     c838:	b3 00 00 03 	.long 0x30000b3
     c83c:	46 c8 00 00 	.long 0xc846
     c840:	03 5c 00 00 	.long 0x5c03
-    c844:	00 00 04 4b 	b       ffffffffff04c844 <kvmhv_nested_next_lpid+0xffffffffff048d6c>
+    c844:	00 00 04 4b 	b       ffffffffff04c844 <kvmhv_nested_next_lpid+0xffffffffff048d7c>
     c848:	c8 00 00 10 	vmuloud v0,v0,v0
     c84c:	00 00 00 00 	.long 0x0
     c850:	04 2d c8 00 	.long 0xc82d04
@@ -20194,7 +20190,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     cf10:	29 cf 00 00 	.long 0xcf29
     cf14:	03 bc c5 00 	.long 0xc5bc03
     cf18:	00 03 c5 00 	.long 0xc50300
-    cf1c:	00 00 03 4b 	b       ffffffffff03cf1c <kvmhv_nested_next_lpid+0xffffffffff039444>
+    cf1c:	00 00 03 4b 	b       ffffffffff03cf1c <kvmhv_nested_next_lpid+0xffffffffff039454>
     cf20:	00 00 00 03 	.long 0x3000000
     cf24:	9b 04 00 00 	.long 0x49b
     cf28:	00 04 0b cf 	lfdu    f24,1024(r11)
@@ -20330,7 +20326,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     d130:	00 00 00 48 	b       d130 <.debug_info+0xd130>
     d134:	06 00 00 00 	.long 0x6
     d138:	00 49 06 00 	.long 0x64900
-    d13c:	00 00 00 4a 	b       fffffffffe00d13c <kvmhv_nested_next_lpid+0xfffffffffe009664>
+    d13c:	00 00 00 4a 	b       fffffffffe00d13c <kvmhv_nested_next_lpid+0xfffffffffe009674>
     d140:	06 00 00 00 	.long 0x6
     d144:	00 4b 06 00 	.long 0x64b00
     d148:	00 00 00 4c 	mcrf    cr0,cr0
@@ -20373,10 +20369,10 @@ static void kvmhv_emulate_tlbie_lpid(str
     d1dc:	06 00 00 00 	.long 0x6
     d1e0:	00 65 00 43 	bdnz-   136e0 <.debug_info+0x136e0>
     d1e4:	00 00 00 00 	.long 0x0
-    d1e8:	80 02 91 49 	b       191d468 <kvmhv_nested_next_lpid+0x1919990>
+    d1e8:	80 02 91 49 	b       191d468 <kvmhv_nested_next_lpid+0x19199a0>
     d1ec:	08 d0 d2 00 	.long 0xd2d008
     d1f0:	00 01 00 00 	.long 0x100
-    d1f4:	00 00 91 4a 	b       fffffffffe91d1f4 <kvmhv_nested_next_lpid+0xfffffffffe91971c>
+    d1f4:	00 00 91 4a 	b       fffffffffe91d1f4 <kvmhv_nested_next_lpid+0xfffffffffe91972c>
     d1f8:	06 c5 00 00 	.long 0xc506
     d1fc:	00 00 01 00 	.long 0x10000
     d200:	00 00 00 91 	stw     r8,0(0)
@@ -20508,7 +20504,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     d3f8:	a4 12 30 d6 	stfsu   f17,4772(r16)
     d3fc:	00 00 98 01 	.long 0x1980000
     d400:	00 00 00 00 	.long 0x0
-    d404:	93 a5 08 49 	bla     108a590 <kvmhv_nested_next_lpid+0x1086ab8>
+    d404:	93 a5 08 49 	bla     108a590 <kvmhv_nested_next_lpid+0x1086ac8>
     d408:	d6 00 00 a0 	lhz     r0,214(0)
     d40c:	01 00 00 00 	.long 0x1
     d410:	00 93 a6 08 	tdlgei  r6,-27904
@@ -20520,10 +20516,10 @@ static void kvmhv_emulate_tlbie_lpid(str
     d428:	00 10 93 47 	.long 0x47931000
     d42c:	08 58 d4 00 	.long 0xd45808
     d430:	00 01 00 00 	.long 0x100
-    d434:	00 00 93 48 	b       93d434 <kvmhv_nested_next_lpid+0x93995c>
+    d434:	00 00 93 48 	b       93d434 <kvmhv_nested_next_lpid+0x93996c>
     d438:	0f 5c 00 00 	.long 0x5c0f
     d43c:	00 00 0e 69 	xori    r14,r8,0
-    d440:	64 00 93 49 	b       193d4a4 <kvmhv_nested_next_lpid+0x19399cc>
+    d440:	64 00 93 49 	b       193d4a4 <kvmhv_nested_next_lpid+0x19399dc>
     d444:	0f 5c 00 00 	.long 0x5c0f
     d448:	00 04 01 00 	.long 0x10400
     d44c:	00 00 00 93 	stw     r24,0(0)
@@ -20599,7 +20595,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     d564:	97 00 00 03 	.long 0x3000097
     d568:	16 03 00 00 	.long 0x316
     d56c:	00 04 4f d5 	stfsu   f10,1024(r15)
-    d570:	00 00 0a 4b 	b       ffffffffff0ad570 <kvmhv_nested_next_lpid+0xffffffffff0a9a98>
+    d570:	00 00 0a 4b 	b       ffffffffff0ad570 <kvmhv_nested_next_lpid+0xffffffffff0a9aa8>
     d574:	00 00 00 81 	lwz     r8,0(0)
     d578:	d5 00 00 03 	.long 0x30000d5
     d57c:	58 d4 00 00 	.long 0xd458
@@ -20625,7 +20621,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     d5cc:	0a c5 00 00 	.long 0xc50a
     d5d0:	00 f4 d5 00 	.long 0xd5f400
     d5d4:	00 03 58 d4 	stfsu   f2,768(r24)
-    d5d8:	00 00 03 4b 	b       ffffffffff03d5d8 <kvmhv_nested_next_lpid+0xffffffffff039b00>
+    d5d8:	00 00 03 4b 	b       ffffffffff03d5d8 <kvmhv_nested_next_lpid+0xffffffffff039b10>
     d5dc:	00 00 00 03 	.long 0x3000000
     d5e0:	4b 00 00 00 	.long 0x4b
     d5e4:	03 5c 00 00 	.long 0x5c03
@@ -20745,7 +20741,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     d7ac:	00 ab bd 0a 	tdi     21,r29,-21760
     d7b0:	9b 04 00 00 	.long 0x49b
     d7b4:	30 00 04 62 	ori     r4,r16,48
-    d7b8:	d6 00 00 4b 	ba      ff0000d4 <kvmhv_nested_next_lpid+0xfeffc5fc>
+    d7b8:	d6 00 00 4b 	ba      ff0000d4 <kvmhv_nested_next_lpid+0xfeffc60c>
     d7bc:	00 00 00 00 	.long 0x0
     d7c0:	08 01 ab fa 	std     r21,264(r11)
     d7c4:	01 99 d9 00 	.long 0xd99901
@@ -21272,10 +21268,10 @@ static void kvmhv_emulate_tlbie_lpid(str
     dfe8:	00 00 00 00 	.long 0x0
     dfec:	92 48 1a 7d 	mulhd   r8,r26,r9
     dff0:	df 00 00 00 	.long 0xdf
-    dff4:	27 04 92 4a 	bla     fe920424 <kvmhv_nested_next_lpid+0xfe91c94c>
+    dff4:	27 04 92 4a 	bla     fe920424 <kvmhv_nested_next_lpid+0xfe91c95c>
     dff8:	02 16 e0 00 	.long 0xe01602
     dffc:	00 12 00 00 	attn
-    e000:	00 00 92 4b 	b       ffffffffff92e000 <kvmhv_nested_next_lpid+0xffffffffff92a528>
+    e000:	00 00 92 4b 	b       ffffffffff92e000 <kvmhv_nested_next_lpid+0xffffffffff92a538>
     e004:	09 3e 01 00 	.long 0x13e09
     e008:	00 12 00 00 	attn
     e00c:	00 00 92 4c 	.long 0x4c920000
@@ -21437,7 +21433,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     e27c:	00 38 b0 47 	.long 0x47b03800
     e280:	08 d4 e2 00 	.long 0xe2d408
     e284:	00 01 00 00 	.long 0x100
-    e288:	00 00 b0 48 	b       b0e288 <kvmhv_nested_next_lpid+0xb0a7b0>
+    e288:	00 00 b0 48 	b       b0e288 <kvmhv_nested_next_lpid+0xb0a7c0>
     e28c:	13 d4 03 00 	.long 0x3d413
     e290:	00 00 01 00 	.long 0x10000
     e294:	00 00 00 b0 	sth     r0,0(0)
@@ -21859,7 +21855,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     e914:	00 00 fb 03 	.long 0x3fb0000
     e918:	00 43 00 00 	.long 0x4300
     e91c:	00 00 d0 04 	.long 0x4d00000
-    e920:	b2 b0 08 41 	bdnzta  4*cr2+lt,ffffb0b0 <kvmhv_nested_next_lpid+0xffff75d8>
+    e920:	b2 b0 08 41 	bdnzta  4*cr2+lt,ffffb0b0 <kvmhv_nested_next_lpid+0xffff75e8>
     e924:	e9 00 00 0e 	twlti   r0,233
     e928:	70 76 72 00 	.long 0x727670
     e92c:	b2 b1 08 cd 	lfdu    f8,-20046(r8)
@@ -22099,7 +22095,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     ecd4:	10 b3 49 01 	.long 0x149b310
     ecd8:	03 ec ec 00 	.long 0xecec03
     ecdc:	00 02 00 00 	attn
-    ece0:	00 00 b3 4a 	b       fffffffffeb3ece0 <kvmhv_nested_next_lpid+0xfffffffffeb3b208>
+    ece0:	00 00 b3 4a 	b       fffffffffeb3ece0 <kvmhv_nested_next_lpid+0xfffffffffeb3b218>
     ece4:	01 1f 41 e9 	ldu     r10,7936(r1)
     ece8:	00 00 00 00 	.long 0x0
     ecec:	29 18 b3 4d 	.long 0x4db31829
@@ -22525,7 +22521,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     f37c:	00 24 00 00 	.long 0x2400
     f380:	00 00 b3 0f 	twi     29,r19,0
     f384:	02 08 09 82 	lwz     r16,2050(r9)
-    f388:	00 00 00 4b 	b       ffffffffff00f388 <kvmhv_nested_next_lpid+0xffffffffff00b8b0>
+    f388:	00 00 00 4b 	b       ffffffffff00f388 <kvmhv_nested_next_lpid+0xffffffffff00b8c0>
     f38c:	00 00 00 00 	.long 0x0
     f390:	30 09 b3 1a 	lxvp    vs52,2352(r19)
     f394:	01 49 f4 00 	.long 0xf44901
@@ -22627,7 +22623,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     f514:	af f4 00 00 	.long 0xf4af
     f518:	23 f5 00 00 	.long 0xf523
     f51c:	0f 2f 00 00 	.long 0x2f0f
-    f520:	00 07 00 4b 	b       ffffffffff00fc20 <kvmhv_nested_next_lpid+0xffffffffff00c148>
+    f520:	00 07 00 4b 	b       ffffffffff00fc20 <kvmhv_nested_next_lpid+0xffffffffff00c158>
     f524:	00 00 00 00 	.long 0x0
     f528:	50 02 b3 6d 	xoris   r19,r13,592
     f52c:	03 78 f5 00 	.long 0xf57803
@@ -22777,7 +22773,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     f76c:	00 b4 49 08 	tdllti  r9,-19456
     f770:	ec 00 00 00 	.long 0xec
     f774:	d8 01 00 00 	.long 0x1d8
-    f778:	00 00 b4 4a 	b       fffffffffeb4f778 <kvmhv_nested_next_lpid+0xfffffffffeb4bca0>
+    f778:	00 00 b4 4a 	b       fffffffffeb4f778 <kvmhv_nested_next_lpid+0xfffffffffeb4bcb0>
     f77c:	08 ec 00 00 	.long 0xec08
     f780:	00 e0 01 00 	.long 0x1e000
     f784:	00 00 00 b4 	.long 0xb4000000
@@ -22828,7 +22824,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     f838:	00 14 4a 02 	.long 0x24a1400
     f83c:	06 3e 01 00 	.long 0x13e06
     f840:	00 d8 17 69 	xori    r23,r8,55296
-    f844:	64 00 14 4b 	b       ffffffffff14f8a8 <kvmhv_nested_next_lpid+0xffffffffff14bdd0>
+    f844:	64 00 14 4b 	b       ffffffffff14f8a8 <kvmhv_nested_next_lpid+0xffffffffff14bde0>
     f848:	02 08 9f 00 	.long 0x9f0802
     f84c:	00 00 dc 02 	.long 0x2dc0000
     f850:	00 00 00 00 	.long 0x0
@@ -23080,7 +23076,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     fc28:	b6 5a 08 57 	rlwinm  r8,r24,11,10,27
     fc2c:	fc 00 00 01 	.long 0x10000fc
     fc30:	00 00 00 00 	.long 0x0
-    fc34:	b6 5b 1d 49 	ba      11d5bb4 <kvmhv_nested_next_lpid+0x11d20dc>
+    fc34:	b6 5b 1d 49 	ba      11d5bb4 <kvmhv_nested_next_lpid+0x11d20ec>
     fc38:	fb 00 00 00 	.long 0xfb
     fc3c:	01 00 00 00 	.long 0x1
     fc40:	00 b6 5c 06 	.long 0x65cb600
@@ -23250,7 +23246,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     fed0:	04 cb fe 00 	.long 0xfecb04
     fed4:	00 4b 00 00 	.long 0x4b00
     fed8:	00 00 a0 42 	.long 0x42a00000
-    fedc:	b6 16 01 49 	ba      10116b4 <kvmhv_nested_next_lpid+0x100dbdc>
+    fedc:	b6 16 01 49 	ba      10116b4 <kvmhv_nested_next_lpid+0x100dbec>
     fee0:	01 01 00 02 	.long 0x2000101
     fee4:	00 00 00 00 	.long 0x0
     fee8:	b6 17 01 0f 	twnei   r1,6070
@@ -23406,7 +23402,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    10140:	01 17 3f 04 	.long 0x43f1701
    10144:	01 00 a0 02 	.long 0x2a00001
    10148:	00 10 00 00 	.long 0x1000
-   1014c:	00 00 04 49 	b       105014c <kvmhv_nested_next_lpid+0x104c674>
+   1014c:	00 00 04 49 	b       105014c <kvmhv_nested_next_lpid+0x104c684>
    10150:	01 01 00 0d 	twgti   r0,257
    10154:	2f 00 00 00 	.long 0x2f
    10158:	63 01 01 00 	.long 0x10163
@@ -23891,7 +23887,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    108d4:	02 00 00 00 	.long 0x2
    108d8:	00 b6 dc 01 	.long 0x1dcb600
    108dc:	0f 5c 00 00 	.long 0x5c0f
-   108e0:	00 38 00 4b 	b       ffffffffff0140e0 <kvmhv_nested_next_lpid+0xffffffffff010608>
+   108e0:	00 38 00 4b 	b       ffffffffff0140e0 <kvmhv_nested_next_lpid+0xffffffffff010618>
    108e4:	00 00 00 00 	.long 0x0
    108e8:	08 01 b6 df 	stfdu   f29,264(r22)
    108ec:	01 0f 09 01 	.long 0x1090f01
@@ -24047,7 +24043,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    10b44:	47 02 08 2e 	cmpwi   cr4,r8,583
    10b48:	03 00 00 88 	lbz     r0,3(0)
    10b4c:	12 05 00 00 	.long 0x512
-   10b50:	00 00 b6 48 	b       b70b50 <kvmhv_nested_next_lpid+0xb6d078>
+   10b50:	00 00 b6 48 	b       b70b50 <kvmhv_nested_next_lpid+0xb6d088>
    10b54:	02 08 2e 03 	.long 0x32e0802
    10b58:	00 00 90 12 	vaddubm v20,v16,v0
    10b5c:	05 00 00 00 	.long 0x5
@@ -24953,7 +24949,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    1196c:	04 00 00 7a 	rldicr  r0,r16,0,0
    11970:	19 01 00 0f 	twnei   r0,281
    11974:	2f 00 00 00 	.long 0x2f
-   11978:	7f 00 29 48 	bla     29007c <kvmhv_nested_next_lpid+0x28c5a4>
+   11978:	7f 00 29 48 	bla     29007c <kvmhv_nested_next_lpid+0x28c5b4>
    1197c:	14 f3 02 02 	.long 0x202f314
    11980:	bd 19 01 00 	.long 0x119bd
    11984:	02 00 00 00 	.long 0x2
@@ -25258,7 +25254,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    11e30:	44 fb 00 00 	.long 0xfb44
    11e34:	03 44 1e 01 	.long 0x11e4403
    11e38:	00 03 63 f8 	std     r3,768(r3)
-   11e3c:	00 00 03 4a 	b       fffffffffe041e3c <kvmhv_nested_next_lpid+0xfffffffffe03e364>
+   11e3c:	00 00 03 4a 	b       fffffffffe041e3c <kvmhv_nested_next_lpid+0xfffffffffe03e374>
    11e40:	1a 01 00 00 	.long 0x11a
    11e44:	04 5e f8 00 	.long 0xf85e04
    11e48:	00 04 26 1e 	mulli   r17,r6,1024
@@ -25267,7 +25263,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    11e54:	44 fb 00 00 	.long 0xfb44
    11e58:	03 63 f8 00 	.long 0xf86303
    11e5c:	00 03 44 1e 	mulli   r18,r4,768
-   11e60:	01 00 03 4a 	bl      fffffffffe041e60 <kvmhv_nested_next_lpid+0xfffffffffe03e388>
+   11e60:	01 00 03 4a 	bl      fffffffffe041e60 <kvmhv_nested_next_lpid+0xfffffffffe03e398>
    11e64:	1a 01 00 00 	.long 0x11a
    11e68:	04 4e 1e 01 	.long 0x11e4e04
    11e6c:	00 0a df 02 	attn
@@ -25401,7 +25397,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    1206c:	f1 06 01 00 	.long 0x106f1
    12070:	03 52 01 00 	.long 0x15203
    12074:	00 03 5f 9c 	stbu    r2,768(r31)
-   12078:	00 00 00 49 	b       1012078 <kvmhv_nested_next_lpid+0x100e5a0>
+   12078:	00 00 00 49 	b       1012078 <kvmhv_nested_next_lpid+0x100e5b0>
    1207c:	00 00 00 00 	.long 0x0
    12080:	1a 71 02 0c 	twi     0,r2,28954
    12084:	c5 00 00 00 	.long 0xc5
@@ -25611,7 +25607,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    123b4:	9b 04 00 00 	.long 0x49b
    123b8:	03 9b 04 00 	.long 0x49b03
    123bc:	00 03 2f 00 	.long 0x2f0300
-   123c0:	00 00 00 49 	b       10123c0 <kvmhv_nested_next_lpid+0x100e8e8>
+   123c0:	00 00 00 49 	b       10123c0 <kvmhv_nested_next_lpid+0x100e8f8>
    123c4:	00 00 00 00 	.long 0x0
    123c8:	14 d3 04 06 	.long 0x604d314
    123cc:	df 02 00 00 	.long 0x2df
@@ -25674,7 +25670,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    124b0:	00 00 00 bd 	stmw    r8,0(0)
    124b4:	99 05 c5 00 	.long 0xc50599
    124b8:	00 00 c6 24 	dozi    r6,r6,0
-   124bc:	01 00 03 4b 	bl      ffffffffff0424bc <kvmhv_nested_next_lpid+0xffffffffff03e9e4>
+   124bc:	01 00 03 4b 	bl      ffffffffff0424bc <kvmhv_nested_next_lpid+0xffffffffff03e9f4>
    124c0:	00 00 00 92 	stw     r16,0(0)
    124c4:	01 00 49 00 	.long 0x490001
    124c8:	00 00 00 14 	.long 0x14000000
@@ -25713,7 +25709,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    1254c:	9c f7 00 00 	.long 0xf79c
    12550:	03 9b 04 00 	.long 0x49b03
    12554:	00 03 2f 00 	.long 0x2f0300
-   12558:	00 00 00 49 	b       1012558 <kvmhv_nested_next_lpid+0x100ea80>
+   12558:	00 00 00 49 	b       1012558 <kvmhv_nested_next_lpid+0x100ea90>
    1255c:	00 00 00 00 	.long 0x0
    12560:	14 e5 04 05 	.long 0x504e514
    12564:	c5 00 00 00 	.long 0xc5
@@ -27332,12 +27328,12 @@ static void kvmhv_emulate_tlbie_lpid(str
    141dc:	fb 00 00 00 	.long 0xfb
    141e0:	00 00 00 00 	.long 0x0
    141e4:	00 00 00 31 	addic   r8,r0,0
-   141e8:	67 70 00 4a 	bla     fe007064 <kvmhv_nested_next_lpid+0xfe00358c>
+   141e8:	67 70 00 4a 	bla     fe007064 <kvmhv_nested_next_lpid+0xfe00359c>
    141ec:	04 1b 2a 17 	.long 0x172a1b04
    141f0:	01 00 00 00 	.long 0x1
    141f4:	00 00 00 00 	.long 0x0
    141f8:	00 00 26 00 	.long 0x260000
-   141fc:	00 00 00 4b 	b       ffffffffff0141fc <kvmhv_nested_next_lpid+0xffffffffff010724>
+   141fc:	00 00 00 4b 	b       ffffffffff0141fc <kvmhv_nested_next_lpid+0xffffffffff010734>
    14200:	04 07 cd 01 	.long 0x1cd0704
 	...
    1420c:	00 00 1c 00 	.long 0x1c0000
@@ -27526,7 +27522,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	...
    144fc:	d4 02 00 00 	.long 0x2d4
    14500:	00 00 00 00 	.long 0x0
-   14504:	01 9c ee 49 	bl      1efe104 <kvmhv_nested_next_lpid+0x1efa62c>
+   14504:	01 9c ee 49 	bl      1efe104 <kvmhv_nested_next_lpid+0x1efa63c>
    14508:	01 00 3f 6b 	xori    r31,r25,1
    1450c:	76 6d 00 e6 	lxsd    v16,28020(0)
    14510:	03 2f 44 fb 	.long 0xfb442f03
@@ -27581,14 +27577,14 @@ static void kvmhv_emulate_tlbie_lpid(str
 	...
    145fc:	08 09 4a 01 	.long 0x14a0908
 	...
-   14608:	00 1d fc 49 	b       1fd6308 <kvmhv_nested_next_lpid+0x1fd2830>
+   14608:	00 1d fc 49 	b       1fd6308 <kvmhv_nested_next_lpid+0x1fd2840>
    1460c:	01 00 1e 00 	.long 0x1e0001
    14610:	00 00 00 0c 	twi     0,r0,0
    14614:	30 4a 01 00 	.long 0x14a30
 	...
    14620:	0c 3d 4a 01 	.long 0x14a3d0c
 	...
-   1462c:	00 0c 4a 4a 	b       fffffffffe4b522c <kvmhv_nested_next_lpid+0xfffffffffe4b1754>
+   1462c:	00 0c 4a 4a 	b       fffffffffe4b522c <kvmhv_nested_next_lpid+0xfffffffffe4b1764>
    14630:	01 00 00 00 	.long 0x1
    14634:	00 00 00 00 	.long 0x0
    14638:	00 00 14 42 	bc      16,4*cr5+lt,14638 <.debug_info+0x14638>
@@ -27643,7 +27639,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    14714:	00 0c 37 93 	stw     r25,3072(r23)
    14718:	01 00 00 00 	.long 0x1
 	...
-   14728:	00 14 7a 4a 	b       fffffffffe7b5b28 <kvmhv_nested_next_lpid+0xfffffffffe7b2050>
+   14728:	00 14 7a 4a 	b       fffffffffe7b5b28 <kvmhv_nested_next_lpid+0xfffffffffe7b2060>
    1472c:	01 00 00 00 	.long 0x1
    14730:	00 00 00 00 	.long 0x0
    14734:	00 00 01 00 	.long 0x10000
@@ -27653,7 +27649,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    14744:	af 4a 01 00 	.long 0x14aaf
    14748:	08 a2 4a 01 	.long 0x14aa208
 	...
-   14754:	00 08 95 4a 	b       fffffffffe964f54 <kvmhv_nested_next_lpid+0xfffffffffe96147c>
+   14754:	00 08 95 4a 	b       fffffffffe964f54 <kvmhv_nested_next_lpid+0xfffffffffe96148c>
    14758:	01 00 00 00 	.long 0x1
    1475c:	00 00 00 00 	.long 0x0
    14760:	00 00 1d 88 	lbz     r0,0(r29)
@@ -27661,7 +27657,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    14768:	00 00 00 00 	.long 0x0
    1476c:	0c bc 4a 01 	.long 0x14abc0c
 	...
-   14778:	00 0c c8 4a 	b       fffffffffec95378 <kvmhv_nested_next_lpid+0xfffffffffec918a0>
+   14778:	00 0c c8 4a 	b       fffffffffec95378 <kvmhv_nested_next_lpid+0xfffffffffec918b0>
    1477c:	01 00 00 00 	.long 0x1
    14780:	00 00 00 00 	.long 0x0
    14784:	00 00 58 d5 	stfsu   f10,0(r24)
@@ -27724,7 +27720,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    14880:	00 00 10 00 	.long 0x100000
    14884:	00 00 00 00 	.long 0x0
    14888:	00 00 01 63 	ori     r1,r24,0
-   1488c:	03 07 bf 48 	bla     bf0700 <kvmhv_nested_next_lpid+0xbecc28>
+   1488c:	03 07 bf 48 	bla     bf0700 <kvmhv_nested_next_lpid+0xbecc38>
    14890:	01 00 08 2e 	cmpwi   cr4,r8,1
    14894:	69 01 00 00 	.long 0x169
    14898:	00 00 00 00 	.long 0x0
@@ -29379,7 +29375,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    16630:	1f 92 01 00 	.long 0x1921f
 	...
    1663c:	04 00 00 00 	.long 0x4
-   16640:	00 00 0c 4a 	b       fffffffffe0d6640 <kvmhv_nested_next_lpid+0xfffffffffe0d2b68>
+   16640:	00 00 0c 4a 	b       fffffffffe0d6640 <kvmhv_nested_next_lpid+0xfffffffffe0d2b78>
    16644:	01 09 08 30 	addic   r0,r8,2305
    16648:	92 01 00 00 	.long 0x192
    1664c:	00 00 00 00 	.long 0x0
@@ -29721,7 +29717,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    16c20:	00 2e 02 06 	.long 0x6022e00
    16c24:	cd 01 00 00 	.long 0x1cd
 	...
-   16c30:	9c 02 00 00 	.long 0x29c
+   16c30:	90 02 00 00 	.long 0x290
    16c34:	00 00 00 00 	.long 0x0
    16c38:	01 9c 9d 72 	andi.   r29,r20,39937
    16c3c:	01 00 39 00 	.long 0x390001
@@ -29889,7 +29885,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    16f40:	00 00 00 00 	.long 0x0
    16f44:	00 1c 24 01 	.long 0x1241c00
    16f48:	00 07 01 53 	rlwimi  r1,r24,0,28,0
-   16f4c:	02 8b 00 07 	.long 0x7008b02
+   16f4c:	02 8a 00 07 	.long 0x7008a02
    16f50:	01 54 03 0a 	tdlti   r3,21505
    16f54:	c0 2d 00 00 	.long 0x2dc0
    16f58:	00 14 4e 8d 	lbzu    r10,5120(r14)
@@ -30022,7 +30018,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    17194:	00 00 00 b4 	.long 0xb4000000
    17198:	25 01 00 a6 	.long 0xa6000125
    1719c:	71 01 00 07 	.long 0x7000171
-   171a0:	01 53 02 89 	lbz     r8,21249(r2)
+   171a0:	01 53 02 8c 	lbzu    r0,21249(r2)
    171a4:	00 00 13 00 	.long 0x130000
    171a8:	00 00 00 00 	.long 0x0
    171ac:	00 00 00 5b 	rlmi    r0,r24,r0,0,0
@@ -30031,15 +30027,15 @@ static void kvmhv_emulate_tlbie_lpid(str
    171b8:	01 53 02 8f 	lbzu    r24,21249(r2)
    171bc:	00 07 01 54 	rlwinm  r1,r0,0,28,0
    171c0:	02 88 00 07 	.long 0x7008802
-   171c4:	01 55 02 8c 	lbzu    r0,21761(r2)
+   171c4:	01 55 02 8b 	lbz     r24,21761(r2)
    171c8:	00 07 01 56 	rlwinm  r1,r16,0,28,0
-   171cc:	02 8b 00 00 	.long 0x8b02
+   171cc:	02 8a 00 00 	.long 0x8a02
    171d0:	13 00 00 00 	.long 0x13
    171d4:	00 00 00 00 	.long 0x0
    171d8:	00 a2 25 01 	attn
    171dc:	00 e8 71 01 	.long 0x171e800
    171e0:	00 07 01 53 	rlwimi  r1,r24,0,28,0
-   171e4:	02 89 00 00 	.long 0x8902
+   171e4:	02 8c 00 00 	.long 0x8c02
    171e8:	13 00 00 00 	.long 0x13
    171ec:	00 00 00 00 	.long 0x0
    171f0:	00 2a 51 01 	attn
@@ -30051,19 +30047,19 @@ static void kvmhv_emulate_tlbie_lpid(str
    17208:	00 83 24 01 	.long 0x1248300
    1720c:	00 18 72 01 	.long 0x1721800
    17210:	00 07 01 53 	rlwimi  r1,r24,0,28,0
-   17214:	02 8c 00 00 	.long 0x8c02
+   17214:	02 8b 00 00 	.long 0x8b02
    17218:	13 00 00 00 	.long 0x13
    1721c:	00 00 00 00 	.long 0x0
    17220:	00 94 23 01 	.long 0x1239400
    17224:	00 47 72 01 	.long 0x1724700
    17228:	00 07 01 54 	rlwinm  r1,r0,0,28,0
    1722c:	02 87 00 07 	.long 0x7008702
-   17230:	01 55 02 8a 	lbz     r16,21761(r2)
+   17230:	01 55 02 89 	lbz     r8,21761(r2)
    17234:	00 07 01 56 	rlwinm  r1,r16,0,28,0
-   17238:	02 8c 00 07 	.long 0x7008c02
+   17238:	02 8b 00 07 	.long 0x7008b02
    1723c:	01 57 01 30 	addic   r0,r1,22273
    17240:	07 01 58 02 	.long 0x2580107
-   17244:	8b 00 00 13 	vdivuw  v24,v0,v0
+   17244:	8a 00 00 13 	.long 0x1300008a
 	...
    17250:	c6 24 01 00 	.long 0x124c6
    17254:	71 72 01 00 	.long 0x17271
@@ -30071,19 +30067,19 @@ static void kvmhv_emulate_tlbie_lpid(str
    1725c:	8f 00 07 01 	.long 0x107008f
    17260:	54 02 8d 00 	.long 0x8d0254
    17264:	07 01 55 02 	.long 0x2550107
-   17268:	8c 00 07 01 	.long 0x107008c
-   1726c:	56 02 8b 00 	.long 0x8b0256
+   17268:	8b 00 07 01 	.long 0x107008b
+   1726c:	56 02 8a 00 	.long 0x8a0256
    17270:	00 15 00 00 	.long 0x1500
    17274:	00 00 00 00 	.long 0x0
    17278:	00 00 94 23 	subfic  r28,r20,0
    1727c:	01 00 07 01 	.long 0x1070001
    17280:	54 02 87 00 	.long 0x870254
    17284:	07 01 55 02 	.long 0x2550107
-   17288:	8a 00 07 01 	.long 0x107008a
+   17288:	89 00 07 01 	.long 0x1070089
    1728c:	56 01 30 07 	.long 0x7300156
-   17290:	01 57 02 8c 	lbzu    r0,22273(r2)
+   17290:	01 57 02 8b 	lbz     r24,22273(r2)
    17294:	00 07 01 58 	rlmi    r1,r0,r0,28,0
-   17298:	02 8b 00 00 	.long 0x8b02
+   17298:	02 8a 00 00 	.long 0x8a02
    1729c:	00 5d 00 00 	.long 0x5d00
    172a0:	00 00 12 02 	.long 0x2120000
    172a4:	06 cd 01 00 	.long 0x1cd06
@@ -30351,7 +30347,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    17718:	38 77 01 00 	.long 0x17738
    1771c:	07 01 53 03 	.long 0x3530107
    17720:	0a 08 f8 07 	.long 0x7f8080a
-   17724:	01 54 03 42 	bcl     16,so,1cb24 <kvmhv_nested_next_lpid+0x1904c>
+   17724:	01 54 03 42 	bcl     16,so,1cb24 <kvmhv_nested_next_lpid+0x1905c>
    17728:	3f 24 07 01 	.long 0x107243f
    1772c:	55 02 8f 00 	.long 0x8f0255
    17730:	07 01 56 03 	.long 0x3560107
@@ -30565,7 +30561,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    17af8:	00 00 00 00 	.long 0x0
    17afc:	00 00 00 59 	rlmi    r0,r8,r0,0,0
    17b00:	24 01 00 07 	.long 0x7000124
-   17b04:	01 53 03 40 	bdnzfl  so,1ce04 <kvmhv_nested_next_lpid+0x1932c>
+   17b04:	01 53 03 40 	bdnzfl  so,1ce04 <kvmhv_nested_next_lpid+0x1933c>
    17b08:	40 24 07 01 	.long 0x1072440
    17b0c:	54 03 0a c0 	lfs     f0,852(r10)
    17b10:	0c 00 00 00 	.long 0xc
@@ -30658,22 +30654,22 @@ static void kvmhv_emulate_tlbie_lpid(str
    17c80:	00 00 00 00 	.long 0x0
    17c84:	00 00 00 26 	dozi    r16,r0,0
    17c88:	00 00 00 00 	.long 0x0
-   17c8c:	2a 01 06 48 	ba      60128 <kvmhv_nested_next_lpid+0x5c650>
+   17c8c:	2a 01 06 48 	ba      60128 <kvmhv_nested_next_lpid+0x5c660>
    17c90:	01 00 00 00 	.long 0x1
    17c94:	00 00 00 00 	.long 0x0
    17c98:	00 00 00 26 	dozi    r16,r0,0
    17c9c:	00 00 00 00 	.long 0x0
-   17ca0:	2a 01 12 48 	ba      120128 <kvmhv_nested_next_lpid+0x11c650>
+   17ca0:	2a 01 12 48 	ba      120128 <kvmhv_nested_next_lpid+0x11c660>
    17ca4:	01 00 00 00 	.long 0x1
    17ca8:	00 00 00 00 	.long 0x0
    17cac:	00 00 00 26 	dozi    r16,r0,0
    17cb0:	00 00 00 00 	.long 0x0
-   17cb4:	2a 01 1f 48 	ba      1f0128 <kvmhv_nested_next_lpid+0x1ec650>
+   17cb4:	2a 01 1f 48 	ba      1f0128 <kvmhv_nested_next_lpid+0x1ec660>
    17cb8:	01 00 00 00 	.long 0x1
    17cbc:	00 00 00 00 	.long 0x0
    17cc0:	00 00 00 26 	dozi    r16,r0,0
    17cc4:	00 00 00 00 	.long 0x0
-   17cc8:	2a 01 29 48 	ba      290128 <kvmhv_nested_next_lpid+0x28c650>
+   17cc8:	2a 01 29 48 	ba      290128 <kvmhv_nested_next_lpid+0x28c660>
    17ccc:	01 00 00 00 	.long 0x1
    17cd0:	00 00 00 00 	.long 0x0
    17cd4:	00 00 00 7d 	cmpw    cr2,r0,r0
@@ -31352,7 +31348,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    18884:	01 00 00 2b 	cmplwi  cr6,r0,1
    18888:	00 00 00 00 	.long 0x0
    1888c:	01 d9 19 52 	rlwimi. r25,r16,27,4,0
-   18890:	01 00 00 4a 	bl      fffffffffe018890 <kvmhv_nested_next_lpid+0xfffffffffe014db8>
+   18890:	01 00 00 4a 	bl      fffffffffe018890 <kvmhv_nested_next_lpid+0xfffffffffe014dc8>
    18894:	00 00 00 00 	.long 0x0
    18898:	01 db 06 c5 	lfsu    f8,-9471(r6)
    1889c:	00 00 00 00 	.long 0x0
@@ -31715,7 +31711,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    18e40:	00 00 03 55 	rlwinm  r3,r8,0,0,0
    18e44:	8e 01 00 16 	.long 0x1600018e
    18e48:	00 00 00 00 	.long 0x0
-   18e4c:	0d 7d 01 43 	bcl-    24,gt,20b58 <kvmhv_nested_next_lpid+0x1d080>
+   18e4c:	0d 7d 01 43 	bcl-    24,gt,20b58 <kvmhv_nested_next_lpid+0x1d090>
    18e50:	76 03 00 00 	.long 0x376
    18e54:	00 42 00 00 	attn
    18e58:	00 00 12 95 	stwu    r8,0(r18)
@@ -31752,7 +31748,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    18ed4:	00 00 2c 69 	xori    r12,r9,0
    18ed8:	64 78 00 0e 	twlti   r0,30820
    18edc:	fc 42 c5 00 	.long 0xc542fc
-   18ee0:	00 00 34 4a 	b       fffffffffe358ee0 <kvmhv_nested_next_lpid+0xfffffffffe355408>
+   18ee0:	00 00 34 4a 	b       fffffffffe358ee0 <kvmhv_nested_next_lpid+0xfffffffffe355418>
    18ee4:	00 00 00 00 	.long 0x0
    18ee8:	0e ff 02 c5 	lfsu    f8,-242(r2)
    18eec:	00 00 00 34 	addic.  r0,r0,0
@@ -31868,7 +31864,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    190a4:	00 15 db 31 	addic   r14,r27,5376
    190a8:	9b 3f 00 00 	.long 0x3f9b
    190ac:	2b 00 00 00 	.long 0x2b
-   190b0:	00 15 db 49 	b       1dca5b0 <kvmhv_nested_next_lpid+0x1dc6ad8>
+   190b0:	00 15 db 49 	b       1dca5b0 <kvmhv_nested_next_lpid+0x1dc6ae8>
    190b4:	c1 21 01 00 	.long 0x121c1
    190b8:	00 3a 00 00 	attn
    190bc:	00 00 17 ca 	lfd     f16,0(r23)
@@ -31917,10 +31913,10 @@ static void kvmhv_emulate_tlbie_lpid(str
    19168:	00 00 00 2c 	cmpwi   r0,0
    1916c:	73 65 74 00 	.long 0x746573
    19170:	18 9b 1b 2f 	cmpwi   cr6,r27,-25832
-   19174:	00 00 00 4a 	b       fffffffffe019174 <kvmhv_nested_next_lpid+0xfffffffffe01569c>
+   19174:	00 00 00 4a 	b       fffffffffe019174 <kvmhv_nested_next_lpid+0xfffffffffe0156ac>
    19178:	00 00 00 00 	.long 0x0
    1917c:	18 9d 09 86 	lwzu    r16,-25320(r9)
-   19180:	02 00 00 4a 	ba      fe000000 <kvmhv_nested_next_lpid+0xfdffc528>
+   19180:	02 00 00 4a 	ba      fe000000 <kvmhv_nested_next_lpid+0xfdffc538>
    19184:	00 00 00 00 	.long 0x0
    19188:	18 9d 11 86 	lwzu    r16,-25320(r17)
    1918c:	02 00 00 00 	.long 0x2
@@ -32029,7 +32025,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    19328:	9c 00 00 2c 	cmpwi   r0,156
    1932c:	76 61 6c 00 	.long 0x6c6176
    19330:	13 c9 2a 2f 	cmpdi   cr6,r10,-14061
-   19334:	00 00 00 4a 	b       fffffffffe019334 <kvmhv_nested_next_lpid+0xfffffffffe01585c>
+   19334:	00 00 00 4a 	b       fffffffffe019334 <kvmhv_nested_next_lpid+0xfffffffffe01586c>
    19338:	00 00 00 00 	.long 0x0
    1933c:	13 cb 10 2f 	cmpwi   cr6,r16,-13549
    19340:	00 00 00 00 	.long 0x0
@@ -32042,7 +32038,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    1935c:	0e 00 00 2c 	cmpwi   r0,14
    19360:	76 61 6c 00 	.long 0x6c6176
    19364:	13 a8 2a 2f 	cmpdi   cr6,r10,-22509
-   19368:	00 00 00 4a 	b       fffffffffe019368 <kvmhv_nested_next_lpid+0xfffffffffe015890>
+   19368:	00 00 00 4a 	b       fffffffffe019368 <kvmhv_nested_next_lpid+0xfffffffffe0158a0>
    1936c:	00 00 00 00 	.long 0x0
    19370:	13 aa 10 2f 	cmpwi   cr6,r16,-21997
    19374:	00 00 00 00 	.long 0x0
@@ -32055,7 +32051,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    19390:	93 01 00 2c 	cmpwi   r0,403
    19394:	76 61 6c 00 	.long 0x6c6176
    19398:	13 87 2a 2f 	cmpdi   cr6,r10,-30957
-   1939c:	00 00 00 4a 	b       fffffffffe01939c <kvmhv_nested_next_lpid+0xfffffffffe0158c4>
+   1939c:	00 00 00 4a 	b       fffffffffe01939c <kvmhv_nested_next_lpid+0xfffffffffe0158d4>
    193a0:	00 00 00 00 	.long 0x0
    193a4:	13 89 10 2f 	cmpwi   cr6,r16,-30445
    193a8:	00 00 00 00 	.long 0x0
@@ -32077,7 +32073,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    193e8:	00 00 c0 55 	rlwinm  r0,r14,0,0,0
    193ec:	1d 03 09 94 	stwu    r0,797(r9)
    193f0:	01 00 2c 76 	andis.  r12,r17,1
-   193f4:	00 c0 55 4a 	b       fffffffffe5753f4 <kvmhv_nested_next_lpid+0xfffffffffe57191c>
+   193f4:	00 c0 55 4a 	b       fffffffffe5753f4 <kvmhv_nested_next_lpid+0xfffffffffe57192c>
    193f8:	e9 d2 00 00 	.long 0xd2e9
    193fc:	2b 00 00 00 	.long 0x2b
    19400:	00 c0 55 54 	rlwinm  r21,r2,24,0,0
@@ -32381,7 +32377,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	...
    19964:	0c 52 41 01 	.long 0x141520c
 	...
-   19970:	00 08 2c 41 	bdnzt   4*cr3+lt,1a170 <kvmhv_nested_next_lpid+0x16698>
+   19970:	00 08 2c 41 	bdnzt   4*cr3+lt,1a170 <kvmhv_nested_next_lpid+0x166a8>
    19974:	01 00 00 00 	.long 0x1
    19978:	00 00 00 00 	.long 0x0
    1997c:	00 00 14 9c 	stbu    r0,0(r20)
@@ -32591,7 +32587,7 @@ static void kvmhv_emulate_tlbie_lpid(str
    19d30:	00 00 13 00 	.long 0x130000
    19d34:	00 00 00 00 	.long 0x0
    19d38:	00 00 00 30 	addic   r0,r0,0
-   19d3c:	23 01 00 4a 	bla     fe000120 <kvmhv_nested_next_lpid+0xfdffc648>
+   19d3c:	23 01 00 4a 	bla     fe000120 <kvmhv_nested_next_lpid+0xfdffc658>
    19d40:	9d 01 00 07 	.long 0x700019d
    19d44:	01 53 02 8e 	lbzu    r16,21249(r2)
    19d48:	00 00 2a 00 	.long 0x2a0000
@@ -32760,7 +32756,7 @@ Disassembly of section .debug_abbrev:
    0:	01 0d 00 03 	.long 0x3000d01
    4:	0e 3a 0b 3b 	addi    r24,r11,14862
 	for (; addr < ((unsigned long *) (regs + 1)); addr++)
-   8:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe30>
+   8:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe40>
    c:	13 38 0b 00 	.long 0xb3813
   10:	00 02 0d 00 	attn
   14:	03 0e 3a 0b 	tdi     25,r26,3587
@@ -32770,7 +32766,7 @@ Disassembly of section .debug_abbrev:
   20:	00 00 03 05 	.long 0x5030000
   24:	00 49 13 00 	.long 0x134900
   28:	00 04 0f 00 	.long 0xf0400
-  2c:	0b 21 08 49 	bla     1082108 <kvmhv_nested_next_lpid+0x107e630>
+  2c:	0b 21 08 49 	bla     1082108 <kvmhv_nested_next_lpid+0x107e640>
   30:	13 00 00 05 	.long 0x5000013
   34:	0d 00 03 0e 	twlti   r3,13
   38:	3a 0b 3b 05 	.long 0x53b0b3a
@@ -32823,7 +32819,7 @@ Disassembly of section .debug_abbrev:
 	hr->lpcr = swab64(hr->lpcr);
   a8:	08 3a 0b 3b 	addi    r24,r11,14856
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
-  ac:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe30>
+  ac:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe40>
 	hr->hfscr = swab64(hr->hfscr);
   b0:	13 38 0b 00 	.long 0xb3813
 	hr->tb_offset = swab64(hr->tb_offset);
@@ -32872,7 +32868,7 @@ Disassembly of section .debug_abbrev:
 	hr->amor = swab64(hr->amor);
  114:	0e 3a 0b 3b 	addi    r24,r11,14862
 	hr->dpdes = swab64(hr->dpdes);
- 118:	05 39 0b 49 	bl      10b3a1c <kvmhv_nested_next_lpid+0x10aff44>
+ 118:	05 39 0b 49 	bl      10b3a1c <kvmhv_nested_next_lpid+0x10aff54>
 	hr->hfscr = swab64(hr->hfscr);
  11c:	13 00 00 17 	.long 0x17000013
 	hr->tb_offset = swab64(hr->tb_offset);
@@ -32896,7 +32892,7 @@ Disassembly of section .debug_abbrev:
 	hr->vtb = swab64(hr->vtb);
  144:	01 13 00 00 	.long 0x1301
 	hr->srr1 = swab64(hr->srr1);
- 148:	1a 26 00 49 	ba      1002618 <kvmhv_nested_next_lpid+0xffeb40>
+ 148:	1a 26 00 49 	ba      1002618 <kvmhv_nested_next_lpid+0xffeb50>
 	hr->sprg[0] = swab64(hr->sprg[0]);
  14c:	13 00 00 1b 	.long 0x1b000013
 	hr->vtb = swab64(hr->vtb);
@@ -32912,7 +32908,7 @@ Disassembly of section .debug_abbrev:
 	hr->hdsisr = swab64(hr->hdsisr);
  164:	0e 3a 0b 3b 	addi    r24,r11,14862
 	hr->sprg[1] = swab64(hr->sprg[1]);
- 168:	05 39 0b 49 	bl      10b3a6c <kvmhv_nested_next_lpid+0x10aff94>
+ 168:	05 39 0b 49 	bl      10b3a6c <kvmhv_nested_next_lpid+0x10affa4>
 	hr->sprg[2] = swab64(hr->sprg[2]);
  16c:	13 00 00 1d 	mulli   r8,r0,19
 	hr->hdsisr = swab64(hr->hdsisr);
@@ -33017,7 +33013,7 @@ Disassembly of section .debug_abbrev:
  26c:	2e 04 01 03 	.long 0x301042e
  270:	0e 3e 21 07 	.long 0x7213e0e
 		rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(2, 0, 1),
- 274:	0b 21 04 49 	bla     1042108 <kvmhv_nested_next_lpid+0x103e630>
+ 274:	0b 21 04 49 	bla     1042108 <kvmhv_nested_next_lpid+0x103e640>
  278:	13 3a 0b 3b 	addi    r24,r11,14867
  27c:	0b 39 0b 01 	.long 0x10b390b
  280:	13 00 00 2f 	cmpwi   cr6,r0,19
@@ -33029,7 +33025,7 @@ Disassembly of section .debug_abbrev:
  294:	30 0d 00 03 	.long 0x3000d30
 		pr_err("KVM: TLB LPID invalidation hcall failed, rc=%ld\n", rc);
  298:	08 3a 0b 3b 	addi    r24,r11,14856
- 29c:	05 39 0b 49 	bl      10b3ba0 <kvmhv_nested_next_lpid+0x10b00c8>
+ 29c:	05 39 0b 49 	bl      10b3ba0 <kvmhv_nested_next_lpid+0x10b00d8>
  2a0:	13 38 05 00 	.long 0x53813
  2a4:	00 31 34 00 	.long 0x343100
  2a8:	03 08 3a 21 	subfic  r9,r26,2051
@@ -33080,7 +33076,7 @@ Disassembly of section .debug_abbrev:
 static bool kvmhv_invalidate_shadow_pte(struct kvm_vcpu *vcpu,
  338:	01 03 0e 3a 	addi    r16,r14,769
  33c:	0b 3b 0b 39 	addi    r8,r11,15115
- 340:	0b 27 19 49 	bla     1192708 <kvmhv_nested_next_lpid+0x118ec30>
+ 340:	0b 27 19 49 	bla     1192708 <kvmhv_nested_next_lpid+0x118ec40>
  344:	13 20 0b 01 	.long 0x10b2013
  348:	13 00 00 3b 	li      r24,19
  34c:	0d 00 03 08 	tdi     0,r3,13
@@ -33146,7 +33142,7 @@ static bool kvmhv_invalidate_shadow_pte(
  3fc:	19 03 0e 3a 	addi    r16,r14,793
  400:	0b 3b 0b 39 	addi    r8,r11,15115
 	ms->nesting_count--;
- 404:	0b 27 19 49 	bla     1192708 <kvmhv_nested_next_lpid+0x118ec30>
+ 404:	0b 27 19 49 	bla     1192708 <kvmhv_nested_next_lpid+0x118ec40>
  408:	13 3c 19 01 	.long 0x1193c13
  40c:	13 00 00 46 	.long 0x46000013
  410:	1d 01 31 13 	vextduwvrx v25,v17,v0,r4
@@ -33161,15 +33157,15 @@ static bool kvmhv_invalidate_shadow_pte(
 }
  42c:	48 0d 00 03 	.long 0x3000d48
  430:	0e 3a 0b 3b 	addi    r24,r11,14862
- 434:	05 39 0b 49 	bl      10b3d38 <kvmhv_nested_next_lpid+0x10b0260>
+ 434:	05 39 0b 49 	bl      10b3d38 <kvmhv_nested_next_lpid+0x10b0270>
  438:	13 88 01 0b 	tdnei   r1,-30701
  43c:	38 05 00 00 	.long 0x538
  440:	49 2e 01 3f 	addis   r24,r1,11849
  444:	19 03 0e 3a 	addi    r16,r14,793
  448:	0b 3b 05 39 	addi    r8,r5,15115
- 44c:	0b 27 19 49 	bla     1192708 <kvmhv_nested_next_lpid+0x118ec30>
+ 44c:	0b 27 19 49 	bla     1192708 <kvmhv_nested_next_lpid+0x118ec40>
  450:	13 3c 19 01 	.long 0x1193c13
- 454:	13 00 00 4a 	bla     fe000010 <kvmhv_nested_next_lpid+0xfdffc538>
+ 454:	13 00 00 4a 	bla     fe000010 <kvmhv_nested_next_lpid+0xfdffc548>
  458:	34 00 03 0e 	twlti   r3,52
  45c:	3a 0b 3b 0b 	tdi     25,r27,2874
 		shift = PAGE_SHIFT;
@@ -33182,7 +33178,7 @@ static bool kvmhv_invalidate_shadow_pte(
  474:	01 13 00 00 	.long 0x1301
  478:	4c 0d 00 03 	.long 0x3000d4c
  47c:	0e 3a 0b 3b 	addi    r24,r11,14862
- 480:	05 39 0b 49 	bl      10b3d84 <kvmhv_nested_next_lpid+0x10b02ac>
+ 480:	05 39 0b 49 	bl      10b3d84 <kvmhv_nested_next_lpid+0x10b02bc>
  484:	13 88 01 0b 	tdnei   r1,-30701
  488:	38 0b 00 00 	.long 0xb38
 	if (unlikely(ms->mmiowb_pending)) {
@@ -33190,7 +33186,7 @@ static bool kvmhv_invalidate_shadow_pte(
 	struct mmiowb_state *ms = __mmiowb_state();
  490:	0e 3a 0b 3b 	addi    r24,r11,14862
 	if (unlikely(ms->mmiowb_pending)) {
- 494:	05 39 0b 49 	bl      10b3d98 <kvmhv_nested_next_lpid+0x10b02c0>
+ 494:	05 39 0b 49 	bl      10b3d98 <kvmhv_nested_next_lpid+0x10b02d0>
  498:	13 0d 21 01 	.long 0x1210d13
 		ms->mmiowb_pending = 0;
  49c:	6b 0b 00 00 	.long 0xb6b
@@ -33278,7 +33274,7 @@ static bool kvmhv_invalidate_shadow_pte(
  57c:	34 00 03 0e 	twlti   r3,52
  580:	3a 21 01 3b 	addi    r24,r1,8506
 	hr->cfar = vcpu->arch.cfar;
- 584:	05 39 0b 49 	bl      10b3e88 <kvmhv_nested_next_lpid+0x10b03b0>
+ 584:	05 39 0b 49 	bl      10b3e88 <kvmhv_nested_next_lpid+0x10b03c0>
  588:	13 02 18 00 	.long 0x180213
 	hr->ppr = vcpu->arch.ppr;
  58c:	00 5d 2e 01 	.long 0x12e5d00
@@ -33301,7 +33297,7 @@ static bool kvmhv_invalidate_shadow_pte(
 	struct kvmppc_vcore *vc = vcpu->arch.vcore;
  5bc:	21 1c 3b 0b 	tdi     25,r27,7201
 	vc->dpdes = hr->dpdes;
- 5c0:	39 21 0f 49 	bl      10f26f8 <kvmhv_nested_next_lpid+0x10eec20>
+ 5c0:	39 21 0f 49 	bl      10f26f8 <kvmhv_nested_next_lpid+0x10eec30>
 	vcpu->arch.hfscr = hr->hfscr;
  5c4:	13 00 00 60 	ori     r0,r0,19
  5c8:	34 00 03 0e 	twlti   r3,52
@@ -33351,7 +33347,7 @@ static bool kvmhv_invalidate_shadow_pte(
  63c:	66 34 00 03 	.long 0x3003466
  640:	08 3a 0b 3b 	addi    r24,r11,14856
 	vcpu->arch.cfar = hr->cfar;
- 644:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe30>
+ 644:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe40>
  648:	13 00 00 67 	oris    r0,r24,19
 	vcpu->arch.ppr = hr->ppr;
  64c:	0d 00 49 13 	psq_lx  f26,r9,r0,0,0
@@ -33386,24 +33382,24 @@ static bool kvmhv_invalidate_shadow_pte(
  6ac:	39 0b 49 13 	ps_msub. f26,f9,f12,f1
  6b0:	38 06 00 00 	.long 0x638
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
- 6b4:	6e 35 00 49 	ba      100356c <kvmhv_nested_next_lpid+0xfffa94>
-	if (unlikely(!pseries_partition_tb)) {
+ 6b4:	6e 35 00 49 	ba      100356c <kvmhv_nested_next_lpid+0xfffaa4>
+	if (!pseries_partition_tb) {
  6b8:	13 00 00 6f 	xoris   r0,r24,19
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
  6bc:	13 00 03 0e 	twlti   r3,19
  6c0:	0b 21 00 3a 	li      r16,8459
-	if (unlikely(!pseries_partition_tb)) {
+	if (!pseries_partition_tb) {
  6c4:	0b 3b 0b 39 	addi    r8,r11,15115
 	ptcr = __pa(pseries_partition_tb) | (ptb_order - 12);
  6c8:	21 08 00 00 	.long 0x821
 	rc = plpar_hcall_norets(H_SET_PARTITION_TABLE, ptcr);
  6cc:	70 0d 00 03 	.long 0x3000d70
  6d0:	0e 3a 0b 3b 	addi    r24,r11,14862
- 6d4:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe30>
+ 6d4:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe40>
  6d8:	13 88 01 0b 	tdnei   r1,-30701
  6dc:	38 05 00 00 	.long 0x538
 	if (rc != H_SUCCESS) {
- 6e0:	71 01 01 49 	bl      1010850 <kvmhv_nested_next_lpid+0x100cd78>
+ 6e0:	71 01 01 49 	bl      1010850 <kvmhv_nested_next_lpid+0x100cd88>
  6e4:	13 88 01 0b 	tdnei   r1,-30701
 		return 0;
  6e8:	01 13 00 00 	.long 0x1301
@@ -33527,7 +33523,7 @@ static bool kvmhv_invalidate_shadow_pte(
  854:	01 16 00 03 	.long 0x3001601
 {
  858:	0e 3a 0b 3b 	addi    r24,r11,14862
- 85c:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe30>
+ 85c:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe40>
  860:	13 88 01 21 	subfic  r8,r1,-30701
  864:	10 00 00 88 	lbz     r0,16(0)
  868:	01 13 01 03 	.long 0x3011301
@@ -33540,7 +33536,7 @@ static bool kvmhv_invalidate_shadow_pte(
  87c:	13 00 00 89 	lbz     r8,19(0)
  880:	01 0d 00 03 	.long 0x3000d01
  884:	0e 3a 0b 3b 	addi    r24,r11,14862
- 888:	05 39 0b 49 	bl      10b418c <kvmhv_nested_next_lpid+0x10b06b4>
+ 888:	05 39 0b 49 	bl      10b418c <kvmhv_nested_next_lpid+0x10b06c4>
 	struct kvm *kvm = gp->l1_host;
  88c:	13 88 01 21 	subfic  r8,r1,-30701
 	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
@@ -33729,7 +33725,7 @@ static bool kvmhv_invalidate_shadow_pte(
  ac4:	0d 00 00 ab 	lha     r24,13(0)
  ac8:	01 0d 00 03 	.long 0x3000d01
  acc:	08 3a 0b 3b 	addi    r24,r11,14856
- ad0:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe30>
+ ad0:	0b 39 0b 49 	bla     10b3908 <kvmhv_nested_next_lpid+0x10afe40>
  ad4:	13 88 01 0b 	tdnei   r1,-30701
  ad8:	00 00 ac 01 	.long 0x1ac0000
  adc:	34 00 03 0e 	twlti   r3,52
@@ -33862,9 +33858,9 @@ static void kvmhv_emulate_tlbie_lpid(str
  c68:	01 03 0e 3a 	addi    r16,r14,769
  c6c:	0b 3b 0b 39 	addi    r8,r11,15115
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
- c70:	0b 27 19 49 	bla     1192708 <kvmhv_nested_next_lpid+0x118ec30>
+ c70:	0b 27 19 49 	bla     1192708 <kvmhv_nested_next_lpid+0x118ec40>
  c74:	13 01 13 00 	.long 0x130113
- c78:	00 c3 01 48 	b       1cf78 <kvmhv_nested_next_lpid+0x194a0>
+ c78:	00 c3 01 48 	b       1cf78 <kvmhv_nested_next_lpid+0x194b0>
  c7c:	00 7d 01 82 	lwz     r16,32000(r1)
  c80:	01 19 7f 13 	.long 0x137f1901
  c84:	00 00 c4 01 	.long 0x1c40000
@@ -33878,79 +33874,79 @@ Disassembly of section .debug_loclists:
 
 0000000000000000 <.debug_loclists>:
 {
-       0:	a0 46 00 00 	.long 0x46a0
+       0:	23 47 00 00 	.long 0x4723
        4:	05 00 08 00 	.long 0x80005
 	...
 	for (; addr < ((unsigned long *) (regs + 1)); addr++)
-      14:	04 d8 75 97 	stwu    r27,-10236(r21)
+      14:	04 c8 75 87 	lwzu    r27,-14332(r21)
       18:	76 01 53 04 	.long 0x4530176
-      1c:	97 76 fc 76 	andis.  r28,r23,30359
+      1c:	87 76 ec 76 	andis.  r12,r23,30343
 		*addr = swab64(*addr);
-      20:	01 6f 04 fc 	.long 0xfc046f01
-      24:	76 84 77 04 	.long 0x4778476
+      20:	01 6f 04 ec 	.long 0xec046f01
+      24:	76 f4 76 04 	.long 0x476f476
       28:	a3 01 53 9f 	stbu    r26,419(r19)
-      2c:	04 84 77 c0 	lfs     f3,-31740(r23)
+      2c:	04 f4 76 b0 	sth     r3,-3068(r22)
       30:	77 01 6f 00 	.long 0x6f0177
       34:	00 00 00 00 	.long 0x0
-      38:	00 00 04 d8 	stfd    f0,0(r4)
-      3c:	75 f4 75 01 	.long 0x175f475
-      40:	54 04 f4 75 	andis.  r20,r15,1108
-      44:	97 76 03 74 	andis.  r3,r0,30359
-      48:	7f 9f 04 97 	stwu    r24,-24705(r4)
-      4c:	76 c0 77 04 	.long 0x477c076
+      38:	00 00 04 c8 	lfd     f0,0(r4)
+      3c:	75 e4 75 01 	.long 0x175e475
+      40:	54 04 e4 75 	andis.  r4,r15,1108
+      44:	87 76 03 74 	andis.  r3,r0,30343
+      48:	7f 9f 04 87 	lwzu    r24,-24705(r4)
+      4c:	76 b0 77 04 	.long 0x477b076
 	for (; addr < ((unsigned long *) (regs + 1)); addr++)
       50:	a3 01 54 9f 	stbu    r26,419(r20)
 }
       54:	00 01 00 00 	.long 0x100
-      58:	00 04 90 76 	andis.  r16,r20,1024
-      5c:	97 76 01 53 	rlwimi. r1,r24,14,26,11
+      58:	00 04 80 76 	andis.  r0,r20,1024
+      5c:	87 76 01 53 	rlwimi. r1,r24,14,26,3
 {
-      60:	04 97 76 98 	stb     r3,-26876(r22)
+      60:	04 87 76 88 	lbz     r3,-30972(r22)
       64:	76 01 6f 00 	.long 0x6f0176
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
       68:	01 09 01 00 	.long 0x10901
 	hr->amor = swab64(hr->amor);
-      6c:	04 b0 76 d8 	stfd    f3,-20476(r22)
+      6c:	04 a0 76 c8 	lfd     f3,-24572(r22)
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
       70:	76 01 6f 04 	.long 0x46f0176
 {
-      74:	9c 77 b8 77 	andis.  r24,r29,30620
+      74:	8c 77 a8 77 	andis.  r8,r29,30604
 	hr->lpid = swab32(hr->lpid);
       78:	01 6f 00 03 	.long 0x3006f01
 	hr->version = swab64(hr->version);
       7c:	09 03 00 04 	.long 0x4000309
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
-      80:	b0 76 d8 76 	andis.  r24,r22,30384
+      80:	a0 76 c8 76 	andis.  r8,r22,30368
 	hr->amor = swab64(hr->amor);
-      84:	01 6f 04 9c 	stbu    r0,28417(r4)
+      84:	01 6f 04 8c 	lbzu    r0,28417(r4)
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
-      88:	77 b8 77 01 	.long 0x177b877
+      88:	77 a8 77 01 	.long 0x177a877
 	hr->dpdes = swab64(hr->dpdes);
       8c:	6f 00 08 07 	.long 0x708006f
 	hr->lpid = swab32(hr->lpid);
-      90:	08 00 04 b0 	sth     r0,8(r4)
+      90:	08 00 04 a0 	lhz     r0,8(r4)
 	hr->vcpu_token = swab32(hr->vcpu_token);
-      94:	76 d8 76 01 	.long 0x176d876
+      94:	76 c8 76 01 	.long 0x176c876
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
-      98:	6f 04 9c 77 	andis.  r28,r28,1135
+      98:	6f 04 8c 77 	andis.  r12,r28,1135
 	hr->dpdes = swab64(hr->dpdes);
-      9c:	b8 77 01 6f 	xoris   r1,r24,30648
+      9c:	a8 77 01 6f 	xoris   r1,r24,30632
 	hr->hfscr = swab64(hr->hfscr);
       a0:	00 00 00 00 	.long 0x0
 	hr->vcpu_token = swab32(hr->vcpu_token);
-      a4:	00 04 b8 76 	andis.  r24,r21,1024
+      a4:	00 04 a8 76 	andis.  r8,r21,1024
 	hr->lpcr = swab64(hr->lpcr);
-      a8:	c0 76 04 79 	rldicl  r4,r8,14,27
+      a8:	b0 76 04 79 	rldcl   r4,r8,r14,58
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
       ac:	80 19 9f 04 	.long 0x49f1980
 	hr->hfscr = swab64(hr->hfscr);
-      b0:	a0 77 a8 77 	andis.  r8,r29,30624
+      b0:	90 77 98 77 	andis.  r24,r28,30608
 	hr->tb_offset = swab64(hr->tb_offset);
       b4:	04 79 80 19 	.long 0x19807904
 	hr->lpcr = swab64(hr->lpcr);
       b8:	9f 00 01 05 	.long 0x501009f
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
-      bc:	04 cc 76 d8 	stfd    f3,-13308(r22)
+      bc:	04 bc 76 c8 	lfd     f3,-17404(r22)
 	hr->tb_offset = swab64(hr->tb_offset);
       c0:	76 01 6f 00 	.long 0x6f0176
 	...
@@ -33964,140 +33960,140 @@ Disassembly of section .debug_loclists:
       e0:	01 00 00 00 	.long 0x1
 	...
 	hr->purr = swab64(hr->purr);
-      f8:	04 f8 62 d4 	stfsu   f3,-2044(r2)
+      f8:	04 e8 62 c4 	lfsu    f3,-6140(r2)
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
       fc:	63 01 53 04 	.long 0x4530163
 	hr->spurr = swab64(hr->spurr);
-     100:	d4 63 c4 68 	xori    r4,r6,25556
+     100:	c4 63 b4 68 	xori    r20,r5,25540
 	hr->lpcr = swab64(hr->lpcr);
-     104:	01 6f 04 c4 	lfsu    f0,28417(r4)
+     104:	01 6f 04 b4 	sthu    r0,28417(r4)
 	hr->spurr = swab64(hr->spurr);
-     108:	68 d0 68 04 	.long 0x468d068
+     108:	68 c0 68 04 	.long 0x468c068
 	hr->ic = swab64(hr->ic);
      10c:	a3 01 53 9f 	stbu    r26,419(r19)
-     110:	04 d0 68 a8 	lha     r3,-12284(r8)
+     110:	04 c0 68 98 	stb     r3,-16380(r8)
 	hr->amor = swab64(hr->amor);
      114:	69 01 6f 04 	.long 0x46f0169
 	hr->dpdes = swab64(hr->dpdes);
-     118:	a8 69 80 6a 	xori    r0,r20,27048
+     118:	98 69 f0 69 	xori    r16,r15,27032
 	hr->hfscr = swab64(hr->hfscr);
      11c:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
 	hr->tb_offset = swab64(hr->tb_offset);
-     120:	9f 04 80 6a 	xori    r0,r20,1183
+     120:	9f 04 f0 69 	xori    r16,r15,1183
 	hr->dawr0 = swab64(hr->dawr0);
-     124:	c8 6a 01 6f 	xoris   r1,r24,27336
+     124:	b8 6a 01 6f 	xoris   r1,r24,27320
 	hr->dawrx0 = swab64(hr->dawrx0);
-     128:	04 c8 6a e8 	ld      r3,-14332(r10)
+     128:	04 b8 6a d8 	stfd    f3,-18428(r10)
 	hr->srr1 = swab64(hr->srr1);
      12c:	6a 04 a3 01 	.long 0x1a3046a
 	hr->ciabr = swab64(hr->ciabr);
-     130:	53 9f 04 e8 	.long 0xe8049f53
+     130:	53 9f 04 d8 	stfd    f0,-24749(r4)
 	hr->hdec_expiry = swab64(hr->hdec_expiry);
-     134:	6a f4 6c 01 	.long 0x16cf46a
+     134:	6a e4 6c 01 	.long 0x16ce46a
 	hr->purr = swab64(hr->purr);
-     138:	6f 04 f4 6c 	xoris   r20,r7,1135
+     138:	6f 04 e4 6c 	xoris   r4,r7,1135
 	hr->spurr = swab64(hr->spurr);
-     13c:	98 6d 04 a3 	lhz     r24,28056(r4)
+     13c:	88 6d 04 a3 	lhz     r24,28040(r4)
 	hr->ic = swab64(hr->ic);
      140:	01 53 9f 04 	.long 0x49f5301
 	hr->vtb = swab64(hr->vtb);
-     144:	98 6d ec 6d 	xoris   r12,r15,28056
+     144:	88 6d dc 6d 	xoris   r28,r14,28040
 	hr->srr1 = swab64(hr->srr1);
-     148:	01 6f 04 ec 	.long 0xec046f01
+     148:	01 6f 04 dc 	stfdu   f0,28417(r4)
 	hr->sprg[0] = swab64(hr->sprg[0]);
-     14c:	6d b4 6f 04 	.long 0x46fb46d
+     14c:	6d a4 6f 04 	.long 0x46fa46d
 	hr->vtb = swab64(hr->vtb);
      150:	a3 01 53 9f 	stbu    r26,419(r19)
 	hr->hdar = swab64(hr->hdar);
-     154:	04 b4 6f 98 	stb     r3,-19452(r15)
+     154:	04 a4 6f 88 	lbz     r3,-23548(r15)
 	hr->sprg[0] = swab64(hr->sprg[0]);
      158:	70 01 6f 04 	.long 0x46f0170
 	hr->sprg[1] = swab64(hr->sprg[1]);
-     15c:	98 70 d0 71 	andi.   r16,r14,28824
+     15c:	88 70 c0 71 	andi.   r0,r14,28808
 	hr->hdar = swab64(hr->hdar);
      160:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
 	hr->hdsisr = swab64(hr->hdsisr);
-     164:	9f 04 d0 71 	andi.   r16,r14,1183
+     164:	9f 04 c0 71 	andi.   r0,r14,1183
 	hr->sprg[1] = swab64(hr->sprg[1]);
-     168:	84 72 01 6f 	xoris   r1,r24,29316
+     168:	f4 71 01 6f 	xoris   r1,r24,29172
 	hr->sprg[2] = swab64(hr->sprg[2]);
-     16c:	04 84 72 8c 	lbzu    r3,-31740(r18)
+     16c:	04 f4 71 fc 	.long 0xfc71f404
 	hr->hdsisr = swab64(hr->hdsisr);
-     170:	72 04 a3 01 	.long 0x1a30472
+     170:	71 04 a3 01 	.long 0x1a30471
 	hr->heir = swab64(hr->heir);
-     174:	53 9f 04 8c 	lbzu    r0,-24749(r4)
+     174:	53 9f 04 fc 	.long 0xfc049f53
 	hr->sprg[2] = swab64(hr->sprg[2]);
-     178:	72 cc 72 01 	.long 0x172cc72
+     178:	71 bc 72 01 	.long 0x172bc71
 	hr->heir = swab64(hr->heir);
-     17c:	6f 04 cc 72 	andi.   r12,r22,1135
+     17c:	6f 04 bc 72 	andi.   r28,r21,1135
 	hr->asdr = swab64(hr->asdr);
-     180:	b0 73 04 a3 	lhz     r24,29616(r4)
+     180:	a0 73 04 a3 	lhz     r24,29600(r4)
      184:	01 53 9f 04 	.long 0x49f5301
 	hr->srr0 = swab64(hr->srr0);
-     188:	b0 73 d8 73 	andi.   r24,r30,29616
-     18c:	01 6f 04 d8 	stfd    f0,28417(r4)
+     188:	a0 73 c8 73 	andi.   r8,r30,29600
+     18c:	01 6f 04 c8 	lfd     f0,28417(r4)
 	hr->hdar = swab64(hr->hdar);
-     190:	73 f4 73 04 	.long 0x473f473
+     190:	73 e4 73 04 	.long 0x473e473
 	hr->sprg[3] = swab64(hr->sprg[3]);
      194:	a3 01 53 9f 	stbu    r26,419(r19)
 	hr->vtb = swab64(hr->vtb);
-     198:	04 f4 73 84 	lwzu    r3,-3068(r19)
+     198:	04 e4 73 f4 	psq_stu f3,1028(r19),1,6
 	hr->sprg[3] = swab64(hr->sprg[3]);
-     19c:	74 01 6f 04 	.long 0x46f0174
+     19c:	73 01 6f 04 	.long 0x46f0173
 	hr->pidr = swab64(hr->pidr);
-     1a0:	84 74 90 74 	andis.  r16,r4,29828
+     1a0:	f4 73 80 74 	andis.  r0,r4,29684
      1a4:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
 	hr->heir = swab64(hr->heir);
-     1a8:	9f 04 90 74 	andis.  r16,r4,1183
+     1a8:	9f 04 80 74 	andis.  r0,r4,1183
 	hr->cfar = swab64(hr->cfar);
-     1ac:	d0 74 01 6f 	xoris   r1,r24,29904
+     1ac:	c0 74 01 6f 	xoris   r1,r24,29888
 	hr->hdsisr = swab64(hr->hdsisr);
-     1b0:	04 d0 74 e8 	ld      r3,-12284(r20)
+     1b0:	04 c0 74 d8 	stfd    f3,-16380(r20)
 	hr->cfar = swab64(hr->cfar);
      1b4:	74 04 a3 01 	.long 0x1a30474
 	hr->ppr = swab64(hr->ppr);
-     1b8:	53 9f 04 e8 	.long 0xe8049f53
-     1bc:	74 80 75 01 	.long 0x1758074
+     1b8:	53 9f 04 d8 	stfd    f0,-24749(r4)
+     1bc:	74 f0 74 01 	.long 0x174f074
 	hr->srr0 = swab64(hr->srr0);
-     1c0:	6f 04 80 75 	andis.  r0,r12,1135
+     1c0:	6f 04 f0 74 	andis.  r16,r7,1135
 	hr->dawr1 = swab64(hr->dawr1);
-     1c4:	a8 75 04 a3 	lhz     r24,30120(r4)
+     1c4:	98 75 04 a3 	lhz     r24,30104(r4)
 	hr->asdr = swab64(hr->asdr);
      1c8:	01 53 9f 04 	.long 0x49f5301
 	hr->dawr1 = swab64(hr->dawr1);
-     1cc:	a8 75 c8 75 	andis.  r8,r14,30120
+     1cc:	98 75 b8 75 	andis.  r24,r13,30104
 	hr->dawrx1 = swab64(hr->dawrx1);
      1d0:	01 6f 00 01 	.long 0x1006f01
      1d4:	00 00 00 04 	.long 0x4000000
 	hr->srr1 = swab64(hr->srr1);
-     1d8:	cc 63 e8 69 	xori    r8,r15,25548
+     1d8:	bc 63 d8 69 	xori    r24,r14,25532
 	hr->sprg[0] = swab64(hr->sprg[0]);
-     1dc:	01 6a 04 80 	lwz     r0,27137(r4)
+     1dc:	01 6a 04 f0 	xvaddsp vs32,vs4,vs13
 	hr->sprg[1] = swab64(hr->sprg[1]);
-     1e0:	6a c8 75 01 	.long 0x175c86a
+     1e0:	69 b8 75 01 	.long 0x175b869
 	hr->sprg[2] = swab64(hr->sprg[2]);
      1e4:	6a 00 00 00 	.long 0x6a
 	hr->sprg[3] = swab64(hr->sprg[3]);
      1e8:	00 00 00 00 	.long 0x0
 	hr->pidr = swab64(hr->pidr);
-     1ec:	04 a8 69 f0 	xsaddsp vs3,vs41,vs21
+     1ec:	04 98 69 e0 	psq_l   f3,-2044(r9),1,1
 	hr->cfar = swab64(hr->cfar);
      1f0:	69 01 6e 04 	.long 0x46e0169
 	hr->ppr = swab64(hr->ppr);
-     1f4:	f0 69 80 6a 	xori    r0,r20,27120
+     1f4:	e0 69 f0 69 	xori    r16,r15,27104
 	hr->dawr1 = swab64(hr->dawr1);
-     1f8:	01 53 04 80 	lwz     r0,21249(r4)
+     1f8:	01 53 04 f0 	xvadddp vs32,vs4,vs10
 	hr->dawrx1 = swab64(hr->dawrx1);
-     1fc:	75 a8 75 01 	.long 0x175a875
+     1fc:	74 98 75 01 	.long 0x1759874
 }
      200:	6e 00 01 00 	.long 0x1006e
      204:	00 00 00 00 	.long 0x0
-     208:	04 dc 63 a8 	lha     r3,-9212(r3)
+     208:	04 cc 63 98 	stb     r3,-13308(r3)
      20c:	69 01 6a 04 	.long 0x46a0169
-     210:	80 6a 80 75 	andis.  r0,r12,27264
-     214:	01 6a 04 a8 	lha     r0,27137(r4)
+     210:	f0 69 f0 74 	andis.  r16,r7,27120
+     214:	01 6a 04 98 	stb     r0,27137(r4)
 {
-     218:	75 c8 75 01 	.long 0x175c875
+     218:	75 b8 75 01 	.long 0x175b875
      21c:	6a 00 01 00 	.long 0x1006a
 	...
      228:	00 01 01 00 	.long 0x10100
@@ -34106,71 +34102,71 @@ Disassembly of section .debug_loclists:
      234:	02 01 01 00 	.long 0x10102
 	...
 }
-     24c:	04 dc 63 c4 	lfsu    f3,-9212(r3)
+     24c:	04 cc 63 b4 	sthu    r3,-13308(r3)
      250:	68 01 6f 04 	.long 0x46f0168
-     254:	c4 68 d0 68 	xori    r16,r6,26820
+     254:	b4 68 c0 68 	xori    r0,r6,26804
      258:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
-     25c:	9f 04 d0 68 	xori    r16,r6,1183
+     25c:	9f 04 c0 68 	xori    r0,r6,1183
 	if (!firmware_has_feature(FW_FEATURE_RPT_INVALIDATE))
-     260:	a8 69 01 6f 	xoris   r1,r24,27048
-     264:	04 80 6a c8 	lfd     f3,-32764(r10)
+     260:	98 69 01 6f 	xoris   r1,r24,27032
+     264:	04 f0 69 b8 	lm      r3,-4092(r9)
      268:	6a 01 6f 04 	.long 0x46f016a
-     26c:	c8 6a e8 6a 	xori    r8,r23,27336
+     26c:	b8 6a d8 6a 	xori    r24,r22,27320
      270:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
 		rc = plpar_hcall_norets(H_TLB_INVALIDATE, H_TLBIE_P1_ENC(2, 0, 1),
-     274:	9f 04 e8 6a 	xori    r8,r23,1183
-     278:	f4 6c 01 6f 	xoris   r1,r24,27892
-     27c:	04 f4 6c 98 	stb     r3,-3068(r12)
+     274:	9f 04 d8 6a 	xori    r24,r22,1183
+     278:	e4 6c 01 6f 	xoris   r1,r24,27876
+     27c:	04 e4 6c 88 	lbz     r3,-7164(r12)
      280:	6d 04 a3 01 	.long 0x1a3046d
-     284:	53 9f 04 98 	stb     r0,-24749(r4)
-     288:	6d ec 6d 01 	.long 0x16dec6d
-     28c:	6f 04 ec 6d 	xoris   r12,r15,1135
+     284:	53 9f 04 88 	lbz     r0,-24749(r4)
+     288:	6d dc 6d 01 	.long 0x16ddc6d
+     28c:	6f 04 dc 6d 	xoris   r28,r14,1135
 	if (rc)
-     290:	b4 6f 04 a3 	lhz     r24,28596(r4)
+     290:	a4 6f 04 a3 	lhz     r24,28580(r4)
      294:	01 53 9f 04 	.long 0x49f5301
 		pr_err("KVM: TLB LPID invalidation hcall failed, rc=%ld\n", rc);
-     298:	b4 6f 98 70 	andi.   r24,r4,28596
-     29c:	01 6f 04 98 	stb     r0,28417(r4)
-     2a0:	70 d0 71 04 	.long 0x471d070
+     298:	a4 6f 88 70 	andi.   r8,r4,28580
+     29c:	01 6f 04 88 	lbz     r0,28417(r4)
+     2a0:	70 c0 71 04 	.long 0x471c070
      2a4:	a3 01 53 9f 	stbu    r26,419(r19)
-     2a8:	04 d0 71 84 	lwzu    r3,-12284(r17)
-     2ac:	72 01 6f 04 	.long 0x46f0172
+     2a8:	04 c0 71 f4 	psq_stu f3,4(r17),1,4
+     2ac:	71 01 6f 04 	.long 0x46f0171
 			cpu_relax();
-     2b0:	84 72 8c 72 	andi.   r12,r20,29316
+     2b0:	f4 71 fc 71 	andi.   r28,r15,29172
      2b4:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
 		rc = plpar_hcall_norets(H_RPT_INVALIDATE, pid, target, type,
-     2b8:	9f 04 8c 72 	andi.   r12,r20,1183
-     2bc:	cc 72 01 6f 	xoris   r1,r24,29388
-     2c0:	04 cc 72 b0 	sth     r3,-13308(r18)
+     2b8:	9f 04 fc 71 	andi.   r28,r15,1183
+     2bc:	bc 72 01 6f 	xoris   r1,r24,29372
+     2c0:	04 bc 72 a0 	lhz     r3,-17404(r18)
      2c4:	73 04 a3 01 	.long 0x1a30473
-     2c8:	53 9f 04 b0 	sth     r0,-24749(r4)
-     2cc:	73 d8 73 01 	.long 0x173d873
-     2d0:	6f 04 d8 73 	andi.   r24,r30,1135
-     2d4:	f4 73 04 a3 	lhz     r24,29684(r4)
+     2c8:	53 9f 04 a0 	lhz     r0,-24749(r4)
+     2cc:	73 c8 73 01 	.long 0x173c873
+     2d0:	6f 04 c8 73 	andi.   r8,r30,1135
+     2d4:	e4 73 04 a3 	lhz     r24,29668(r4)
      2d8:	01 53 9f 04 	.long 0x49f5301
 		if (rc == H_BUSY) {
-     2dc:	f4 73 84 74 	andis.  r4,r4,29684
-     2e0:	01 6f 04 84 	lwzu    r0,28417(r4)
+     2dc:	e4 73 f4 73 	andi.   r20,r31,29668
+     2e0:	01 6f 04 f4 	lxv     vs0,28416(r4)
 		} else if (rc == H_SUCCESS)
-     2e4:	74 90 74 04 	.long 0x4749074
+     2e4:	73 80 74 04 	.long 0x4748073
      2e8:	a3 01 53 9f 	stbu    r26,419(r19)
-     2ec:	04 90 74 d0 	stfs    f3,-28668(r20)
+     2ec:	04 80 74 c0 	lfs     f3,-32764(r20)
 			cpu_relax();
      2f0:	74 01 6f 04 	.long 0x46f0174
-     2f4:	d0 74 e8 74 	andis.  r8,r7,29904
+     2f4:	c0 74 d8 74 	andis.  r24,r6,29888
 		rc = plpar_hcall_norets(H_RPT_INVALIDATE, pid, target,
      2f8:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
-     2fc:	9f 04 e8 74 	andis.  r8,r7,1183
-     300:	80 75 01 6f 	xoris   r1,r24,30080
-     304:	04 a8 75 c8 	lfd     f3,-22524(r21)
+     2fc:	9f 04 d8 74 	andis.  r24,r6,1183
+     300:	f0 74 01 6f 	xoris   r1,r24,29936
+     304:	04 98 75 b8 	lm      r3,-26620(r21)
      308:	75 01 6f 00 	.long 0x6f0175
      30c:	00 00 00 00 	.long 0x0
-     310:	00 00 04 e8 	ld      r0,0(r4)
-     314:	63 a8 69 01 	.long 0x169a863
-     318:	68 04 80 6a 	xori    r0,r20,1128
+     310:	00 00 04 d8 	stfd    f0,0(r4)
+     314:	63 98 69 01 	.long 0x1699863
+     318:	68 04 f0 69 	xori    r16,r15,1128
 		if (rc == H_BUSY) {
-     31c:	80 75 01 68 	xori    r1,r0,30080
-     320:	04 a8 75 c8 	lfd     f3,-22524(r21)
+     31c:	f0 74 01 68 	xori    r1,r0,29936
+     320:	04 98 75 b8 	lm      r3,-26620(r21)
 		} else if (rc == H_SUCCESS)
      324:	75 01 68 00 	.long 0x680175
 	...
@@ -34178,69 +34174,69 @@ Disassembly of section .debug_loclists:
      334:	00 00 00 02 	.long 0x2000000
 	...
 static bool kvmhv_invalidate_shadow_pte(struct kvm_vcpu *vcpu,
-     344:	04 88 66 c0 	lfs     f3,-30716(r6)
+     344:	04 f8 65 b0 	sth     r3,-2044(r5)
      348:	66 01 53 04 	.long 0x4530166
-     34c:	c0 66 d0 68 	xori    r16,r6,26304
-     350:	01 6d 04 98 	stb     r0,27905(r4)
+     34c:	b0 66 c0 68 	xori    r0,r6,26288
+     350:	01 6d 04 88 	lbz     r0,27905(r4)
 	int shift;
-     354:	6a bc 6a 01 	.long 0x16abc6a
+     354:	6a ac 6a 01 	.long 0x16aac6a
 static bool kvmhv_invalidate_shadow_pte(struct kvm_vcpu *vcpu,
-     358:	53 04 bc 6a 	xori    r28,r21,1107
-     35c:	c8 6a 01 6d 	xoris   r1,r8,27336
-     360:	04 e0 6c ec 	dadd    f3,f12,f28
+     358:	53 04 ac 6a 	xori    r12,r21,1107
+     35c:	b8 6a 01 6d 	xoris   r1,r8,27320
+     360:	04 d0 6c dc 	stfdu   f3,-12284(r12)
      364:	6c 01 53 04 	.long 0x453016c
-     368:	ec 6c f8 6c 	xoris   r24,r7,27884
-     36c:	01 6d 04 ec 	.long 0xec046d01
-     370:	6d b4 6f 01 	.long 0x16fb46d
-     374:	6d 04 ec 6f 	xoris   r12,r31,1133
-     378:	d0 71 01 6d 	xoris   r1,r8,29136
-     37c:	04 e4 71 f8 	std     r3,-7164(r17)
+     368:	dc 6c e8 6c 	xoris   r8,r7,27868
+     36c:	01 6d 04 dc 	stfdu   f0,27905(r4)
+     370:	6d a4 6f 01 	.long 0x16fa46d
+     374:	6d 04 dc 6f 	xoris   r28,r30,1133
+     378:	c0 71 01 6d 	xoris   r1,r8,29120
+     37c:	04 d4 71 e8 	ld      r3,-11260(r17)
      380:	71 01 53 04 	.long 0x4530171
 	int shift;
-     384:	f8 71 8c 72 	andi.   r12,r20,29176
-     388:	01 6d 04 cc 	lfdu    f0,27905(r4)
-     38c:	72 bc 73 01 	.long 0x173bc72
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-     390:	6d 04 c8 73 	andi.   r8,r30,1133
-     394:	d8 73 01 53 	rlwimi  r1,r24,14,15,12
-     398:	04 d8 73 90 	stw     r3,-10236(r19)
+     384:	e8 71 fc 71 	andi.   r28,r15,29160
+     388:	01 6d 04 bc 	stmw    r0,27905(r4)
+     38c:	72 ac 73 01 	.long 0x173ac72
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+     390:	6d 04 b8 73 	andi.   r24,r29,1133
+     394:	c8 73 01 53 	rlwimi  r1,r24,14,15,4
+     398:	04 c8 73 80 	lwz     r3,-14332(r19)
      39c:	74 01 6d 04 	.long 0x46d0174
 	if (!gp)
-     3a0:	b0 74 e8 74 	andis.  r8,r7,29872
+     3a0:	a0 74 d8 74 	andis.  r24,r6,29856
      3a4:	01 6d 00 01 	.long 0x1006d01
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
      3a8:	00 00 00 00 	.long 0x0
      3ac:	00 00 00 04 	.long 0x4000000
-     3b0:	e8 66 d8 67 	oris    r24,r30,26344
-     3b4:	01 53 04 ec 	.long 0xec045301
-     3b8:	6f 80 70 01 	.long 0x170806f
-     3bc:	53 04 b0 73 	andi.   r16,r29,1107
+     3b0:	d8 66 c8 67 	oris    r8,r30,26328
+     3b4:	01 53 04 dc 	stfdu   f0,21249(r4)
+     3b8:	6f f0 6f 01 	.long 0x16ff06f
+     3bc:	53 04 a0 73 	andi.   r0,r29,1107
 	if (!shift)
-     3c0:	bc 73 01 53 	rlwimi  r1,r24,14,14,30
+     3c0:	ac 73 01 53 	rlwimi  r1,r24,14,14,22
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-     3c4:	04 b0 74 c0 	lfs     f3,-20476(r20)
+     3c4:	04 a0 74 b0 	sth     r3,-24572(r20)
 	if (!shift)
      3c8:	74 01 53 00 	.long 0x530174
      3cc:	00 00 00 00 	.long 0x0
 	if (ptep && pte_present(*ptep)) {
      3d0:	00 02 00 00 	attn
      3d4:	00 00 00 00 	.long 0x0
-     3d8:	04 b4 66 d0 	stfs    f3,-19452(r6)
+     3d8:	04 a4 66 c0 	lfs     f3,-23548(r6)
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
      3dc:	68 01 67 04 	.long 0x4670168
 	if (pte_hw_valid(pte))
-     3e0:	ec 6d b4 6f 	xoris   r20,r29,28140
-     3e4:	01 67 04 ec 	.long 0xec046701
+     3e0:	dc 6d a4 6f 	xoris   r4,r29,28124
+     3e4:	01 67 04 dc 	stfdu   f0,26369(r4)
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-     3e8:	6f d0 71 01 	.long 0x171d06f
-     3ec:	67 04 cc 72 	andi.   r12,r22,1127
-     3f0:	bc 73 01 67 	oris    r1,r24,29628
+     3e8:	6f c0 71 01 	.long 0x171c06f
+     3ec:	67 04 bc 72 	andi.   r28,r21,1127
+     3f0:	ac 73 01 67 	oris    r1,r24,29612
 	if (unlikely(ms->mmiowb_pending)) {
-     3f4:	04 d8 73 90 	stw     r3,-10236(r19)
+     3f4:	04 c8 73 80 	lwz     r3,-14332(r19)
 	struct mmiowb_state *ms = __mmiowb_state();
      3f8:	74 01 67 04 	.long 0x4670174
 	if (unlikely(ms->mmiowb_pending)) {
-     3fc:	b0 74 e8 74 	andis.  r8,r7,29872
+     3fc:	a0 74 d8 74 	andis.  r24,r6,29856
      400:	01 67 00 02 	.long 0x2006701
 	...
 	ms->nesting_count--;
@@ -34250,90 +34246,90 @@ static bool kvmhv_invalidate_shadow_pte(
 	...
 }
      42c:	00 00 00 04 	.long 0x4000000
-     430:	98 64 e4 65 	oris    r4,r15,25752
+     430:	88 64 d4 65 	oris    r20,r14,25736
      434:	09 8d 00 0c 	twi     0,r0,-29431
      438:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-     43c:	1a 9f 04 e4 	lxsd    v0,-24808(r4)
-     440:	65 d0 68 01 	.long 0x168d065
-     444:	65 04 d0 68 	xori    r16,r6,1125
-     448:	98 69 09 8d 	lbzu    r8,27032(r9)
+     43c:	1a 9f 04 d4 	stfsu   f0,-24806(r4)
+     440:	65 c0 68 01 	.long 0x168c065
+     444:	65 04 c0 68 	xori    r0,r6,1125
+     448:	88 69 09 8d 	lbzu    r8,27016(r9)
      44c:	00 0c ff ff 	.long 0xffff0c00
      450:	ff ff 1a 9f 	stbu    r24,-1(r26)
-     454:	04 80 6a 98 	stb     r3,-32764(r10)
+     454:	04 f0 69 88 	lbz     r3,-4092(r9)
      458:	6a 09 8d 00 	.long 0x8d096a
      45c:	0c ff ff ff 	.long 0xffffff0c
 		shift = PAGE_SHIFT;
      460:	ff 1a 9f 04 	.long 0x49f1aff
-     464:	98 6a d8 6a 	xori    r24,r22,27288
-     468:	01 65 04 e8 	ldu     r0,25856(r4)
-     46c:	6a bc 6c 09 	tdi     11,r12,-17302
+     464:	88 6a c8 6a 	xori    r8,r22,27272
+     468:	01 65 04 d8 	stfd    f0,25857(r4)
+     46c:	6a ac 6c 09 	tdi     11,r12,-21398
 		kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid);
      470:	8d 00 0c ff 	.long 0xff0c008d
      474:	ff ff ff 1a 	.long 0x1affffff
-     478:	9f 04 bc 6c 	xoris   r28,r5,1183
-     47c:	e0 6c 0e 8d 	lbzu    r8,27872(r14)
+     478:	9f 04 ac 6c 	xoris   r12,r5,1183
+     47c:	d0 6c 0e 8d 	lbzu    r8,27856(r14)
      480:	00 0c ff ff 	.long 0xffff0c00
      484:	ff ff 1a 11 	vsubecuq v8,v26,v31,v31
      488:	ff ff 6f 1a 	.long 0x1a6fffff
 	if (unlikely(ms->mmiowb_pending)) {
-     48c:	9f 04 e0 6c 	xoris   r0,r7,1183
+     48c:	9f 04 d0 6c 	xoris   r16,r6,1183
 	struct mmiowb_state *ms = __mmiowb_state();
-     490:	f8 6c 01 65 	oris    r1,r8,27896
+     490:	e8 6c 01 65 	oris    r1,r8,27880
 	if (unlikely(ms->mmiowb_pending)) {
-     494:	04 98 6d ec 	dadd    f3,f13,f19
+     494:	04 88 6d dc 	stfdu   f3,-30716(r13)
      498:	6d 09 8d 00 	.long 0x8d096d
 		ms->mmiowb_pending = 0;
      49c:	0c ff ff ff 	.long 0xffffff0c
      4a0:	ff 1a 9f 04 	.long 0x49f1aff
 		mmiowb();
-     4a4:	ec 6d b4 6f 	xoris   r20,r29,28140
-     4a8:	01 65 04 b4 	sthu    r0,25857(r4)
-     4ac:	6f d4 6f 09 	tdi     11,r15,-11153
+     4a4:	dc 6d a4 6f 	xoris   r4,r29,28124
+     4a8:	01 65 04 a4 	lhzu    r0,25857(r4)
+     4ac:	6f c4 6f 09 	tdi     11,r15,-15249
 	if (!shift)
      4b0:	8d 00 0c ff 	.long 0xff0c008d
      4b4:	ff ff ff 1a 	.long 0x1affffff
-     4b8:	9f 04 ec 6f 	xoris   r12,r31,1183
+     4b8:	9f 04 dc 6f 	xoris   r28,r30,1183
 		shift = PAGE_SHIFT;
-     4bc:	d0 71 01 65 	oris    r1,r8,29136
-     4c0:	04 d0 71 e4 	psq_lu  f3,4(r17),1,5
+     4bc:	c0 71 01 65 	oris    r1,r8,29120
+     4c0:	04 c0 71 d4 	stfsu   f3,-16380(r17)
 	if (ptep && pte_present(*ptep)) {
      4c4:	71 09 8d 00 	.long 0x8d0971
 }
      4c8:	0c ff ff ff 	.long 0xffffff0c
      4cc:	ff 1a 9f 04 	.long 0x49f1aff
 {
-     4d0:	e4 71 8c 72 	andi.   r12,r20,29156
-     4d4:	01 65 04 8c 	lbzu    r0,25857(r4)
+     4d0:	d4 71 fc 71 	andi.   r28,r15,29140
+     4d4:	01 65 04 fc 	.long 0xfc046501
 	hr->pcr = vc->pcr | PCR_MASK;
-     4d8:	72 cc 72 09 	tdi     11,r18,-13198
+     4d8:	71 bc 72 09 	tdi     11,r18,-17295
 	struct kvmppc_vcore *vc = vcpu->arch.vcore;
      4dc:	8d 00 0c ff 	.long 0xff0c008d
 	hr->pcr = vc->pcr | PCR_MASK;
      4e0:	ff ff ff 1a 	.long 0x1affffff
-     4e4:	9f 04 cc 72 	andi.   r12,r22,1183
-     4e8:	bc 73 01 65 	oris    r1,r8,29628
-     4ec:	04 bc 73 c8 	lfd     f3,-17404(r19)
+     4e4:	9f 04 bc 72 	andi.   r28,r21,1183
+     4e8:	ac 73 01 65 	oris    r1,r8,29612
+     4ec:	04 ac 73 b8 	lm      r3,-21500(r19)
      4f0:	73 09 8d 00 	.long 0x8d0973
      4f4:	0c ff ff ff 	.long 0xffffff0c
      4f8:	ff 1a 9f 04 	.long 0x49f1aff
 	hr->dpdes = vc->dpdes;
-     4fc:	c8 73 90 74 	andis.  r16,r4,29640
-     500:	01 65 04 90 	stw     r0,25857(r4)
+     4fc:	b8 73 80 74 	andis.  r0,r4,29624
+     500:	01 65 04 80 	lwz     r0,25857(r4)
 	hr->hfscr = vcpu->arch.hfscr;
-     504:	74 b0 74 09 	tdi     11,r20,-20364
+     504:	74 a0 74 09 	tdi     11,r20,-24460
      508:	8d 00 0c ff 	.long 0xff0c008d
 	hr->tb_offset = vc->tb_offset;
      50c:	ff ff ff 1a 	.long 0x1affffff
-     510:	9f 04 b0 74 	andis.  r16,r5,1183
+     510:	9f 04 a0 74 	andis.  r0,r5,1183
 	hr->dawr0 = vcpu->arch.dawr0;
-     514:	e8 74 01 65 	oris    r1,r8,29928
-     518:	04 e8 74 80 	lwz     r3,-6140(r20)
+     514:	d8 74 01 65 	oris    r1,r8,29912
+     518:	04 d8 74 f0 	xsaddsp vs3,vs52,vs27
 	hr->dawrx0 = vcpu->arch.dawrx0;
-     51c:	75 09 8d 00 	.long 0x8d0975
+     51c:	74 09 8d 00 	.long 0x8d0974
      520:	0c ff ff ff 	.long 0xffffff0c
 	hr->ciabr = vcpu->arch.ciabr;
      524:	ff 1a 9f 04 	.long 0x49f1aff
-     528:	a8 75 c8 75 	andis.  r8,r14,30120
+     528:	98 75 b8 75 	andis.  r24,r13,30104
 	hr->purr = vcpu->arch.purr;
      52c:	01 65 00 03 	.long 0x3006501
      530:	00 00 00 00 	.long 0x0
@@ -34345,40 +34341,40 @@ static bool kvmhv_invalidate_shadow_pte(
      540:	00 00 00 00 	.long 0x0
 	hr->vtb = vc->vtb;
      544:	00 00 00 04 	.long 0x4000000
-     548:	98 64 b4 66 	oris    r20,r21,25752
+     548:	88 64 a4 66 	oris    r4,r21,25736
 	hr->srr0 = vcpu->arch.shregs.srr0;
-     54c:	01 67 04 d0 	stfs    f0,26369(r4)
-     550:	68 a8 69 01 	.long 0x169a868
+     54c:	01 67 04 c0 	lfs     f0,26369(r4)
+     550:	68 98 69 01 	.long 0x1699868
 	hr->srr1 = vcpu->arch.shregs.srr1;
-     554:	67 04 80 6a 	xori    r0,r20,1127
-     558:	c8 6a 01 67 	oris    r1,r24,27336
+     554:	67 04 f0 69 	xori    r16,r15,1127
+     558:	b8 6a 01 67 	oris    r1,r24,27320
 	hr->sprg[0] = vcpu->arch.shregs.sprg0;
-     55c:	04 e8 6a f4 	psq_stu f3,-2044(r10),1,6
+     55c:	04 d8 6a e4 	psq_lu  f3,-2044(r10),1,5
      560:	6c 01 67 04 	.long 0x467016c
 	hr->sprg[1] = vcpu->arch.shregs.sprg1;
-     564:	98 6d ec 6d 	xoris   r12,r15,28056
-     568:	01 67 04 b4 	sthu    r0,26369(r4)
+     564:	88 6d dc 6d 	xoris   r28,r14,28040
+     568:	01 67 04 a4 	lhzu    r0,26369(r4)
 	hr->sprg[2] = vcpu->arch.shregs.sprg2;
-     56c:	6f ec 6f 01 	.long 0x16fec6f
-     570:	67 04 d0 71 	andi.   r16,r14,1127
+     56c:	6f dc 6f 01 	.long 0x16fdc6f
+     570:	67 04 c0 71 	andi.   r0,r14,1127
 	hr->sprg[3] = vcpu->arch.shregs.sprg3;
-     574:	84 72 01 67 	oris    r1,r24,29316
-     578:	04 8c 72 cc 	lfdu    f3,-29692(r18)
+     574:	f4 71 01 67 	oris    r1,r24,29172
+     578:	04 fc 71 bc 	stmw    r3,-1020(r17)
 	hr->pidr = vcpu->arch.pid;
      57c:	72 01 67 04 	.long 0x4670172
-     580:	bc 73 d8 73 	andi.   r24,r30,29628
+     580:	ac 73 c8 73 	andi.   r8,r30,29612
 	hr->cfar = vcpu->arch.cfar;
-     584:	01 67 04 90 	stw     r0,26369(r4)
-     588:	74 b0 74 01 	.long 0x174b074
+     584:	01 67 04 80 	lwz     r0,26369(r4)
+     588:	74 a0 74 01 	.long 0x174a074
 	hr->ppr = vcpu->arch.ppr;
-     58c:	67 04 e8 74 	andis.  r8,r7,1127
-     590:	80 75 01 67 	oris    r1,r24,30080
+     58c:	67 04 d8 74 	andis.  r24,r6,1127
+     590:	f0 74 01 67 	oris    r1,r24,29936
 	hr->dawr1 = vcpu->arch.dawr1;
-     594:	04 a8 75 c8 	lfd     f3,-22524(r21)
+     594:	04 98 75 b8 	lm      r3,-26620(r21)
      598:	75 01 67 00 	.long 0x670175
 	hr->dawrx1 = vcpu->arch.dawrx1;
-     59c:	01 00 04 ec 	.long 0xec040001
-     5a0:	6e 80 6f 0f 	twi     27,r15,-32658
+     59c:	01 00 04 dc 	stfdu   f0,1(r4)
+     5a0:	6e f0 6e 0f 	twi     27,r14,-3986
 }
      5a4:	8f 00 8d b0 	sth     r4,143(r13)
      5a8:	01 06 1c 33 	addic   r24,r28,1537
@@ -34394,31 +34390,31 @@ static bool kvmhv_invalidate_shadow_pte(
      5c0:	00 01 00 00 	.long 0x100
 	vcpu->arch.hfscr = hr->hfscr;
      5c4:	00 00 00 00 	.long 0x0
-     5c8:	04 bc 64 98 	stb     r3,-17404(r4)
+     5c8:	04 ac 64 88 	lbz     r3,-21500(r4)
 	vcpu->arch.purr = hr->purr;
      5cc:	65 01 6b 04 	.long 0x46b0165
-     5d0:	9c 65 a4 69 	xori    r4,r13,26012
+     5d0:	8c 65 94 69 	xori    r20,r12,25996
 	vcpu->arch.spurr = hr->spurr;
-     5d4:	01 6b 04 98 	stb     r0,27393(r4)
-     5d8:	6a c8 6a 01 	.long 0x16ac86a
+     5d4:	01 6b 04 88 	lbz     r0,27393(r4)
+     5d8:	6a b8 6a 01 	.long 0x16ab86a
 	vcpu->arch.ic = hr->ic;
-     5dc:	6b 04 e8 6a 	xori    r8,r23,1131
-     5e0:	f4 6c 01 6b 	xori    r1,r24,27892
+     5dc:	6b 04 d8 6a 	xori    r24,r22,1131
+     5e0:	e4 6c 01 6b 	xori    r1,r24,27876
 	vc->vtb = hr->vtb;
-     5e4:	04 98 6d a0 	lhz     r3,-26620(r13)
+     5e4:	04 88 6d 90 	stw     r3,-30716(r13)
      5e8:	6e 01 6b 04 	.long 0x46b016e
 	vcpu->arch.fault_dar = hr->hdar;
-     5ec:	a0 6e 98 6f 	xoris   r24,r28,28320
-     5f0:	01 6e 04 b4 	sthu    r0,28161(r4)
+     5ec:	90 6e 88 6f 	xoris   r8,r28,28304
+     5f0:	01 6e 04 a4 	lhzu    r0,28161(r4)
 	vcpu->arch.fault_dsisr = hr->hdsisr;
-     5f4:	6f 84 72 01 	.long 0x172846f
-     5f8:	6b 04 8c 72 	andi.   r12,r20,1131
+     5f4:	6f f4 71 01 	.long 0x171f46f
+     5f8:	6b 04 fc 71 	andi.   r28,r15,1131
 	vcpu->arch.fault_gpa = hr->asdr;
-     5fc:	a4 72 01 6b 	xori    r1,r24,29348
-     600:	04 ac 72 80 	lwz     r3,-21500(r18)
+     5fc:	94 72 01 6b 	xori    r1,r24,29332
+     600:	04 9c 72 f0 	xsmaxcdp vs3,vs50,vs19
 	vcpu->arch.emul_inst = hr->heir;
-     604:	75 01 6b 04 	.long 0x46b0175
-     608:	a8 75 c8 75 	andis.  r8,r14,30120
+     604:	74 01 6b 04 	.long 0x46b0174
+     608:	98 75 b8 75 	andis.  r24,r13,30104
 	vcpu->arch.shregs.srr0 = hr->srr0;
      60c:	01 6b 00 00 	.long 0x6b01
 	...
@@ -34426,29 +34422,29 @@ static bool kvmhv_invalidate_shadow_pte(
      618:	02 00 00 00 	.long 0x2
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
      61c:	00 00 00 00 	.long 0x0
-     620:	00 04 f8 65 	oris    r24,r15,1024
+     620:	00 04 e8 65 	oris    r8,r15,1024
 	vcpu->arch.shregs.sprg1 = hr->sprg[1];
-     624:	d0 68 01 66 	oris    r1,r16,26832
-     628:	04 98 6a c8 	lfd     f3,-26620(r10)
+     624:	c0 68 01 66 	oris    r1,r16,26816
+     628:	04 88 6a b8 	lm      r3,-30716(r10)
 	vcpu->arch.shregs.sprg2 = hr->sprg[2];
      62c:	6a 01 66 04 	.long 0x466016a
-     630:	e0 6c f8 6c 	xoris   r24,r7,27872
+     630:	d0 6c e8 6c 	xoris   r8,r7,27856
 	vcpu->arch.shregs.sprg3 = hr->sprg[3];
-     634:	01 66 04 ec 	.long 0xec046601
-     638:	6d b4 6f 01 	.long 0x16fb46d
+     634:	01 66 04 dc 	stfdu   f0,26113(r4)
+     638:	6d a4 6f 01 	.long 0x16fa46d
 	vcpu->arch.pid = hr->pidr;
-     63c:	66 04 ec 6f 	xoris   r12,r31,1126
-     640:	d0 71 01 66 	oris    r1,r16,29136
+     63c:	66 04 dc 6f 	xoris   r28,r30,1126
+     640:	c0 71 01 66 	oris    r1,r16,29120
 	vcpu->arch.cfar = hr->cfar;
-     644:	04 e4 71 8c 	lbzu    r3,-7164(r17)
-     648:	72 01 66 04 	.long 0x4660172
+     644:	04 d4 71 fc 	.long 0xfc71d404
+     648:	71 01 66 04 	.long 0x4660171
 	vcpu->arch.ppr = hr->ppr;
-     64c:	cc 72 bc 73 	andi.   r28,r29,29388
-     650:	01 66 04 c8 	lfd     f0,26113(r4)
+     64c:	bc 72 ac 73 	andi.   r12,r29,29372
+     650:	01 66 04 b8 	lm      r0,26113(r4)
 }
-     654:	73 90 74 01 	.long 0x1749073
-     658:	66 04 b0 74 	andis.  r16,r5,1126
-     65c:	e8 74 01 66 	oris    r1,r16,29928
+     654:	73 80 74 01 	.long 0x1748073
+     658:	66 04 a0 74 	andis.  r0,r5,1126
+     65c:	d8 74 01 66 	oris    r1,r16,29912
      660:	00 01 00 00 	.long 0x100
      664:	00 00 00 00 	.long 0x0
 {
@@ -34457,57 +34453,57 @@ static bool kvmhv_invalidate_shadow_pte(
      670:	02 00 01 00 	.long 0x10002
 	...
 		return 0;
-     680:	00 04 f8 65 	oris    r24,r15,1024
-     684:	80 66 05 86 	lwzu    r16,26240(r5)
+     680:	00 04 e8 65 	oris    r8,r15,1024
+     684:	f0 65 05 86 	lwzu    r16,26096(r5)
      688:	00 40 25 9f 	stbu    r25,16384(r5)
-     68c:	04 80 66 87 	lwzu    r27,-32764(r6)
-     690:	66 01 54 04 	.long 0x4540166
+     68c:	04 f0 65 f7 	psq_stu f27,4(r5),1,7
+     690:	65 01 54 04 	.long 0x4540165
 {
-     694:	87 66 d0 68 	xori    r16,r6,26247
-     698:	05 86 00 40 	bdnzfl  lt,ffffffffffff8c9c <kvmhv_nested_next_lpid+0xffffffffffff51c4>
-     69c:	25 9f 04 98 	stb     r0,-24795(r4)
-     6a0:	6a c8 6a 05 	.long 0x56ac86a
+     694:	f7 65 c0 68 	xori    r0,r6,26103
+     698:	05 86 00 40 	bdnzfl  lt,ffffffffffff8c9c <kvmhv_nested_next_lpid+0xffffffffffff51d4>
+     69c:	25 9f 04 88 	lbz     r0,-24795(r4)
+     6a0:	6a b8 6a 05 	.long 0x56ab86a
      6a4:	86 00 40 25 	dozi    r10,r0,134
-     6a8:	9f 04 e0 6c 	xoris   r0,r7,1183
-     6ac:	f4 6c 05 86 	lwzu    r16,27892(r5)
+     6a8:	9f 04 d0 6c 	xoris   r16,r6,1183
+     6ac:	e4 6c 05 86 	lwzu    r16,27876(r5)
      6b0:	00 40 25 9f 	stbu    r25,16384(r5)
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
-     6b4:	04 ec 6d ac 	lhau    r3,-5116(r13)
-	if (unlikely(!pseries_partition_tb)) {
+     6b4:	04 dc 6d 9c 	stbu    r3,-9212(r13)
+	if (!pseries_partition_tb) {
      6b8:	6f 01 6f 04 	.long 0x46f016f
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
-     6bc:	ec 6f b0 70 	andi.   r16,r5,28652
-     6c0:	05 86 00 40 	bdnzfl  lt,ffffffffffff8cc4 <kvmhv_nested_next_lpid+0xffffffffffff51ec>
-	if (unlikely(!pseries_partition_tb)) {
-     6c4:	25 9f 04 b0 	sth     r0,-24795(r4)
+     6bc:	dc 6f a0 70 	andi.   r0,r5,28636
+     6c0:	05 86 00 40 	bdnzfl  lt,ffffffffffff8cc4 <kvmhv_nested_next_lpid+0xffffffffffff51fc>
+	if (!pseries_partition_tb) {
+     6c4:	25 9f 04 a0 	lhz     r0,-24795(r4)
 	ptcr = __pa(pseries_partition_tb) | (ptb_order - 12);
-     6c8:	70 d0 71 01 	.long 0x171d070
+     6c8:	70 c0 71 01 	.long 0x171c070
 	rc = plpar_hcall_norets(H_SET_PARTITION_TABLE, ptcr);
-     6cc:	6f 04 e4 71 	andi.   r4,r15,1135
-     6d0:	84 72 05 86 	lwzu    r16,29316(r5)
+     6cc:	6f 04 d4 71 	andi.   r20,r14,1135
+     6d0:	f4 71 05 86 	lwzu    r16,29172(r5)
      6d4:	00 40 25 9f 	stbu    r25,16384(r5)
-     6d8:	04 cc 72 b0 	sth     r3,-13308(r18)
+     6d8:	04 bc 72 a0 	lhz     r3,-17404(r18)
      6dc:	73 01 6f 04 	.long 0x46f0173
 	if (rc != H_SUCCESS) {
-     6e0:	b0 73 bc 73 	andi.   r28,r29,29616
-     6e4:	05 86 00 40 	bdnzfl  lt,ffffffffffff8ce8 <kvmhv_nested_next_lpid+0xffffffffffff5210>
+     6e0:	a0 73 ac 73 	andi.   r12,r29,29600
+     6e4:	05 86 00 40 	bdnzfl  lt,ffffffffffff8ce8 <kvmhv_nested_next_lpid+0xffffffffffff5220>
 		return 0;
-     6e8:	25 9f 04 c8 	lfd     f0,-24795(r4)
+     6e8:	25 9f 04 b8 	lm      r0,-24795(r4)
 }
-     6ec:	73 d8 73 05 	.long 0x573d873
+     6ec:	73 c8 73 05 	.long 0x573c873
      6f0:	86 00 40 25 	dozi    r10,r0,134
-     6f4:	9f 04 d8 73 	andi.   r24,r30,1183
-     6f8:	f4 73 01 6f 	xoris   r1,r24,29684
-     6fc:	04 f4 73 90 	stw     r3,-3068(r19)
+     6f4:	9f 04 c8 73 	andi.   r8,r30,1183
+     6f8:	e4 73 01 6f 	xoris   r1,r24,29668
+     6fc:	04 e4 73 80 	lwz     r3,-7164(r19)
 		return -ENODEV;
      700:	74 05 86 00 	.long 0x860574
 }
      704:	40 25 9f 04 	.long 0x49f2540
 		pr_err("kvm-hv: Parent hypervisor does not support nesting (rc=%ld)\n",
-     708:	b0 74 d4 74 	andis.  r20,r6,29872
-     70c:	05 86 00 40 	bdnzfl  lt,ffffffffffff8d10 <kvmhv_nested_next_lpid+0xffffffffffff5238>
-     710:	25 9f 04 d4 	stfsu   f0,-24795(r4)
-     714:	74 e8 74 01 	.long 0x174e874
+     708:	a0 74 c4 74 	andis.  r4,r6,29856
+     70c:	05 86 00 40 	bdnzfl  lt,ffffffffffff8d10 <kvmhv_nested_next_lpid+0xffffffffffff5248>
+     710:	25 9f 04 c4 	lfsu    f0,-24795(r4)
+     714:	74 d8 74 01 	.long 0x174d874
 		kfree(pseries_partition_tb);
      718:	6f 00 05 00 	.long 0x5006f
      71c:	00 00 00 01 	.long 0x1000000
@@ -34515,5019 +34511,5025 @@ static bool kvmhv_invalidate_shadow_pte(
 		pseries_partition_tb = NULL;
      724:	01 00 00 00 	.long 0x1
 	...
-		return -ENODEV;
-     730:	00 00 02 01 	.long 0x1020000
-	...
 		pr_err("kvm-hv: failed to allocated nested partition table\n");
-     73c:	00 00 04 98 	stb     r0,0(r4)
-     740:	64 a8 69 02 	.long 0x269a864
+     734:	00 00 02 01 	.long 0x1020000
+	...
+     740:	00 00 04 88 	lbz     r0,0(r4)
 		return -ENOMEM;
-     744:	30 9f 04 80 	lwz     r0,-24784(r4)
-     748:	6a c8 6a 02 	.long 0x26ac86a
-     74c:	30 9f 04 e8 	ld      r0,-24784(r4)
-     750:	6a f4 6c 02 	.long 0x26cf46a
-     754:	30 9f 04 98 	stb     r0,-24784(r4)
-{
-     758:	6d ec 6d 02 	.long 0x26dec6d
-     75c:	30 9f 04 b4 	sthu    r0,-24784(r4)
-     760:	6f b0 70 02 	.long 0x270b06f
-     764:	30 9f 04 b0 	sth     r0,-24784(r4)
-     768:	70 bc 70 0b 	tdi     27,r16,-17296
-     76c:	79 00 20 31 	addic   r9,r0,121
+     744:	64 98 69 02 	.long 0x2699864
+     748:	30 9f 04 f0 	xxsel   vs0,vs4,vs19,vs28
+     74c:	69 b8 6a 02 	.long 0x26ab869
+     750:	30 9f 04 d8 	stfd    f0,-24784(r4)
+     754:	6a e4 6c 02 	.long 0x26ce46a
+{
+     758:	30 9f 04 88 	lbz     r0,-24784(r4)
+     75c:	6d dc 6d 02 	.long 0x26ddc6d
+     760:	30 9f 04 a4 	lhzu    r0,-24784(r4)
+     764:	6f a0 70 02 	.long 0x270a06f
+     768:	30 9f 04 a0 	lhz     r0,-24784(r4)
+     76c:	70 ac 70 0b 	tdi     27,r16,-21392
 	if (kvmhv_on_pseries() && pseries_partition_tb) {
-     770:	1a 08 ff 1a 	.long 0x1aff081a
+     770:	79 00 20 31 	addic   r9,r0,121
 {
-     774:	32 24 9f 04 	.long 0x49f2432
-     778:	bc 70 d0 70 	andi.   r16,r6,28860
+     774:	1a 08 ff 1a 	.long 0x1aff081a
+     778:	32 24 9f 04 	.long 0x49f2432
 	if (kvmhv_on_pseries() && pseries_partition_tb) {
-     77c:	0d 79 00 34 	addic.  r0,r0,30989
-     780:	27 20 31 1a 	.long 0x1a312027
-     784:	08 ff 1a 32 	addic   r16,r26,-248
-     788:	24 9f 04 d0 	stfs    f0,-24796(r4)
+     77c:	ac 70 c0 70 	andi.   r0,r6,28844
+     780:	0d 79 00 34 	addic.  r0,r0,30989
+     784:	27 20 31 1a 	.long 0x1a312027
+     788:	08 ff 1a 32 	addic   r16,r26,-248
 		plpar_hcall_norets(H_SET_PARTITION_TABLE, 0);
-     78c:	70 d8 70 0e 	twi     19,r16,-10128
-     790:	91 d8 7e 94 	stwu    r3,-10095(r30)
-     794:	01 20 31 1a 	stxvp   vs48,8192(r17)
-     798:	08 ff 1a 32 	addic   r16,r26,-248
-     79c:	24 9f 04 d8 	stfd    f0,-24796(r4)
-     7a0:	70 dc 70 01 	.long 0x170dc70
-     7a4:	56 04 dc 70 	andi.   r28,r6,1110
+     78c:	24 9f 04 c0 	lfs     f0,-24796(r4)
+     790:	70 c8 70 0e 	twi     19,r16,-14224
+     794:	91 d8 7e 94 	stwu    r3,-10095(r30)
+     798:	01 20 31 1a 	stxvp   vs48,8192(r17)
+     79c:	08 ff 1a 32 	addic   r16,r26,-248
+     7a0:	24 9f 04 c8 	lfd     f0,-24796(r4)
+     7a4:	70 cc 70 01 	.long 0x170cc70
 		kfree(pseries_partition_tb);
-     7a8:	e8 70 01 59 	rlmi    r1,r8,r14,3,20
-     7ac:	04 e8 70 ec 	dadd    f3,f16,f29
-     7b0:	70 06 79 00 	.long 0x790670
+     7a8:	56 04 cc 70 	andi.   r12,r6,1110
+     7ac:	d8 70 01 59 	rlmi    r1,r8,r14,3,12
+     7b0:	04 d8 70 dc 	stfdu   f3,-10236(r16)
 		pseries_partition_tb = NULL;
-     7b4:	70 00 21 9f 	stbu    r25,112(r1)
-     7b8:	04 ec 70 f4 	psq_stu f3,-1020(r16),1,6
-     7bc:	70 18 91 d8 	stfd    f4,6256(r17)
-     7c0:	7e 94 01 08 	tdi     0,r1,-27522
-}
-     7c4:	ff 1a 34 27 	dozi    r25,r20,6911
-     7c8:	32 25 31 1a 	.long 0x1a312532
-     7cc:	76 00 21 7a 	.long 0x7a210076
-     7d0:	00 21 70 00 	.long 0x702100
-     7d4:	21 9f 04 d0 	stfs    f0,-24799(r4)
-{
-     7d8:	71 84 72 02 	.long 0x2728471
-     7dc:	30 9f 04 8c 	lbzu    r0,-24784(r4)
-     7e0:	72 cc 72 02 	.long 0x272cc72
-     7e4:	30 9f 04 b0 	sth     r0,-24784(r4)
-     7e8:	73 d8 73 02 	.long 0x273d873
-     7ec:	30 9f 04 f4 	psq_stu f0,-208(r4),1,1
+     7b4:	70 06 79 00 	.long 0x790670
+     7b8:	70 00 21 9f 	stbu    r25,112(r1)
+     7bc:	04 dc 70 e4 	psq_lu  f3,-1020(r16),1,5
+     7c0:	70 18 91 d8 	stfd    f4,6256(r17)
+}
+     7c4:	7e 94 01 08 	tdi     0,r1,-27522
+     7c8:	ff 1a 34 27 	dozi    r25,r20,6911
+     7cc:	32 25 31 1a 	.long 0x1a312532
+     7d0:	76 00 21 7a 	.long 0x7a210076
+     7d4:	00 21 70 00 	.long 0x702100
+{
+     7d8:	21 9f 04 e4 	psq_lu  f0,-223(r4),1,1
+     7dc:	70 e8 70 24 	dozi    r3,r16,-6032
+     7e0:	91 d8 7e 94 	stwu    r3,-10095(r30)
+     7e4:	01 08 ff 1a 	stxvp   vs54,2048(r31)
+     7e8:	20 32 1a 91 	stw     r8,12832(r26)
+     7ec:	d8 7e 94 01 	.long 0x1947ed8
 		mmu_partition_table_set_entry(lpid, dw0, dw1, true);
-     7f0:	73 d4 74 02 	.long 0x274d473
+     7f0:	08 ff 1a 34 	addic.  r0,r26,-248
 {
-     7f4:	30 9f 04 e8 	ld      r0,-24784(r4)
-     7f8:	74 80 75 02 	.long 0x2758074
+     7f4:	27 32 25 31 	addic   r9,r5,12839
+     7f8:	1a 21 7b 00 	.long 0x7b211a
 		mmu_partition_table_set_entry(lpid, dw0, dw1, true);
-     7fc:	30 9f 04 a8 	lha     r0,-24784(r4)
-     800:	75 c8 75 02 	.long 0x275c875
+     7fc:	21 7a 00 21 	subfic  r8,r0,31265
+     800:	70 00 21 9f 	stbu    r25,112(r1)
 }
-     804:	30 9f 00 00 	.long 0x9f30
-	...
-     810:	02 00 00 00 	.long 0x2
-     814:	00 00 00 00 	.long 0x0
-     818:	00 00 00 04 	.long 0x4000000
-     81c:	ec 65 d0 68 	xori    r16,r6,26092
+     804:	04 e8 70 ec 	dadd    f3,f16,f29
+     808:	70 2b 91 d8 	stfd    f4,11120(r17)
+     80c:	7e 94 01 08 	tdi     0,r1,-27522
+     810:	ff 1a 20 32 	addic   r17,r0,6911
+     814:	1a 91 d8 7e 	stxvrbx vs22,r24,r18
+     818:	94 01 08 ff 	.long 0xff080194
+     81c:	1a 34 27 32 	addic   r17,r7,13338
 	pseries_partition_tb[lpid].patb0 = cpu_to_be64(dw0);
-     820:	01 62 04 98 	stb     r0,25089(r4)
-     824:	6a cc 6a 01 	.long 0x16acc6a
-     828:	62 04 e0 6c 	xoris   r0,r7,1122
-     82c:	f8 6c 01 62 	ori     r1,r16,27896
-     830:	04 ec 6d b4 	sthu    r3,-5116(r13)
-     834:	6f 01 62 04 	.long 0x462016f
+     820:	25 31 1a 21 	subfic  r8,r26,12581
+     824:	91 e8 7e 06 	.long 0x67ee891
+     828:	20 0a 00 01 	.long 0x1000a20
+     82c:	1a 21 7b 00 	.long 0x7b211a
+     830:	21 70 00 21 	subfic  r8,r0,28705
+     834:	9f 04 c0 71 	andi.   r0,r14,1183
 	pseries_partition_tb[lpid].patb1 = cpu_to_be64(dw1);
-     838:	ec 6f d0 71 	andi.   r16,r14,28652
-     83c:	01 62 04 e4 	psq_lu  f0,513(r4),0,6
+     838:	f4 71 02 30 	addic   r0,r2,29172
+     83c:	9f 04 fc 71 	andi.   r28,r15,1183
 	kvmhv_flush_lpid(lpid);
-     840:	71 8c 72 01 	.long 0x1728c71
-     844:	62 04 cc 72 	andi.   r12,r22,1122
-     848:	bc 73 01 62 	ori     r1,r16,29628
-     84c:	04 c8 73 90 	stw     r3,-14332(r19)
-     850:	74 01 62 04 	.long 0x4620174
-     854:	b0 74 e8 74 	andis.  r8,r7,29872
-{
-     858:	01 62 04 a8 	lha     r0,25089(r4)
-     85c:	75 c8 75 01 	.long 0x175c875
-     860:	62 00 01 00 	.long 0x10062
-	...
-     87c:	02 00 00 00 	.long 0x2
-	...
+     840:	bc 72 02 30 	addic   r0,r2,29372
+     844:	9f 04 a0 73 	andi.   r0,r29,1183
+     848:	c8 73 02 30 	addic   r0,r2,29640
+     84c:	9f 04 e4 73 	andi.   r4,r31,1183
+     850:	c4 74 02 30 	addic   r0,r2,29892
+     854:	9f 04 d8 74 	andis.  r24,r6,1183
+{
+     858:	f0 74 02 30 	addic   r0,r2,29936
+     85c:	9f 04 98 75 	andis.  r24,r12,1183
+     860:	b8 75 02 30 	addic   r0,r2,30136
+     864:	9f 00 00 00 	.long 0x9f
+     868:	00 00 00 00 	.long 0x0
+     86c:	00 00 00 02 	.long 0x2000000
+	...
+     878:	00 00 04 dc 	stfdu   f0,0(r4)
+     87c:	65 c0 68 01 	.long 0x168c065
+     880:	62 04 88 6a 	xori    r8,r20,1122
+     884:	bc 6a 01 62 	ori     r1,r16,27324
+     888:	04 d0 6c e8 	ld      r3,-12284(r12)
+	struct kvm *kvm = gp->l1_host;
+     88c:	6c 01 62 04 	.long 0x462016c
 	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
-     890:	00 00 04 a0 	lhz     r0,0(r4)
+     890:	dc 6d a4 6f 	xoris   r4,r29,28124
 {
-     894:	64 90 65 08 	tdi     3,r5,-28572
-     898:	8e 00 08 20 	subfic  r0,r8,142
-     89c:	24 30 2e 9f 	stbu    r25,12324(r14)
+     894:	01 62 04 dc 	stfdu   f0,25089(r4)
+     898:	6f c0 71 01 	.long 0x171c06f
+     89c:	62 04 d4 71 	andi.   r20,r14,1122
 	struct patb_entry ptbl_entry;
-     8a0:	04 90 65 9c 	stbu    r3,-28668(r5)
-     8a4:	65 0c 8d 00 	.long 0x8d0c65
+     8a0:	fc 71 01 62 	ori     r1,r16,29180
+     8a4:	04 bc 72 ac 	lhau    r3,-17404(r18)
 	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
-     8a8:	40 45 24 1a 	lxvp    vs48,17728(r4)
+     8a8:	73 01 62 04 	.long 0x4620173
 	if (gp->l1_lpid < (1ul << ((kvm->arch.l1_ptcr & PRTS_MASK) + 12 - 4))) {
-     8ac:	08 20 24 30 	addic   r1,r4,8200
-     8b0:	2e 9f 04 9c 	stbu    r0,-24786(r4)
-     8b4:	65 e4 65 08 	tdi     3,r5,-7067
-     8b8:	8e 00 08 20 	subfic  r0,r8,142
-     8bc:	24 30 2e 9f 	stbu    r25,12324(r14)
+     8ac:	b8 73 80 74 	andis.  r0,r4,29624
+     8b0:	01 62 04 a0 	lhz     r0,25089(r4)
+     8b4:	74 d8 74 01 	.long 0x174d874
+     8b8:	62 04 98 75 	andis.  r24,r12,1122
+     8bc:	b8 75 01 62 	ori     r1,r16,30136
 		gp->process_table = 0;
-     8c0:	04 e4 65 8c 	lbzu    r3,-7164(r5)
-		gp->l1_gr_to_hr = 0;
-     8c4:	66 0c 8d 00 	.long 0x8d0c66
-		__pa(gp->shadow_pgtable) | RADIX_PGD_INDEX_SIZE;
-     8c8:	40 45 24 1a 	lxvp    vs48,17728(r4)
-	dw0 = PATB_HR | radix__get_tree_size() |
-     8cc:	08 20 24 30 	addic   r1,r4,8200
-	kvmhv_set_ptbl_entry(gp->shadow_lpid, dw0, gp->process_table);
-     8d0:	2e 9f 04 d0 	stfs    f0,-24786(r4)
-     8d4:	68 d4 68 08 	tdi     3,r8,-11160
-     8d8:	8e 00 08 20 	subfic  r0,r8,142
-	dw0 = PATB_HR | radix__get_tree_size() |
-     8dc:	24 30 2e 9f 	stbu    r25,12324(r14)
-		__pa(gp->shadow_pgtable) | RADIX_PGD_INDEX_SIZE;
-     8e0:	04 d4 68 98 	stb     r3,-11260(r8)
-	dw0 = PATB_HR | radix__get_tree_size() |
-     8e4:	69 0c 8d 00 	.long 0x8d0c69
+     8c0:	00 01 00 00 	.long 0x100
+	...
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, dw0, gp->process_table);
-     8e8:	40 45 24 1a 	lxvp    vs48,17728(r4)
-     8ec:	08 20 24 30 	addic   r1,r4,8200
+     8d8:	00 00 00 02 	.long 0x2000000
+	...
 }
-     8f0:	2e 9f 04 80 	lwz     r0,-24786(r4)
-     8f4:	6a 98 6a 08 	tdi     3,r10,-26518
-     8f8:	8e 00 08 20 	subfic  r0,r8,142
-     8fc:	24 30 2e 9f 	stbu    r25,12324(r14)
-     900:	04 e8 6a 9c 	stbu    r3,-6140(r10)
-     904:	6b 08 8e 00 	.long 0x8e086b
-     908:	08 20 24 30 	addic   r1,r4,8200
-     90c:	2e 9f 04 9c 	stbu    r0,-24786(r4)
-     910:	6b e0 6c 0c 	twi     3,r12,-8085
-     914:	8d 00 40 45 	.long 0x4540008d
-     918:	24 1a 08 20 	subfic  r0,r8,6692
-     91c:	24 30 2e 9f 	stbu    r25,12324(r14)
-     920:	04 98 6d a4 	lhzu    r3,-26620(r13)
-     924:	6d 08 8e 00 	.long 0x8e086d
-     928:	08 20 24 30 	addic   r1,r4,8200
-     92c:	2e 9f 04 a4 	lhzu    r0,-24786(r4)
+     8f0:	00 04 90 64 	oris    r16,r4,1024
+     8f4:	80 65 08 8e 	lbzu    r16,25984(r8)
+     8f8:	00 08 20 24 	dozi    r1,r0,2048
+     8fc:	30 2e 9f 04 	.long 0x49f2e30
+     900:	80 65 8c 65 	oris    r12,r12,25984
+     904:	0c 8d 00 40 	bdnzf   lt,ffffffffffff9610 <kvmhv_nested_next_lpid+0xffffffffffff5b48>
+     908:	45 24 1a 08 	tdi     0,r26,9285
+     90c:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     910:	9f 04 8c 65 	oris    r12,r12,1183
+     914:	d4 65 08 8e 	lbzu    r16,26068(r8)
+     918:	00 08 20 24 	dozi    r1,r0,2048
+     91c:	30 2e 9f 04 	.long 0x49f2e30
+     920:	d4 65 fc 65 	oris    r28,r15,26068
+     924:	0c 8d 00 40 	bdnzf   lt,ffffffffffff9630 <kvmhv_nested_next_lpid+0xffffffffffff5b68>
+     928:	45 24 1a 08 	tdi     0,r26,9285
+     92c:	20 24 30 2e 	cmpdi   cr4,r16,9248
 		int srcu_idx = srcu_read_lock(&kvm->srcu);
-     930:	6d b4 6d 0c 	twi     3,r13,-19347
-     934:	8d 00 40 45 	.long 0x4540008d
+     930:	9f 04 c0 68 	xori    r0,r6,1183
+     934:	c4 68 08 8e 	lbzu    r16,26820(r8)
 	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
-     938:	24 1a 08 20 	subfic  r0,r8,6692
-     93c:	24 30 2e 9f 	stbu    r25,12324(r14)
+     938:	00 08 20 24 	dozi    r1,r0,2048
+     93c:	30 2e 9f 04 	.long 0x49f2e30
 	retval = __srcu_read_lock(ssp);
-     940:	04 b4 6d ec 	dsub    f3,f13,f22
-     944:	6d 08 8e 00 	.long 0x8e086d
-     948:	08 20 24 30 	addic   r1,r4,8200
-     94c:	2e 9f 04 b4 	sthu    r0,-24786(r4)
-     950:	6f d4 6f 0c 	twi     3,r15,-11153
+     940:	c4 68 88 69 	xori    r8,r12,26820
+     944:	0c 8d 00 40 	bdnzf   lt,ffffffffffff9650 <kvmhv_nested_next_lpid+0xffffffffffff5b88>
+     948:	45 24 1a 08 	tdi     0,r26,9285
+     94c:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     950:	9f 04 f0 69 	xori    r16,r15,1183
 		ret = kvm_read_guest(kvm, ptbl_addr,
-     954:	8d 00 40 45 	.long 0x4540008d
-     958:	24 1a 08 20 	subfic  r0,r8,6692
-     95c:	24 30 2e 9f 	stbu    r25,12324(r14)
-     960:	04 d0 71 d8 	stfd    f3,-12284(r17)
-     964:	71 08 8e 00 	.long 0x8e0871
-     968:	08 20 24 30 	addic   r1,r4,8200
-     96c:	2e 9f 04 d8 	stfd    f0,-24786(r4)
-     970:	71 e4 71 0c 	twi     3,r17,-7055
-	WARN_ON_ONCE(idx & ~0x1);
-     974:	8d 00 40 45 	.long 0x4540008d
-     978:	24 1a 08 20 	subfic  r0,r8,6692
-     97c:	24 30 2e 9f 	stbu    r25,12324(r14)
+     954:	88 6a 08 8e 	lbzu    r16,27272(r8)
+     958:	00 08 20 24 	dozi    r1,r0,2048
+     95c:	30 2e 9f 04 	.long 0x49f2e30
+     960:	d8 6a 8c 6b 	xori    r12,r28,27352
+     964:	08 8e 00 08 	tdi     0,r0,-29176
+     968:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     96c:	9f 04 8c 6b 	xori    r12,r28,1183
+     970:	d0 6c 0c 8d 	lbzu    r8,27856(r12)
+	WARN_ON_ONCE(idx & ~0x1);
+     974:	00 40 45 24 	dozi    r2,r5,16384
+     978:	1a 08 20 24 	dozi    r1,r0,2074
+     97c:	30 2e 9f 04 	.long 0x49f2e30
 	__srcu_read_unlock(ssp, idx);
-     980:	04 8c 72 ac 	lhau    r3,-29692(r18)
-     984:	72 0c 8d 00 	.long 0x8d0c72
-     988:	40 45 24 1a 	lxvp    vs48,17728(r4)
-     98c:	08 20 24 30 	addic   r1,r4,8200
+     980:	88 6d 94 6d 	xoris   r20,r12,28040
+     984:	08 8e 00 08 	tdi     0,r0,-29176
+     988:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     98c:	9f 04 94 6d 	xoris   r20,r12,1183
 	if (ret) {
-     990:	2e 9f 04 ac 	lhau    r0,-24786(r4)
-     994:	72 b4 72 08 	tdi     3,r18,-19342
-     998:	8e 00 08 20 	subfic  r0,r8,142
-     99c:	24 30 2e 9f 	stbu    r25,12324(r14)
+     990:	a4 6d 0c 8d 	lbzu    r8,28068(r12)
+     994:	00 40 45 24 	dozi    r2,r5,16384
+     998:	1a 08 20 24 	dozi    r1,r0,2074
+     99c:	30 2e 9f 04 	.long 0x49f2e30
 		gp->l1_gr_to_hr = be64_to_cpu(ptbl_entry.patb0);
-     9a0:	04 b4 72 bc 	stmw    r3,-19452(r18)
+     9a0:	a4 6d dc 6d 	xoris   r28,r14,28068
 		gp->process_table = be64_to_cpu(ptbl_entry.patb1);
-     9a4:	72 0c 8d 00 	.long 0x8d0c72
+     9a4:	08 8e 00 08 	tdi     0,r0,-29176
 		gp->l1_gr_to_hr = be64_to_cpu(ptbl_entry.patb0);
-     9a8:	40 45 24 1a 	lxvp    vs48,17728(r4)
+     9a8:	20 24 30 2e 	cmpdi   cr4,r16,9248
 		gp->process_table = be64_to_cpu(ptbl_entry.patb1);
-     9ac:	08 20 24 30 	addic   r1,r4,8200
-     9b0:	2e 9f 04 bc 	stmw    r0,-24786(r4)
-     9b4:	72 c4 72 08 	tdi     3,r18,-15246
-     9b8:	8e 00 08 20 	subfic  r0,r8,142
-     9bc:	24 30 2e 9f 	stbu    r25,12324(r14)
-	WARN_ON_ONCE(idx & ~0x1);
-     9c0:	04 c4 72 cc 	lfdu    f3,-15356(r18)
-     9c4:	72 0c 8d 00 	.long 0x8d0c72
-}
-     9c8:	40 45 24 1a 	lxvp    vs48,17728(r4)
-     9cc:	08 20 24 30 	addic   r1,r4,8200
-     9d0:	2e 9f 04 bc 	stmw    r0,-24786(r4)
-     9d4:	73 c8 73 0c 	twi     3,r19,-14221
-{
-     9d8:	8d 00 40 45 	.long 0x4540008d
-     9dc:	24 1a 08 20 	subfic  r0,r8,6692
-     9e0:	24 30 2e 9f 	stbu    r25,12324(r14)
-     9e4:	04 90 74 b0 	sth     r3,-28668(r20)
-     9e8:	74 08 8e 00 	.long 0x8e0874
-     9ec:	08 20 24 30 	addic   r1,r4,8200
-     9f0:	2e 9f 04 e8 	lwa     r0,-24788(r4)
-     9f4:	74 80 75 0c 	twi     3,r21,-32652
-     9f8:	8d 00 40 45 	.long 0x4540008d
+     9ac:	9f 04 a4 6f 	xoris   r4,r29,1183
+     9b0:	c4 6f 0c 8d 	lbzu    r8,28612(r12)
+     9b4:	00 40 45 24 	dozi    r2,r5,16384
+     9b8:	1a 08 20 24 	dozi    r1,r0,2074
+     9bc:	30 2e 9f 04 	.long 0x49f2e30
+	WARN_ON_ONCE(idx & ~0x1);
+     9c0:	c0 71 c8 71 	andi.   r8,r14,29120
+     9c4:	08 8e 00 08 	tdi     0,r0,-29176
+}
+     9c8:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     9cc:	9f 04 c8 71 	andi.   r8,r14,1183
+     9d0:	d4 71 0c 8d 	lbzu    r8,29140(r12)
+     9d4:	00 40 45 24 	dozi    r2,r5,16384
+{
+     9d8:	1a 08 20 24 	dozi    r1,r0,2074
+     9dc:	30 2e 9f 04 	.long 0x49f2e30
+     9e0:	fc 71 9c 72 	andi.   r28,r20,29180
+     9e4:	0c 8d 00 40 	bdnzf   lt,ffffffffffff96f0 <kvmhv_nested_next_lpid+0xffffffffffff5c28>
+     9e8:	45 24 1a 08 	tdi     0,r26,9285
+     9ec:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     9f0:	9f 04 9c 72 	andi.   r28,r20,1183
+     9f4:	a4 72 08 8e 	lbzu    r16,29348(r8)
+     9f8:	00 08 20 24 	dozi    r1,r0,2048
 	if (gp->shadow_pgtable) {
-     9fc:	24 1a 08 20 	subfic  r0,r8,6692
-     a00:	24 30 2e 9f 	stbu    r25,12324(r14)
-     a04:	04 a8 75 c8 	lfd     f3,-22524(r21)
+     9fc:	30 2e 9f 04 	.long 0x49f2e30
+     a00:	a4 72 ac 72 	andi.   r12,r21,29348
+     a04:	0c 8d 00 40 	bdnzf   lt,ffffffffffff9710 <kvmhv_nested_next_lpid+0xffffffffffff5c48>
 		kvmppc_free_pgtable_radix(kvm, gp->shadow_pgtable,
-     a08:	75 0c 8d 00 	.long 0x8d0c75
-     a0c:	40 45 24 1a 	lxvp    vs48,17728(r4)
-     a10:	08 20 24 30 	addic   r1,r4,8200
-     a14:	2e 9f 00 02 	.long 0x2009f2e
-	...
+     a08:	45 24 1a 08 	tdi     0,r26,9285
+     a0c:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     a10:	9f 04 ac 72 	andi.   r12,r21,1183
+     a14:	b4 72 08 8e 	lbzu    r16,29364(r8)
+		pgd_free(kvm->mm, gp->shadow_pgtable);
+     a18:	00 08 20 24 	dozi    r1,r0,2048
+     a1c:	30 2e 9f 04 	.long 0x49f2e30
 	free_page((unsigned long)pgd);
-     a20:	01 00 00 00 	.long 0x1
-     a24:	00 00 00 02 	.long 0x2000000
-     a28:	01 00 00 00 	.long 0x1
-	...
+     a20:	b4 72 bc 72 	andi.   r28,r21,29364
+     a24:	0c 8d 00 40 	bdnzf   lt,ffffffffffff9730 <kvmhv_nested_next_lpid+0xffffffffffff5c68>
+     a28:	45 24 1a 08 	tdi     0,r26,9285
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, 0, 0);
-     a34:	00 00 00 04 	.long 0x4000000
-     a38:	a0 64 b0 66 	oris    r16,r21,25760
+     a2c:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     a30:	9f 04 ac 73 	andi.   r12,r29,1183
+     a34:	b8 73 0c 8d 	lbzu    r8,29624(r12)
+     a38:	00 40 45 24 	dozi    r2,r5,16384
 	kvmppc_free_lpid(gp->shadow_lpid);
-     a3c:	02 30 9f 04 	.long 0x49f3002
-     a40:	b0 66 f8 67 	oris    r24,r31,26288
-     a44:	01 6e 04 d0 	stfs    f0,28161(r4)
+     a3c:	1a 08 20 24 	dozi    r1,r0,2074
+     a40:	30 2e 9f 04 	.long 0x49f2e30
+     a44:	80 74 a0 74 	andis.  r0,r5,29824
 	kfree(gp);
-     a48:	68 a8 69 02 	.long 0x269a868
-     a4c:	30 9f 04 80 	lwz     r0,-24784(r4)
-     a50:	6a c8 6a 02 	.long 0x26ac86a
-}
-     a54:	30 9f 04 e8 	ld      r0,-24784(r4)
-     a58:	6a f4 6c 02 	.long 0x26cf46a
-     a5c:	30 9f 04 98 	stb     r0,-24784(r4)
-     a60:	6d ec 6d 02 	.long 0x26dec6d
-     a64:	30 9f 04 b4 	sthu    r0,-24784(r4)
-     a68:	6f ec 6f 02 	.long 0x26fec6f
-     a6c:	30 9f 04 ec 	.long 0xec049f30
+     a48:	08 8e 00 08 	tdi     0,r0,-29176
+     a4c:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     a50:	9f 04 d8 74 	andis.  r24,r6,1183
+}
+     a54:	f0 74 0c 8d 	lbzu    r8,29936(r12)
+     a58:	00 40 45 24 	dozi    r2,r5,16384
+     a5c:	1a 08 20 24 	dozi    r1,r0,2074
+     a60:	30 2e 9f 04 	.long 0x49f2e30
+     a64:	98 75 b8 75 	andis.  r24,r13,30104
+     a68:	0c 8d 00 40 	bdnzf   lt,ffffffffffff9774 <kvmhv_nested_next_lpid+0xffffffffffff5cac>
+     a6c:	45 24 1a 08 	tdi     0,r26,9285
 	kmem_cache_free(PGT_CACHE(PGD_INDEX_SIZE), pgd);
-     a70:	6f 9c 70 01 	.long 0x1709c6f
-     a74:	6e 04 d0 71 	andi.   r16,r14,1134
-     a78:	84 72 02 30 	addic   r0,r2,29316
-     a7c:	9f 04 8c 72 	andi.   r12,r20,1183
-     a80:	cc 72 02 30 	addic   r0,r2,29388
-     a84:	9f 04 b0 73 	andi.   r16,r29,1183
-     a88:	bc 73 01 6e 	xoris   r1,r16,29628
-     a8c:	04 bc 73 d8 	stfd    f3,-17404(r19)
-     a90:	73 02 30 9f 	stbu    r25,627(r16)
-     a94:	04 90 74 b0 	sth     r3,-28668(r20)
+     a70:	20 24 30 2e 	cmpdi   cr4,r16,9248
+     a74:	9f 00 02 00 	.long 0x2009f
+     a78:	00 00 00 00 	.long 0x0
+     a7c:	00 00 00 01 	.long 0x1000000
+     a80:	00 00 00 00 	.long 0x0
+     a84:	00 00 02 01 	.long 0x1020000
+	...
+     a94:	00 00 04 90 	stw     r0,0(r4)
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, 0, 0);
-     a98:	74 02 30 9f 	stbu    r25,628(r16)
-     a9c:	04 b0 74 c0 	lfs     f3,-20476(r20)
-     aa0:	74 01 6e 04 	.long 0x46e0174
-     aa4:	e8 74 80 75 	andis.  r0,r12,29928
+     a98:	64 a0 66 02 	.long 0x266a064
+     a9c:	30 9f 04 a0 	lhz     r0,-24784(r4)
+     aa0:	66 e8 67 01 	.long 0x167e866
+     aa4:	6e 04 c0 68 	xori    r0,r6,1134
 	kvmppc_free_lpid(gp->shadow_lpid);
-     aa8:	02 30 9f 04 	.long 0x49f3002
-     aac:	a8 75 c8 75 	andis.  r8,r14,30120
-     ab0:	02 30 9f 00 	.long 0x9f3002
-	...
+     aa8:	98 69 02 30 	addic   r0,r2,27032
+     aac:	9f 04 f0 69 	xori    r16,r15,1183
+     ab0:	b8 6a 02 30 	addic   r0,r2,27320
 	kfree(gp);
-     abc:	00 02 00 0b 	tdnei   r0,512
-}
-     ac0:	0b 00 00 00 	.long 0xb
-	...
-     ad4:	00 00 04 90 	stw     r0,0(r4)
-     ad8:	65 9c 65 01 	.long 0x1659c65
-     adc:	53 04 d8 65 	oris    r24,r14,1107
-     ae0:	e4 65 02 30 	addic   r0,r2,26084
-     ae4:	9f 04 f8 67 	oris    r24,r31,1183
-static void kvmhv_emulate_tlbie_lpid(struct kvm_vcpu *vcpu,
-     ae8:	b8 68 01 53 	rlwimi  r1,r24,13,2,28
-     aec:	04 b8 68 d0 	stfs    f3,-18428(r8)
-     af0:	68 01 6e 04 	.long 0x46e0168
-     af4:	94 69 94 69 	xori    r20,r12,27028
-     af8:	02 32 9f 04 	.long 0x49f3202
-     afc:	90 6b b4 6c 	xoris   r20,r5,27536
-	mutex_lock(&gp->tlb_lock);
-     b00:	02 30 9f 04 	.long 0x49f3002
+     ab4:	9f 04 d8 6a 	xori    r24,r22,1183
+     ab8:	e4 6c 02 30 	addic   r0,r2,27876
+     abc:	9f 04 88 6d 	xoris   r8,r12,1183
+}
+     ac0:	dc 6d 02 30 	addic   r0,r2,28124
+     ac4:	9f 04 a4 6f 	xoris   r4,r29,1183
+     ac8:	dc 6f 02 30 	addic   r0,r2,28636
+     acc:	9f 04 dc 6f 	xoris   r28,r30,1183
+     ad0:	8c 70 01 6e 	xoris   r1,r16,28812
+     ad4:	04 c0 71 f4 	psq_stu f3,4(r17),1,4
+     ad8:	71 02 30 9f 	stbu    r25,625(r16)
+     adc:	04 fc 71 bc 	stmw    r3,-1020(r17)
+     ae0:	72 02 30 9f 	stbu    r25,626(r16)
+     ae4:	04 a0 73 ac 	lhau    r3,-24572(r19)
 static void kvmhv_emulate_tlbie_lpid(struct kvm_vcpu *vcpu,
-     b04:	b4 6c e0 6c 	xoris   r0,r7,27828
-     b08:	01 58 04 98 	stb     r0,22529(r4)
-     b0c:	6d b4 6d 02 	.long 0x26db46d
-     b10:	30 9f 04 9c 	stbu    r0,-24784(r4)
-     b14:	6f b4 6f 01 	.long 0x16fb46f
-     b18:	6e 04 b4 6f 	xoris   r20,r29,1134
-     b1c:	d4 6f 01 58 	rlmi    r1,r0,r13,31,10
+     ae8:	73 01 6e 04 	.long 0x46e0173
+     aec:	ac 73 c8 73 	andi.   r8,r30,29612
+     af0:	02 30 9f 04 	.long 0x49f3002
+     af4:	80 74 a0 74 	andis.  r0,r5,29824
+     af8:	02 30 9f 04 	.long 0x49f3002
+     afc:	a0 74 b0 74 	andis.  r16,r5,29856
 	mutex_lock(&gp->tlb_lock);
-     b20:	04 8c 72 ac 	lhau    r3,-29692(r18)
+     b00:	01 6e 04 d8 	stfd    f0,28161(r4)
 static void kvmhv_emulate_tlbie_lpid(struct kvm_vcpu *vcpu,
-     b24:	72 02 30 9f 	stbu    r25,626(r16)
-	mutex_lock(&gp->tlb_lock);
-     b28:	04 bc 73 c8 	lfd     f3,-17404(r19)
-     b2c:	73 02 30 9f 	stbu    r25,627(r16)
+     b04:	74 f0 74 02 	.long 0x274f074
+     b08:	30 9f 04 98 	stb     r0,-24784(r4)
+     b0c:	75 b8 75 02 	.long 0x275b875
+     b10:	30 9f 00 00 	.long 0x9f30
+	...
+     b1c:	02 00 0b 0b 	tdnei   r11,2
+	...
 	switch (ric) {
-     b30:	04 f4 73 88 	lbz     r3,-3068(r19)
-     b34:	74 01 53 04 	.long 0x4530174
-     b38:	88 74 90 74 	andis.  r16,r4,29832
-     b3c:	01 6e 04 c0 	lfs     f0,28161(r4)
+     b34:	00 04 80 65 	oris    r0,r12,1024
+     b38:	8c 65 01 53 	rlwimi  r1,r24,12,22,6
+     b3c:	04 c8 65 d4 	stfsu   f3,-14332(r5)
 	struct kvm *kvm = gp->l1_host;
-     b40:	74 c8 74 01 	.long 0x174c874
-     b44:	53 04 c8 74 	andis.  r8,r6,1107
-     b48:	d4 74 01 6e 	xoris   r1,r16,29908
-     b4c:	04 e8 74 80 	lwz     r3,-6140(r20)
+     b40:	65 02 30 9f 	stbu    r25,613(r16)
+     b44:	04 e8 67 a8 	lha     r3,-6140(r7)
+     b48:	68 01 53 04 	.long 0x4530168
+     b4c:	a8 68 c0 68 	xori    r0,r6,26792
 	kvmppc_free_pgtable_radix(kvm, gp->shadow_pgtable, gp->shadow_lpid);
-     b50:	75 02 30 9f 	stbu    r25,629(r16)
-     b54:	00 02 00 00 	attn
-     b58:	00 00 00 00 	.long 0x0
-     b5c:	00 00 00 02 	.long 0x2000000
-     b60:	00 00 00 00 	.long 0x0
+     b50:	01 6e 04 84 	lwzu    r0,28161(r4)
+     b54:	69 84 69 02 	.long 0x2698469
+     b58:	32 9f 04 80 	lwz     r0,-24782(r4)
+     b5c:	6b a4 6c 02 	.long 0x26ca46b
+     b60:	30 9f 04 a4 	lhzu    r0,-24784(r4)
 	if (unlikely(ms->mmiowb_pending)) {
-     b64:	00 04 c8 64 	oris    r8,r6,1024
+     b64:	6c d0 6c 01 	.long 0x16cd06c
 	struct mmiowb_state *ms = __mmiowb_state();
-     b68:	88 65 01 6a 	xori    r1,r16,25992
+     b68:	58 04 88 6d 	xoris   r8,r12,1112
 	if (unlikely(ms->mmiowb_pending)) {
-     b6c:	04 9c 65 d8 	stfd    f3,-25596(r5)
-     b70:	65 01 6a 04 	.long 0x46a0165
+     b6c:	a4 6d 02 30 	addic   r0,r2,28068
+     b70:	9f 04 8c 6f 	xoris   r12,r28,1183
 	ms->nesting_count--;
-     b74:	d0 68 94 69 	xori    r20,r12,26832
-     b78:	01 6a 04 e8 	ldu     r0,27136(r4)
-     b7c:	6a 90 6b 01 	.long 0x16b906a
-     b80:	6a 04 b4 6d 	xoris   r20,r13,1130
-     b84:	ec 6d 01 6a 	xori    r1,r16,28140
-     b88:	04 d0 71 e4 	psq_lu  f3,4(r17),1,5
+     b74:	a4 6f 01 6e 	xoris   r1,r16,28580
+     b78:	04 a4 6f c4 	lfsu    f3,-23548(r15)
+     b7c:	6f 01 58 04 	.long 0x458016f
+     b80:	fc 71 9c 72 	andi.   r28,r20,29180
+     b84:	02 30 9f 04 	.long 0x49f3002
+     b88:	ac 73 b8 73 	andi.   r24,r29,29612
 	kvmhv_flush_lpid(gp->shadow_lpid);
-     b8c:	71 01 6a 04 	.long 0x46a0171
-     b90:	ac 72 cc 72 	andi.   r12,r22,29356
+     b8c:	02 30 9f 04 	.long 0x49f3002
+     b90:	e4 73 f8 73 	andi.   r24,r31,29668
 	kvmhv_update_ptbl_cache(gp);
-     b94:	01 6a 04 90 	stw     r0,27137(r4)
-     b98:	74 b0 74 01 	.long 0x174b074
+     b94:	01 53 04 f8 	stdu    r0,21248(r4)
+     b98:	73 80 74 01 	.long 0x1748073
 	if (gp->l1_gr_to_hr == 0)
-     b9c:	6a 00 01 00 	.long 0x1006a
-	...
+     b9c:	6e 04 b0 74 	andis.  r16,r5,1134
+     ba0:	b8 74 01 53 	rlwimi  r1,r24,14,18,28
+     ba4:	04 b8 74 c4 	lfsu    f3,-18428(r20)
 	mutex_unlock(&gp->tlb_lock);
-     bac:	02 00 00 00 	.long 0x2
-     bb0:	00 00 04 c8 	lfd     f0,0(r4)
-}
-     bb4:	64 d0 64 04 	.long 0x464d064
-     bb8:	91 c0 7e 9f 	stbu    r27,-16239(r30)
-     bbc:	04 d0 64 e7 	psq_lu  f27,4(r4),1,5
-     bc0:	64 01 55 04 	.long 0x4550164
-     bc4:	e7 64 88 65 	oris    r8,r12,25831
-     bc8:	04 91 c0 7e 	.long 0x7ec09104
-     bcc:	9f 04 9c 65 	oris    r28,r12,1183
-     bd0:	d8 65 04 91 	stw     r8,26072(r4)
-     bd4:	c0 7e 9f 04 	.long 0x49f7ec0
-     bd8:	d0 68 94 69 	xori    r20,r12,26832
-     bdc:	04 91 c0 7e 	.long 0x7ec09104
-     be0:	9f 04 e8 6a 	xori    r8,r23,1183
-     be4:	90 6b 04 91 	stw     r8,27536(r4)
-     be8:	c0 7e 9f 04 	.long 0x49f7ec0
+     ba8:	74 01 6e 04 	.long 0x46e0174
+     bac:	d8 74 f0 74 	andis.  r16,r7,29912
+     bb0:	02 30 9f 00 	.long 0x9f3002
+}
+     bb4:	02 00 00 00 	.long 0x2
+     bb8:	00 00 00 00 	.long 0x0
+     bbc:	00 00 02 00 	.long 0x20000
+     bc0:	00 00 00 00 	.long 0x0
+     bc4:	04 b8 64 f8 	std     r3,-18428(r4)
+     bc8:	64 01 6a 04 	.long 0x46a0164
+     bcc:	8c 65 c8 65 	oris    r8,r14,25996
+     bd0:	01 6a 04 c0 	lfs     f0,27137(r4)
+     bd4:	68 84 69 01 	.long 0x1698468
+     bd8:	6a 04 d8 6a 	xori    r24,r22,1130
+     bdc:	80 6b 01 6a 	xori    r1,r16,27520
+     be0:	04 a4 6d dc 	stfdu   f3,-23548(r13)
+     be4:	6d 01 6a 04 	.long 0x46a016d
+     be8:	c0 71 d4 71 	andi.   r20,r14,29120
 		kvmppc_free_pgtable_radix(kvm, gp->shadow_pgtable,
-     bec:	b4 6d ec 6d 	xoris   r12,r15,28084
-     bf0:	04 91 c0 7e 	.long 0x7ec09104
-     bf4:	9f 04 d0 71 	andi.   r16,r14,1183
-     bf8:	e4 71 04 91 	stw     r8,29156(r4)
-     bfc:	c0 7e 9f 04 	.long 0x49f7ec0
-		kvmhv_flush_lpid(gp->shadow_lpid);
-     c00:	ac 72 cc 72 	andi.   r12,r22,29356
-     c04:	04 91 c0 7e 	.long 0x7ec09104
+     bec:	01 6a 04 9c 	stbu    r0,27137(r4)
+     bf0:	72 bc 72 01 	.long 0x172bc72
+     bf4:	6a 04 80 74 	andis.  r0,r4,1130
+     bf8:	a0 74 01 6a 	xori    r1,r16,29856
+     bfc:	00 01 00 00 	.long 0x100
+	...
 	if (unlikely(ms->mmiowb_pending)) {
-     c08:	9f 04 90 74 	andis.  r16,r4,1183
+     c08:	00 00 00 02 	.long 0x2000000
 	struct mmiowb_state *ms = __mmiowb_state();
-     c0c:	b0 74 04 91 	stw     r8,29872(r4)
+     c0c:	00 00 00 00 	.long 0x0
 	if (unlikely(ms->mmiowb_pending)) {
-     c10:	c0 7e 9f 00 	.long 0x9f7ec0
-     c14:	01 00 00 00 	.long 0x1
+     c10:	00 04 b8 64 	oris    r24,r5,1024
+     c14:	c0 64 04 91 	stw     r8,25792(r4)
 	ms->nesting_count--;
-     c18:	00 00 00 00 	.long 0x0
-     c1c:	00 00 02 00 	.long 0x20000
-     c20:	00 00 00 00 	.long 0x0
-     c24:	04 c8 64 88 	lbz     r3,-14332(r4)
-     c28:	65 09 8d 00 	.long 0x8d0965
-     c2c:	0c ff ff ff 	.long 0xffffff0c
+     c18:	c0 7e 9f 04 	.long 0x49f7ec0
+     c1c:	c0 64 d7 64 	oris    r23,r6,25792
+     c20:	01 55 04 d7 	stfsu   f24,21761(r4)
+     c24:	64 f8 64 04 	.long 0x464f864
+     c28:	91 c0 7e 9f 	stbu    r27,-16239(r30)
+     c2c:	04 8c 65 c8 	lfd     f3,-29692(r5)
 	mutex_unlock(&gp->tlb_lock);
-     c30:	ff 1a 9f 04 	.long 0x49f1aff
-     c34:	9c 65 d8 65 	oris    r24,r14,26012
-     c38:	09 8d 00 0c 	twi     0,r0,-29431
-}
-     c3c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-     c40:	1a 9f 04 d0 	stfs    f0,-24806(r4)
-     c44:	68 94 69 09 	tdi     11,r9,-27544
-     c48:	8d 00 0c ff 	.long 0xff0c008d
-     c4c:	ff ff ff 1a 	.long 0x1affffff
-     c50:	9f 04 e8 6a 	xori    r8,r23,1183
-     c54:	90 6b 09 8d 	lbzu    r8,27536(r9)
-     c58:	00 0c ff ff 	.long 0xffff0c00
-     c5c:	ff ff 1a 9f 	stbu    r24,-1(r26)
+     c30:	65 04 91 c0 	lfs     f4,1125(r17)
+     c34:	7e 9f 04 c0 	lfs     f0,-24706(r4)
+     c38:	68 84 69 04 	.long 0x4698468
+}
+     c3c:	91 c0 7e 9f 	stbu    r27,-16239(r30)
+     c40:	04 d8 6a 80 	lwz     r3,-10236(r10)
+     c44:	6b 04 91 c0 	lfs     f4,1131(r17)
+     c48:	7e 9f 04 a4 	lhzu    r0,-24706(r4)
+     c4c:	6d dc 6d 04 	.long 0x46ddc6d
+     c50:	91 c0 7e 9f 	stbu    r27,-16239(r30)
+     c54:	04 c0 71 d4 	stfsu   f3,-16380(r17)
+     c58:	71 04 91 c0 	lfs     f4,1137(r17)
+     c5c:	7e 9f 04 9c 	stbu    r0,-24706(r4)
 	struct kvm *kvm = gp->l1_host;
-     c60:	04 b4 6d ec 	dsub    f3,f13,f22
-     c64:	6d 09 8d 00 	.long 0x8d096d
+     c60:	72 bc 72 04 	.long 0x472bc72
+     c64:	91 c0 7e 9f 	stbu    r27,-16239(r30)
 	int lpid = gp->l1_lpid;
-     c68:	0c ff ff ff 	.long 0xffffff0c
-     c6c:	ff 1a 9f 04 	.long 0x49f1aff
+     c68:	04 80 74 a0 	lhz     r3,-32764(r20)
+     c6c:	74 04 91 c0 	lfs     f4,1140(r17)
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-     c70:	d0 71 e4 71 	andi.   r4,r15,29136
-     c74:	09 8d 00 0c 	twi     0,r0,-29431
-     c78:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-     c7c:	1a 9f 04 ac 	lhau    r0,-24806(r4)
-     c80:	72 cc 72 09 	tdi     11,r18,-13198
-     c84:	8d 00 0c ff 	.long 0xff0c008d
-     c88:	ff ff ff 1a 	.long 0x1affffff
-     c8c:	9f 04 90 74 	andis.  r16,r4,1183
+     c70:	7e 9f 00 01 	.long 0x1009f7e
+	...
+     c7c:	00 02 00 00 	attn
+     c80:	00 00 00 04 	.long 0x4000000
+     c84:	b8 64 f8 64 	oris    r24,r7,25784
+     c88:	09 8d 00 0c 	twi     0,r0,-29431
+     c8c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
 	if (gp == __find_nested(kvm, lpid)) {
-     c90:	b0 74 09 8d 	lbzu    r8,29872(r9)
-     c94:	00 0c ff ff 	.long 0xffff0c00
+     c90:	1a 9f 04 8c 	lbzu    r0,-24806(r4)
+     c94:	65 c8 65 09 	tdi     11,r5,-14235
 	ref = gp->refcnt;
-     c98:	ff ff 1a 9f 	stbu    r24,-1(r26)
+     c98:	8d 00 0c ff 	.long 0xff0c008d
 	if (unlikely(ms->mmiowb_pending)) {
-     c9c:	00 01 00 00 	.long 0x100
+     c9c:	ff ff ff 1a 	.long 0x1affffff
 	struct mmiowb_state *ms = __mmiowb_state();
-     ca0:	00 00 00 00 	.long 0x0
+     ca0:	9f 04 c0 68 	xori    r0,r6,1183
 	if (unlikely(ms->mmiowb_pending)) {
-     ca4:	00 00 00 02 	.long 0x2000000
-     ca8:	00 00 00 00 	.long 0x0
+     ca4:	84 69 09 8d 	lbzu    r8,27012(r9)
+     ca8:	00 0c ff ff 	.long 0xffff0c00
 	ms->nesting_count--;
-     cac:	00 04 c8 64 	oris    r8,r6,1024
-     cb0:	88 65 01 6b 	xori    r1,r24,25992
-     cb4:	04 9c 65 d8 	stfd    f3,-25596(r5)
-     cb8:	65 01 6b 04 	.long 0x46b0165
-     cbc:	d0 68 94 69 	xori    r20,r12,26832
-     cc0:	01 6b 04 e8 	ldu     r0,27392(r4)
+     cac:	ff ff 1a 9f 	stbu    r24,-1(r26)
+     cb0:	04 d8 6a 80 	lwz     r3,-10236(r10)
+     cb4:	6b 09 8d 00 	.long 0x8d096b
+     cb8:	0c ff ff ff 	.long 0xffffff0c
+     cbc:	ff 1a 9f 04 	.long 0x49f1aff
+     cc0:	a4 6d dc 6d 	xoris   r28,r14,28068
 	if (ref == 0)
-     cc4:	6a 90 6b 01 	.long 0x16b906a
-     cc8:	6b 04 b4 6d 	xoris   r20,r13,1131
-     ccc:	ec 6d 01 6b 	xori    r1,r24,28140
-     cd0:	04 d0 71 e4 	psq_lu  f3,4(r17),1,5
-     cd4:	71 01 6b 04 	.long 0x46b0171
-     cd8:	ac 72 cc 72 	andi.   r12,r22,29356
-     cdc:	01 6b 04 90 	stw     r0,27393(r4)
+     cc4:	09 8d 00 0c 	twi     0,r0,-29431
+     cc8:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+     ccc:	1a 9f 04 c0 	lfs     f0,-24806(r4)
+     cd0:	71 d4 71 09 	tdi     11,r17,-11151
+     cd4:	8d 00 0c ff 	.long 0xff0c008d
+     cd8:	ff ff ff 1a 	.long 0x1affffff
+     cdc:	9f 04 9c 72 	andi.   r28,r20,1183
 		ms->mmiowb_pending = 0;
-     ce0:	74 b0 74 01 	.long 0x174b074
-     ce4:	6b 00 01 00 	.long 0x1006b
-	...
+     ce0:	bc 72 09 8d 	lbzu    r8,29372(r9)
+     ce4:	00 0c ff ff 	.long 0xffff0c00
+		mmiowb();
+     ce8:	ff ff 1a 9f 	stbu    r24,-1(r26)
+     cec:	04 80 74 a0 	lhz     r3,-32764(r20)
 		kvmhv_release_nested(gp);
-     cf0:	02 00 00 00 	.long 0x2
-     cf4:	00 00 04 c8 	lfd     f0,0(r4)
-     cf8:	64 88 65 01 	.long 0x1658864
-     cfc:	6f 04 9c 65 	oris    r28,r12,1135
-     d00:	d8 65 01 6f 	xoris   r1,r24,26072
+     cf0:	74 09 8d 00 	.long 0x8d0974
+     cf4:	0c ff ff ff 	.long 0xffffff0c
+     cf8:	ff 1a 9f 00 	.long 0x9f1aff
+     cfc:	01 00 00 00 	.long 0x1
+		ms->mmiowb_pending = 0;
+     d00:	00 00 00 00 	.long 0x0
 		mmiowb();
-     d04:	04 d0 68 94 	stwu    r3,-12284(r8)
-     d08:	69 01 6f 04 	.long 0x46f0169
-     d0c:	e8 6a 90 6b 	xori    r16,r28,27368
+     d04:	00 00 02 00 	.long 0x20000
+     d08:	00 00 00 00 	.long 0x0
+     d0c:	04 b8 64 f8 	std     r3,-18428(r4)
 	idr_remove(&kvm->arch.kvm_nested_guest_idr, lpid);
-     d10:	01 6f 04 b4 	sthu    r0,28417(r4)
-     d14:	6d ec 6d 01 	.long 0x16dec6d
-     d18:	6f 04 d0 71 	andi.   r16,r14,1135
-     d1c:	e4 71 01 6f 	xoris   r1,r24,29156
+     d10:	64 01 6b 04 	.long 0x46b0164
+     d14:	8c 65 c8 65 	oris    r8,r14,25996
+     d18:	01 6b 04 c0 	lfs     f0,27393(r4)
+     d1c:	68 84 69 01 	.long 0x1698468
 		--gp->refcnt;
-     d20:	04 ac 72 cc 	lfdu    f3,-21500(r18)
-     d24:	72 01 6f 04 	.long 0x46f0172
-     d28:	90 74 b0 74 	andis.  r16,r5,29840
-     d2c:	01 6f 00 00 	.long 0x6f01
-	...
-     d3c:	00 00 00 02 	.long 0x2000000
-	...
-{
-     d50:	00 00 00 04 	.long 0x4000000
-     d54:	e0 64 88 65 	oris    r8,r12,25824
-     d58:	09 8e 00 0c 	twi     0,r0,-29175
-     d5c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-     d60:	1a 9f 04 9c 	stbu    r0,-24806(r4)
-     d64:	65 d8 65 09 	tdi     11,r5,-10139
-     d68:	8e 00 0c ff 	.long 0xff0c008e
-     d6c:	ff ff ff 1a 	.long 0x1affffff
-     d70:	9f 04 d0 68 	xori    r16,r6,1183
-     d74:	d4 68 09 8e 	lbzu    r16,26836(r9)
-     d78:	00 0c ff ff 	.long 0xffff0c00
+     d20:	6b 04 d8 6a 	xori    r24,r22,1131
+     d24:	80 6b 01 6b 	xori    r1,r24,27520
+     d28:	04 a4 6d dc 	stfdu   f3,-23548(r13)
+     d2c:	6d 01 6b 04 	.long 0x46b016d
+		ms->mmiowb_pending = 0;
+     d30:	c0 71 d4 71 	andi.   r20,r14,29120
+     d34:	01 6b 04 9c 	stbu    r0,27393(r4)
+		mmiowb();
+     d38:	72 bc 72 01 	.long 0x172bc72
+     d3c:	6b 04 80 74 	andis.  r0,r4,1131
+     d40:	a0 74 01 6b 	xori    r1,r24,29856
+     d44:	00 01 00 00 	.long 0x100
+{
+     d48:	00 00 00 00 	.long 0x0
+     d4c:	00 00 00 02 	.long 0x2000000
+     d50:	00 00 00 00 	.long 0x0
+     d54:	00 04 b8 64 	oris    r24,r5,1024
+     d58:	f8 64 01 6f 	xoris   r1,r24,25848
+     d5c:	04 8c 65 c8 	lfd     f3,-29692(r5)
+     d60:	65 01 6f 04 	.long 0x46f0165
+     d64:	c0 68 84 69 	xori    r4,r12,26816
+     d68:	01 6f 04 d8 	stfd    f0,28417(r4)
+     d6c:	6a 80 6b 01 	.long 0x16b806a
+     d70:	6f 04 a4 6d 	xoris   r4,r13,1135
+     d74:	dc 6d 01 6f 	xoris   r1,r24,28124
+     d78:	04 c0 71 d4 	stfsu   f3,-16380(r17)
 	struct kvm *kvm = vcpu->kvm;
-     d7c:	ff ff 1a 9f 	stbu    r24,-1(r26)
-     d80:	04 d4 68 ec 	dsub    f3,f8,f26
+     d7c:	71 01 6f 04 	.long 0x46f0171
+     d80:	9c 72 bc 72 	andi.   r28,r21,29340
 	srcu_idx = srcu_read_lock(&kvm->srcu);
-     d84:	68 0d 8d 00 	.long 0x8d0d68
+     d84:	01 6f 04 80 	lwz     r0,28417(r4)
 	retval = __srcu_read_lock(ssp);
-     d88:	40 45 24 1a 	lxvp    vs48,17728(r4)
-     d8c:	0c ff ff ff 	.long 0xffffff0c
-     d90:	ff 1a 9f 04 	.long 0x49f1aff
-	if ((ptcr & PRTS_MASK) + 12 - 4 > KVM_MAX_NESTED_GUESTS_SHIFT ||
-     d94:	ec 68 94 69 	xori    r20,r12,26860
-     d98:	01 58 04 e8 	ldu     r0,22528(r4)
-     d9c:	6a 90 6b 09 	tdi     11,r11,-28566
-     da0:	8e 00 0c ff 	.long 0xff0c008e
-     da4:	ff ff ff 1a 	.long 0x1affffff
+     d88:	74 a0 74 01 	.long 0x174a074
+     d8c:	6f 00 00 00 	.long 0x6f
+	...
+     d9c:	00 00 02 00 	.long 0x20000
+	...
 	    !kvm_is_visible_gfn(vcpu->kvm, (ptcr & PRTB_MASK) >> PAGE_SHIFT))
-     da8:	9f 04 b4 6d 	xoris   r20,r13,1183
-     dac:	c8 6d 09 8e 	lbzu    r16,28104(r9)
-     db0:	00 0c ff ff 	.long 0xffff0c00
-     db4:	ff ff 1a 9f 	stbu    r24,-1(r26)
+     db0:	00 00 04 d0 	stfs    f0,0(r4)
+     db4:	64 f8 64 09 	tdi     11,r4,-1948
 	if ((ptcr & PRTS_MASK) + 12 - 4 > KVM_MAX_NESTED_GUESTS_SHIFT ||
-     db8:	04 c8 6d ec 	dadd    f3,f13,f25
-     dbc:	6d 04 40 48 	bl      401228 <kvmhv_nested_next_lpid+0x3fd750>
+     db8:	8e 00 0c ff 	.long 0xff0c008e
+     dbc:	ff ff ff 1a 	.long 0x1affffff
 	WARN_ON_ONCE(idx & ~0x1);
-     dc0:	24 9f 04 d0 	stfs    f0,-24796(r4)
-     dc4:	71 d8 71 09 	tdi     11,r17,-10127
+     dc0:	9f 04 8c 65 	oris    r12,r12,1183
+     dc4:	c8 65 09 8e 	lbzu    r16,26056(r9)
 	__srcu_read_unlock(ssp, idx);
-     dc8:	8e 00 0c ff 	.long 0xff0c008e
-     dcc:	ff ff ff 1a 	.long 0x1affffff
-     dd0:	9f 04 d8 71 	andi.   r24,r14,1183
-     dd4:	dc 71 0d 8d 	lbzu    r8,29148(r13)
+     dc8:	00 0c ff ff 	.long 0xffff0c00
+     dcc:	ff ff 1a 9f 	stbu    r24,-1(r26)
+     dd0:	04 c0 68 c4 	lfsu    f3,-16380(r8)
+     dd4:	68 09 8e 00 	.long 0x8e0968
 		kvm->arch.l1_ptcr = ptcr;
-     dd8:	00 40 45 24 	dozi    r2,r5,16384
-     ddc:	1a 0c ff ff 	.long 0xffff0c1a
+     dd8:	0c ff ff ff 	.long 0xffffff0c
+     ddc:	ff 1a 9f 04 	.long 0x49f1aff
 }
-     de0:	ff ff 1a 9f 	stbu    r24,-1(r26)
-     de4:	04 dc 71 e4 	psq_lu  f3,-1020(r17),1,5
-     de8:	71 01 58 04 	.long 0x4580171
-     dec:	ac 72 b4 72 	andi.   r20,r21,29356
-     df0:	09 8e 00 0c 	twi     0,r0,-29175
-     df4:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-     df8:	1a 9f 04 b4 	sthu    r0,-24806(r4)
-     dfc:	72 b8 72 0d 	twi     11,r18,-18318
-     e00:	8d 00 40 45 	.long 0x4540008d
-     e04:	24 1a 0c ff 	.long 0xff0c1a24
-     e08:	ff ff ff 1a 	.long 0x1affffff
-     e0c:	9f 04 b8 72 	andi.   r24,r21,1183
+     de0:	c4 68 dc 68 	xori    r28,r6,26820
+     de4:	0d 8d 00 40 	bdnzfl  lt,ffffffffffff9af0 <kvmhv_nested_next_lpid+0xffffffffffff6028>
+     de8:	45 24 1a 0c 	twi     0,r26,9285
+     dec:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+     df0:	1a 9f 04 dc 	stfdu   f0,-24806(r4)
+     df4:	68 84 69 01 	.long 0x1698468
+     df8:	58 04 d8 6a 	xori    r24,r22,1112
+     dfc:	80 6b 09 8e 	lbzu    r16,27520(r9)
+     e00:	00 0c ff ff 	.long 0xffff0c00
+     e04:	ff ff 1a 9f 	stbu    r24,-1(r26)
+     e08:	04 a4 6d b8 	lm      r3,-23548(r13)
+     e0c:	6d 09 8e 00 	.long 0x8e096d
 	long ret = H_SUCCESS;
-     e10:	bc 72 01 58 	rlmi    r1,r0,r14,10,30
+     e10:	0c ff ff ff 	.long 0xffffff0c
 	WARN_ON_ONCE(idx & ~0x1);
-     e14:	04 bc 72 c4 	lfsu    f3,-17404(r18)
-     e18:	72 09 8e 00 	.long 0x8e0972
-     e1c:	0c ff ff ff 	.long 0xffffff0c
+     e14:	ff 1a 9f 04 	.long 0x49f1aff
+     e18:	b8 6d dc 6d 	xoris   r28,r14,28088
+     e1c:	04 40 48 24 	dozi    r2,r8,16388
 	__srcu_read_unlock(ssp, idx);
-     e20:	ff 1a 9f 04 	.long 0x49f1aff
-     e24:	c4 72 c8 72 	andi.   r8,r22,29380
-     e28:	0d 8d 00 40 	bdnzfl  lt,ffffffffffff9b34 <kvmhv_nested_next_lpid+0xffffffffffff605c>
-     e2c:	45 24 1a 0c 	twi     0,r26,9285
+     e20:	9f 04 c0 71 	andi.   r0,r14,1183
+     e24:	c8 71 09 8e 	lbzu    r16,29128(r9)
+     e28:	00 0c ff ff 	.long 0xffff0c00
+     e2c:	ff ff 1a 9f 	stbu    r24,-1(r26)
 	if (ret == H_SUCCESS)
-     e30:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-     e34:	1a 9f 04 c8 	lfd     f0,-24806(r4)
+     e30:	04 c8 71 cc 	lfdu    f3,-14332(r17)
+     e34:	71 0d 8d 00 	.long 0x8d0d71
 	long ret = H_SUCCESS;
-     e38:	72 cc 72 01 	.long 0x172cc72
-     e3c:	58 04 90 74 	andis.  r16,r4,1112
+     e38:	40 45 24 1a 	lxvp    vs48,17728(r4)
+     e3c:	0c ff ff ff 	.long 0xffffff0c
 	WARN_ON_ONCE(idx & ~0x1);
-     e40:	b0 74 04 40 	bdnzf   4*cr1+lt,82f0 <kvmhv_nested_next_lpid+0x4818>
+     e40:	ff 1a 9f 04 	.long 0x49f1aff
 		ret = H_PARAMETER;
-     e44:	47 24 9f 00 	.long 0x9f2447
-	...
+     e44:	cc 71 d4 71 	andi.   r20,r14,29132
+     e48:	01 58 04 9c 	stbu    r0,22529(r4)
 	__srcu_read_unlock(ssp, idx);
-     e50:	00 00 02 00 	.long 0x20000
-     e54:	00 00 00 00 	.long 0x0
-     e58:	04 e8 64 88 	lbz     r3,-6140(r4)
+     e4c:	72 a4 72 09 	tdi     11,r18,-23438
+     e50:	8e 00 0c ff 	.long 0xff0c008e
+     e54:	ff ff ff 1a 	.long 0x1affffff
+     e58:	9f 04 a4 72 	andi.   r4,r21,1183
 	long ret = H_SUCCESS;
-     e5c:	65 01 53 04 	.long 0x4530165
-     e60:	9c 65 d8 65 	oris    r24,r14,26012
-     e64:	01 53 04 d0 	stfs    f0,21249(r4)
-     e68:	68 94 69 01 	.long 0x1699468
-     e6c:	53 04 e8 6a 	xori    r8,r23,1107
-{
-     e70:	90 6b 01 53 	rlwimi  r1,r24,13,14,8
-     e74:	04 b4 6d ec 	dsub    f3,f13,f22
-     e78:	6d 01 53 04 	.long 0x453016d
+     e5c:	a8 72 0d 8d 	lbzu    r8,29352(r13)
+     e60:	00 40 45 24 	dozi    r2,r5,16384
+     e64:	1a 0c ff ff 	.long 0xffff0c1a
+     e68:	ff ff 1a 9f 	stbu    r24,-1(r26)
+     e6c:	04 a8 72 ac 	lhau    r3,-22524(r18)
+{
+     e70:	72 01 58 04 	.long 0x4580172
+     e74:	ac 72 b4 72 	andi.   r20,r21,29356
+     e78:	09 8e 00 0c 	twi     0,r0,-29175
 	xa->xa_head = NULL;
-     e7c:	d0 71 e4 71 	andi.   r4,r15,29136
+     e7c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
 	spin_lock_init(&xa->xa_lock);
-     e80:	01 53 04 ac 	lhau    r0,21249(r4)
+     e80:	1a 9f 04 b4 	sthu    r0,-24806(r4)
 	xa->xa_head = NULL;
-     e84:	72 cc 72 01 	.long 0x172cc72
-     e88:	53 04 90 74 	andis.  r16,r4,1107
+     e84:	72 b8 72 0d 	twi     11,r18,-18318
+     e88:	8d 00 40 45 	.long 0x4540008d
 	spin_lock_init(&xa->xa_lock);
-     e8c:	b0 74 01 53 	rlwimi  r1,r24,14,18,24
-     e90:	00 01 00 00 	.long 0x100
+     e8c:	24 1a 0c ff 	.long 0xff0c1a24
+     e90:	ff ff ff 1a 	.long 0x1affffff
 }
-     e94:	00 04 c4 66 	oris    r4,r22,1024
-     e98:	cb 66 01 53 	rlwimi. r1,r24,12,27,5
-     e9c:	04 cb 66 cc 	lfdu    f3,-13564(r6)
-     ea0:	66 01 68 00 	.long 0x680166
-     ea4:	02 00 00 00 	.long 0x2
-{
-     ea8:	00 01 04 cc 	lfdu    f0,256(r4)
-     eac:	66 dc 66 04 	.long 0x466dc66
-     eb0:	91 a0 7e 9f 	stbu    r27,-24431(r30)
-     eb4:	04 dc 66 e3 	psq_l   f27,-1020(r6),1,5
-     eb8:	66 01 56 04 	.long 0x4560166
-     ebc:	e3 66 e8 66 	oris    r8,r23,26339
-     ec0:	04 91 a0 7e 	.long 0x7ea09104
+     e94:	9f 04 b8 72 	andi.   r24,r21,1183
+     e98:	bc 72 01 58 	rlmi    r1,r0,r14,10,30
+     e9c:	04 80 74 a0 	lhz     r3,-32764(r20)
+     ea0:	74 04 40 47 	.long 0x47400474
+     ea4:	24 9f 00 00 	.long 0x9f24
+	...
+{
+     eb0:	00 02 00 00 	attn
+     eb4:	00 00 00 04 	.long 0x4000000
+     eb8:	d8 64 f8 64 	oris    r24,r7,25816
+     ebc:	01 53 04 8c 	lbzu    r0,21249(r4)
+     ec0:	65 c8 65 01 	.long 0x165c865
 	int lpid;
-     ec4:	9f 00 02 01 	.long 0x102009f
+     ec4:	53 04 c0 68 	xori    r0,r6,1107
 {
-     ec8:	04 cc 66 e8 	ld      r3,-13308(r6)
-     ecc:	66 01 66 00 	.long 0x660166
-     ed0:	02 01 04 cc 	lfdu    f0,258(r4)
+     ec8:	84 69 01 53 	rlwimi  r1,r24,13,6,2
+     ecc:	04 d8 6a 80 	lwz     r3,-10236(r10)
+     ed0:	6b 01 53 04 	.long 0x453016b
 	struct kvm_nested_guest *freelist = NULL;
-     ed4:	66 e8 66 01 	.long 0x166e866
+     ed4:	a4 6d dc 6d 	xoris   r28,r14,28068
 {
-     ed8:	68 00 00 01 	.long 0x1000068
-     edc:	04 e8 66 e8 	ld      r3,-6140(r6)
+     ed8:	01 53 04 c0 	lfs     f0,21249(r4)
+     edc:	71 d4 71 01 	.long 0x171d471
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-     ee0:	66 01 53 00 	.long 0x530166
+     ee0:	53 04 9c 72 	andi.   r28,r20,1107
 {
-     ee4:	01 09 00 00 	.long 0x901
-     ee8:	04 88 67 b0 	sth     r3,-30716(r7)
-     eec:	67 01 68 04 	.long 0x4680167
-     ef0:	b0 74 c0 74 	andis.  r0,r6,29872
-     ef4:	01 68 00 03 	.long 0x3006801
-     ef8:	09 00 00 04 	.long 0x4000009
-     efc:	88 67 b0 67 	oris    r16,r29,26504
+     ee4:	bc 72 01 53 	rlwimi  r1,r24,14,10,30
+     ee8:	04 80 74 a0 	lhz     r3,-32764(r20)
+     eec:	74 01 53 00 	.long 0x530174
+     ef0:	01 00 00 00 	.long 0x1
+     ef4:	04 b4 66 bb 	lmw     r27,-19452(r6)
+     ef8:	66 01 53 04 	.long 0x4530166
+     efc:	bb 66 bc 66 	oris    r28,r21,26299
 	int lpid;
-     f00:	01 68 04 b0 	sth     r0,26625(r4)
-     f04:	74 c0 74 01 	.long 0x174c074
-     f08:	68 00 08 07 	.long 0x7080068
+     f00:	01 68 00 02 	.long 0x2006801
+     f04:	00 00 00 00 	.long 0x0
+     f08:	01 04 bc 66 	oris    r28,r21,1025
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-     f0c:	00 00 04 88 	lbz     r0,0(r4)
-     f10:	67 b0 67 01 	.long 0x167b067
+     f0c:	cc 66 04 91 	stw     r8,26316(r4)
+     f10:	a0 7e 9f 04 	.long 0x49f7ea0
 	idr_remove(&kvm->arch.kvm_nested_guest_idr, lpid);
-     f14:	68 04 b0 74 	andis.  r16,r5,1128
-     f18:	c0 74 01 68 	xori    r1,r0,29888
-	...
+     f14:	cc 66 d3 66 	oris    r19,r22,26316
+     f18:	01 56 04 d3 	stfs    f24,22017(r4)
+     f1c:	66 d8 66 04 	.long 0x466d866
+     f20:	91 a0 7e 9f 	stbu    r27,-24431(r30)
 		if (--gp->refcnt == 0) {
-     f24:	00 00 00 04 	.long 0x4000000
-     f28:	90 67 ac 67 	oris    r12,r29,26512
-     f2c:	04 79 80 19 	.long 0x19807904
-     f30:	9f 04 ac 67 	oris    r12,r29,1183
-     f34:	ef 67 04 7d 	.long 0x7d0467ef
+     f24:	00 02 01 04 	.long 0x4010200
+     f28:	bc 66 d8 66 	oris    r24,r22,26300
+     f2c:	01 66 00 02 	.long 0x2006601
+     f30:	01 04 bc 66 	oris    r28,r21,1025
+     f34:	d8 66 01 68 	xori    r1,r0,26328
 			gp->next = freelist;
-     f38:	80 19 9f 04 	.long 0x49f1980
-     f3c:	ec 6f 9c 70 	andi.   r28,r4,28652
+     f38:	00 00 01 04 	.long 0x4010000
+     f3c:	d8 66 d8 66 	oris    r24,r22,26328
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-     f40:	04 7d 80 19 	.long 0x19807d04
-     f44:	9f 04 b0 73 	andi.   r16,r29,1183
-     f48:	bc 73 04 7d 	.long 0x7d0473bc
-     f4c:	80 19 9f 04 	.long 0x49f1980
-     f50:	b0 74 c0 74 	andis.  r0,r6,29872
-     f54:	04 79 80 19 	.long 0x19807904
-     f58:	9f 00 01 05 	.long 0x501009f
-     f5c:	04 a4 67 b0 	sth     r3,-23548(r7)
-     f60:	67 01 68 00 	.long 0x680167
+     f40:	01 53 00 01 	.long 0x1005301
+     f44:	09 00 00 04 	.long 0x4000009
+     f48:	f8 66 a0 67 	oris    r0,r29,26360
+     f4c:	01 68 04 a0 	lhz     r0,26625(r4)
+     f50:	74 b0 74 01 	.long 0x174b074
+     f54:	68 00 03 09 	tdgti   r3,104
+     f58:	00 00 04 f8 	std     r0,0(r4)
+     f5c:	66 a0 67 01 	.long 0x167a066
+     f60:	68 04 a0 74 	andis.  r0,r5,1128
 	idr_destroy(&kvm->arch.kvm_nested_guest_idr);
-     f64:	00 01 04 b4 	sthu    r0,256(r4)
-     f68:	67 c0 67 03 	.long 0x367c067
-     f6c:	54 93 08 00 	.long 0x89354
+     f64:	b0 74 01 68 	xori    r1,r0,29872
+     f68:	00 08 07 00 	.long 0x70800
+     f6c:	00 04 f8 66 	oris    r24,r23,1024
 	if (unlikely(ms->mmiowb_pending)) {
-     f70:	00 00 00 00 	.long 0x0
+     f70:	a0 67 01 68 	xori    r1,r0,26528
 	struct mmiowb_state *ms = __mmiowb_state();
-     f74:	00 00 04 8c 	lbzu    r0,0(r4)
+     f74:	04 a0 74 b0 	sth     r3,-24572(r20)
 	if (unlikely(ms->mmiowb_pending)) {
-     f78:	68 c4 68 01 	.long 0x168c468
-     f7c:	59 04 f4 73 	andi.   r20,r31,1113
+     f78:	74 01 68 00 	.long 0x680174
+	...
 	ms->nesting_count--;
-     f80:	90 74 01 59 	rlmi    r1,r8,r14,18,8
-     f84:	04 c0 74 d4 	stfsu   f3,-16380(r20)
-     f88:	74 01 59 00 	.long 0x590174
-     f8c:	02 0b 02 00 	.long 0x20b02
-     f90:	00 00 00 00 	.long 0x0
-     f94:	00 00 04 a8 	lha     r0,0(r4)
+     f84:	00 00 04 80 	lwz     r0,0(r4)
+     f88:	67 9c 67 04 	.long 0x4679c67
+     f8c:	79 80 19 9f 	stbu    r24,-32647(r25)
+     f90:	04 9c 67 df 	stfdu   f27,-25596(r7)
+     f94:	67 04 7d 80 	lwz     r3,1127(r29)
 	while ((gp = freelist) != NULL) {
-     f98:	6b b4 6c 01 	.long 0x16cb46b
-     f9c:	6f 04 b0 6d 	xoris   r16,r13,1135
+     f98:	19 9f 04 dc 	stfdu   f0,-24807(r4)
+     f9c:	6f 8c 70 04 	.long 0x4708c6f
 		freelist = gp->next;
-     fa0:	b4 6d 01 6f 	xoris   r1,r24,28084
-     fa4:	04 8c 72 ac 	lhau    r3,-29692(r18)
+     fa0:	7d 80 19 9f 	stbu    r24,-32643(r25)
+     fa4:	04 a0 73 ac 	lhau    r3,-24572(r19)
 		kvmhv_release_nested(gp);
-     fa8:	72 01 6f 04 	.long 0x46f0172
+     fa8:	73 04 7d 80 	lwz     r3,1139(r29)
 	while ((gp = freelist) != NULL) {
-     fac:	bc 73 c8 73 	andi.   r8,r30,29628
-     fb0:	01 6f 04 e8 	ldu     r0,28416(r4)
+     fac:	19 9f 04 a0 	lhz     r0,-24807(r4)
+     fb0:	74 b0 74 04 	.long 0x474b074
 	srcu_idx = srcu_read_lock(&kvm->srcu);
-     fb4:	74 80 75 01 	.long 0x1758074
+     fb4:	79 80 19 9f 	stbu    r24,-32647(r25)
 	kvm_for_each_memslot(memslot, bkt, kvm_memslots(kvm))
-     fb8:	6f 00 00 0b 	tdnei   r0,111
-	...
+     fb8:	00 01 05 04 	.long 0x4050100
+     fbc:	94 67 a0 67 	oris    r0,r29,26516
 	retval = __srcu_read_lock(ssp);
-     fc4:	04 a8 6b b4 	sthu    r3,-22524(r11)
-     fc8:	6c 09 8d 00 	.long 0x8d096c
-     fcc:	0c ff ff ff 	.long 0xffffff0c
-     fd0:	ff 1a 9f 04 	.long 0x49f1aff
+     fc0:	01 68 00 00 	.long 0x6801
+     fc4:	01 04 a4 67 	oris    r4,r29,1025
+     fc8:	b0 67 03 54 	rlwinm  r3,r0,12,30,24
+     fcc:	93 08 00 00 	.long 0x893
+     fd0:	00 00 00 00 	.long 0x0
 	return srcu_dereference_check(kvm->memslots[as_id], &kvm->srcu,
-     fd4:	b0 6d b4 6d 	xoris   r20,r13,28080
-     fd8:	09 8d 00 0c 	twi     0,r0,-29431
-     fdc:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-     fe0:	1a 9f 04 8c 	lbzu    r0,-24806(r4)
-     fe4:	72 ac 72 09 	tdi     11,r18,-21390
-     fe8:	8d 00 0c ff 	.long 0xff0c008d
-     fec:	ff ff ff 1a 	.long 0x1affffff
-     ff0:	9f 04 bc 73 	andi.   r28,r29,1183
-     ff4:	c8 73 09 8d 	lbzu    r8,29640(r9)
-     ff8:	00 0c ff ff 	.long 0xffff0c00
-     ffc:	ff ff 1a 9f 	stbu    r24,-1(r26)
-    1000:	04 e8 74 80 	lwz     r3,-6140(r20)
-    1004:	75 09 8d 00 	.long 0x8d0975
+     fd4:	00 04 fc 67 	oris    r28,r31,1024
+     fd8:	b4 68 01 59 	rlmi    r1,r8,r13,2,26
+     fdc:	04 e4 73 80 	lwz     r3,-7164(r19)
+     fe0:	74 01 59 04 	.long 0x4590174
+     fe4:	b0 74 c4 74 	andis.  r4,r6,29872
+     fe8:	01 59 00 02 	.long 0x2005901
+     fec:	0b 02 00 00 	.long 0x20b
+     ff0:	00 00 00 00 	.long 0x0
+     ff4:	00 04 98 6b 	xori    r24,r28,1024
+     ff8:	a4 6c 01 6f 	xoris   r1,r24,27812
+     ffc:	04 a0 6d a4 	lhzu    r3,-24572(r13)
+    1000:	6d 01 6f 04 	.long 0x46f016d
+    1004:	fc 71 9c 72 	andi.   r28,r20,29180
 	for (page = 0; page < free->npages; page++) {
-    1008:	0c ff ff ff 	.long 0xffffff0c
+    1008:	01 6f 04 ac 	lhau    r0,28417(r4)
 	kvm_for_each_memslot(memslot, bkt, kvm_memslots(kvm))
-    100c:	ff 1a 9f 00 	.long 0x9f1aff
-    1010:	00 0b 00 00 	.long 0xb00
-    1014:	00 00 00 00 	.long 0x0
-    1018:	00 00 04 a8 	lha     r0,0(r4)
-    101c:	6b b4 6c 01 	.long 0x16cb46b
+    100c:	73 b8 73 01 	.long 0x173b873
+    1010:	6f 04 d8 74 	andis.  r24,r6,1135
+    1014:	f0 74 01 6f 	xoris   r1,r24,29936
+    1018:	00 00 0b 00 	.long 0xb0000
+    101c:	00 00 00 00 	.long 0x0
 			kfree(cursor);
-    1020:	6b 04 b0 6d 	xoris   r16,r13,1131
-    1024:	b4 6d 01 6b 	xori    r1,r24,28084
-    1028:	04 8c 72 a4 	lhzu    r3,-29692(r18)
+    1020:	00 00 00 04 	.long 0x4000000
+    1024:	98 6b a4 6c 	xoris   r4,r5,27544
+    1028:	09 8d 00 0c 	twi     0,r0,-29431
 	for (page = 0; page < free->npages; page++) {
-    102c:	72 01 6b 04 	.long 0x46b0172
-    1030:	bc 73 c8 73 	andi.   r8,r30,29628
-    1034:	01 6b 04 e8 	ldu     r0,27392(r4)
-    1038:	74 80 75 01 	.long 0x1758074
+    102c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+    1030:	1a 9f 04 a0 	lhz     r0,-24806(r4)
+    1034:	6d a4 6d 09 	tdi     11,r13,-23443
+    1038:	8d 00 0c ff 	.long 0xff0c008d
 		unsigned long rmap, *rmapp = &free->arch.rmap[page];
-    103c:	6b 00 00 0b 	tdnei   r0,107
-	...
-    1048:	04 a8 6b b4 	sthu    r3,-22524(r11)
-    104c:	6c 01 6a 04 	.long 0x46a016c
-    1050:	b0 6d b4 6d 	xoris   r20,r13,28080
-    1054:	01 6a 04 8c 	lbzu    r0,27137(r4)
-    1058:	72 ac 72 01 	.long 0x172ac72
+    103c:	ff ff ff 1a 	.long 0x1affffff
+    1040:	9f 04 fc 71 	andi.   r28,r15,1183
+    1044:	9c 72 09 8d 	lbzu    r8,29340(r9)
+    1048:	00 0c ff ff 	.long 0xffff0c00
+    104c:	ff ff 1a 9f 	stbu    r24,-1(r26)
+    1050:	04 ac 73 b8 	lm      r3,-21500(r19)
+    1054:	73 09 8d 00 	.long 0x8d0973
+    1058:	0c ff ff ff 	.long 0xffffff0c
 		for_each_nest_rmap_safe(cursor, entry, &rmap)
-    105c:	6a 04 bc 73 	andi.   r28,r29,1130
-    1060:	c8 73 01 6a 	xori    r1,r16,29640
-    1064:	04 e8 74 80 	lwz     r3,-6140(r20)
-    1068:	75 01 6a 00 	.long 0x6a0175
-    106c:	03 0b 03 00 	.long 0x30b03
-    1070:	00 00 00 00 	.long 0x0
-    1074:	00 00 04 a8 	lha     r0,0(r4)
-    1078:	6b b4 6c 01 	.long 0x16cb46b
-    107c:	6e 04 b0 6d 	xoris   r16,r13,1134
-    1080:	b4 6d 01 6e 	xoris   r1,r16,28084
-    1084:	04 8c 72 ac 	lhau    r3,-29692(r18)
+    105c:	ff 1a 9f 04 	.long 0x49f1aff
+    1060:	d8 74 f0 74 	andis.  r16,r7,29912
+    1064:	09 8d 00 0c 	twi     0,r0,-29431
+    1068:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+    106c:	1a 9f 00 00 	.long 0x9f1a
+    1070:	0b 00 00 00 	.long 0xb
+    1074:	00 00 00 00 	.long 0x0
+    1078:	00 04 98 6b 	xori    r24,r28,1024
+    107c:	a4 6c 01 6b 	xori    r1,r24,27812
+    1080:	04 a0 6d a4 	lhzu    r3,-24572(r13)
+    1084:	6d 01 6b 04 	.long 0x46b016d
 			kfree(cursor);
-    1088:	72 01 6e 04 	.long 0x46e0172
-    108c:	bc 73 c8 73 	andi.   r8,r30,29628
+    1088:	fc 71 94 72 	andi.   r20,r20,29180
+    108c:	01 6b 04 ac 	lhau    r0,27393(r4)
 		for_each_nest_rmap_safe(cursor, entry, &rmap)
-    1090:	01 6e 04 e8 	ldu     r0,28160(r4)
-    1094:	74 80 75 01 	.long 0x1758074
-    1098:	6e 00 04 0b 	tdnei   r4,110
-    109c:	04 00 00 00 	.long 0x4
+    1090:	73 b8 73 01 	.long 0x173b873
+    1094:	6b 04 d8 74 	andis.  r24,r6,1131
+    1098:	f0 74 01 6b 	xori    r1,r24,29936
+    109c:	00 00 0b 00 	.long 0xb0000
     10a0:	00 00 00 00 	.long 0x0
 	kvm_for_each_memslot(memslot, bkt, kvm_memslots(kvm))
-    10a4:	04 a8 6b b4 	sthu    r3,-22524(r11)
-    10a8:	6c 0c 8d 00 	.long 0x8d0c6c
-    10ac:	40 45 24 1a 	lxvp    vs48,17728(r4)
-    10b0:	08 20 24 30 	addic   r1,r4,8200
-    10b4:	2e 9f 04 b0 	sth     r0,-24786(r4)
-    10b8:	6d b4 6d 0c 	twi     3,r13,-19347
-    10bc:	8d 00 40 45 	.long 0x4540008d
-    10c0:	24 1a 08 20 	subfic  r0,r8,6692
+    10a4:	00 00 00 04 	.long 0x4000000
+    10a8:	98 6b a4 6c 	xoris   r4,r5,27544
+    10ac:	01 6a 04 a0 	lhz     r0,27137(r4)
+    10b0:	6d a4 6d 01 	.long 0x16da46d
+    10b4:	6a 04 fc 71 	andi.   r28,r15,1130
+    10b8:	9c 72 01 6a 	xori    r1,r16,29340
+    10bc:	04 ac 73 b8 	lm      r3,-21500(r19)
+    10c0:	73 01 6a 04 	.long 0x46a0173
 	WARN_ON_ONCE(idx & ~0x1);
-    10c4:	24 30 2e 9f 	stbu    r25,12324(r14)
-    10c8:	04 8c 72 ac 	lhau    r3,-29692(r18)
+    10c4:	d8 74 f0 74 	andis.  r16,r7,29912
+    10c8:	01 6a 00 03 	.long 0x3006a01
 	__srcu_read_unlock(ssp, idx);
-    10cc:	72 0c 8d 00 	.long 0x8d0c72
-    10d0:	40 45 24 1a 	lxvp    vs48,17728(r4)
-    10d4:	08 20 24 30 	addic   r1,r4,8200
-    10d8:	2e 9f 04 bc 	stmw    r0,-24786(r4)
-}
-    10dc:	73 c8 73 0c 	twi     3,r19,-14221
-    10e0:	8d 00 40 45 	.long 0x4540008d
-    10e4:	24 1a 08 20 	subfic  r0,r8,6692
-    10e8:	24 30 2e 9f 	stbu    r25,12324(r14)
-    10ec:	04 e8 74 80 	lwz     r3,-6140(r20)
-    10f0:	75 0c 8d 00 	.long 0x8d0c75
-    10f4:	40 45 24 1a 	lxvp    vs48,17728(r4)
-    10f8:	08 20 24 30 	addic   r1,r4,8200
-    10fc:	2e 9f 00 07 	.long 0x7009f2e
-    1100:	08 08 00 07 	.long 0x7000808
-    1104:	00 04 a8 6b 	xori    r8,r29,1024
-    1108:	a8 6b 04 0a 	tdlti   r4,27560
-    110c:	00 01 9f 04 	.long 0x49f0100
-    1110:	a8 6b ac 6b 	xori    r12,r29,27560
-    1114:	01 59 04 b0 	sth     r0,22785(r4)
-    1118:	6d b4 6d 04 	.long 0x46db46d
-    111c:	0a 00 01 9f 	stbu    r24,10(r1)
+    10cc:	0b 03 00 00 	.long 0x30b
+    10d0:	00 00 00 00 	.long 0x0
+    10d4:	00 04 98 6b 	xori    r24,r28,1024
+    10d8:	a4 6c 01 6e 	xoris   r1,r16,27812
+}
+    10dc:	04 a0 6d a4 	lhzu    r3,-24572(r13)
+    10e0:	6d 01 6e 04 	.long 0x46e016d
+    10e4:	fc 71 9c 72 	andi.   r28,r20,29180
+    10e8:	01 6e 04 ac 	lhau    r0,28161(r4)
+    10ec:	73 b8 73 01 	.long 0x173b873
+    10f0:	6e 04 d8 74 	andis.  r24,r6,1134
+    10f4:	f0 74 01 6e 	xoris   r1,r16,29936
+    10f8:	00 04 0b 04 	.long 0x40b0400
+    10fc:	00 00 00 00 	.long 0x0
+    1100:	00 00 00 04 	.long 0x4000000
+    1104:	98 6b a4 6c 	xoris   r4,r5,27544
+    1108:	0c 8d 00 40 	bdnzf   lt,ffffffffffff9e14 <kvmhv_nested_next_lpid+0xffffffffffff634c>
+    110c:	45 24 1a 08 	tdi     0,r26,9285
+    1110:	20 24 30 2e 	cmpdi   cr4,r16,9248
+    1114:	9f 04 a0 6d 	xoris   r0,r13,1183
+    1118:	a4 6d 0c 8d 	lbzu    r8,28068(r12)
+    111c:	00 40 45 24 	dozi    r2,r5,16384
 	kvm_for_each_memslot(memslot, bkt, kvm_memslots(kvm))
-    1120:	00 00 00 00 	.long 0x0
+    1120:	1a 08 20 24 	dozi    r1,r0,2074
 		ms->mmiowb_pending = 0;
-    1124:	00 00 0b 00 	.long 0xb0000
+    1124:	30 2e 9f 04 	.long 0x49f2e30
 		mmiowb();
-    1128:	00 00 00 04 	.long 0x4000000
-    112c:	dc 6b f8 6b 	xori    r24,r31,27612
+    1128:	fc 71 9c 72 	andi.   r28,r20,29180
+    112c:	0c 8d 00 40 	bdnzf   lt,ffffffffffff9e38 <kvmhv_nested_next_lpid+0xffffffffffff6370>
 	WARN_ON_ONCE(idx & ~0x1);
-    1130:	01 53 04 80 	lwz     r0,21249(r4)
+    1130:	45 24 1a 08 	tdi     0,r26,9285
 }
-    1134:	6c 8c 6c 01 	.long 0x16c8c6c
-    1138:	53 04 8c 6c 	xoris   r12,r4,1107
-    113c:	b4 6c 01 58 	rlmi    r1,r0,r13,18,26
-    1140:	04 bc 73 c8 	lfd     f3,-17404(r19)
-    1144:	73 01 53 04 	.long 0x4530173
-{
-    1148:	e8 74 80 75 	andis.  r0,r12,29928
-    114c:	01 58 00 01 	.long 0x1005801
-    1150:	00 04 b0 6b 	xori    r16,r29,1024
-    1154:	c0 6b 01 6e 	xoris   r1,r16,27584
-    1158:	00 01 09 00 	.long 0x90100
-    115c:	00 04 8c 6c 	xoris   r12,r4,1024
-    1160:	b4 6c 01 6e 	xoris   r1,r16,27828
-    1164:	04 e8 74 80 	lwz     r3,-6140(r20)
+    1134:	20 24 30 2e 	cmpdi   cr4,r16,9248
+    1138:	9f 04 ac 73 	andi.   r12,r29,1183
+    113c:	b8 73 0c 8d 	lbzu    r8,29624(r12)
+    1140:	00 40 45 24 	dozi    r2,r5,16384
+    1144:	1a 08 20 24 	dozi    r1,r0,2074
+{
+    1148:	30 2e 9f 04 	.long 0x49f2e30
+    114c:	d8 74 f0 74 	andis.  r16,r7,29912
+    1150:	0c 8d 00 40 	bdnzf   lt,ffffffffffff9e5c <kvmhv_nested_next_lpid+0xffffffffffff6394>
+    1154:	45 24 1a 08 	tdi     0,r26,9285
+    1158:	20 24 30 2e 	cmpdi   cr4,r16,9248
+    115c:	9f 00 07 08 	tdi     0,r7,159
+    1160:	08 00 07 00 	.long 0x70008
+    1164:	04 98 6b 98 	stb     r3,-26620(r11)
 	if (l1_lpid >= (1ul << ((kvm->arch.l1_ptcr & PRTS_MASK) + 12 - 4)))
-    1168:	75 01 6e 00 	.long 0x6e0175
-    116c:	03 09 00 00 	.long 0x903
-    1170:	04 8c 6c b4 	sthu    r3,-29692(r12)
-    1174:	6c 01 6e 04 	.long 0x46e016c
-    1178:	e8 74 80 75 	andis.  r0,r12,29928
-    117c:	01 6e 00 08 	tdi     0,r0,28161
-    1180:	07 00 00 04 	.long 0x4000007
-    1184:	8c 6c b4 6c 	xoris   r20,r5,27788
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    1188:	01 6e 04 e8 	ldu     r0,28160(r4)
-    118c:	74 80 75 01 	.long 0x1758074
-    1190:	6e 00 00 00 	.long 0x6e
-    1194:	00 00 00 00 	.long 0x0
-    1198:	04 94 6c e0 	psq_l   f3,1028(r12),1,1
-    119c:	6c 04 7a 80 	lwz     r3,1132(r26)
-    11a0:	19 9f 04 b4 	sthu    r0,-24807(r4)
-    11a4:	6f d4 6f 04 	.long 0x46fd46f
-    11a8:	7a 80 19 9f 	stbu    r24,-32646(r25)
-    11ac:	04 e8 74 80 	lwz     r3,-6140(r20)
-    11b0:	75 04 7a 80 	lwz     r3,1141(r26)
-    11b4:	19 9f 00 01 	.long 0x1009f19
-    11b8:	05 04 a8 6c 	xoris   r8,r5,1029
+    1168:	6b 04 0a 00 	.long 0xa046b
+    116c:	01 9f 04 98 	stb     r0,-24831(r4)
+    1170:	6b 9c 6b 01 	.long 0x16b9c6b
+    1174:	59 04 a0 6d 	xoris   r0,r13,1113
+    1178:	a4 6d 04 0a 	tdlti   r4,28068
+    117c:	00 01 9f 00 	.long 0x9f0100
+    1180:	00 00 00 00 	.long 0x0
+    1184:	00 0b 00 00 	.long 0xb00
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    1188:	00 00 04 cc 	lfdu    f0,0(r4)
+    118c:	6b e8 6b 01 	.long 0x16be86b
+    1190:	53 04 f0 6b 	xori    r16,r31,1107
+    1194:	fc 6b 01 53 	rlwimi  r1,r24,13,15,30
+    1198:	04 fc 6b a4 	lhzu    r3,-1020(r11)
+    119c:	6c 01 58 04 	.long 0x458016c
+    11a0:	ac 73 b8 73 	andi.   r24,r29,29612
+    11a4:	01 53 04 d8 	stfd    f0,21249(r4)
+    11a8:	74 f0 74 01 	.long 0x174f074
+    11ac:	58 00 01 00 	.long 0x10058
+    11b0:	04 a0 6b b0 	sth     r3,-24572(r11)
+    11b4:	6b 01 6e 00 	.long 0x6e016b
+    11b8:	01 09 00 00 	.long 0x901
 	if (gp)
-    11bc:	b4 6c 01 6e 	xoris   r1,r16,27828
-    11c0:	00 00 00 01 	.long 0x1000000
+    11bc:	04 fc 6b a4 	lhzu    r3,-1020(r11)
+    11c0:	6c 01 6e 04 	.long 0x46e016c
 		++gp->refcnt;
-    11c4:	02 00 00 04 	.long 0x4000002
-    11c8:	ec 6d 80 6e 	xoris   r0,r20,28140
-    11cc:	03 91 a0 7e 	.long 0x7ea09103
+    11c4:	d8 74 f0 74 	andis.  r16,r7,29912
+    11c8:	01 6e 00 03 	.long 0x3006e01
+    11cc:	09 00 00 04 	.long 0x4000009
 	if (unlikely(ms->mmiowb_pending)) {
-    11d0:	04 a8 71 d0 	stfs    f3,-22524(r17)
+    11d0:	fc 6b a4 6c 	xoris   r4,r5,27644
 	struct mmiowb_state *ms = __mmiowb_state();
-    11d4:	71 03 91 a0 	lhz     r4,881(r17)
+    11d4:	01 6e 04 d8 	stfd    f0,28161(r4)
 	if (unlikely(ms->mmiowb_pending)) {
-    11d8:	7e 04 d4 74 	andis.  r20,r6,1150
-    11dc:	e8 74 03 91 	stw     r8,29928(r3)
+    11d8:	74 f0 74 01 	.long 0x174f074
+    11dc:	6e 00 08 07 	.long 0x708006e
 	ms->nesting_count--;
-    11e0:	a0 7e 00 02 	.long 0x2007ea0
-    11e4:	02 04 cc 71 	andi.   r12,r14,1026
-    11e8:	d0 71 02 31 	addic   r8,r2,29136
-    11ec:	9f 00 01 00 	.long 0x1009f
-    11f0:	04 a0 6e b4 	sthu    r3,-24572(r14)
-    11f4:	6e 04 0a c0 	lfs     f0,1134(r10)
+    11e0:	00 00 04 fc 	fcmpu   cr0,f4,f0
+    11e4:	6b a4 6c 01 	.long 0x16ca46b
+    11e8:	6e 04 d8 74 	andis.  r24,r6,1134
+    11ec:	f0 74 01 6e 	xoris   r1,r16,29936
+    11f0:	00 00 00 00 	.long 0x0
+    11f4:	00 00 00 04 	.long 0x4000000
 	if (gp || !create)
-    11f8:	0c 9f 00 01 	.long 0x1009f0c
-    11fc:	00 04 a0 6e 	xoris   r0,r21,1024
-    1200:	b4 6e 02 40 	bdnzf   eq,80b4 <kvmhv_nested_next_lpid+0x45dc>
-    1204:	9f 00 03 00 	.long 0x3009f
-    1208:	04 a0 6e b4 	sthu    r3,-24572(r14)
-    120c:	6e 04 0a c0 	lfs     f0,1134(r10)
-    1210:	0d 9f 00 03 	.long 0x3009f0d
-}
-    1214:	00 04 a0 6e 	xoris   r0,r21,1024
-    1218:	b4 6e 02 40 	bdnzf   eq,80cc <kvmhv_nested_next_lpid+0x45f4>
-    121c:	9f 00 0f 00 	.long 0xf009f
-    1220:	04 a0 6e ac 	lhau    r3,-24572(r14)
-    1224:	6f 02 34 9f 	stbu    r25,623(r20)
-    1228:	00 08 0f 04 	.long 0x40f0800
-    122c:	a0 6e a0 6e 	xoris   r0,r21,28320
+    11f8:	84 6c d0 6c 	xoris   r16,r6,27780
+    11fc:	04 7a 80 19 	.long 0x19807a04
+    1200:	9f 04 a4 6f 	xoris   r4,r29,1183
+    1204:	c4 6f 04 7a 	rldicr  r4,r16,13,31
+    1208:	80 19 9f 04 	.long 0x49f1980
+    120c:	d8 74 f0 74 	andis.  r16,r7,29912
+    1210:	04 7a 80 19 	.long 0x19807a04
+}
+    1214:	9f 00 01 05 	.long 0x501009f
+    1218:	04 98 6c a4 	lhzu    r3,-26620(r12)
+    121c:	6c 01 6e 00 	.long 0x6e016c
+    1220:	00 00 01 02 	.long 0x2010000
+    1224:	00 00 04 dc 	stfdu   f0,0(r4)
+    1228:	6d f0 6d 03 	.long 0x36df06d
+    122c:	91 a0 7e 04 	.long 0x47ea091
 	if (gp || !create)
-    1230:	02 31 9f 00 	.long 0x9f3102
-    1234:	08 0f 04 a0 	lhz     r0,3848(r4)
-    1238:	6e a0 6e 02 	.long 0x26ea06e
-    123c:	40 9f 00 02 	.long 0x2009f40
-    1240:	00 00 00 04 	.long 0x4000000
-    1244:	f4 72 f8 72 	andi.   r24,r23,29428
-    1248:	06 73 00 7a 	rldicr  r0,r16,46,12
-    124c:	00 1c 9f 04 	.long 0x49f1c00
+    1230:	98 71 c0 71 	andi.   r0,r14,29080
+    1234:	03 91 a0 7e 	.long 0x7ea09103
+    1238:	04 c4 74 d8 	stfd    f3,-15356(r20)
+    123c:	74 03 91 a0 	lhz     r4,884(r17)
+    1240:	7e 00 02 02 	.long 0x202007e
+    1244:	04 bc 71 c0 	lfs     f3,-17404(r17)
+    1248:	71 02 31 9f 	stbu    r25,625(r17)
+    124c:	00 01 00 04 	.long 0x4000100
 		return NULL;
-    1250:	f8 72 80 73 	andi.   r0,r28,29432
-    1254:	01 5a 00 03 	.long 0x3005a01
-    1258:	00 00 00 00 	.long 0x0
-    125c:	00 04 cc 72 	andi.   r12,r22,1024
+    1250:	90 6e a4 6e 	xoris   r4,r21,28304
+    1254:	04 0a c0 0c 	twllei  r0,2564
+    1258:	9f 00 01 00 	.long 0x1009f
+    125c:	04 90 6e a4 	lhzu    r3,-28668(r14)
 		return kmalloc_trace(
-    1260:	e4 72 02 40 	bdnzf   eq,8544 <kvmhv_nested_next_lpid+0x4a6c>
-    1264:	9f 04 e4 72 	andi.   r4,r23,1183
-    1268:	b0 73 01 58 	rlmi    r1,r0,r14,14,24
-    126c:	04 d8 73 f4 	psq_stu f3,-2044(r19),1,5
-    1270:	73 02 40 9f 	.long 0x9f400273
-	...
-	if (unlikely(!gp))
-    1280:	00 04 e8 5d 	rlwnm   r8,r15,r0,16,0
-    1284:	c4 5e 01 53 	rlwimi  r1,r24,11,27,2
+    1260:	6e 02 40 9f 	.long 0x9f40026e
+    1264:	00 03 00 04 	.long 0x4000300
+    1268:	90 6e a4 6e 	xoris   r4,r21,28304
+    126c:	04 0a c0 0d 	twi     14,r0,2564
+    1270:	9f 00 03 00 	.long 0x3009f
+    1274:	04 90 6e a4 	lhzu    r3,-28668(r14)
+    1278:	6e 02 40 9f 	.long 0x9f40026e
+	if (!gp)
+    127c:	00 0f 00 04 	.long 0x4000f00
+    1280:	90 6e 9c 6f 	xoris   r28,r28,28304
+    1284:	02 34 9f 00 	.long 0x9f3402
 	mutex_init(&gp->tlb_lock);
-    1288:	04 c4 5e 9c 	stbu    r2,-15356(r30)
-    128c:	5f 01 6d 04 	.long 0x46d015f
+    1288:	08 0f 04 90 	stw     r0,3848(r4)
+    128c:	6e 90 6e 02 	.long 0x26e906e
 	gp->l1_host = kvm;
-    1290:	9c 5f ac 5f 	rlwnm   r12,r29,r11,30,14
+    1290:	31 9f 00 08 	tdi     0,r0,-24783
 	gp->l1_lpid = lpid;
-    1294:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    1294:	0f 04 90 6e 	xoris   r16,r20,1039
 	mutex_init(&gp->tlb_lock);
-    1298:	9f 04 ac 5f 	rlwnm.  r12,r29,r0,18,15
-    129c:	a0 61 01 6d 	xoris   r1,r8,24992
-    12a0:	04 a0 61 b0 	sth     r3,-24572(r1)
-    12a4:	61 04 a3 01 	.long 0x1a30461
-    12a8:	53 9f 04 b0 	sth     r0,-24749(r4)
-    12ac:	61 f0 62 01 	.long 0x162f061
-    12b0:	6d 00 00 00 	.long 0x6d
+    1298:	90 6e 02 40 	bdnzf   eq,8128 <kvmhv_nested_next_lpid+0x4660>
+    129c:	9f 00 02 00 	.long 0x2009f
+    12a0:	00 00 04 e4 	psq_lu  f0,0(r4),0,0
+    12a4:	72 e8 72 06 	.long 0x672e872
+    12a8:	73 00 7a 00 	.long 0x7a0073
+    12ac:	1c 9f 04 e8 	ld      r0,-24804(r4)
+    12b0:	72 f0 72 01 	.long 0x172f072
 	return (pgd_t *)__get_free_page(pgtable_gfp_flags(mm, PGALLOC_GFP));
-    12b4:	00 00 04 e8 	ld      r0,0(r4)
-    12b8:	5d b0 5e 01 	.long 0x15eb05d
-    12bc:	54 04 b0 5e 	rlwnm   r16,r21,r0,17,10
-    12c0:	f0 62 04 a3 	lhz     r24,25328(r4)
-    12c4:	01 54 9f 00 	.long 0x9f5401
+    12b4:	5a 00 03 00 	.long 0x3005a
+    12b8:	00 00 00 00 	.long 0x0
+    12bc:	04 bc 72 d4 	stfsu   f3,-17404(r18)
+    12c0:	72 02 40 9f 	.long 0x9f400272
+    12c4:	04 d4 72 a0 	lhz     r3,-11260(r18)
+	if (!gp->shadow_pgtable)
+    12c8:	73 01 58 04 	.long 0x4580173
+	gp->shadow_pgtable = pgd_alloc(kvm->mm);
+    12cc:	c8 73 e4 73 	andi.   r4,r31,29640
+	if (!gp->shadow_pgtable)
+    12d0:	02 40 9f 00 	.long 0x9f4002
 	...
-	shadow_lpid = kvmppc_alloc_lpid();
-    12d4:	00 00 04 e8 	ld      r0,0(r4)
-    12d8:	5d cf 5e 01 	.long 0x15ecf5d
 	if (shadow_lpid < 0)
-    12dc:	55 04 cf 5e 	rlwnm.  r15,r22,r0,17,10
-    12e0:	f8 5e 01 6f 	xoris   r1,r24,24312
+    12e0:	04 d8 5d b4 	sthu    r2,-10236(r29)
 	gp->radix = 1;
-    12e4:	04 f8 5e b0 	sth     r2,-2044(r30)
+    12e4:	5e 01 53 04 	.long 0x453015e
 	memset(gp->prev_cpu, -1, sizeof(gp->prev_cpu));
-    12e8:	61 04 a3 01 	.long 0x1a30461
-    12ec:	55 9f 04 b0 	sth     r0,-24747(r4)
-    12f0:	61 c4 61 01 	.long 0x161c461
+    12e8:	b4 5e 8c 5f 	rlwnm   r12,r28,r11,26,26
+    12ec:	01 6d 04 8c 	lbzu    r0,27905(r4)
+    12f0:	5f 9c 5f 04 	.long 0x45f9c5f
 	gp->shadow_lpid = shadow_lpid;
-    12f4:	6f 04 c4 61 	ori     r4,r14,1135
+    12f4:	a3 01 53 9f 	stbu    r26,419(r19)
 	gp->radix = 1;
-    12f8:	e4 61 04 a3 	lhz     r24,25060(r4)
+    12f8:	04 9c 5f 90 	stw     r2,-25596(r31)
 	memset(gp->prev_cpu, -1, sizeof(gp->prev_cpu));
-    12fc:	01 55 9f 04 	.long 0x49f5501
-    1300:	e4 61 84 62 	ori     r4,r20,25060
+    12fc:	61 01 6d 04 	.long 0x46d0161
+    1300:	90 61 a0 61 	ori     r0,r13,24976
 	if (idr_alloc(&kvm->arch.kvm_nested_guest_idr,
-    1304:	01 6f 04 84 	lwzu    r0,28417(r4)
-    1308:	62 f0 62 04 	.long 0x462f062
-    130c:	a3 01 55 9f 	stbu    r26,419(r21)
-	...
-    131c:	00 04 e8 5d 	rlwnm   r8,r15,r0,16,0
-    1320:	cf 5e 01 56 	rlwinm. r1,r16,11,27,7
-    1324:	04 cf 5e 90 	stw     r2,-12540(r30)
-    1328:	5f 01 6a 04 	.long 0x46a015f
-		kvmhv_release_nested(newgp);
-    132c:	90 5f ac 5f 	rlwnm   r12,r29,r11,30,8
-    1330:	04 a3 01 56 	rlwinm  r1,r16,20,12,2
-		return NULL;
-    1334:	9f 04 ac 5f 	rlwnm.  r12,r29,r0,18,15
-    1338:	94 61 01 6a 	xori    r1,r16,24980
-    133c:	04 94 61 b0 	sth     r3,-27644(r1)
-    1340:	61 04 a3 01 	.long 0x1a30461
-    1344:	56 9f 04 b0 	sth     r0,-24746(r4)
-    1348:	61 f0 62 01 	.long 0x162f061
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    134c:	6a 00 00 00 	.long 0x6a
+    1304:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    1308:	9f 04 a0 61 	ori     r0,r13,1183
+    130c:	e0 62 01 6d 	xoris   r1,r8,25312
+    1310:	00 00 00 00 	.long 0x0
+    1314:	00 04 d8 5d 	rlwnm   r24,r14,r0,16,0
+    1318:	a0 5e 01 54 	rlwinm  r1,r0,11,26,16
+    131c:	04 a0 5e e0 	lq      r2,-24576(r30)
+    1320:	62 04 a3 01 	.long 0x1a30462
+    1324:	54 9f 00 00 	.long 0x9f54
 	...
-    1358:	00 00 04 e8 	ld      r0,0(r4)
+		return NULL;
+    1334:	00 04 d8 5d 	rlwnm   r24,r14,r0,16,0
+    1338:	bf 5e 01 55 	rlwinm. r1,r8,11,26,31
+    133c:	04 bf 5e e8 	ld      r2,-16636(r30)
+    1340:	5e 01 6f 04 	.long 0x46f015e
+    1344:	e8 5e a0 61 	ori     r0,r13,24296
+    1348:	04 a3 01 55 	rlwinm  r1,r8,20,12,2
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    134c:	9f 04 a0 61 	ori     r0,r13,1183
+    1350:	b4 61 01 6f 	xoris   r1,r24,25012
+    1354:	04 b4 61 d4 	stfsu   f3,-19452(r1)
+    1358:	61 04 a3 01 	.long 0x1a30461
 	if (!gp) {
-    135c:	5d cf 5e 01 	.long 0x15ecf5d
-    1360:	57 04 cf 5e 	rlwnm.  r15,r22,r0,17,11
+    135c:	55 9f 04 d4 	stfsu   f0,-24747(r4)
+    1360:	61 f4 61 01 	.long 0x161f461
 	++gp->refcnt;
-    1364:	94 5f 01 6b 	xori    r1,r24,24468
-    1368:	04 94 5f ac 	lhau    r2,-27644(r31)
+    1364:	6f 04 f4 61 	ori     r20,r15,1135
+    1368:	e0 62 04 a3 	lhz     r24,25312(r4)
 	struct mmiowb_state *ms = __mmiowb_state();
-    136c:	5f 04 a3 01 	.long 0x1a3045f
-    1370:	57 9f 04 ac 	lhau    r0,-24745(r4)
+    136c:	01 55 9f 00 	.long 0x9f5501
+	...
 	if (unlikely(ms->mmiowb_pending)) {
-    1374:	5f 98 61 01 	.long 0x161985f
-    1378:	6b 04 98 61 	ori     r24,r12,1131
-    137c:	b0 61 04 a3 	lhz     r24,25008(r4)
+    137c:	04 d8 5d bf 	stmw    r26,-10236(r29)
 	ms->nesting_count--;
-    1380:	01 57 9f 04 	.long 0x49f5701
-    1384:	b0 61 f0 62 	ori     r16,r23,25008
-    1388:	01 6b 00 00 	.long 0x6b01
-	...
-    1394:	00 00 00 04 	.long 0x4000000
+    1380:	5e 01 56 04 	.long 0x456015e
+    1384:	bf 5e 80 5f 	rlwnm.  r0,r28,r11,26,31
+    1388:	01 6a 04 80 	lwz     r0,27137(r4)
+    138c:	5f 9c 5f 04 	.long 0x45f9c5f
+    1390:	a3 01 56 9f 	stbu    r26,419(r22)
+    1394:	04 9c 5f 84 	lwzu    r2,-25596(r31)
 	if (newgp)
-    1398:	e8 5d cf 5e 	rlwnm   r15,r22,r11,23,20
+    1398:	61 01 6a 04 	.long 0x46a0161
 		kvmhv_release_nested(newgp);
-    139c:	01 58 04 cf 	lfdu    f24,22529(r4)
-    13a0:	5e 98 5f 01 	.long 0x15f985e
-    13a4:	6c 04 98 5f 	rlwnm   r24,r28,r0,17,22
-    13a8:	ac 5f 04 a3 	lhz     r24,24492(r4)
-    13ac:	01 58 9f 04 	.long 0x49f5801
-		ms->mmiowb_pending = 0;
-    13b0:	ac 5f 9c 61 	ori     r28,r12,24492
-    13b4:	01 6c 04 9c 	stbu    r0,27649(r4)
-		mmiowb();
-    13b8:	61 b0 61 04 	.long 0x461b061
-    13bc:	a3 01 58 9f 	stbu    r26,419(r24)
+    139c:	84 61 a0 61 	ori     r0,r13,24964
+    13a0:	04 a3 01 56 	rlwinm  r1,r16,20,12,2
+    13a4:	9f 04 a0 61 	ori     r0,r13,1183
+    13a8:	e0 62 01 6a 	xori    r1,r16,25312
+	...
 	pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
-    13c0:	04 b0 61 f0 	xsaddsp vs3,vs33,vs22
-    13c4:	62 01 6c 00 	.long 0x6c0162
-    13c8:	00 00 00 00 	.long 0x0
-    13cc:	04 ac 5e b0 	sth     r2,-21500(r30)
-    13d0:	5e 01 54 04 	.long 0x454015e
-    13d4:	b0 5e d0 5e 	rlwnm   r16,r22,r11,26,24
-    13d8:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
-    13dc:	9f 00 00 00 	.long 0x9f
-    13e0:	04 ac 5e b4 	sthu    r2,-21500(r30)
-    13e4:	5e 02 73 00 	.long 0x73025e
-    13e8:	00 00 00 00 	.long 0x0
+    13b8:	00 04 d8 5d 	rlwnm   r24,r14,r0,16,0
+    13bc:	bf 5e 01 57 	rlwinm. r1,r24,11,26,31
+    13c0:	04 bf 5e 84 	lwzu    r2,-16636(r30)
+    13c4:	5f 01 6b 04 	.long 0x46b015f
+    13c8:	84 5f 9c 5f 	rlwnm   r28,r28,r11,30,2
+    13cc:	04 a3 01 57 	rlwinm  r1,r24,20,12,2
+    13d0:	9f 04 9c 5f 	rlwnm.  r28,r28,r0,18,15
+    13d4:	88 61 01 6b 	xori    r1,r24,24968
+    13d8:	04 88 61 a0 	lhz     r3,-30716(r1)
 	if (unlikely(!pgd))
-    13ec:	00 04 bc 60 	ori     r28,r5,1024
-	pgd_free(kvm->mm, gp->shadow_pgtable);
-    13f0:	c4 60 01 53 	rlwimi  r1,r24,12,3,2
-    13f4:	04 e4 60 ec 	dsub    f3,f0,f28
+    13dc:	61 04 a3 01 	.long 0x1a30461
+		ms->mmiowb_pending = 0;
+    13e0:	57 9f 04 a0 	lhz     r0,-24745(r4)
+    13e4:	61 e0 62 01 	.long 0x162e061
+		mmiowb();
+    13e8:	6b 00 00 00 	.long 0x6b
+	...
+    13f4:	00 00 04 d8 	stfd    f0,0(r4)
 	free_page((unsigned long)pgd);
-    13f8:	60 01 53 00 	.long 0x530160
-    13fc:	01 00 00 00 	.long 0x1
-    1400:	01 00 04 ac 	lhau    r0,1(r4)
+    13f8:	5d bf 5e 01 	.long 0x15ebf5d
+    13fc:	58 04 bf 5e 	rlwnm   r31,r21,r0,17,12
+    1400:	88 5f 01 6c 	xoris   r1,r0,24456
 	kfree(gp);
-    1404:	60 bc 60 01 	.long 0x160bc60
-    1408:	6b 04 bc 60 	ori     r28,r5,1131
-    140c:	d8 60 01 6f 	xoris   r1,r24,24792
+    1404:	04 88 5f 9c 	stbu    r2,-30716(r31)
+    1408:	5f 04 a3 01 	.long 0x1a3045f
+    140c:	58 9f 04 9c 	stbu    r0,-24744(r4)
 	if (!newgp)
-    1410:	04 dc 60 ec 	dsub    f3,f0,f27
-    1414:	60 01 6f 00 	.long 0x6f0160
-    1418:	04 00 00 00 	.long 0x4
-    141c:	04 ac 60 b0 	sth     r3,-21500(0)
+    1410:	5f 8c 61 01 	.long 0x1618c5f
+    1414:	6c 04 8c 61 	ori     r12,r12,1132
+    1418:	a0 61 04 a3 	lhz     r24,24992(r4)
+    141c:	01 58 9f 04 	.long 0x49f5801
 	if (idr_replace(&kvm->arch.kvm_nested_guest_idr, gp, lpid))
-    1420:	60 0c 88 d8 	stfd    f4,3168(r8)
-    1424:	00 94 04 08 	tdi     0,r4,-27648
-    1428:	20 24 08 20 	subfic  r0,r8,9248
-    142c:	26 9f 04 b0 	sth     r0,-24794(r4)
-    1430:	60 ec 60 01 	.long 0x160ec60
-    1434:	66 00 00 00 	.long 0x66
-    1438:	04 b4 60 ec 	dsub    f3,f0,f22
+    1420:	a0 61 e0 62 	ori     r0,r23,24992
+    1424:	01 6c 00 00 	.long 0x6c01
+    1428:	00 00 00 04 	.long 0x4000000
+    142c:	9c 5e a0 5e 	rlwnm   r0,r21,r11,26,14
+    1430:	01 54 04 a0 	lhz     r0,21505(r4)
+    1434:	5e c0 5e 04 	.long 0x45ec05e
+    1438:	a3 01 54 9f 	stbu    r26,419(r20)
 		WARN_ON(1);
-    143c:	60 01 69 00 	.long 0x690160
+    143c:	00 00 00 04 	.long 0x4000000
 		++newgp->refcnt;
-    1440:	02 04 04 c4 	lfsu    f0,1026(r4)
-    1444:	60 c4 60 01 	.long 0x160c460
-    1448:	6f 00 02 00 	.long 0x2006f
-    144c:	04 a4 62 f0 	xsmaxcdp vs3,vs34,vs20
+    1440:	9c 5e a4 5e 	rlwnm   r4,r21,r11,26,14
+    1444:	02 73 00 00 	.long 0x7302
+    1448:	00 00 00 00 	.long 0x0
+    144c:	04 ac 60 b4 	.long 0xb460ac04
 		newgp = NULL;
-    1450:	62 04 a3 01 	.long 0x1a30462
-    1454:	54 9f 00 02 	.long 0x2009f54
-    1458:	00 04 a4 62 	ori     r4,r21,1024
-    145c:	f0 62 01 6d 	xoris   r1,r8,25328
+    1450:	60 01 53 04 	.long 0x4530160
+    1454:	d4 60 dc 60 	ori     r28,r6,24788
+    1458:	01 53 00 01 	.long 0x1005301
+    145c:	00 00 00 01 	.long 0x1000000
 		ms->mmiowb_pending = 0;
-    1460:	00 04 00 04 	.long 0x4000400
-    1464:	a4 62 b3 62 	ori     r19,r21,25252
+    1460:	00 04 9c 60 	ori     r28,r4,1024
+    1464:	ac 60 01 6b 	xori    r1,r24,24748
 		mmiowb();
-    1468:	02 8d 00 00 	.long 0x8d02
-    146c:	00 00 00 00 	.long 0x0
+    1468:	04 ac 60 c8 	lfd     f3,-21500(0)
+    146c:	60 01 6f 04 	.long 0x46f0160
 	kmem_cache_free(PGT_CACHE(PGD_INDEX_SIZE), pgd);
-    1470:	04 b4 62 c0 	lfs     f3,-19452(r2)
-    1474:	62 01 53 04 	.long 0x4530162
-    1478:	c0 62 f0 62 	ori     r16,r23,25280
-    147c:	01 6f 00 01 	.long 0x1006f01
-    1480:	00 04 b0 61 	ori     r16,r13,1024
-    1484:	e4 61 02 32 	addic   r16,r2,25060
-    1488:	9f 00 01 00 	.long 0x1009f
-    148c:	04 b0 61 e4 	psq_lu  f3,4(r1),1,3
-    1490:	61 04 a3 01 	.long 0x1a30461
-    1494:	54 9f 00 01 	.long 0x1009f54
-    1498:	00 04 b0 61 	ori     r16,r13,1024
-    149c:	e4 61 01 6d 	xoris   r1,r8,25060
-    14a0:	00 03 00 04 	.long 0x4000300
-    14a4:	b0 61 bf 61 	ori     r31,r13,25008
-{
-    14a8:	02 8d 00 00 	.long 0x8d02
-    14ac:	00 00 00 00 	.long 0x0
-    14b0:	04 c0 61 cc 	lfdu    f3,-16380(r1)
-    14b4:	61 01 53 04 	.long 0x4530161
-    14b8:	cc 61 e4 61 	ori     r4,r15,25036
-    14bc:	01 6f 00 02 	.long 0x2006f01
-    14c0:	00 04 e4 61 	ori     r4,r15,1024
-    14c4:	a4 62 02 30 	addic   r0,r2,25252
-    14c8:	9f 00 02 00 	.long 0x2009f
-    14cc:	04 e4 61 a4 	lhzu    r3,-7164(r1)
+    1470:	cc 60 dc 60 	ori     r28,r6,24780
+    1474:	01 6f 00 04 	.long 0x4006f01
+    1478:	00 00 00 04 	.long 0x4000000
+    147c:	9c 60 a0 60 	ori     r0,r5,24732
+    1480:	0c 88 d8 00 	.long 0xd8880c
+    1484:	94 04 08 20 	subfic  r0,r8,1172
+    1488:	24 08 20 26 	dozi    r17,r0,2084
+    148c:	9f 04 a0 60 	ori     r0,r5,1183
+    1490:	dc 60 01 66 	oris    r1,r16,24796
+    1494:	00 00 00 04 	.long 0x4000000
+    1498:	a4 60 dc 60 	ori     r28,r6,24740
+    149c:	01 69 00 02 	.long 0x2006901
+    14a0:	04 04 b4 60 	ori     r20,r5,1028
+    14a4:	b4 60 01 6f 	xoris   r1,r24,24756
+{
+    14a8:	00 02 00 04 	.long 0x4000200
+    14ac:	94 62 e0 62 	ori     r0,r23,25236
+    14b0:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
+    14b4:	9f 00 02 00 	.long 0x2009f
+    14b8:	04 94 62 e0 	psq_l   f3,1028(r2),1,1
+    14bc:	62 01 6d 00 	.long 0x6d0162
+    14c0:	04 00 04 94 	stwu    r0,4(r4)
+    14c4:	62 a3 62 02 	.long 0x262a362
+    14c8:	8d 00 00 00 	.long 0x8d
+    14cc:	00 00 00 04 	.long 0x4000000
 	struct kvm *kvm = gp->l1_host;
-    14d0:	62 04 a3 01 	.long 0x1a30462
-    14d4:	54 9f 00 02 	.long 0x2009f54
-    14d8:	00 04 e4 61 	ori     r4,r15,1024
-    14dc:	a4 62 01 6d 	xoris   r1,r8,25252
+    14d0:	a4 62 b0 62 	ori     r16,r21,25252
+    14d4:	01 53 04 b0 	sth     r0,21249(r4)
+    14d8:	62 e0 62 01 	.long 0x162e062
+    14dc:	6f 00 01 00 	.long 0x1006f
 	ref = --gp->refcnt;
-    14e0:	00 04 00 04 	.long 0x4000400
+    14e0:	04 a0 61 d4 	stfsu   f3,-24572(r1)
 	struct mmiowb_state *ms = __mmiowb_state();
-    14e4:	e4 61 ff 61 	ori     r31,r15,25060
-    14e8:	02 8d 00 00 	.long 0x8d02
-    14ec:	00 00 00 00 	.long 0x0
-	if (unlikely(ms->mmiowb_pending)) {
-    14f0:	04 80 62 8c 	lbzu    r3,-32764(r2)
-    14f4:	62 01 53 04 	.long 0x4530162
-    14f8:	8c 62 a4 62 	ori     r4,r21,25228
+    14e4:	61 02 32 9f 	stbu    r25,609(r18)
+    14e8:	00 01 00 04 	.long 0x4000100
+    14ec:	a0 61 d4 61 	ori     r20,r14,24992
+	if (unlikely(ms->mmiowb_pending)) {
+    14f0:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
+    14f4:	9f 00 01 00 	.long 0x1009f
+    14f8:	04 a0 61 d4 	stfsu   f3,-24572(r1)
 	ms->nesting_count--;
-    14fc:	01 6f 00 00 	.long 0x6f01
-	...
+    14fc:	61 01 6d 00 	.long 0x6d0161
+    1500:	03 00 04 a0 	lhz     r0,3(r4)
+    1504:	61 af 61 02 	.long 0x261af61
+    1508:	8d 00 00 00 	.long 0x8d
+    150c:	00 00 00 04 	.long 0x4000000
+    1510:	b0 61 bc 61 	ori     r28,r13,25008
+	if (ref == 0)
+    1514:	01 53 04 bc 	stmw    r0,21249(r4)
+    1518:	61 d4 61 01 	.long 0x161d461
 }
-    151c:	00 04 88 59 	rlmi    r8,r12,r0,16,0
-    1520:	97 5a 01 53 	rlwimi. r1,r24,11,10,11
-    1524:	04 97 5a d0 	stfs    f2,-26876(r26)
-    1528:	5a 04 a3 01 	.long 0x1a3045a
-    152c:	53 9f 04 d0 	stfs    f0,-24749(r4)
-    1530:	5a ec 5a 01 	.long 0x15aec5a
-    1534:	53 04 ec 5a 	rlmi.   r12,r23,r0,17,9
-    1538:	ac 5c 01 6f 	xoris   r1,r24,23724
-    153c:	04 ac 5c b0 	sth     r2,-21500(r28)
-    1540:	5c 04 a3 01 	.long 0x1a3045c
+    151c:	6f 00 02 00 	.long 0x2006f
+    1520:	04 d4 61 94 	stwu    r3,-11260(r1)
+    1524:	62 02 30 9f 	stbu    r25,610(r16)
+    1528:	00 02 00 04 	.long 0x4000200
+    152c:	d4 61 94 62 	ori     r20,r20,25044
+    1530:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
+    1534:	9f 00 02 00 	.long 0x2009f
+    1538:	04 d4 61 94 	stwu    r3,-11260(r1)
+    153c:	62 01 6d 00 	.long 0x6d0162
+    1540:	04 00 04 d4 	stfsu   f0,4(r4)
 		kvmhv_release_nested(gp);
-    1544:	53 9f 04 b0 	sth     r0,-24749(r4)
+    1544:	61 ef 61 02 	.long 0x261ef61
 }
-    1548:	5c b4 5c 01 	.long 0x15cb45c
-    154c:	53 04 b4 5c 	rlwnm.  r20,r5,r0,17,9
-    1550:	e4 5c 01 6f 	xoris   r1,r24,23780
-    1554:	04 e4 5c e8 	ld      r2,-7164(r28)
+    1548:	8d 00 00 00 	.long 0x8d
+    154c:	00 00 00 04 	.long 0x4000000
+    1550:	f0 61 fc 61 	ori     r28,r15,25072
+    1554:	01 53 04 fc 	.long 0xfc045301
 		kvmhv_release_nested(gp);
-    1558:	5c 04 a3 01 	.long 0x1a3045c
-    155c:	53 9f 04 e8 	.long 0xe8049f53
-		ms->mmiowb_pending = 0;
-    1560:	5c f4 5c 01 	.long 0x15cf45c
-    1564:	6f 04 f4 5c 	rlwnm.  r20,r7,r0,17,23
-		mmiowb();
-    1568:	f8 5c 04 a3 	lhz     r24,23800(r4)
-    156c:	01 53 9f 04 	.long 0x49f5301
-    1570:	f8 5c 90 5d 	rlwnm   r16,r12,r11,19,28
-    1574:	01 6f 04 90 	stw     r0,28417(r4)
-{
-    1578:	5d 98 5d 01 	.long 0x15d985d
-    157c:	53 04 98 5d 	rlwnm.  r24,r12,r0,17,9
-    1580:	9c 5d 04 a3 	lhz     r24,23964(r4)
-    1584:	01 53 9f 04 	.long 0x49f5301
-    1588:	9c 5d ac 5d 	rlwnm   r12,r13,r11,22,14
-    158c:	01 6f 04 ac 	lhau    r0,28417(r4)
-    1590:	5d e0 5d 04 	.long 0x45de05d
+    1558:	61 94 62 01 	.long 0x1629461
+    155c:	6f 00 00 00 	.long 0x6f
+	...
+{
+    157c:	04 f8 58 87 	lwzu    r26,-2044(r24)
+    1580:	5a 01 53 04 	.long 0x453015a
+    1584:	87 5a c0 5a 	rlmi.   r0,r22,r11,10,3
+    1588:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    158c:	9f 04 c0 5a 	rlmi.   r0,r22,r0,18,15
+    1590:	dc 5a 01 53 	rlwimi  r1,r24,11,11,14
 	struct pt_regs l2_regs, saved_l1_regs;
-    1594:	a3 01 53 9f 	stbu    r26,419(r19)
+    1594:	04 dc 5a 9c 	stbu    r2,-9212(r26)
 {
-    1598:	00 01 00 09 	tdgti   r0,256
+    1598:	5c 01 6f 04 	.long 0x46f015c
 	struct pt_regs l2_regs, saved_l1_regs;
-    159c:	00 00 00 00 	.long 0x0
+    159c:	9c 5c a0 5c 	rlwnm   r0,r5,r11,18,14
 {
-    15a0:	00 04 98 5a 	rlmi    r24,r20,r0,16,0
-    15a4:	a0 5a 01 53 	rlwimi  r1,r24,11,10,16
+    15a0:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    15a4:	9f 04 a0 5c 	rlwnm.  r0,r5,r0,18,15
 	struct pt_regs l2_regs, saved_l1_regs;
-    15a8:	04 a0 5c b0 	sth     r2,-24572(r28)
+    15a8:	a4 5c 01 53 	rlwimi  r1,r24,11,18,18
 {
-    15ac:	5c 02 30 9f 	stbu    r25,604(r16)
-    15b0:	04 e0 5c e8 	ld      r2,-8188(r28)
-    15b4:	5c 02 30 9f 	stbu    r25,604(r16)
+    15ac:	04 a4 5c d4 	stfsu   f2,-23548(r28)
+    15b0:	5c 01 6f 04 	.long 0x46f015c
+    15b4:	d4 5c d8 5c 	rlwnm   r24,r6,r11,19,10
 	struct pt_regs l2_regs, saved_l1_regs;
-    15b8:	04 cc 5d d8 	stfd    f2,-13308(r29)
-    15bc:	5d 01 53 00 	.long 0x53015d
-    15c0:	02 04 04 ac 	lhau    r0,1026(r4)
-    15c4:	59 ac 59 02 	.long 0x259ac59
-    15c8:	34 9f 00 02 	.long 0x2009f34
-    15cc:	04 04 ac 59 	rlmi    r12,r13,r0,16,2
-    15d0:	ac 59 01 53 	rlwimi  r1,r24,11,6,22
+    15b8:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    15bc:	9f 04 d8 5c 	rlwnm.  r24,r6,r0,18,15
+    15c0:	e4 5c 01 6f 	xoris   r1,r24,23780
+    15c4:	04 e4 5c e8 	ld      r2,-7164(r28)
+    15c8:	5c 04 a3 01 	.long 0x1a3045c
+    15cc:	53 9f 04 e8 	.long 0xe8049f53
+    15d0:	5c 80 5d 01 	.long 0x15d805c
 	struct hv_guest_state l2_hv = {0}, saved_l1_hv;
-    15d4:	00 00 02 04 	.long 0x4020000
-    15d8:	b0 59 b0 59 	rlmi    r16,r13,r11,6,24
-    15dc:	02 35 9f 00 	.long 0x9f3502
-    15e0:	00 02 04 b0 	sth     r0,512(r4)
-    15e4:	59 b0 59 01 	.long 0x159b059
-    15e8:	53 00 02 00 	.long 0x20053
-    15ec:	04 b0 59 b4 	sthu    r2,-20476(r25)
-    15f0:	59 02 36 9f 	stbu    r25,601(r22)
-    15f4:	00 02 00 04 	.long 0x4000200
-    15f8:	b0 59 b4 59 	rlmi    r20,r13,r11,6,24
+    15d4:	6f 04 80 5d 	rlwnm.  r0,r12,r0,17,23
+    15d8:	88 5d 01 53 	rlwimi  r1,r24,11,22,4
+    15dc:	04 88 5d 8c 	lbzu    r2,-30716(r29)
+    15e0:	5d 04 a3 01 	.long 0x1a3045d
+    15e4:	53 9f 04 8c 	lbzu    r0,-24749(r4)
+    15e8:	5d 9c 5d 01 	.long 0x15d9c5d
+    15ec:	6f 04 9c 5d 	rlwnm.  r28,r12,r0,17,23
+    15f0:	d0 5d 04 a3 	lhz     r24,24016(r4)
+    15f4:	01 53 9f 00 	.long 0x9f5301
+    15f8:	01 00 09 00 	.long 0x90001
 	if (vcpu->kvm->arch.l1_ptcr == 0)
-    15fc:	01 53 00 00 	.long 0x5301
+    15fc:	00 00 00 00 	.long 0x0
 	struct kvmppc_vcore *vc = vcpu->arch.vcore;
-    1600:	00 00 00 00 	.long 0x0
+    1600:	04 88 5a 90 	stw     r2,-30716(r26)
 	if (vcpu->kvm->arch.l1_ptcr == 0)
-    1604:	00 00 00 04 	.long 0x4000000
-    1608:	b4 59 90 5a 	rlmi    r16,r20,r11,6,26
-    160c:	01 55 04 d0 	stfs    f0,21761(r4)
+    1604:	5a 01 53 04 	.long 0x453015a
+    1608:	90 5c a0 5c 	rlwnm   r0,r5,r11,18,8
+    160c:	02 30 9f 04 	.long 0x49f3002
 	if (MSR_TM_TRANSACTIONAL(vcpu->arch.shregs.msr))
-    1610:	5a 8b 5b 01 	.long 0x15b8b5a
-    1614:	55 04 b0 5c 	rlwnm.  r16,r5,r0,17,10
-    1618:	bc 5c 01 55 	rlwinm  r1,r8,11,18,30
-    161c:	04 90 5d 9c 	stbu    r2,-28668(r29)
-    1620:	5d 01 55 00 	.long 0x55015d
-    1624:	00 00 04 b4 	sthu    r0,0(r4)
-    1628:	59 c8 59 03 	.long 0x359c859
-    162c:	73 a8 1c 00 	.long 0x1ca873
-    1630:	00 00 04 b4 	sthu    r0,0(r4)
+    1610:	d0 5c d8 5c 	rlwnm   r24,r6,r11,19,8
+    1614:	02 30 9f 04 	.long 0x49f3002
+    1618:	bc 5d c8 5d 	rlwnm   r8,r14,r11,22,30
+    161c:	01 53 00 02 	.long 0x2005301
+    1620:	04 04 9c 59 	rlmi    r28,r12,r0,16,2
+    1624:	9c 59 02 34 	addic.  r0,r2,22940
+    1628:	9f 00 02 04 	.long 0x402009f
+    162c:	04 9c 59 9c 	stbu    r2,-25596(r25)
+    1630:	59 01 53 00 	.long 0x530159
 	retval = __srcu_read_lock(ssp);
-    1634:	59 d0 59 01 	.long 0x159d059
-    1638:	59 00 00 00 	.long 0x59
-    163c:	00 01 00 00 	.long 0x100
-    1640:	00 09 00 00 	.long 0x900
-	...
+    1634:	00 02 04 a0 	lhz     r0,512(r4)
+    1638:	59 a0 59 02 	.long 0x259a059
+    163c:	35 9f 00 00 	.long 0x9f35
+    1640:	02 04 a0 59 	rlmi    r0,r13,r0,16,1
+    1644:	a0 59 01 53 	rlwimi  r1,r24,11,6,16
 	if (kvm_vcpu_read_guest(vcpu, hv_ptr, &l2_hv->version,
-    1650:	00 00 04 b4 	sthu    r0,0(r4)
-    1654:	59 97 5a 01 	.long 0x15a9759
-    1658:	53 04 97 5a 	rlmi.   r23,r20,r0,17,9
+    1648:	00 02 00 04 	.long 0x4000200
+    164c:	a0 59 a4 59 	rlmi    r4,r13,r11,6,16
+    1650:	02 36 9f 00 	.long 0x9f3602
+    1654:	02 00 04 a0 	lhz     r0,2(r4)
+    1658:	59 a4 59 01 	.long 0x159a459
 	vcpu->____srcu_idx = srcu_read_lock(&vcpu->kvm->srcu);
-    165c:	98 5a 04 a3 	lhz     r24,23192(r4)
-    1660:	01 53 9f 04 	.long 0x49f5301
-    1664:	d0 5a ec 5a 	rlmi    r12,r23,r11,11,8
-    1668:	01 53 04 ec 	.long 0xec045301
-    166c:	5a a0 5c 01 	.long 0x15ca05a
-    1670:	6f 04 b0 5c 	rlwnm.  r16,r5,r0,17,23
+    165c:	53 00 00 00 	.long 0x53
+    1660:	00 00 00 00 	.long 0x0
+    1664:	00 00 04 a4 	lhzu    r0,0(r4)
+    1668:	59 80 5a 01 	.long 0x15a8059
+    166c:	55 04 c0 5a 	rlmi.   r0,r22,r0,17,10
+    1670:	fb 5a 01 55 	rlwinm. r1,r8,11,11,29
 		l2_hv->version = swab64(l2_hv->version);
-    1674:	b4 5c 01 53 	rlwimi  r1,r24,11,18,26
+    1674:	04 a0 5c ac 	lhau    r2,-24572(r28)
 	return (kvmppc_get_msr(vcpu) & MSR_LE) != (MSR_KERNEL & MSR_LE);
-    1678:	04 b4 5c e0 	lq      r2,-19456(r28)
+    1678:	5c 01 55 04 	.long 0x455015c
 	if (kvmppc_need_byteswap(vcpu))
-    167c:	5c 01 6f 04 	.long 0x46f015c
-    1680:	e8 5c f4 5c 	rlwnm   r20,r7,r11,19,20
+    167c:	80 5d 8c 5d 	rlwnm   r12,r12,r11,22,0
+    1680:	01 55 00 00 	.long 0x5501
 		l2_hv->version = swab64(l2_hv->version);
-    1684:	01 6f 04 f4 	lxv     vs0,28416(r4)
-    1688:	5c f8 5c 04 	.long 0x45cf85c
-    168c:	a3 01 53 9f 	stbu    r26,419(r19)
-    1690:	04 f8 5c 90 	stw     r2,-2044(r28)
-    1694:	5d 01 6f 04 	.long 0x46f015d
-    1698:	90 5d 98 5d 	rlwnm   r24,r12,r11,22,8
-    169c:	01 53 04 98 	stb     r0,21249(r4)
-    16a0:	5d 9c 5d 04 	.long 0x45d9c5d
-    16a4:	a3 01 53 9f 	stbu    r26,419(r19)
-    16a8:	04 9c 5d ac 	lhau    r2,-25596(r29)
-    16ac:	5d 01 6f 00 	.long 0x6f015d
-    16b0:	00 01 00 09 	tdgti   r0,256
-    16b4:	00 00 00 00 	.long 0x0
-    16b8:	04 b8 59 98 	stb     r2,-18428(r25)
-    16bc:	5a 01 6d 04 	.long 0x46d015a
+    1684:	00 04 a4 59 	rlmi    r4,r13,r0,16,0
+    1688:	b8 59 03 73 	andi.   r3,r24,22968
+    168c:	a8 1c 00 00 	.long 0x1ca8
+    1690:	00 04 a4 59 	rlmi    r4,r13,r0,16,0
+    1694:	c0 59 01 59 	rlmi    r1,r8,r11,7,0
+    1698:	00 00 00 00 	.long 0x0
+    169c:	01 00 00 00 	.long 0x1
+    16a0:	09 00 00 00 	.long 0x9
+	...
+    16b0:	00 04 a4 59 	rlmi    r4,r13,r0,16,0
+    16b4:	87 5a 01 53 	rlwimi. r1,r24,11,10,3
+    16b8:	04 87 5a 88 	lbz     r2,-30972(r26)
+    16bc:	5a 04 a3 01 	.long 0x1a3045a
 	srcu_read_unlock(&vcpu->kvm->srcu, vcpu->____srcu_idx);
-    16c0:	d0 5a a0 5c 	rlwnm   r0,r5,r11,11,8
-    16c4:	01 6d 04 b0 	sth     r0,27905(r4)
+    16c0:	53 9f 04 c0 	lfs     f0,-24749(r4)
+    16c4:	5a dc 5a 01 	.long 0x15adc5a
 	WARN_ON_ONCE(idx & ~0x1);
-    16c8:	5c c4 5c 01 	.long 0x15cc45c
-    16cc:	6d 04 f8 5c 	rlwnm.  r24,r7,r0,17,22
-    16d0:	ac 5d 01 6d 	xoris   r1,r8,23980
+    16c8:	53 04 dc 5a 	rlmi.   r28,r22,r0,17,9
+    16cc:	90 5c 01 6f 	xoris   r1,r24,23696
+    16d0:	04 a0 5c a4 	lhzu    r2,-24572(r28)
 	__srcu_read_unlock(ssp, idx);
-    16d4:	00 00 00 00 	.long 0x0
-    16d8:	00 00 00 04 	.long 0x4000000
-    16dc:	c0 5c cc 5c 	rlwnm   r12,r6,r11,19,0
+    16d4:	5c 01 53 04 	.long 0x453015c
+    16d8:	a4 5c d0 5c 	rlwnm   r16,r6,r11,18,18
+    16dc:	01 6f 04 d8 	stfd    f0,28417(r4)
 	if (err)
-    16e0:	01 53 04 cc 	lfdu    f0,21249(r4)
-    16e4:	5c e0 5c 01 	.long 0x15ce05c
+    16e0:	5c e4 5c 01 	.long 0x15ce45c
+    16e4:	6f 04 e4 5c 	rlwnm.  r4,r7,r0,17,23
 		return H_PARAMETER;
-    16e8:	6d 04 e8 5c 	rlwnm.  r8,r7,r0,17,22
-    16ec:	f8 5c 01 53 	rlwimi  r1,r24,11,19,28
+    16e8:	e8 5c 04 a3 	lhz     r24,23784(r4)
+    16ec:	01 53 9f 04 	.long 0x49f5301
 }
-    16f0:	00 07 00 04 	.long 0x4000700
-    16f4:	c0 59 d0 59 	rlmi    r16,r14,r11,7,0
-    16f8:	07 79 00 40 	bdnzfla lt,7904 <kvmhv_nested_next_lpid+0x3e2c>
-    16fc:	25 31 1a 9f 	stbu    r24,12581(r26)
-	...
-    170c:	00 04 c0 59 	rlmi    r0,r14,r0,16,0
-    1710:	cc 59 07 79 	rldimi  r7,r8,11,7
-    1714:	00 42 25 33 	addic   r25,r5,16896
-    1718:	1a 9f 04 cc 	lfdu    f0,-24806(r4)
-    171c:	59 f8 59 01 	.long 0x159f859
-    1720:	6e 04 f8 59 	rlmi    r24,r15,r0,17,23
+    16f0:	e8 5c 80 5d 	rlwnm   r0,r12,r11,19,20
+    16f4:	01 6f 04 80 	lwz     r0,28417(r4)
+    16f8:	5d 88 5d 01 	.long 0x15d885d
+    16fc:	53 04 88 5d 	rlwnm.  r8,r12,r0,17,9
+    1700:	8c 5d 04 a3 	lhz     r24,23948(r4)
+    1704:	01 53 9f 04 	.long 0x49f5301
+    1708:	8c 5d 9c 5d 	rlwnm   r28,r12,r11,22,6
+    170c:	01 6f 00 00 	.long 0x6f01
+    1710:	01 00 09 00 	.long 0x90001
+    1714:	00 00 00 04 	.long 0x4000000
+    1718:	a8 59 88 5a 	rlmi    r8,r20,r11,6,20
+    171c:	01 6d 04 c0 	lfs     f0,27905(r4)
+    1720:	5a 90 5c 01 	.long 0x15c905a
 	return kvm_vcpu_read_guest(vcpu, hv_ptr, l2_hv, size) ||
-    1724:	a0 5a 03 8e 	lbzu    r16,23200(r3)
-    1728:	01 9f 04 d0 	stfs    f0,-24831(r4)
-    172c:	5a 90 5d 01 	.long 0x15d905a
-    1730:	6e 04 9c 5d 	rlwnm   r28,r12,r0,17,23
-    1734:	ac 5d 01 6e 	xoris   r1,r16,23980
-    1738:	04 cc 5d d4 	stfsu   f2,-13308(r29)
-    173c:	5d 03 8e 01 	.long 0x18e035d
-    1740:	9f 00 03 00 	.long 0x3009f
-	...
-    174c:	04 c0 59 d0 	stfs    f2,-16380(r25)
-	WARN_ON_ONCE(idx & ~0x1);
-    1750:	59 07 79 00 	.long 0x790759
-    1754:	41 25 31 1a 	stxvp   vs48,9536(r17)
-    1758:	9f 04 d0 59 	rlmi.   r16,r14,r0,18,15
-    175c:	97 5a 01 59 	rlmi.   r1,r8,r11,10,11
-    1760:	04 d0 5a 8b 	lbz     r26,-12284(r26)
-    1764:	5b 01 59 04 	.long 0x459015b
-    1768:	b0 5c bf 5c 	rlwnm   r31,r5,r11,18,24
-    176c:	01 59 04 90 	stw     r0,22785(r4)
-    1770:	5d 94 5d 01 	.long 0x15d945d
-    1774:	59 00 0f 00 	.long 0xf0059
-	...
-    1780:	04 c0 59 e4 	psq_lu  f2,4(r25),1,4
-    1784:	59 07 75 00 	.long 0x750759
-    1788:	3a 25 33 1a 	.long 0x1a33253a
-    178c:	9f 04 e4 59 	rlmi.   r4,r15,r0,18,15
+    1724:	6d 04 a0 5c 	rlwnm.  r0,r5,r0,17,22
+    1728:	b4 5c 01 6d 	xoris   r1,r8,23732
+    172c:	04 e8 5c 9c 	stbu    r2,-6140(r28)
+    1730:	5d 01 6d 00 	.long 0x6d015d
+    1734:	00 00 00 00 	.long 0x0
+    1738:	00 00 04 b0 	sth     r0,0(r4)
+    173c:	5c bc 5c 01 	.long 0x15cbc5c
+    1740:	53 04 bc 5c 	rlwnm.  r28,r5,r0,17,9
+    1744:	d0 5c 01 6d 	xoris   r1,r8,23760
+	WARN_ON_ONCE(idx & ~0x1);
+    1748:	04 d8 5c e8 	ld      r2,-10236(r28)
+    174c:	5c 01 53 00 	.long 0x53015c
+    1750:	07 00 04 b0 	sth     r0,7(r4)
+    1754:	59 c0 59 07 	.long 0x759c059
+    1758:	79 00 40 25 	dozi    r10,r0,121
+    175c:	31 1a 9f 00 	.long 0x9f1a31
+	...
+    176c:	04 b0 59 bc 	stmw    r2,-20476(r25)
+    1770:	59 07 79 00 	.long 0x790759
+    1774:	42 25 33 1a 	.long 0x1a332542
+    1778:	9f 04 bc 59 	rlmi.   r28,r13,r0,18,15
+    177c:	e8 59 01 6e 	xoris   r1,r16,23016
+    1780:	04 e8 59 90 	stw     r2,-6140(r25)
+    1784:	5a 03 8e 01 	.long 0x18e035a
+    1788:	9f 04 c0 5a 	rlmi.   r0,r22,r0,18,15
+    178c:	80 5d 01 6e 	xoris   r1,r16,23936
 		return H_NOT_AVAILABLE;
-    1790:	97 5a 01 5a 	rlmi.   r1,r16,r11,10,11
-    1794:	04 d0 5a 8b 	lbz     r26,-12284(r26)
-    1798:	5b 01 5a 04 	.long 0x45a015b
-    179c:	b0 5c bf 5c 	rlwnm   r31,r5,r11,18,24
-    17a0:	01 5a 04 90 	stw     r0,23041(r4)
+    1790:	04 8c 5d 9c 	stbu    r2,-29692(r29)
+    1794:	5d 01 6e 04 	.long 0x46e015d
+    1798:	bc 5d c4 5d 	rlwnm   r4,r14,r11,22,30
+    179c:	03 8e 01 9f 	stbu    r24,-29181(r1)
+    17a0:	00 03 00 00 	.long 0x300
 	return kvm_vcpu_read_guest(vcpu, hv_ptr, l2_hv, size) ||
-    17a4:	5d 9c 5d 07 	.long 0x75d9c5d
-    17a8:	75 00 3a 25 	dozi    r9,r26,117
-    17ac:	33 1a 9f 00 	.long 0x9f1a33
-    17b0:	07 00 04 80 	lwz     r0,7(r4)
-    17b4:	5a 90 5a 07 	.long 0x75a905a
-    17b8:	75 00 35 25 	dozi    r9,r21,117
-    17bc:	37 1a 9f 00 	.long 0x9f1a37
+    17a4:	00 00 00 00 	.long 0x0
+    17a8:	00 00 00 04 	.long 0x4000000
+    17ac:	b0 59 c0 59 	rlmi    r0,r14,r11,6,24
+    17b0:	07 79 00 41 	bdnztla lt,7904 <kvmhv_nested_next_lpid+0x3e3c>
+    17b4:	25 31 1a 9f 	stbu    r24,12581(r26)
+    17b8:	04 c0 59 87 	lwzu    r26,-16380(r25)
+    17bc:	5a 01 59 04 	.long 0x459015a
 		kvm_vcpu_read_guest(vcpu, regs_ptr, l2_regs,
-    17c0:	0b 00 00 00 	.long 0xb
-    17c4:	00 00 00 00 	.long 0x0
-    17c8:	04 c0 59 97 	stwu    r26,-16380(r25)
-    17cc:	5a 01 54 04 	.long 0x454015a
-    17d0:	d0 5a 8b 5b 	rlmi    r11,r28,r11,11,8
-    17d4:	01 54 04 b0 	sth     r0,21505(r4)
-    17d8:	5c bf 5c 01 	.long 0x15cbf5c
-    17dc:	54 04 90 5d 	rlwnm   r16,r12,r0,17,10
-    17e0:	9c 5d 01 54 	rlwinm  r1,r0,11,22,14
-    17e4:	00 03 00 00 	.long 0x300
-    17e8:	00 04 80 5a 	rlmi    r0,r20,r0,16,0
-    17ec:	88 5a 05 75 	andis.  r5,r8,23176
-    17f0:	00 3c 25 9f 	stbu    r25,15360(r5)
-    17f4:	04 88 5a 97 	stwu    r26,-30716(r26)
-    17f8:	5a 01 56 00 	.long 0x56015a
-    17fc:	05 00 00 01 	.long 0x1000005
-    1800:	00 09 00 00 	.long 0x900
-    1804:	00 00 04 b8 	lm      r0,0(r4)
-    1808:	59 98 5a 02 	.long 0x25a9859
-    180c:	30 9f 04 98 	stb     r0,-24784(r4)
-    1810:	5a 98 5a 01 	.long 0x15a985a
+    17c0:	c0 5a fb 5a 	rlmi    r27,r23,r11,11,0
+    17c4:	01 59 04 a0 	lhz     r0,22785(r4)
+    17c8:	5c af 5c 01 	.long 0x15caf5c
+    17cc:	59 04 80 5d 	rlwnm.  r0,r12,r0,17,12
+    17d0:	84 5d 01 59 	rlmi    r1,r8,r11,22,2
+    17d4:	00 0f 00 00 	.long 0xf00
+    17d8:	00 00 00 00 	.long 0x0
+    17dc:	00 00 00 04 	.long 0x4000000
+    17e0:	b0 59 d4 59 	rlmi    r20,r14,r11,6,24
+    17e4:	07 75 00 3a 	li      r16,29959
+    17e8:	25 33 1a 9f 	stbu    r24,13093(r26)
+    17ec:	04 d4 59 87 	lwzu    r26,-11260(r25)
+    17f0:	5a 01 5a 04 	.long 0x45a015a
+    17f4:	c0 5a fb 5a 	rlmi    r27,r23,r11,11,0
+    17f8:	01 5a 04 a0 	lhz     r0,23041(r4)
+    17fc:	5c af 5c 01 	.long 0x15caf5c
+    1800:	5a 04 80 5d 	rlwnm   r0,r12,r0,17,13
+    1804:	8c 5d 07 75 	andis.  r7,r8,23948
+    1808:	00 3a 25 33 	addic   r25,r5,14848
+    180c:	1a 9f 00 07 	.long 0x7009f1a
+    1810:	00 04 f0 59 	rlmi    r16,r15,r0,16,0
 	return kvm_vcpu_read_guest(vcpu, hv_ptr, l2_hv, size) ||
-    1814:	53 04 d0 5a 	rlmi.   r16,r22,r0,17,9
-    1818:	a0 5c 02 30 	addic   r0,r2,23712
-    181c:	9f 04 b0 5c 	rlwnm.  r16,r5,r0,18,15
-    1820:	e0 5c 02 30 	addic   r0,r2,23776
-    1824:	9f 04 e8 5c 	rlwnm.  r8,r7,r0,18,15
-    1828:	ac 5d 02 30 	addic   r0,r2,23980
+    1814:	80 5a 07 75 	andis.  r7,r8,23168
+    1818:	00 35 25 37 	addic.  r25,r5,13568
+    181c:	1a 9f 00 0b 	tdnei   r0,-24806
+    1820:	00 00 00 00 	.long 0x0
+    1824:	00 00 00 04 	.long 0x4000000
+    1828:	b0 59 87 5a 	rlmi    r7,r20,r11,6,24
 	__srcu_read_unlock(ssp, idx);
-    182c:	9f 00 06 00 	.long 0x6009f
-    1830:	04 b8 59 c0 	lfs     f2,-18428(r25)
-    1834:	59 01 59 00 	.long 0x590159
+    182c:	01 54 04 c0 	lfs     f0,21505(r4)
+    1830:	5a fb 5a 01 	.long 0x15afb5a
+    1834:	54 04 a0 5c 	rlwnm   r0,r5,r0,17,10
 	if (err)
-    1838:	09 0b 04 c0 	lfs     f0,2825(r4)
-    183c:	59 c0 59 03 	.long 0x359c059
-    1840:	73 a8 1c 00 	.long 0x1ca873
-    1844:	01 03 04 c0 	lfs     f0,769(r4)
+    1838:	af 5c 01 54 	rlwinm. r1,r0,11,18,23
+    183c:	04 80 5d 8c 	lbzu    r2,-32764(r29)
+    1840:	5d 01 54 00 	.long 0x54015d
+    1844:	03 00 00 00 	.long 0x3
 	if (kvmppc_need_byteswap(vcpu))
-    1848:	59 c0 59 01 	.long 0x159c059
-    184c:	59 00 05 07 	.long 0x7050059
+    1848:	04 f0 59 f8 	std     r2,-4092(r25)
+    184c:	59 05 75 00 	.long 0x750559
 	if (l2_hv.version > HV_GUEST_STATE_VERSION)
-    1850:	04 c0 59 c0 	lfs     f2,-16380(r25)
-    1854:	59 01 59 00 	.long 0x590159
-    1858:	0d 0f 04 c0 	lfs     f0,3853(r4)
+    1850:	3c 25 9f 04 	.long 0x49f253c
+    1854:	f8 59 87 5a 	rlmi    r7,r20,r11,7,28
+    1858:	01 56 00 05 	.long 0x5005601
 	if (l2_hv.vcpu_token >= NR_CPUS)
-    185c:	59 c0 59 01 	.long 0x159c059
-    1860:	55 00 01 03 	.long 0x3010055
-    1864:	04 80 5a 80 	lwz     r2,-32764(r26)
+    185c:	00 00 01 00 	.long 0x10000
+    1860:	09 00 00 00 	.long 0x9
+    1864:	00 04 a8 59 	rlmi    r8,r13,r0,16,0
 	if (MSR_TM_SUSPENDED(vcpu->arch.shregs.msr)) {
-    1868:	5a 01 55 00 	.long 0x55015a
-    186c:	05 07 04 80 	lwz     r0,1797(r4)
+    1868:	88 5a 02 30 	addic   r0,r2,23176
+    186c:	9f 04 88 5a 	rlmi.   r8,r20,r0,18,15
 		if (!MSR_TM_ACTIVE(l2_regs.msr))
-    1870:	5a 80 5a 01 	.long 0x15a805a
+    1870:	88 5a 01 53 	rlwimi  r1,r24,11,10,4
 	if (MSR_TM_SUSPENDED(vcpu->arch.shregs.msr)) {
-    1874:	55 00 01 09 	tdgti   r1,85
-    1878:	00 00 00 00 	.long 0x0
+    1874:	04 c0 5a 90 	stw     r2,-16380(r26)
+    1878:	5c 02 30 9f 	stbu    r25,604(r16)
 		if (!MSR_TM_ACTIVE(l2_regs.msr))
-    187c:	04 f4 5a a0 	lhz     r2,-3068(r26)
+    187c:	04 a0 5c d0 	stfs    f2,-24572(r28)
 	if (MSR_TM_SUSPENDED(vcpu->arch.shregs.msr)) {
-    1880:	5c 01 6e 04 	.long 0x46e015c
+    1880:	5c 02 30 9f 	stbu    r25,604(r16)
 		if (!MSR_TM_ACTIVE(l2_regs.msr))
-    1884:	f8 5c 90 5d 	rlwnm   r16,r12,r11,19,28
+    1884:	04 d8 5c 9c 	stbu    r2,-10236(r28)
 	if (MSR_TM_SUSPENDED(vcpu->arch.shregs.msr)) {
-    1888:	01 6e 04 9c 	stbu    r0,28161(r4)
-    188c:	5d ac 5d 01 	.long 0x15dac5d
+    1888:	5d 02 30 9f 	stbu    r25,605(r16)
+    188c:	00 06 00 04 	.long 0x4000600
 		if (l2_regs.msr & MSR_TS_MASK)
-    1890:	6e 00 01 09 	tdgti   r1,110
-    1894:	00 00 00 00 	.long 0x0
+    1890:	a8 59 b0 59 	rlmi    r16,r13,r11,6,20
+    1894:	01 59 00 09 	tdgti   r0,22785
 		if (WARN_ON_ONCE(vcpu->arch.shregs.msr & MSR_TS_MASK))
-    1898:	04 f4 5a a0 	lhz     r2,-3068(r26)
-    189c:	5c 01 6f 04 	.long 0x46f015c
+    1898:	0b 04 b0 59 	rlmi.   r16,r13,r0,16,5
+    189c:	b0 59 03 73 	andi.   r3,r24,22960
 	l2 = kvmhv_get_nested(vcpu->kvm, l2_hv.lpid, true);
-    18a0:	f8 5c 90 5d 	rlwnm   r16,r12,r11,19,28
-    18a4:	01 6f 04 9c 	stbu    r0,28417(r4)
-    18a8:	5d ac 5d 01 	.long 0x15dac5d
-    18ac:	6f 00 03 00 	.long 0x3006f
+    18a0:	a8 1c 00 01 	.long 0x1001ca8
+    18a4:	03 04 b0 59 	rlmi.   r16,r13,r0,16,1
+    18a8:	b0 59 01 59 	rlmi    r1,r8,r11,6,24
+    18ac:	00 05 07 04 	.long 0x4070500
 	if (!l2)
-    18b0:	00 09 00 00 	.long 0x900
-    18b4:	00 00 04 f4 	psq_stu f0,0(r4),0,0
+    18b0:	b0 59 b0 59 	rlmi    r16,r13,r11,6,24
+    18b4:	01 59 00 0d 	twgti   r0,22785
 	if (!l2->l1_gr_to_hr) {
-    18b8:	5a 8b 5b 01 	.long 0x15b8b5a
-    18bc:	53 04 8b 5b 	rlmi.   r11,r28,r0,17,9
-    18c0:	a0 5c 01 6d 	xoris   r1,r8,23712
+    18b8:	0f 04 b0 59 	rlmi.   r16,r13,r0,16,7
+    18bc:	b0 59 01 55 	rlwinm  r1,r8,11,6,24
+    18c0:	00 01 03 04 	.long 0x4030100
 	vcpu->arch.regs.msr = vcpu->arch.shregs.msr;
-    18c4:	04 f8 5c 90 	stw     r2,-2044(r28)
+    18c4:	f0 59 f0 59 	rlmi    r16,r15,r11,7,24
 	saved_l1_regs = vcpu->arch.regs;
-    18c8:	5d 01 6d 04 	.long 0x46d015d
-    18cc:	9c 5d ac 5d 	rlwnm   r12,r13,r11,22,14
-    18d0:	01 6d 00 00 	.long 0x6d01
-    18d4:	00 00 00 00 	.long 0x0
+    18c8:	01 55 00 05 	.long 0x5005501
+    18cc:	07 04 f0 59 	rlmi.   r16,r15,r0,16,3
+    18d0:	f0 59 01 55 	rlwinm  r1,r8,11,7,24
+    18d4:	00 01 09 00 	.long 0x90100
 	vcpu->arch.regs.msr = vcpu->arch.shregs.msr;
-    18d8:	09 00 00 00 	.long 0x9
+    18d8:	00 00 00 04 	.long 0x4000000
 	saved_l1_regs = vcpu->arch.regs;
-    18dc:	00 04 94 5b 	rlmi    r20,r28,r0,16,0
-    18e0:	c0 5b 01 53 	rlwimi  r1,r24,11,15,0
+    18dc:	e4 5a 90 5c 	rlwnm   r16,r4,r11,11,18
+    18e0:	01 6e 04 e8 	ldu     r0,28160(r4)
 	kvmhv_save_hv_regs(vcpu, &saved_l1_hv);
-    18e4:	04 c0 5b c7 	lfsu    f26,-16380(r27)
-    18e8:	5b 01 54 04 	.long 0x454015b
-    18ec:	f0 5b a0 5c 	rlwnm   r0,r5,r11,15,24
+    18e4:	5c 80 5d 01 	.long 0x15d805c
+    18e8:	6e 04 8c 5d 	rlwnm   r12,r12,r0,17,23
+    18ec:	9c 5d 01 6e 	xoris   r1,r16,23964
 	hdec_exp = l2_hv.hdec_expiry - vc->tb_offset;
-    18f0:	01 53 04 f8 	stdu    r0,21248(r4)
+    18f0:	00 01 09 00 	.long 0x90100
 	vcpu->arch.regs = l2_regs;
-    18f4:	5c 90 5d 01 	.long 0x15d905c
-    18f8:	53 04 9c 5d 	rlwnm.  r28,r12,r0,17,9
+    18f4:	00 00 00 04 	.long 0x4000000
+    18f8:	e4 5a 90 5c 	rlwnm   r16,r4,r11,11,18
 	vc->tb_offset += l2_hv.tb_offset;
-    18fc:	ac 5d 01 53 	rlwimi  r1,r24,11,22,22
+    18fc:	01 6f 04 e8 	ldu     r0,28416(r4)
 	hdec_exp = l2_hv.hdec_expiry - vc->tb_offset;
-    1900:	00 01 00 00 	.long 0x100
+    1900:	5c 80 5d 01 	.long 0x15d805c
 	vcpu->arch.regs = l2_regs;
-    1904:	00 04 84 5b 	rlmi    r4,r28,r0,16,0
+    1904:	6f 04 8c 5d 	rlwnm.  r12,r12,r0,17,23
 	vcpu->arch.nested_vcpu_id = l2_hv.vcpu_token;
-    1908:	8b 5b 01 53 	rlwimi. r1,r24,11,14,5
+    1908:	9c 5d 01 6f 	xoris   r1,r24,23964
 	vcpu->arch.nested_hfscr = l2_hv.hfscr;
-    190c:	04 8b 5b 8c 	lbzu    r2,-29948(r27)
+    190c:	00 03 00 00 	.long 0x300
 	vc->tb_offset += l2_hv.tb_offset;
-    1910:	5b 01 6d 00 	.long 0x6d015b
-	...
+    1910:	09 00 00 00 	.long 0x9
+	hdec_exp = l2_hv.hdec_expiry - vc->tb_offset;
+    1914:	00 04 e4 5a 	rlmi    r4,r23,r0,16,0
+	vc->tb_offset += l2_hv.tb_offset;
+    1918:	fb 5a 01 53 	rlwimi. r1,r24,11,11,29
 	vcpu->arch.dec_expires += l2_hv.tb_offset;
-    191c:	00 00 04 94 	stwu    r0,0(r4)
+    191c:	04 fb 5a 90 	stw     r2,-1276(r26)
 	vcpu->arch.nested_vcpu_id = l2_hv.vcpu_token;
-    1920:	5b c7 5b 04 	.long 0x45bc75b
+    1920:	5c 01 6d 04 	.long 0x46d015c
 	vcpu->arch.nested = l2;
-    1924:	79 80 19 9f 	stbu    r24,-32647(r25)
+    1924:	e8 5c 80 5d 	rlwnm   r0,r12,r11,19,20
 	vcpu->arch.nested_hfscr = l2_hv.hfscr;
-    1928:	04 fc 5b 9c 	stbu    r2,-1020(r27)
+    1928:	01 6d 04 8c 	lbzu    r0,27905(r4)
 	vcpu->arch.dec_expires += l2_hv.tb_offset;
-    192c:	5c 04 79 80 	lwz     r3,1116(r25)
-    1930:	19 9f 04 9c 	stbu    r0,-24807(r4)
+    192c:	5d 9c 5d 01 	.long 0x15d9c5d
+    1930:	6d 00 00 00 	.long 0x6d
 	vcpu->arch.regs = l2_regs;
-    1934:	5c b0 5c 04 	.long 0x45cb05c
-    1938:	7d 80 19 9f 	stbu    r24,-32643(r25)
+    1934:	00 00 00 09 	tdgti   r0,0
+    1938:	00 00 00 00 	.long 0x0
 	vcpu->arch.shregs.msr = (vcpu->arch.regs.msr | MSR_ME) & ~MSR_HV;
-    193c:	04 f8 5c 90 	stw     r2,-2044(r28)
+    193c:	04 84 5b b0 	sth     r2,-31740(r27)
 	vc->pcr = hr->pcr | PCR_MASK;
-    1940:	5d 04 79 80 	lwz     r3,1117(r25)
+    1940:	5b 01 53 04 	.long 0x453015b
 	vcpu->arch.shregs.msr = (vcpu->arch.regs.msr | MSR_ME) & ~MSR_HV;
-    1944:	19 9f 04 9c 	stbu    r0,-24807(r4)
+    1944:	b0 5b b7 5b 	rlmi    r23,r29,r11,14,24
 	struct kvmppc_vcore *vc = vcpu->arch.vcore;
-    1948:	5d ac 5d 04 	.long 0x45dac5d
+    1948:	01 54 04 e0 	lq      r0,21504(r4)
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    194c:	79 80 19 9f 	stbu    r24,-32647(r25)
+    194c:	5b 90 5c 01 	.long 0x15c905b
 	vcpu->arch.shregs.msr = (vcpu->arch.regs.msr | MSR_ME) & ~MSR_HV;
-    1950:	00 01 00 04 	.long 0x4000100
+    1950:	53 04 e8 5c 	rlwnm.  r8,r7,r0,17,9
 	vc->pcr = hr->pcr | PCR_MASK;
-    1954:	c8 5b d4 5b 	rlmi    r20,r30,r11,15,4
-    1958:	01 6d 00 01 	.long 0x1006d01
+    1954:	80 5d 01 53 	rlwimi  r1,r24,11,22,0
+    1958:	04 8c 5d 9c 	stbu    r2,-29692(r29)
 	vc->dpdes = hr->dpdes;
-    195c:	09 00 00 04 	.long 0x4000009
+    195c:	5d 01 53 00 	.long 0x53015d
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    1960:	80 5c a0 5c 	rlwnm   r0,r5,r11,18,0
+    1960:	01 00 00 00 	.long 0x1
 	vcpu->arch.purr = hr->purr;
-    1964:	01 6d 04 9c 	stbu    r0,27905(r4)
+    1964:	04 f4 5a fb 	std     r26,-3068(r26)
 	vcpu->arch.ciabr = hr->ciabr;
-    1968:	5d ac 5d 01 	.long 0x15dac5d
+    1968:	5a 01 53 04 	.long 0x453015a
 	vcpu->arch.shregs.msr = (vcpu->arch.regs.msr | MSR_ME) & ~MSR_HV;
-    196c:	6d 00 03 09 	tdgti   r3,109
+    196c:	fb 5a fc 5a 	rlmi.   r28,r23,r11,11,29
 	vc->pcr = hr->pcr | PCR_MASK;
-    1970:	00 00 04 80 	lwz     r0,0(r4)
-	vcpu->arch.purr = hr->purr;
-    1974:	5c a0 5c 01 	.long 0x15ca05c
-				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    1978:	6d 04 9c 5d 	rlwnm.  r28,r12,r0,17,22
+    1970:	01 6d 00 00 	.long 0x6d01
+	...
 	vcpu->arch.shregs.msr = (vcpu->arch.regs.msr | MSR_ME) & ~MSR_HV;
-    197c:	ac 5d 01 6d 	xoris   r1,r8,23980
+    197c:	00 04 84 5b 	rlmi    r4,r28,r0,16,0
 	vc->pcr = hr->pcr | PCR_MASK;
-    1980:	00 08 07 00 	.long 0x70800
+    1980:	b7 5b 04 79 	.long 0x79045bb7
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    1984:	00 04 80 5c 	rlwnm   r0,r4,r0,16,0
+    1984:	80 19 9f 04 	.long 0x49f1980
 	vcpu->arch.shregs.msr = (vcpu->arch.regs.msr | MSR_ME) & ~MSR_HV;
-    1988:	a0 5c 01 6d 	xoris   r1,r8,23712
+    1988:	ec 5b 8c 5c 	rlwnm   r12,r4,r11,15,22
 	vc->pcr = hr->pcr | PCR_MASK;
-    198c:	04 9c 5d ac 	lhau    r2,-25596(r29)
+    198c:	04 79 80 19 	.long 0x19807904
 	vcpu->arch.shregs.msr = (vcpu->arch.regs.msr | MSR_ME) & ~MSR_HV;
-    1990:	5d 01 6d 00 	.long 0x6d015d
+    1990:	9f 04 8c 5c 	rlwnm.  r12,r4,r0,18,15
 	vc->pcr = hr->pcr | PCR_MASK;
-    1994:	01 05 04 94 	stwu    r0,1281(r4)
+    1994:	a0 5c 04 7d 	.long 0x7d045ca0
 	vcpu->arch.dawr0 = hr->dawr0;
-    1998:	5c a0 5c 01 	.long 0x15ca05c
+    1998:	80 19 9f 04 	.long 0x49f1980
 	vcpu->arch.dawrx0 = hr->dawrx0;
-    199c:	6d 00 00 00 	.long 0x6d
+    199c:	e8 5c 80 5d 	rlwnm   r0,r12,r11,19,20
 	vcpu->arch.shregs.msr = (vcpu->arch.regs.msr | MSR_ME) & ~MSR_HV;
-    19a0:	00 00 00 00 	.long 0x0
-    19a4:	00 00 04 98 	stb     r0,0(r4)
+    19a0:	04 79 80 19 	.long 0x19807904
+    19a4:	9f 04 8c 5d 	rlwnm.  r12,r12,r0,18,15
 	vcpu->arch.purr = hr->purr;
-    19a8:	47 f4 47 01 	.long 0x147f447
+    19a8:	9c 5d 04 79 	.long 0x79045d9c
 	vc->pcr = hr->pcr | PCR_MASK;
-    19ac:	53 04 f4 47 	.long 0x47f40453
+    19ac:	80 19 9f 00 	.long 0x9f1980
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    19b0:	88 4a 01 6c 	xoris   r1,r0,19080
+    19b0:	01 00 04 b8 	lm      r0,1(r4)
 	vc->dpdes = hr->dpdes;
-    19b4:	04 88 4a 98 	stb     r2,-30716(r10)
+    19b4:	5b c4 5b 01 	.long 0x15bc45b
 	vc->vtb = hr->vtb;
-    19b8:	4a 04 a3 01 	.long 0x1a3044a
+    19b8:	6d 00 01 09 	tdgti   r1,109
 	vcpu->arch.dawr0 = hr->dawr0;
-    19bc:	53 9f 04 98 	stb     r0,-24749(r4)
+    19bc:	00 00 04 f0 	xsaddsp vs0,vs4,vs0
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    19c0:	4a b8 4a 01 	.long 0x14ab84a
+    19c0:	5b 90 5c 01 	.long 0x15c905b
 	vcpu->arch.dawrx0 = hr->dawrx0;
-    19c4:	6c 00 00 00 	.long 0x6c
+    19c4:	6d 04 8c 5d 	rlwnm.  r12,r12,r0,17,22
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    19c8:	00 00 00 00 	.long 0x0
+    19c8:	9c 5d 01 6d 	xoris   r1,r8,23964
 	vcpu->arch.ciabr = hr->ciabr;
-    19cc:	00 00 04 98 	stb     r0,0(r4)
+    19cc:	00 03 09 00 	.long 0x90300
 	vcpu->arch.purr = hr->purr;
-    19d0:	47 c3 48 01 	.long 0x148c347
-    19d4:	54 04 c3 48 	b       c31e28 <kvmhv_nested_next_lpid+0xc2e350>
-    19d8:	98 4a 04 a3 	lhz     r24,19096(r4)
+    19d0:	00 04 f0 5b 	rlmi    r16,r31,r0,16,0
+    19d4:	90 5c 01 6d 	xoris   r1,r8,23696
+    19d8:	04 8c 5d 9c 	stbu    r2,-29692(r29)
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    19dc:	01 54 9f 04 	.long 0x49f5401
+    19dc:	5d 01 6d 00 	.long 0x6d015d
 	vcpu->arch.hfscr = hr->hfscr;
-    19e0:	98 4a a8 4a 	b       fffffffffea86478 <kvmhv_nested_next_lpid+0xfffffffffea829a0>
+    19e0:	08 07 00 00 	.long 0x708
 	vc->vtb = hr->vtb;
-    19e4:	01 54 04 a8 	lha     r0,21505(r4)
+    19e4:	04 f0 5b 90 	stw     r2,-4092(r27)
 	lpcr = l2_hv.lpcr;
-    19e8:	4a b8 4a 04 	.long 0x44ab84a
+    19e8:	5c 01 6d 04 	.long 0x46d015c
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    19ec:	a3 01 54 9f 	stbu    r26,419(r20)
+    19ec:	8c 5d 9c 5d 	rlwnm   r28,r12,r11,22,6
+    19f0:	01 6d 00 01 	.long 0x1006d01
+    19f4:	05 04 84 5c 	rlwnm.  r4,r4,r0,16,2
+    19f8:	90 5c 01 6d 	xoris   r1,r8,23696
 	...
-    19f8:	00 04 98 47 	.long 0x47980400
-    19fc:	c0 48 01 55 	rlwinm  r1,r8,9,3,0
-    1a00:	04 c0 48 98 	stb     r2,-16380(r8)
 	vcpu->arch.pid = hr->pidr;
-    1a04:	4a 04 a3 01 	.long 0x1a3044a
+    1a04:	00 04 88 47 	.long 0x47880400
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    1a08:	55 9f 04 98 	stb     r0,-24747(r4)
+    1a08:	e4 47 01 53 	rlwimi  r1,r24,8,31,18
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1a0c:	4a a8 4a 01 	.long 0x14aa84a
+    1a0c:	04 e4 47 f8 	std     r2,-7164(r7)
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    1a10:	55 04 a8 4a 	bl      fffffffffea81e64 <kvmhv_nested_next_lpid+0xfffffffffea7e38c>
+    1a10:	49 01 6c 04 	.long 0x46c0149
 	vcpu->arch.cfar = hr->cfar;
-    1a14:	b8 4a 04 a3 	lhz     r24,19128(r4)
+    1a14:	f8 49 88 4a 	b       fffffffffe88640c <kvmhv_nested_next_lpid+0xfffffffffe882944>
 	vcpu->arch.ppr = hr->ppr;
-    1a18:	01 55 9f 00 	.long 0x9f5501
+    1a18:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+				      (vc->lpcr & ~mask) | (*lpcr & mask));
+    1a1c:	9f 04 88 4a 	bla     fe88049c <kvmhv_nested_next_lpid+0xfe87c9d4>
+	*lpcr = kvmppc_filter_lpcr_hv(vcpu->kvm,
+    1a20:	a8 4a 01 6c 	xoris   r1,r0,19112
 	...
-	vcpu->arch.pid = hr->pidr;
-    1a24:	00 00 04 98 	stb     r0,0(r4)
-	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1a28:	47 c3 48 01 	.long 0x148c347
 	vcpu->arch.dawr1 = hr->dawr1;
-    1a2c:	56 04 c3 48 	ba      c30454 <kvmhv_nested_next_lpid+0xc2c97c>
+    1a2c:	00 04 88 47 	.long 0x47880400
 	vcpu->arch.dawrx1 = hr->dawrx1;
-    1a30:	e8 48 01 6d 	xoris   r1,r8,18664
+    1a30:	b3 48 01 54 	rlwinm. r1,r0,9,2,25
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    1a34:	04 e8 48 98 	stb     r2,-6140(r8)
+    1a34:	04 b3 48 88 	lbz     r2,-19708(r8)
 	vcpu->arch.cfar = hr->cfar;
     1a38:	4a 04 a3 01 	.long 0x1a3044a
 	vcpu->arch.ppr = hr->ppr;
-    1a3c:	56 9f 04 98 	stb     r0,-24746(r4)
+    1a3c:	54 9f 04 88 	lbz     r0,-24748(r4)
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    1a40:	4a a8 4a 01 	.long 0x14aa84a
+    1a40:	4a 98 4a 01 	.long 0x14a984a
 	vcpu->arch.dawr1 = hr->dawr1;
-    1a44:	56 04 a8 4a 	ba      fea80454 <kvmhv_nested_next_lpid+0xfea7c97c>
+    1a44:	54 04 98 4a 	b       fffffffffe981e98 <kvmhv_nested_next_lpid+0xfffffffffe97e3d0>
 	vcpu->arch.dawrx1 = hr->dawrx1;
-    1a48:	b8 4a 04 a3 	lhz     r24,19128(r4)
+    1a48:	a8 4a 04 a3 	lhz     r24,19112(r4)
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    1a4c:	01 56 9f 00 	.long 0x9f5601
-    1a50:	00 00 00 00 	.long 0x0
-    1a54:	00 00 04 f4 	psq_stu f0,0(r4),0,0
+    1a4c:	01 54 9f 00 	.long 0x9f5401
+	...
 	*lpcr = kvmppc_filter_lpcr_hv(vcpu->kvm,
-    1a58:	47 c3 48 01 	.long 0x148c347
-    1a5c:	53 04 98 4a 	bla     fe980450 <kvmhv_nested_next_lpid+0xfe97c978>
-    1a60:	a4 4a 01 53 	rlwimi  r1,r24,9,10,18
+    1a58:	04 88 47 b0 	sth     r2,-30716(r7)
+    1a5c:	48 01 55 04 	.long 0x4550148
+    1a60:	b0 48 88 4a 	b       fffffffffe886310 <kvmhv_nested_next_lpid+0xfffffffffe882848>
 	vcpu->arch.hfscr = l2_hv->hfscr & (HFSCR_INTR_CAUSE | vcpu->arch.hfscr_permitted);
-    1a64:	04 a4 4a a8 	lha     r2,-23548(r10)
-    1a68:	4a 02 8c 00 	.long 0x8c024a
+    1a64:	04 a3 01 55 	rlwinm  r1,r8,20,12,2
+    1a68:	9f 04 88 4a 	bla     fe88049c <kvmhv_nested_next_lpid+0xfe87c9d4>
 	vcpu->arch.dawrx0 = l2_hv->dawrx0 & ~DAWRX_HYP;
-    1a6c:	00 00 00 00 	.long 0x0
+    1a6c:	98 4a 01 55 	rlwinm  r1,r8,9,10,12
 	if ((l2_hv->ciabr & CIABR_PRIV) == CIABR_PRIV_HYPER)
-    1a70:	00 04 c4 48 	b       c41e70 <kvmhv_nested_next_lpid+0xc3e398>
+    1a70:	04 98 4a a8 	lha     r2,-26620(r10)
 	vcpu->arch.hfscr = l2_hv->hfscr & (HFSCR_INTR_CAUSE | vcpu->arch.hfscr_permitted);
-    1a74:	f0 48 01 53 	rlwimi  r1,r24,9,3,24
+    1a74:	4a 04 a3 01 	.long 0x1a3044a
 	*lpcr = kvmppc_filter_lpcr_hv(vcpu->kvm,
-    1a78:	04 f0 48 e0 	lq      r2,-4096(r8)
-	vcpu->arch.dawrx0 = l2_hv->dawrx0 & ~DAWRX_HYP;
-    1a7c:	49 01 6b 00 	.long 0x6b0149
-	vcpu->arch.dawrx1 = l2_hv->dawrx1 & ~DAWRX_HYP;
-    1a80:	02 00 00 00 	.long 0x2
+    1a78:	55 9f 00 00 	.long 0x9f55
+	...
 	vcpu->arch.hfscr = l2_hv->hfscr & (HFSCR_INTR_CAUSE | vcpu->arch.hfscr_permitted);
-    1a84:	00 00 00 00 	.long 0x0
+    1a84:	00 04 88 47 	.long 0x47880400
 	if ((l2_hv->ciabr & CIABR_PRIV) == CIABR_PRIV_HYPER)
-    1a88:	00 00 04 bc 	stmw    r0,0(r4)
+    1a88:	b3 48 01 56 	rlwinm. r1,r16,9,2,25
 	vcpu->arch.hfscr = l2_hv->hfscr & (HFSCR_INTR_CAUSE | vcpu->arch.hfscr_permitted);
-    1a8c:	48 d8 48 0b 	tdi     26,r8,-10168
+    1a8c:	04 b3 48 d8 	stfd    f2,-19708(r8)
 	vcpu->arch.dawrx0 = l2_hv->dawrx0 & ~DAWRX_HYP;
-    1a90:	31 8f 70 0c 	twi     3,r16,-28879
+    1a90:	48 01 6d 04 	.long 0x46d0148
 	vcpu->arch.dawrx1 = l2_hv->dawrx1 & ~DAWRX_HYP;
-    1a94:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+    1a94:	d8 48 88 4a 	b       fffffffffe88636c <kvmhv_nested_next_lpid+0xfffffffffe8828a4>
 	if ((l2_hv->ciabr & CIABR_PRIV) == CIABR_PRIV_HYPER)
-    1a98:	1a 24 9f 04 	.long 0x49f241a
+    1a98:	04 a3 01 56 	rlwinm  r1,r16,20,12,2
 	vcpu->arch.hfscr = l2_hv->hfscr & (HFSCR_INTR_CAUSE | vcpu->arch.hfscr_permitted);
-    1a9c:	d8 48 83 49 	b       1836374 <kvmhv_nested_next_lpid+0x183289c>
+    1a9c:	9f 04 88 4a 	bla     fe88049c <kvmhv_nested_next_lpid+0xfe87c9d4>
 	vcpu->arch.dawrx0 = l2_hv->dawrx0 & ~DAWRX_HYP;
-    1aa0:	0b 31 79 00 	.long 0x79310b
+    1aa0:	98 4a 01 56 	rlwinm  r1,r16,9,10,12
 	vcpu->arch.dawrx1 = l2_hv->dawrx1 & ~DAWRX_HYP;
-    1aa4:	0c ff ff ff 	.long 0xffffff0c
+    1aa4:	04 98 4a a8 	lha     r2,-26620(r10)
 	if ((l2_hv->ciabr & CIABR_PRIV) == CIABR_PRIV_HYPER)
-    1aa8:	ff 1a 24 9f 	stbu    r25,6911(r4)
+    1aa8:	4a 04 a3 01 	.long 0x1a3044a
 		vcpu->arch.ciabr = l2_hv->ciabr & ~CIABR_PRIV;
-    1aac:	04 84 49 b4 	sthu    r2,-31740(r9)
-    1ab0:	49 01 6e 04 	.long 0x46e0149
+    1aac:	56 9f 00 00 	.long 0x9f56
+    1ab0:	00 00 00 00 	.long 0x0
 	vcpu->arch.ret = RESUME_GUEST;
-    1ab4:	b4 49 bc 49 	b       1bc6468 <kvmhv_nested_next_lpid+0x1bc2990>
-    1ab8:	06 8e 00 79 	rldicr  r0,r8,49,24
-    1abc:	00 1c 9f 04 	.long 0x49f1c00
+    1ab4:	00 04 e4 47 	.long 0x47e40400
+    1ab8:	b3 48 01 53 	rlwimi. r1,r24,9,2,25
+    1abc:	04 88 4a 94 	stwu    r2,-30716(r10)
 		r = kvmhv_run_single_vcpu(vcpu, hdec_exp, lpcr);
-    1ac0:	bc 49 dc 49 	b       1dc647c <kvmhv_nested_next_lpid+0x1dc29a4>
-    1ac4:	01 6e 00 01 	.long 0x1006e01
-    1ac8:	01 01 00 00 	.long 0x101
-	...
+    1ac0:	4a 01 53 04 	.long 0x453014a
+    1ac4:	94 4a 98 4a 	b       fffffffffe986558 <kvmhv_nested_next_lpid+0xfffffffffe982a90>
+    1ac8:	02 8c 00 00 	.long 0x8c02
+    1acc:	00 00 00 00 	.long 0x0
+    1ad0:	04 b4 48 e0 	lq      r2,-19456(r8)
 	} while (is_kvmppc_resume_guest(r));
-    1ad4:	00 00 00 04 	.long 0x4000000
+    1ad4:	48 01 53 04 	.long 0x4530148
 		r = kvmhv_run_single_vcpu(vcpu, hdec_exp, lpcr);
-    1ad8:	b4 48 bc 48 	b       bc638c <kvmhv_nested_next_lpid+0xbc28b4>
+    1ad8:	e0 48 d0 49 	b       1d063b8 <kvmhv_nested_next_lpid+0x1d028f0>
 	} while (is_kvmppc_resume_guest(r));
-    1adc:	05 76 00 3c 	lis     r0,30213
+    1adc:	01 6b 00 02 	.long 0x2006b01
+	...
 	l2_regs = vcpu->arch.regs;
-    1ae0:	24 9f 04 bc 	stmw    r0,-24796(r4)
-    1ae4:	48 c3 48 11 	vmulesh v10,v8,v24
-    1ae8:	09 ff 8f 00 	.long 0x8fff09
-    1aec:	0c ff ff ff 	.long 0xffffff0c
-    1af0:	ff 1a 24 76 	andis.  r4,r17,6911
+    1ae8:	00 04 ac 48 	b       ac1ee8 <kvmhv_nested_next_lpid+0xabe420>
+    1aec:	c8 48 0b 31 	addic   r8,r11,18632
+    1af0:	8f 70 0c ff 	.long 0xff0c708f
 	struct kvmppc_vcore *vc = vcpu->arch.vcore;
-    1af4:	00 3c 24 1a 	lxvp    vs48,15360(r4)
+    1af4:	ff ff ff 1a 	.long 0x1affffff
 	l2_regs.msr = vcpu->arch.shregs.msr;
-    1af8:	9f 04 c3 48 	bla     c3049c <kvmhv_nested_next_lpid+0xc2c9c4>
+    1af8:	24 9f 04 c8 	lfd     f0,-24796(r4)
 	hr->srr0 = vcpu->arch.shregs.srr0;
-    1afc:	e4 48 11 09 	tdgti   r17,18660
+    1afc:	48 f3 48 0b 	tdi     26,r8,-3256
 	delta_purr = vcpu->arch.purr - l2_hv.purr;
-    1b00:	ff 8f 00 0c 	twi     0,r0,-28673
+    1b00:	31 79 00 0c 	twi     0,r0,31025
 	delta_spurr = vcpu->arch.spurr - l2_hv.spurr;
     1b04:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
 	delta_ic = vcpu->arch.ic - l2_hv.ic;
-    1b08:	1a 24 8d 00 	.long 0x8d241a
+    1b08:	1a 24 9f 04 	.long 0x49f241a
 	hr->srr0 = vcpu->arch.shregs.srr0;
-    1b0c:	3c 24 1a 9f 	stbu    r24,9276(r26)
-    1b10:	04 e4 48 ec 	dsub    f2,f8,f28
+    1b0c:	f4 48 a4 49 	b       1a46400 <kvmhv_nested_next_lpid+0x1a42938>
+    1b10:	01 6e 04 a4 	lhzu    r0,28161(r4)
 	l2_regs.msr = vcpu->arch.shregs.msr;
-    1b14:	48 0f 09 ff 	.long 0xff090f48
+    1b14:	49 ac 49 06 	.long 0x649ac49
 	hr->srr0 = vcpu->arch.shregs.srr0;
-    1b18:	8f 00 0c ff 	.long 0xff0c008f
+    1b18:	8e 00 79 00 	.long 0x79008e
 	hr->dpdes = vc->dpdes;
-    1b1c:	ff ff ff 1a 	.long 0x1affffff
+    1b1c:	1c 9f 04 ac 	lhau    r0,-24804(r4)
 	hr->vtb = vc->vtb;
-    1b20:	24 76 00 1a 	.long 0x1a007624
-	hr->srr0 = vcpu->arch.shregs.srr0;
-    1b24:	9f 04 ec 48 	bla     ec049c <kvmhv_nested_next_lpid+0xebc9c4>
-    1b28:	f8 48 07 8f 	lbzu    r24,18680(r7)
-	hr->pidr = vcpu->arch.pid;
-    1b2c:	00 1f 76 00 	.long 0x761f00
+    1b20:	49 cc 49 01 	.long 0x149cc49
 	hr->srr0 = vcpu->arch.shregs.srr0;
-    1b30:	1a 9f 04 f8 	stq     r0,-24808(r4)
+    1b24:	6e 00 01 01 	.long 0x101006e
+    1b28:	01 00 00 00 	.long 0x1
+	...
 	delta_vtb = vc->vtb - l2_hv.vtb;
-    1b34:	48 fc 48 06 	.long 0x648fc48
+    1b34:	00 00 04 a4 	lhzu    r0,0(r4)
 	delta_purr = vcpu->arch.purr - l2_hv.purr;
-    1b38:	8f 00 76 00 	.long 0x76008f
+    1b38:	48 ac 48 05 	.long 0x548ac48
 	hr->srr0 = vcpu->arch.shregs.srr0;
-    1b3c:	1a 9f 04 fc 	.long 0xfc049f1a
-    1b40:	48 83 49 0f 	twi     26,r9,-31928
+    1b3c:	76 00 3c 24 	dozi    r1,r28,118
+    1b40:	9f 04 ac 48 	bla     ac049c <kvmhv_nested_next_lpid+0xabc9d4>
 	delta_spurr = vcpu->arch.spurr - l2_hv.spurr;
-    1b44:	09 ff 79 10 	.long 0x1079ff09
+    1b44:	b3 48 11 09 	tdgti   r17,18611
 	delta_ic = vcpu->arch.ic - l2_hv.ic;
-    1b48:	0c ff ff ff 	.long 0xffffff0c
+    1b48:	ff 8f 00 0c 	twi     0,r0,-28673
 	hr->srr0 = vcpu->arch.shregs.srr0;
-    1b4c:	ff 1a 24 76 	andis.  r4,r17,6911
+    1b4c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
 	hr->dpdes = vc->dpdes;
-    1b50:	00 1a 9f 04 	.long 0x49f1a00
+    1b50:	1a 24 76 00 	.long 0x76241a
 	delta_vtb = vc->vtb - l2_hv.vtb;
-    1b54:	84 49 dc 49 	b       1dc64d8 <kvmhv_nested_next_lpid+0x1dc2a00>
+    1b54:	3c 24 1a 9f 	stbu    r24,9276(r26)
 	hr->vtb = vc->vtb;
-    1b58:	01 6f 00 02 	.long 0x2006f01
+    1b58:	04 b3 48 d4 	stfsu   f2,-19708(r8)
 	hr->purr = vcpu->arch.purr;
-    1b5c:	00 04 f8 47 	.long 0x47f80400
+    1b5c:	48 11 09 ff 	xscmpexpqp cr6,v9,v2
 	hr->pidr = vcpu->arch.pid;
-    1b60:	b4 48 01 55 	rlwinm  r1,r8,9,2,26
+    1b60:	8f 00 0c ff 	.long 0xff0c008f
 	hr->spurr = vcpu->arch.spurr;
-    1b64:	00 05 00 00 	.long 0x500
+    1b64:	ff ff ff 1a 	.long 0x1affffff
 	hr->srr0 = vcpu->arch.shregs.srr0;
-    1b68:	01 00 00 04 	.long 0x4000001
+    1b68:	24 8d 00 3c 	lis     r0,-29404
 	hr->ic = vcpu->arch.ic;
-    1b6c:	f8 47 80 48 	b       806364 <kvmhv_nested_next_lpid+0x80288c>
+    1b6c:	24 1a 9f 04 	.long 0x49f1a24
 	hr->srr0 = vcpu->arch.shregs.srr0;
-    1b70:	02 30 9f 04 	.long 0x49f3002
+    1b70:	d4 48 dc 48 	b       dc6444 <kvmhv_nested_next_lpid+0xdc297c>
 	hr->cfar = vcpu->arch.cfar;
-    1b74:	80 48 88 48 	b       8863f4 <kvmhv_nested_next_lpid+0x88291c>
+    1b74:	0f 09 ff 8f 	.long 0x8fff090f
 	switch (vcpu->arch.trap) {
-    1b78:	01 59 04 94 	stwu    r0,22785(r4)
+    1b78:	00 0c ff ff 	.long 0xffff0c00
 	hr->ppr = vcpu->arch.ppr;
-    1b7c:	48 a8 48 01 	.long 0x148a848
+    1b7c:	ff ff 1a 24 	dozi    r0,r26,-1
 	switch (vcpu->arch.trap) {
-    1b80:	59 00 00 00 	.long 0x59
-	...
-    1b8c:	00 00 04 a8 	lha     r0,0(r4)
-    1b90:	53 d0 54 01 	.long 0x154d053
-    1b94:	53 04 d0 54 	rlwinm. r16,r6,0,17,9
-    1b98:	d0 57 01 62 	ori     r1,r16,22480
-    1b9c:	04 d0 57 ec 	dadd    f2,f23,f26
-    1ba0:	57 04 8a a0 	lhz     r4,1111(r10)
+    1b80:	76 00 1a 9f 	stbu    r24,118(r26)
+	hr->cfar = vcpu->arch.cfar;
+    1b84:	04 dc 48 e8 	ld      r2,-9212(r8)
+	hr->ppr = vcpu->arch.ppr;
+    1b88:	48 07 8f 00 	.long 0x8f0748
+	switch (vcpu->arch.trap) {
+    1b8c:	1f 76 00 1a 	.long 0x1a00761f
+    1b90:	9f 04 e8 48 	bla     e8049c <kvmhv_nested_next_lpid+0xe7c9d4>
+    1b94:	ec 48 06 8f 	lbzu    r24,18668(r6)
+    1b98:	00 76 00 1a 	lxvp    vs16,30208(0)
+    1b9c:	9f 04 ec 48 	bla     ec049c <kvmhv_nested_next_lpid+0xebc9d4>
+    1ba0:	f3 48 0f 09 	tdgti   r15,18675
 		hr->asdr = vcpu->arch.fault_gpa;
-    1ba4:	67 9f 04 ec 	.long 0xec049f67
-    1ba8:	57 a4 58 04 	.long 0x458a457
+    1ba4:	ff 79 10 0c 	twi     0,r16,31231
+    1ba8:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
 		break;
-    1bac:	a3 01 53 9f 	stbu    r26,419(r19)
+    1bac:	1a 24 76 00 	.long 0x76241a
 	if (l2_regs.msr & MSR_TS_MASK)
-    1bb0:	04 a4 58 b4 	sthu    r2,-23548(r24)
+    1bb0:	1a 9f 04 f4 	stxsd   v0,-24808(r4)
 	vcpu->arch.shregs.msr = saved_l1_regs.msr & ~MSR_TS_MASK;
-    1bb4:	58 01 53 04 	.long 0x4530158
-    1bb8:	b4 58 fc 58 	rlmi    r28,r7,r11,2,26
+    1bb4:	48 cc 49 01 	.long 0x149cc48
+    1bb8:	6f 00 02 00 	.long 0x2006f
 	if (l2_regs.msr & MSR_TS_MASK)
-    1bbc:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    1bbc:	04 e8 47 a4 	lhzu    r2,-6140(r7)
 		vcpu->arch.shregs.msr |= MSR_TS_S;
-    1bc0:	9f 00 00 00 	.long 0x9f
-	...
+    1bc0:	48 01 55 00 	.long 0x550148
+    1bc4:	05 00 00 01 	.long 0x1000005
+	vcpu->arch.nested = NULL;
+    1bc8:	00 00 04 e8 	ld      r0,0(r4)
 	vcpu->arch.regs = saved_l1_regs;
-    1bcc:	04 a8 53 d0 	stfs    f2,-22524(r19)
-    1bd0:	54 01 54 04 	.long 0x4540154
-    1bd4:	d0 54 a0 58 	rlmi    r0,r5,r10,19,8
+    1bcc:	47 f0 47 02 	.long 0x247f047
+    1bd0:	30 9f 04 f0 	xxsel   vs0,vs4,vs19,vs28
+    1bd4:	47 f8 47 01 	.long 0x147f847
 	vcpu->arch.nested = NULL;
-    1bd8:	01 63 04 a0 	lhz     r0,25345(r4)
+    1bd8:	59 04 84 48 	bl      842030 <kvmhv_nested_next_lpid+0x83e568>
 	vcpu->arch.regs = saved_l1_regs;
-    1bdc:	58 a4 58 04 	.long 0x458a458
-    1be0:	a3 01 54 9f 	stbu    r26,419(r20)
-	vc->pcr = hr->pcr | PCR_MASK;
-    1be4:	04 a4 58 b4 	sthu    r2,-23548(r24)
-	kvmhv_put_nested(l2);
-    1be8:	58 01 54 04 	.long 0x4540158
+    1bdc:	98 48 01 59 	rlmi    r1,r8,r9,2,12
+	...
 	vcpu->arch.shregs.msr = saved_l1_regs.msr & ~MSR_TS_MASK;
-    1bec:	b4 58 fc 58 	rlmi    r28,r7,r11,2,26
+    1bec:	00 04 98 53 	rlwimi  r24,r28,0,16,0
 	vc->tb_offset = saved_l1_hv.tb_offset;
-    1bf0:	01 63 00 00 	.long 0x6301
+    1bf0:	c0 54 01 53 	rlwimi  r1,r24,10,19,0
 	vc->pcr = hr->pcr | PCR_MASK;
-    1bf4:	00 00 00 04 	.long 0x4000000
+    1bf4:	04 c0 54 c0 	lfs     f2,-16380(r20)
 	vcpu->arch.dec_expires -= l2_hv.tb_offset;
-    1bf8:	a8 53 e0 53 	rlwimi  r0,r31,10,14,20
+    1bf8:	57 01 62 04 	.long 0x4620157
 	vc->pcr = hr->pcr | PCR_MASK;
-    1bfc:	01 55 04 e0 	lq      r0,21760(r4)
+    1bfc:	c0 57 dc 57 	rlwinm  r28,r30,10,31,0
 	vcpu->arch.dawrx0 = hr->dawrx0;
-    1c00:	53 fc 58 04 	.long 0x458fc53
+    1c00:	04 8a a0 67 	oris    r0,r29,35332
 	vc->pcr = hr->pcr | PCR_MASK;
-    1c04:	a3 01 55 9f 	stbu    r26,419(r21)
+    1c04:	9f 04 dc 57 	rlwinm. r28,r30,0,18,15
 	vcpu->arch.ciabr = hr->ciabr;
-    1c08:	00 00 02 02 	.long 0x2020000
-	...
+    1c08:	94 58 04 a3 	lhz     r24,22676(r4)
+	vc->dpdes = hr->dpdes;
+    1c0c:	01 53 9f 04 	.long 0x49f5301
+	vcpu->arch.hfscr = hr->hfscr;
+    1c10:	94 58 a4 58 	rlmi    r4,r5,r11,2,10
 	vcpu->arch.dawr0 = hr->dawr0;
-    1c14:	00 00 00 04 	.long 0x4000000
+    1c14:	01 53 04 a4 	lhzu    r0,21249(r4)
 	vc->tb_offset = saved_l1_hv.tb_offset;
-    1c18:	a8 53 80 54 	rlwinm  r0,r4,10,14,20
+    1c18:	58 ec 58 04 	.long 0x458ec58
 	vc->pcr = hr->pcr | PCR_MASK;
-    1c1c:	01 56 04 80 	lwz     r0,22017(r4)
-	vcpu->arch.dec_expires -= l2_hv.tb_offset;
-    1c20:	54 d0 54 06 	.long 0x654d054
-	struct kvmppc_vcore *vc = vcpu->arch.vcore;
-    1c24:	87 00 76 00 	.long 0x760087
+    1c1c:	a3 01 53 9f 	stbu    r26,419(r19)
+	...
 	vcpu->arch.purr = hr->purr;
-    1c28:	1a 9f 04 d0 	stfs    f0,-24806(r4)
+    1c28:	00 00 00 04 	.long 0x4000000
 	vc->vtb = hr->vtb;
-    1c2c:	54 dc 57 06 	.long 0x657dc54
+    1c2c:	98 53 c0 54 	rlwinm  r0,r6,10,14,12
 	vc->pcr = hr->pcr | PCR_MASK;
-    1c30:	87 00 86 00 	.long 0x860087
+    1c30:	01 54 04 c0 	lfs     f0,21505(r4)
 	vcpu->arch.dec_expires -= l2_hv.tb_offset;
-    1c34:	1a 9f 04 dc 	stfdu   f0,-24806(r4)
+    1c34:	54 90 58 01 	.long 0x1589054
 	vc->pcr = hr->pcr | PCR_MASK;
-    1c38:	57 e0 57 07 	.long 0x757e057
+    1c38:	63 04 90 58 	rlmi.   r16,r4,r0,17,17
 	vcpu->arch.purr = hr->purr;
-    1c3c:	87 00 a3 01 	.long 0x1a30087
-    1c40:	56 1a 9f 04 	.long 0x49f1a56
+    1c3c:	94 58 04 a3 	lhz     r24,22676(r4)
+    1c40:	01 54 9f 04 	.long 0x49f5401
 	vcpu->arch.dec_expires -= l2_hv.tb_offset;
-    1c44:	e0 57 84 58 	rlmi    r4,r4,r10,31,16
+    1c44:	94 58 a4 58 	rlmi    r4,r5,r11,2,10
 	vc->pcr = hr->pcr | PCR_MASK;
-    1c48:	12 a3 01 57 	rlwinm  r1,r24,20,12,9
+    1c48:	01 54 04 a4 	lhzu    r0,21505(r4)
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1c4c:	1f 3b 24 40 	bdnzfla 4*cr1+lt,3b1c <.debug_loclists+0x3b1c>
+    1c4c:	58 ec 58 01 	.long 0x158ec58
 	vc->dpdes = hr->dpdes;
-    1c50:	47 24 1f 1a 	.long 0x1a1f2447
+    1c50:	63 00 00 00 	.long 0x63
 	vcpu->arch.dawrx0 = hr->dawrx0;
-    1c54:	3b 25 a3 01 	.long 0x1a3253b
+    1c54:	00 00 04 98 	stb     r0,0(r4)
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1c58:	56 1a 9f 04 	.long 0x49f1a56
+    1c58:	53 d0 53 01 	.long 0x153d053
 	vcpu->arch.ciabr = hr->ciabr;
-    1c5c:	a4 58 ac 58 	rlmi    r12,r5,r11,2,18
+    1c5c:	55 04 d0 53 	rlwimi. r16,r30,0,17,10
 	vcpu->arch.purr = hr->purr;
-    1c60:	06 87 00 76 	andis.  r0,r16,34566
+    1c60:	ec 58 04 a3 	lhz     r24,22764(r4)
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1c64:	00 1a 9f 04 	.long 0x49f1a00
-    1c68:	ac 58 b4 58 	rlmi    r20,r5,r11,2,22
-	vcpu->arch.purr = hr->purr;
-    1c6c:	0f 77 00 3b 	li      r24,30479
-    1c70:	24 40 47 24 	dozi    r2,r7,16420
-	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1c74:	1f 1a 3b 25 	dozi    r9,r27,6687
+    1c64:	01 55 9f 00 	.long 0x9f5501
+    1c68:	00 02 02 00 	attn
+	...
+    1c74:	00 00 04 98 	stb     r0,0(r4)
 	vcpu->arch.hfscr = hr->hfscr;
-    1c78:	76 00 1a 9f 	stbu    r24,118(r26)
+    1c78:	53 f0 53 01 	.long 0x153f053
 	vcpu->arch.dawr0 = hr->dawr0;
-    1c7c:	00 00 00 00 	.long 0x0
+    1c7c:	56 04 f0 53 	rlwimi  r16,r31,0,17,11
 	vc->vtb = hr->vtb;
-    1c80:	00 00 00 04 	.long 0x4000000
+    1c80:	c0 54 06 87 	lwzu    r24,21696(r6)
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1c84:	a8 53 e8 53 	rlwimi  r8,r31,10,14,20
+    1c84:	00 76 00 1a 	lxvp    vs16,30208(0)
 	vcpu->arch.pid = hr->pidr;
-    1c88:	01 57 04 e8 	ldu     r0,22272(r4)
+    1c88:	9f 04 c0 54 	rlwinm. r0,r6,0,18,15
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1c8c:	53 d0 54 04 	.long 0x454d053
-    1c90:	77 00 1f 9f 	stbu    r24,119(r31)
+    1c8c:	cc 57 06 87 	lwzu    r24,22476(r6)
+    1c90:	00 86 00 1a 	lxvp    vs16,-31232(0)
 	vcpu->arch.purr += delta_purr;
-    1c94:	04 d0 54 fc 	daddq   f2,f20,f26
+    1c94:	9f 04 cc 57 	rlwinm. r12,r30,0,18,15
 	vcpu->arch.spurr += delta_spurr;
-    1c98:	58 04 a3 01 	.long 0x1a30458
+    1c98:	d0 57 07 87 	lwzu    r24,22480(r7)
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1c9c:	57 9f 00 00 	.long 0x9f57
+    1c9c:	00 a3 01 56 	rlwinm  r1,r16,20,12,0
 	vcpu->arch.ic += delta_ic;
-    1ca0:	00 00 00 00 	.long 0x0
+    1ca0:	1a 9f 04 d0 	stfs    f0,-24806(r4)
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1ca4:	00 04 fc 53 	rlwimi  r28,r31,0,16,0
-    1ca8:	e8 57 01 69 	xori    r1,r8,22504
+    1ca4:	57 f4 57 12 	vmsumcud v18,v23,v30,v17
+    1ca8:	a3 01 57 1f 	mulli   r26,r23,419
 	vcpu->arch.cfar = hr->cfar;
-    1cac:	04 a4 58 b0 	sth     r2,-23548(r24)
+    1cac:	3b 24 40 47 	.long 0x4740243b
 	vcpu->arch.ppr = hr->ppr;
-    1cb0:	58 01 69 04 	.long 0x4690158
+    1cb0:	24 1f 1a 3b 	addi    r24,r26,7972
 	vcpu->arch.pid = hr->pidr;
-    1cb4:	b0 58 b4 58 	rlmi    r20,r5,r11,2,24
+    1cb4:	25 a3 01 56 	rlwinm. r1,r16,20,12,18
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
-    1cb8:	08 75 00 74 	andis.  r0,r0,29960
+    1cb8:	1a 9f 04 94 	stwu    r0,-24806(r4)
 	vcpu->arch.dawr1 = hr->dawr1;
-    1cbc:	b0 01 06 1c 	mulli   r0,r6,432
+    1cbc:	58 9c 58 06 	.long 0x6589c58
 	vcpu->arch.dawrx1 = hr->dawrx1;
-    1cc0:	9f 00 00 00 	.long 0x9f
+    1cc0:	87 00 76 00 	.long 0x760087
 	vcpu->arch.purr += delta_purr;
-    1cc4:	00 00 00 00 	.long 0x0
+    1cc4:	1a 9f 04 9c 	stbu    r0,-24806(r4)
 	vcpu->arch.spurr += delta_spurr;
-    1cc8:	00 00 04 80 	lwz     r0,0(r4)
+    1cc8:	58 a4 58 0f 	twi     26,r24,-23464
 	vcpu->arch.ic += delta_ic;
-    1ccc:	54 d4 57 01 	.long 0x157d454
+    1ccc:	77 00 3b 24 	dozi    r1,r27,119
 	vcpu->arch.cfar = hr->cfar;
-    1cd0:	64 04 a4 58 	rlmi    r4,r5,r0,17,18
+    1cd0:	40 47 24 1f 	mulli   r25,r4,18240
 	vcpu->arch.purr += delta_purr;
-    1cd4:	a8 58 01 64 	oris    r1,r0,22696
+    1cd4:	1a 3b 25 76 	andis.  r5,r17,15130
 	vcpu->arch.spurr += delta_spurr;
-    1cd8:	04 a8 58 b0 	sth     r2,-22524(r24)
+    1cd8:	00 1a 9f 00 	attn
 	vcpu->arch.ppr = hr->ppr;
-    1cdc:	58 09 a3 01 	.long 0x1a30958
+    1cdc:	00 00 00 00 	.long 0x0
 	vcpu->arch.ic += delta_ic;
-    1ce0:	57 40 25 89 	lbz     r9,16471(r5)
+    1ce0:	00 00 04 98 	stb     r0,0(r4)
 	vcpu->arch.dawr1 = hr->dawr1;
-    1ce4:	00 22 9f 04 	.long 0x49f2200
+    1ce4:	53 d8 53 01 	.long 0x153d853
 	vcpu->arch.dawrx1 = hr->dawrx1;
-    1ce8:	b0 58 b4 58 	rlmi    r20,r5,r11,2,24
+    1ce8:	57 04 d8 53 	rlwimi. r24,r30,0,17,11
 	vcpu->arch.purr += delta_purr;
-    1cec:	0e a3 01 57 	rlwinm  r1,r24,20,12,7
+    1cec:	c0 54 04 77 	andis.  r4,r24,21696
 	vcpu->arch.spurr += delta_spurr;
-    1cf0:	40 25 75 00 	.long 0x752540
+    1cf0:	00 1f 9f 04 	.long 0x49f1f00
 	vcpu->arch.ic += delta_ic;
-    1cf4:	74 b0 01 06 	.long 0x601b074
+    1cf4:	c0 54 ec 58 	rlmi    r12,r7,r10,19,0
 	vc->vtb += delta_vtb;
-    1cf8:	1c 22 9f 00 	.long 0x9f221c
-    1cfc:	01 00 00 00 	.long 0x1
+    1cf8:	04 a3 01 57 	rlwinm  r1,r24,20,12,2
+    1cfc:	9f 00 00 00 	.long 0x9f
     1d00:	00 00 00 00 	.long 0x0
-    1d04:	04 80 54 e0 	lq      r2,-32768(r20)
+    1d04:	04 ec 53 d8 	stfd    f2,-5116(r19)
 	kvmhv_put_nested(l2);
-    1d08:	57 01 67 04 	.long 0x4670157
-    1d0c:	e0 57 84 58 	rlmi    r4,r4,r10,31,16
-    1d10:	0e a3 01 57 	rlwinm  r1,r24,20,12,7
+    1d08:	57 01 69 04 	.long 0x4690157
+    1d0c:	94 58 a0 58 	rlmi    r0,r5,r11,2,10
+    1d10:	01 69 04 a0 	lhz     r0,26881(r4)
 	if (kvmppc_need_byteswap(vcpu)) {
-    1d14:	1f 3b 24 40 	bdnzfla 4*cr1+lt,3b1c <.debug_loclists+0x3b1c>
-    1d18:	47 24 1f 1a 	.long 0x1a1f2447
+    1d14:	58 a4 58 08 	tdllti  r24,-23464
+    1d18:	75 00 74 b0 	sth     r3,117(r20)
 	vcpu->____srcu_idx = srcu_read_lock(&vcpu->kvm->srcu);
-    1d1c:	3b 25 9f 04 	.long 0x49f253b
+    1d1c:	01 06 1c 9f 	stbu    r24,1537(r28)
+	...
 	retval = __srcu_read_lock(ssp);
-    1d20:	a4 58 ac 58 	rlmi    r12,r5,r11,2,18
-    1d24:	01 67 04 ac 	lhau    r0,26369(r4)
-    1d28:	58 b4 58 0c 	twllti  r24,-19368
+    1d28:	00 04 f0 53 	rlwimi  r16,r31,0,16,0
 	size = hv_guest_state_size(l2_hv->version);
-    1d2c:	77 00 3b 24 	dozi    r1,r27,119
-    1d30:	40 47 24 1f 	mulli   r25,r4,18240
-    1d34:	1a 3b 25 9f 	stbu    r25,15130(r5)
-    1d38:	00 02 00 00 	attn
-    1d3c:	00 04 d0 54 	rlwinm  r16,r6,0,16,0
-    1d40:	dc 54 0a 89 	lbz     r8,21724(r10)
-    1d44:	00 33 24 83 	lwz     r25,13056(r4)
-    1d48:	c8 01 06 22 	subfic  r16,r6,456
+    1d2c:	c4 57 01 64 	oris    r1,r0,22468
+    1d30:	04 94 58 98 	stb     r2,-27644(r24)
+    1d34:	58 01 64 04 	.long 0x4640158
+    1d38:	98 58 a0 58 	rlmi    r0,r5,r11,2,12
+    1d3c:	09 a3 01 57 	rlwinm. r1,r24,20,12,4
+    1d40:	40 25 89 00 	.long 0x892540
+    1d44:	22 9f 04 a0 	lhz     r0,-24798(r4)
+    1d48:	58 a4 58 0e 	twi     18,r24,-23464
 	srcu_read_unlock(&vcpu->kvm->srcu, vcpu->____srcu_idx);
-    1d4c:	9f 04 dc 54 	rlwinm. r28,r6,0,18,15
+    1d4c:	a3 01 57 40 	bdzfla  4*cr5+so,1a0 <.debug_loclists+0x1a0>
 	WARN_ON_ONCE(idx & ~0x1);
-    1d50:	fc 54 01 59 	rlmi    r1,r8,r10,19,30
-    1d54:	00 03 02 04 	.long 0x4020300
-    1d58:	d0 54 b8 57 	rlwinm  r24,r29,10,19,8
+    1d50:	25 75 00 74 	andis.  r0,r0,29989
+    1d54:	b0 01 06 1c 	mulli   r0,r6,432
+    1d58:	22 9f 00 01 	.long 0x1009f22
 	__srcu_read_unlock(ssp, idx);
-    1d5c:	06 87 00 86 	lu      r16,-30970(0)
-    1d60:	00 1a 9f 00 	attn
+    1d5c:	00 00 00 00 	.long 0x0
+    1d60:	00 00 00 04 	.long 0x4000000
 		return H_AUTHORITY;
-    1d64:	03 00 00 00 	.long 0x3
-    1d68:	04 d0 54 dc 	stfdu   f2,-12284(r20)
-    1d6c:	54 0a 89 00 	.long 0x890a54
-    1d70:	33 24 83 c8 	lfd     f4,9267(r3)
-    1d74:	01 06 22 9f 	stbu    r25,1537(r2)
-    1d78:	04 dc 54 fc 	dsubq   f2,f20,f26
-    1d7c:	54 01 59 00 	.long 0x590154
-    1d80:	02 00 00 00 	.long 0x2
-    1d84:	00 00 00 00 	.long 0x0
-    1d88:	01 00 00 00 	.long 0x1
-    1d8c:	00 02 04 f0 	xvaddsp vs0,vs4,vs0
-    1d90:	54 fc 54 01 	.long 0x154fc54
-    1d94:	6f 04 fc 54 	rlwinm. r28,r7,0,17,23
-    1d98:	84 55 01 6e 	xoris   r1,r16,21892
-    1d9c:	04 84 55 98 	stb     r2,-31740(r21)
-    1da0:	55 01 6f 04 	.long 0x46f0155
-    1da4:	98 55 b8 55 	rlwinm  r24,r13,10,22,12
-    1da8:	01 61 04 c4 	lfsu    f0,24833(r4)
-    1dac:	55 d8 55 01 	.long 0x155d855
+    1d64:	f0 53 d0 57 	rlwinm  r16,r30,10,15,24
+    1d68:	01 67 04 d0 	stfs    f0,26369(r4)
+    1d6c:	57 f4 57 0e 	twi     18,r23,-2985
+    1d70:	a3 01 57 1f 	mulli   r26,r23,419
+    1d74:	3b 24 40 47 	.long 0x4740243b
+    1d78:	24 1f 1a 3b 	addi    r24,r26,7972
+    1d7c:	25 9f 04 94 	stwu    r0,-24795(r4)
+    1d80:	58 9c 58 01 	.long 0x1589c58
+    1d84:	67 04 9c 58 	rlmi.   r28,r4,r0,17,19
+    1d88:	a4 58 0c 77 	andis.  r12,r24,22692
+    1d8c:	00 3b 24 40 	bdnzf   4*cr1+lt,588c <kvmhv_nested_next_lpid+0x1dc4>
+    1d90:	47 24 1f 1a 	.long 0x1a1f2447
+    1d94:	3b 25 9f 00 	.long 0x9f253b
+    1d98:	02 00 00 00 	.long 0x2
+    1d9c:	04 c0 54 cc 	lfdu    f2,-16380(r20)
+    1da0:	54 0a 89 00 	.long 0x890a54
+    1da4:	33 24 83 c8 	lfd     f4,9267(r3)
+    1da8:	01 06 22 9f 	stbu    r25,1537(r2)
+    1dac:	04 cc 54 ec 	dsub    f2,f20,f25
 	switch (vcpu->arch.trap) {
-    1db0:	6f 04 d8 55 	rlwinm. r24,r14,0,17,23
-    1db4:	80 56 02 30 	addic   r0,r2,22144
+    1db0:	54 01 59 00 	.long 0x590154
+    1db4:	03 02 04 c0 	lfs     f0,515(r4)
 		hr->hfscr = ((~HFSCR_INTR_CAUSE & hr->hfscr) |
-    1db8:	9f 04 ac 57 	rlwinm. r12,r29,0,18,15
-    1dbc:	b8 57 02 30 	addic   r0,r2,22456
+    1db8:	54 a8 57 06 	.long 0x657a854
+    1dbc:	87 00 86 00 	.long 0x860087
 		break;
-    1dc0:	9f 00 06 00 	.long 0x6009f
-    1dc4:	00 00 00 00 	.long 0x0
-    1dc8:	00 00 01 00 	.long 0x10000
-    1dcc:	00 00 00 02 	.long 0x2000000
-    1dd0:	04 f0 54 fc 	daddq   f2,f20,f30
+    1dc0:	1a 9f 00 03 	.long 0x3009f1a
+    1dc4:	00 00 00 04 	.long 0x4000000
+    1dc8:	c0 54 cc 54 	rlwinm  r12,r6,10,19,0
+    1dcc:	0a 89 00 33 	addic   r24,r0,-30454
+    1dd0:	24 83 c8 01 	.long 0x1c88324
 	return kvm_vcpu_write_guest(vcpu, hv_ptr, l2_hv, size) ||
-    1dd4:	54 01 6f 04 	.long 0x46f0154
-    1dd8:	fc 54 84 55 	rlwinm  r4,r12,10,19,30
-    1ddc:	01 6e 04 84 	lwzu    r0,28161(r4)
-    1de0:	55 b0 55 01 	.long 0x155b055
-    1de4:	6f 04 b0 55 	rlwinm. r16,r13,0,17,23
-    1de8:	b8 55 01 6b 	xori    r1,r24,21944
-    1dec:	04 c4 55 d8 	stfd    f2,-15356(r21)
-    1df0:	55 01 6f 04 	.long 0x46f0155
-    1df4:	d8 55 80 56 	rlwinm  r0,r20,10,23,12
-	WARN_ON_ONCE(idx & ~0x1);
-    1df8:	02 30 9f 04 	.long 0x49f3002
-    1dfc:	ac 57 b8 57 	rlwinm  r24,r29,10,30,22
-    1e00:	02 30 9f 00 	.long 0x9f3002
+    1dd4:	06 22 9f 04 	.long 0x49f2206
+    1dd8:	cc 54 ec 54 	rlwinm  r12,r7,10,19,6
+    1ddc:	01 59 00 02 	.long 0x2005901
+    1de0:	00 00 00 00 	.long 0x0
+    1de4:	00 00 00 01 	.long 0x1000000
+    1de8:	00 00 00 00 	.long 0x0
+    1dec:	02 04 e0 54 	rlwinm  r0,r7,0,16,1
+    1df0:	ec 54 01 6f 	xoris   r1,r24,21740
+    1df4:	04 ec 54 f4 	psq_stu f2,-1020(r20),1,6
+	WARN_ON_ONCE(idx & ~0x1);
+    1df8:	54 01 6e 04 	.long 0x46e0154
+    1dfc:	f4 54 88 55 	rlwinm  r8,r12,10,19,26
+    1e00:	01 6f 04 88 	lbz     r0,28417(r4)
 	__srcu_read_unlock(ssp, idx);
-    1e04:	00 00 04 84 	lwzu    r0,0(r4)
-    1e08:	55 98 55 01 	.long 0x1559855
-    1e0c:	6e 00 05 00 	.long 0x5006e
+    1e04:	55 a8 55 01 	.long 0x155a855
+    1e08:	61 04 b4 55 	rlwinm. r20,r13,0,17,16
+    1e0c:	c8 55 01 6f 	xoris   r1,r24,21960
 		if (!MSR_TM_ACTIVE(l2_regs.msr))
-    1e10:	00 02 04 d0 	stfs    f0,512(r4)
-    1e14:	54 dc 54 0a 	tdi     18,r20,-9132
-    1e18:	89 00 33 24 	dozi    r1,r19,137
-    1e1c:	83 c8 01 06 	.long 0x601c883
-    1e20:	22 9f 04 dc 	stfdu   f0,-24798(r4)
-    1e24:	54 f0 54 01 	.long 0x154f054
-    1e28:	59 00 00 02 	.long 0x2000059
-    1e2c:	04 dc 54 f0 	xsmaxcdp vs2,vs52,vs27
-    1e30:	54 01 59 00 	.long 0x590154
-    1e34:	01 00 04 ec 	.long 0xec040001
-    1e38:	54 fc 54 01 	.long 0x154fc54
-    1e3c:	6f 00 03 00 	.long 0x3006f
-    1e40:	04 e0 54 84 	lwzu    r2,-8188(r20)
-    1e44:	58 02 30 9f 	stbu    r25,600(r16)
-    1e48:	00 04 01 04 	.long 0x4010400
-    1e4c:	e0 54 ec 54 	rlwinm  r12,r7,10,19,16
-    1e50:	02 38 9f 00 	.long 0x9f3802
+    1e10:	04 c8 55 f0 	xsaddsp vs2,vs53,vs25
+    1e14:	55 02 30 9f 	stbu    r25,597(r16)
+    1e18:	04 9c 57 a8 	lha     r2,-25596(r23)
+    1e1c:	57 02 30 9f 	stbu    r25,599(r16)
+    1e20:	00 06 00 00 	.long 0x600
+    1e24:	00 00 00 00 	.long 0x0
+    1e28:	00 01 00 00 	.long 0x100
+    1e2c:	00 00 02 04 	.long 0x4020000
+    1e30:	e0 54 ec 54 	rlwinm  r12,r7,10,19,16
+    1e34:	01 6f 04 ec 	.long 0xec046f01
+    1e38:	54 f4 54 01 	.long 0x154f454
+    1e3c:	6e 04 f4 54 	rlwinm  r20,r7,0,17,23
+    1e40:	a0 55 01 6f 	xoris   r1,r24,21920
+    1e44:	04 a0 55 a8 	lha     r2,-24572(r21)
+    1e48:	55 01 6b 04 	.long 0x46b0155
+    1e4c:	b4 55 c8 55 	rlwinm  r8,r14,10,22,26
+    1e50:	01 6f 04 c8 	lfd     f0,28417(r4)
 		return H_BAD_MODE;
-    1e54:	04 01 04 e0 	lq      r0,256(r4)
-    1e58:	54 ec 54 02 	.long 0x254ec54
-    1e5c:	30 9f 00 04 	.long 0x4009f30
+    1e54:	55 f0 55 02 	.long 0x255f055
+    1e58:	30 9f 04 9c 	stbu    r0,-24784(r4)
+    1e5c:	57 a8 57 02 	.long 0x257a857
 		byteswap_hv_regs(&l2_hv);
-    1e60:	01 04 e0 54 	rlwinm. r0,r7,0,16,0
-    1e64:	ec 54 01 59 	rlmi    r1,r8,r10,19,22
+    1e60:	30 9f 00 00 	.long 0x9f30
+    1e64:	00 04 f4 54 	rlwinm  r20,r7,0,16,0
 	if (l2_hv.version > HV_GUEST_STATE_VERSION)
-    1e68:	00 07 01 04 	.long 0x4010700
-    1e6c:	e0 54 ec 54 	rlwinm  r12,r7,10,19,16
-    1e70:	02 30 9f 00 	.long 0x9f3002
-    1e74:	07 01 04 e0 	lq      r0,256(r4)
+    1e68:	88 55 01 6e 	xoris   r1,r16,21896
+    1e6c:	00 05 00 00 	.long 0x500
+    1e70:	02 04 c0 54 	rlwinm  r0,r6,0,16,1
+    1e74:	cc 54 0a 89 	lbz     r8,21708(r10)
 	if (kvmppc_need_byteswap(vcpu))
-    1e78:	54 ec 54 01 	.long 0x154ec54
-    1e7c:	59 00 00 01 	.long 0x1000059
+    1e78:	00 33 24 83 	lwz     r25,13056(r4)
+    1e7c:	c8 01 06 22 	subfic  r16,r6,456
 		byteswap_pt_regs(&l2_regs);
-    1e80:	04 ec 54 ec 	dsub    f2,f20,f29
-    1e84:	54 01 6f 00 	.long 0x6f0154
-    1e88:	01 01 01 01 	.long 0x1010101
-    1e8c:	04 98 55 b8 	lm      r2,-26620(r21)
-    1e90:	55 06 87 00 	.long 0x870655
+    1e80:	9f 04 cc 54 	rlwinm. r12,r6,0,18,15
+    1e84:	e0 54 01 59 	rlmi    r1,r8,r10,19,16
+    1e88:	00 00 02 04 	.long 0x4020000
+    1e8c:	cc 54 e0 54 	rlwinm  r0,r7,10,19,6
+    1e90:	01 59 00 01 	.long 0x1005901
 	return kvm_vcpu_write_guest(vcpu, hv_ptr, l2_hv, size) ||
-    1e94:	86 00 1a 9f 	stbu    r24,134(r26)
-    1e98:	04 d8 55 ac 	lhau    r2,-10236(r21)
-    1e9c:	57 06 87 00 	.long 0x870657
-    1ea0:	86 00 1a 9f 	stbu    r24,134(r26)
-    1ea4:	00 01 00 01 	.long 0x1000100
-    1ea8:	00 00 01 04 	.long 0x4010000
-    1eac:	98 55 b8 55 	rlwinm  r24,r13,10,22,12
+    1e94:	00 04 dc 54 	rlwinm  r28,r6,0,16,0
+    1e98:	ec 54 01 6f 	xoris   r1,r24,21740
+    1e9c:	00 03 00 04 	.long 0x4000300
+    1ea0:	d0 54 f4 57 	rlwinm  r20,r31,10,19,8
+    1ea4:	02 30 9f 00 	.long 0x9f3002
+    1ea8:	04 01 04 d0 	stfs    f0,260(r4)
+    1eac:	54 dc 54 02 	.long 0x254dc54
 		kvm_vcpu_write_guest(vcpu, regs_ptr, l2_regs,
-    1eb0:	01 6e 04 d8 	stfd    f0,28161(r4)
-    1eb4:	55 9c 56 01 	.long 0x1569c55
-    1eb8:	6e 04 ac 57 	rlwinm  r12,r29,0,17,23
-    1ebc:	ac 57 01 6e 	xoris   r1,r16,22444
-	...
-    1ecc:	02 04 ac 55 	rlwinm  r12,r13,0,16,1
+    1eb0:	38 9f 00 04 	.long 0x4009f38
+    1eb4:	01 04 d0 54 	rlwinm. r16,r6,0,16,0
+    1eb8:	dc 54 02 30 	addic   r0,r2,21724
+    1ebc:	9f 00 04 01 	.long 0x104009f
+    1ec0:	04 d0 54 dc 	stfdu   f2,-12284(r20)
+    1ec4:	54 01 59 00 	.long 0x590154
+    1ec8:	07 01 04 d0 	stfs    f0,263(r4)
+    1ecc:	54 dc 54 02 	.long 0x254dc54
 	return kvm_vcpu_write_guest(vcpu, hv_ptr, l2_hv, size) ||
-    1ed0:	b8 55 01 53 	rlwimi  r1,r24,10,22,28
+    1ed0:	30 9f 00 07 	.long 0x7009f30
 	WARN_ON_ONCE(idx & ~0x1);
-    1ed4:	04 b8 55 cc 	lfdu    f2,-18428(r21)
-    1ed8:	55 01 6d 04 	.long 0x46d0155
-    1edc:	f0 55 88 56 	rlwinm  r8,r20,10,23,24
-    1ee0:	01 53 04 88 	lbz     r0,21249(r4)
-    1ee4:	56 ac 57 01 	.long 0x157ac56
+    1ed4:	01 04 d0 54 	rlwinm. r16,r6,0,16,0
+    1ed8:	dc 54 01 59 	rlmi    r1,r8,r10,19,14
+    1edc:	00 00 01 04 	.long 0x4010000
+    1ee0:	dc 54 dc 54 	rlwinm  r28,r6,10,19,14
+    1ee4:	01 6f 00 01 	.long 0x1006f01
 	__srcu_read_unlock(ssp, idx);
-    1ee8:	6d 04 ac 57 	rlwinm. r12,r29,0,17,22
-    1eec:	b7 57 01 53 	rlwimi. r1,r24,10,30,27
-    1ef0:	04 b7 57 b8 	lm      r2,-18684(r23)
+    1ee8:	01 01 01 04 	.long 0x4010101
+    1eec:	88 55 a8 55 	rlwinm  r8,r13,10,22,4
+    1ef0:	06 87 00 86 	lu      r16,-30970(0)
 	if (err)
-    1ef4:	57 01 6d 00 	.long 0x6d0157
-    1ef8:	07 00 02 00 	.long 0x20007
+    1ef4:	00 1a 9f 04 	.long 0x49f1a00
+    1ef8:	c8 55 9c 57 	rlwinm  r28,r28,10,23,4
 	if (r == -EINTR)
-    1efc:	00 01 04 98 	stb     r0,256(r4)
-    1f00:	55 b8 55 0d 	twi     10,r21,-18347
+    1efc:	06 87 00 86 	lu      r16,-30970(0)
+    1f00:	00 1a 9f 00 	attn
 	if (vcpu->mmio_needed) {
-    1f04:	8e 00 10 80 	lwz     r0,142(r16)
-    1f08:	e0 ff ff ff 	.long 0xffffffe0
-    1f0c:	ff ff 07 1a 	.long 0x1a07ffff
+    1f04:	01 00 01 00 	.long 0x10001
+    1f08:	00 01 04 88 	lbz     r0,256(r4)
+    1f0c:	55 a8 55 01 	.long 0x155a855
 	return vcpu->arch.trap;
-    1f10:	9f 04 e4 55 	rlwinm. r4,r15,0,18,15
-    1f14:	80 56 0d 8e 	lbzu    r16,22144(r13)
-    1f18:	00 10 80 e0 	lq      r4,4096(0)
-    1f1c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+    1f10:	6e 04 c8 55 	rlwinm  r8,r14,0,17,23
+    1f14:	8c 56 01 6e 	xoris   r1,r16,22156
+    1f18:	04 9c 57 9c 	stbu    r2,-25596(r23)
+    1f1c:	57 01 6e 00 	.long 0x6e0157
+	...
 		mutex_lock(&l2->tlb_lock);
-    1f20:	ff 07 1a 9f 	stbu    r24,2047(r26)
-    1f24:	04 ac 57 ac 	lhau    r2,-21500(r23)
-    1f28:	57 0d 8e 00 	.long 0x8e0d57
-    1f2c:	10 80 e0 ff 	fcpsgn  f31,f0,f16
+    1f28:	00 00 00 02 	.long 0x2000000
+    1f2c:	04 9c 55 a8 	lha     r2,-25596(r21)
 		kvmhv_update_ptbl_cache(l2);
-    1f30:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-    1f34:	07 1a 9f 00 	.long 0x9f1a07
+    1f30:	55 01 53 04 	.long 0x4530155
+    1f34:	a8 55 bc 55 	rlwinm  r28,r13,10,22,20
 		mutex_unlock(&l2->tlb_lock);
-    1f38:	08 00 03 02 	.long 0x2030008
-    1f3c:	04 98 55 cc 	lfdu    f2,-26620(r21)
-    1f40:	55 01 6c 04 	.long 0x46c0155
-    1f44:	e4 55 b8 57 	rlwinm  r24,r29,10,23,18
-    1f48:	01 6c 00 01 	.long 0x1006c01
-    1f4c:	00 00 00 04 	.long 0x4000000
+    1f38:	01 6d 04 e0 	lq      r0,27904(r4)
+    1f3c:	55 f8 55 01 	.long 0x155f855
+    1f40:	53 04 f8 55 	rlwinm. r24,r15,0,17,9
+    1f44:	9c 57 01 6d 	xoris   r1,r8,22428
+    1f48:	04 9c 57 a7 	lhzu    r26,-25596(r23)
+    1f4c:	57 01 53 04 	.long 0x4530157
 		byteswap_hv_regs(&l2_hv);
-    1f50:	b8 56 a0 57 	rlwinm  r0,r29,10,26,28
-    1f54:	01 53 04 a0 	lhz     r0,21249(r4)
+    1f50:	a7 57 a8 57 	rlwinm. r8,r29,10,30,19
+    1f54:	01 6d 00 07 	.long 0x7006d01
 		byteswap_pt_regs(&l2_regs);
-    1f58:	57 a7 57 01 	.long 0x157a757
-    1f5c:	54 00 09 00 	.long 0x90054
-    1f60:	04 00 04 98 	stb     r0,4(r4)
-    1f64:	55 ac 55 01 	.long 0x155ac55
-    1f68:	6c 04 e4 55 	rlwinm  r4,r15,0,17,22
-    1f6c:	f0 55 01 6c 	xoris   r1,r0,22000
+    1f58:	00 02 00 00 	attn
+    1f5c:	01 04 88 55 	rlwinm. r8,r12,0,16,0
+    1f60:	a8 55 0d 8e 	lbzu    r16,21928(r13)
+    1f64:	00 10 80 e0 	lq      r4,4096(0)
+    1f68:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+    1f6c:	ff 07 1a 9f 	stbu    r24,2047(r26)
 	if (((vcpu->arch.io_gpr & KVM_MMIO_REG_EXT_MASK) == KVM_MMIO_REG_GPR)
-    1f70:	00 01 00 00 	.long 0x100
+    1f70:	04 d4 55 f0 	xsmaxcdp vs2,vs53,vs26
 	vcpu->arch.trap = 0;
-    1f74:	00 00 01 04 	.long 0x4010000
+    1f74:	55 0d 8e 00 	.long 0x8e0d55
 	if (((vcpu->arch.io_gpr & KVM_MMIO_REG_EXT_MASK) == KVM_MMIO_REG_GPR)
-    1f78:	80 56 a4 56 	rlwinm  r4,r21,10,26,0
-    1f7c:	04 91 f4 7e 	.long 0x7ef49104
-    1f80:	9f 04 a4 56 	rlwinm. r4,r21,0,18,15
+    1f78:	10 80 e0 ff 	fcpsgn  f31,f0,f16
+    1f7c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+    1f80:	07 1a 9f 04 	.long 0x49f1a07
 	    && (vcpu->mmio_is_write == 0)) {
-    1f84:	b7 56 01 56 	rlwinm. r1,r16,10,26,27
-    1f88:	04 b7 56 b8 	lm      r2,-18684(r22)
-    1f8c:	56 04 91 f4 	stxsd   v4,1108(r17)
+    1f84:	9c 57 9c 57 	rlwinm  r28,r28,10,30,14
+    1f88:	0d 8e 00 10 	vextublx r0,r0,v17
+    1f8c:	80 e0 ff ff 	.long 0xffffe080
 		vcpu->arch.nested_io_gpr = (gpa_t) regs_ptr +
-    1f90:	7e 9f 00 01 	.long 0x1009f7e
+    1f90:	ff ff ff 07 	.long 0x7ffffff
 		vcpu->arch.io_gpr = KVM_MMIO_REG_NESTED_GPR;
-    1f94:	01 04 80 56 	rlwinm. r0,r20,0,16,0
+    1f94:	1a 9f 00 08 	tdi     0,r0,-24806
 		vcpu->arch.nested_io_gpr = (gpa_t) regs_ptr +
-    1f98:	b8 56 01 6c 	xoris   r1,r0,22200
+    1f98:	00 03 02 04 	.long 0x4020300
 		vcpu->arch.io_gpr = KVM_MMIO_REG_NESTED_GPR;
-    1f9c:	00 00 00 04 	.long 0x4000000
+    1f9c:	88 55 bc 55 	rlwinm  r28,r13,10,22,4
 		vcpu->arch.nested_io_gpr = (gpa_t) regs_ptr +
-    1fa0:	90 56 a0 56 	rlwinm  r0,r21,10,26,8
+    1fa0:	01 6c 04 d4 	stfsu   f0,27649(r4)
 		return H_TOO_HARD;
-    1fa4:	01 53 00 00 	.long 0x5301
-    1fa8:	01 04 b8 56 	rlwinm. r24,r21,0,16,0
-    1fac:	b8 56 01 53 	rlwimi  r1,r24,10,26,28
+    1fa4:	55 a8 57 01 	.long 0x157a855
+    1fa8:	6c 00 01 00 	.long 0x1006c
+    1fac:	00 00 04 a8 	lha     r0,0(r4)
 		hr->hdar = vcpu->arch.fault_dar;
-    1fb0:	00 05 00 04 	.long 0x4000500
+    1fb0:	56 90 57 01 	.long 0x1579056
 		hr->hdsisr = vcpu->arch.fault_dsisr;
-    1fb4:	80 56 90 56 	rlwinm  r16,r20,10,26,0
+    1fb4:	53 04 90 57 	rlwinm. r16,r28,0,17,9
 		hr->asdr = vcpu->arch.fault_gpa;
-    1fb8:	01 6c 00 00 	.long 0x6c01
+    1fb8:	97 57 01 54 	rlwinm. r1,r0,10,30,11
 		hr->hdar = vcpu->arch.fault_dar;
-    1fbc:	01 04 c4 56 	rlwinm. r4,r22,0,16,0
+    1fbc:	00 09 00 04 	.long 0x4000900
 		hr->hdsisr = vcpu->arch.fault_dsisr;
-    1fc0:	d0 56 03 59 	rlmi    r3,r8,r10,27,8
+    1fc0:	00 04 88 55 	rlwinm  r8,r12,0,16,0
 		hr->asdr = vcpu->arch.fault_gpa;
-    1fc4:	93 08 00 00 	.long 0x893
-	...
+    1fc4:	9c 55 01 6c 	xoris   r1,r0,21916
+		break;
+    1fc8:	04 d4 55 e0 	lq      r2,-11264(r21)
+    1fcc:	55 01 6c 00 	.long 0x6c0155
 		hr->heir = vcpu->arch.emul_inst;
-    1fd4:	00 04 88 4e 	.long 0x4e880400
+    1fd0:	01 00 00 00 	.long 0x1
+    1fd4:	00 01 04 f0 	xsadddp vs0,vs4,vs0
 		break;
-    1fd8:	9c 4f 01 53 	rlwimi  r1,r24,9,30,14
+    1fd8:	55 94 56 04 	.long 0x4569455
 	return kvm_vcpu_write_guest(vcpu, hv_ptr, l2_hv, size) ||
-    1fdc:	04 9c 4f 9c 	stbu    r2,-25596(r15)
+    1fdc:	91 f4 7e 9f 	stbu    r27,-2927(r30)
 	WARN_ON_ONCE(idx & ~0x1);
-    1fe0:	51 01 67 04 	.long 0x4670151
-    1fe4:	9c 51 ac 51 	rlwimi  r12,r13,10,6,14
-    1fe8:	04 8b a0 67 	oris    r0,r29,35588
-    1fec:	9f 04 ac 51 	rlwimi. r12,r13,0,18,15
+    1fe0:	04 94 56 a7 	lhzu    r26,-27644(r22)
+    1fe4:	56 01 56 04 	.long 0x4560156
+    1fe8:	a7 56 a8 56 	rlwinm. r8,r21,10,26,19
+    1fec:	04 91 f4 7e 	.long 0x7ef49104
 		if (WARN_ON_ONCE(vcpu->arch.shregs.msr & MSR_TS_MASK))
-    1ff0:	dc 51 04 a3 	lhz     r24,20956(r4)
-    1ff4:	01 53 9f 04 	.long 0x49f5301
-    1ff8:	dc 51 d8 52 	rlwimi  r24,r22,10,7,14
-    1ffc:	01 67 04 d8 	stfd    f0,26369(r4)
-    2000:	52 e0 52 01 	.long 0x152e052
-    2004:	53 04 e0 52 	rlwimi. r0,r23,0,17,9
+    1ff0:	9f 00 01 01 	.long 0x101009f
+    1ff4:	04 f0 55 a8 	lha     r2,-4092(r21)
+    1ff8:	56 01 6c 00 	.long 0x6c0156
+    1ffc:	00 00 04 80 	lwz     r0,0(r4)
+    2000:	56 90 56 01 	.long 0x1569056
+    2004:	53 00 00 01 	.long 0x1000053
 		return -1;
-    2008:	94 53 04 a3 	lhz     r24,21396(r4)
-    200c:	01 53 9f 00 	.long 0x9f5301
-	...
-    2018:	04 88 4e 9c 	stbu    r2,-30716(r14)
-    201c:	4f 01 54 04 	.long 0x454014f
-    2020:	9c 4f d8 52 	rlwimi  r24,r22,9,30,14
-    2024:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
-    2028:	9f 04 d8 52 	rlwimi. r24,r22,0,18,15
-    202c:	e0 52 01 54 	rlwinm  r1,r0,10,11,16
-    2030:	04 e0 52 94 	stwu    r2,-8188(r18)
-    2034:	53 04 a3 01 	.long 0x1a30453
-    2038:	54 9f 00 00 	.long 0x9f54
-	...
-    2044:	00 00 00 04 	.long 0x4000000
-    2048:	88 4e 9c 4f 	.long 0x4f9c4e88
-    204c:	01 55 04 9c 	stbu    r0,21761(r4)
-    2050:	4f a4 51 01 	.long 0x151a44f
-    2054:	69 04 a4 51 	rlwimi. r4,r13,0,17,20
-    2058:	dc 51 04 a3 	lhz     r24,20956(r4)
-    205c:	01 55 9f 04 	.long 0x49f5501
-    2060:	dc 51 d8 52 	rlwimi  r24,r22,10,7,14
-    2064:	01 69 04 d8 	stfd    f0,26881(r4)
-    2068:	52 e0 52 01 	.long 0x152e052
-    206c:	55 04 e0 52 	rlwimi. r0,r23,0,17,10
-    2070:	94 53 04 a3 	lhz     r24,21396(r4)
-    2074:	01 55 9f 00 	.long 0x9f5501
-	...
-    2084:	04 88 4e 9c 	stbu    r2,-30716(r14)
+    2008:	04 a8 56 a8 	lha     r2,-22524(r22)
+    200c:	56 01 53 00 	.long 0x530156
+    2010:	05 00 04 f0 	xsaddsp vs32,vs36,vs0
+    2014:	55 80 56 01 	.long 0x1568055
+    2018:	6c 00 00 01 	.long 0x100006c
+    201c:	04 b4 56 c0 	lfs     f2,-19452(r22)
+    2020:	56 03 59 93 	stw     r26,854(r25)
+    2024:	08 00 00 00 	.long 0x8
+	...
+    2034:	04 f8 4d 8c 	lbzu    r2,-2044(r13)
+    2038:	4f 01 53 04 	.long 0x453014f
+    203c:	8c 4f 8c 51 	rlwimi  r12,r12,9,30,6
+		return -1;
+    2040:	01 67 04 8c 	lbzu    r0,26369(r4)
+    2044:	51 9c 51 04 	.long 0x4519c51
+    2048:	8b a0 67 9f 	stbu    r27,-24437(r7)
+    204c:	04 9c 51 cc 	lfdu    f2,-25596(r17)
+    2050:	51 04 a3 01 	.long 0x1a30451
+    2054:	53 9f 04 cc 	lfdu    f0,-24749(r4)
+    2058:	51 c8 52 01 	.long 0x152c851
+    205c:	67 04 c8 52 	rlwimi. r8,r22,0,17,19
+    2060:	d0 52 01 53 	rlwimi  r1,r24,10,11,8
+    2064:	04 d0 52 84 	lwzu    r2,-12284(r18)
+    2068:	53 04 a3 01 	.long 0x1a30453
+    206c:	53 9f 00 00 	.long 0x9f53
+    2070:	00 00 00 00 	.long 0x0
+    2074:	00 00 00 04 	.long 0x4000000
+    2078:	f8 4d 8c 4f 	.long 0x4f8c4df8
+    207c:	01 54 04 8c 	lbzu    r0,21505(r4)
+    2080:	4f c8 52 04 	.long 0x452c84f
+    2084:	a3 01 54 9f 	stbu    r26,419(r20)
 		return H_P2;
-    2088:	4f 01 56 04 	.long 0x456014f
-    208c:	9c 4f a0 51 	rlwimi  r0,r13,9,30,14
+    2088:	04 c8 52 d0 	stfs    f2,-14332(r18)
+    208c:	52 01 54 04 	.long 0x4540152
 		return H_INTERRUPT;
-    2090:	01 68 04 a0 	lhz     r0,26625(r4)
-    2094:	51 dc 51 04 	.long 0x451dc51
-    2098:	a3 01 56 9f 	stbu    r26,419(r22)
-    209c:	04 dc 51 d8 	stfd    f2,-9212(r17)
-    20a0:	52 01 68 04 	.long 0x4680152
-    20a4:	d8 52 e0 52 	rlwimi  r0,r23,10,11,12
-    20a8:	01 56 04 e0 	lq      r0,22016(r4)
-    20ac:	52 94 53 04 	.long 0x4539452
-    20b0:	a3 01 56 9f 	stbu    r26,419(r22)
-    20b4:	00 00 01 01 	.long 0x1010000
-	...
-    20c4:	00 04 88 4e 	.long 0x4e880400
-    20c8:	d4 4e 01 57 	rlwinm  r1,r24,9,27,10
-    20cc:	04 d4 4e 9c 	stbu    r2,-11260(r14)
-    20d0:	4f 06 8c 00 	.long 0x8c064f
-}
-    20d4:	77 00 1a 9f 	stbu    r24,119(r26)
-    20d8:	04 9c 4f a8 	lha     r2,-25596(r15)
-    20dc:	51 06 8c 00 	.long 0x8c0651
-    20e0:	8a 00 1a 9f 	stbu    r24,138(r26)
-    20e4:	04 a8 51 b0 	sth     r2,-22524(r17)
-{
-    20e8:	51 07 8c 00 	.long 0x8c0751
-    20ec:	a3 01 57 1a 	.long 0x1a5701a3
-    20f0:	9f 04 b0 51 	rlwimi. r16,r13,0,18,15
-    20f4:	bc 51 12 a3 	lhz     r24,20924(r18)
-    20f8:	01 58 1f 3b 	addi    r24,r31,22529
-    20fc:	24 40 47 24 	dozi    r2,r7,16420
-    2100:	1f 1a 3b 25 	dozi    r9,r27,6687
-    2104:	a3 01 57 1a 	.long 0x1a5701a3
-    2108:	9f 04 dc 51 	rlwimi. r28,r14,0,18,15
-    210c:	d8 52 06 8c 	lbzu    r0,21208(r6)
-    2110:	00 8a 00 1a 	lxvp    vs16,-30208(0)
-    2114:	9f 04 d8 52 	rlwimi. r24,r22,0,18,15
-    2118:	dc 52 06 8c 	lbzu    r0,21212(r6)
-    211c:	00 77 00 1a 	lxvp    vs16,30464(0)
-    2120:	9f 04 dc 52 	rlwimi. r28,r22,0,18,15
+    2090:	d0 52 84 53 	rlwimi  r4,r28,10,11,8
+    2094:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
+    2098:	9f 00 00 00 	.long 0x9f
+	...
+    20a4:	00 00 04 f8 	std     r0,0(r4)
+    20a8:	4d 8c 4f 01 	.long 0x14f8c4d
+    20ac:	55 04 8c 4f 	.long 0x4f8c0455
+    20b0:	94 51 01 69 	xori    r1,r8,20884
+    20b4:	04 94 51 cc 	lfdu    f2,-27644(r17)
+    20b8:	51 04 a3 01 	.long 0x1a30451
+    20bc:	55 9f 04 cc 	lfdu    f0,-24747(r4)
+    20c0:	51 c8 52 01 	.long 0x152c851
+    20c4:	69 04 c8 52 	rlwimi. r8,r22,0,17,20
+    20c8:	d0 52 01 55 	rlwinm  r1,r8,10,11,8
+    20cc:	04 d0 52 84 	lwzu    r2,-12284(r18)
+    20d0:	53 04 a3 01 	.long 0x1a30453
+}
+    20d4:	55 9f 00 00 	.long 0x9f55
+	...
+    20e0:	00 00 00 04 	.long 0x4000000
+    20e4:	f8 4d 8c 4f 	.long 0x4f8c4df8
+{
+    20e8:	01 56 04 8c 	lbzu    r0,22017(r4)
+    20ec:	4f 90 51 01 	.long 0x151904f
+    20f0:	68 04 90 51 	rlwimi  r16,r12,0,17,20
+    20f4:	cc 51 04 a3 	lhz     r24,20940(r4)
+    20f8:	01 56 9f 04 	.long 0x49f5601
+    20fc:	cc 51 c8 52 	rlwimi  r8,r22,10,7,6
+    2100:	01 68 04 c8 	lfd     f0,26625(r4)
+    2104:	52 d0 52 01 	.long 0x152d052
+    2108:	56 04 d0 52 	rlwimi  r16,r22,0,17,11
+    210c:	84 53 04 a3 	lhz     r24,21380(r4)
+    2110:	01 56 9f 00 	.long 0x9f5601
+    2114:	00 01 01 00 	.long 0x10100
+	...
 	return vcpu->arch.regs.gpr[num];
-    2124:	e0 52 0f 78 	rldicl  r15,r0,10,43
+    2124:	04 f8 4d c4 	lfsu    f2,-2044(r13)
 	int l1_lpid = kvmppc_get_gpr(vcpu, 4);
-    2128:	00 3b 24 40 	bdnzf   4*cr1+lt,5c28 <kvmhv_nested_next_lpid+0x2150>
-    212c:	47 24 1f 1a 	.long 0x1a1f2447
-    2130:	3b 25 77 00 	.long 0x77253b
-    2134:	1a 9f 00 00 	.long 0x9f1a
-    2138:	00 00 00 00 	.long 0x0
+    2128:	4e 01 57 04 	.long 0x457014e
+    212c:	c4 4e 8c 4f 	addpcis r28,20184
+    2130:	06 8c 00 77 	andis.  r0,r24,35846
+    2134:	00 1a 9f 04 	.long 0x49f1a00
+    2138:	8c 4f 98 51 	rlwimi  r24,r12,9,30,6
 	if (gp_to && gp_from) /* One must be NULL to determine the direction */
-    213c:	00 04 88 4e 	.long 0x4e880400
-    2140:	c4 4e 01 58 	rlmi    r1,r0,r9,27,2
-    2144:	04 c4 4e 9c 	stbu    r2,-15356(r14)
-    2148:	4f 04 78 00 	.long 0x78044f
+    213c:	06 8c 00 8a 	lbz     r16,-29690(0)
+    2140:	00 1a 9f 04 	.long 0x49f1a00
+    2144:	98 51 a0 51 	rlwimi  r0,r13,10,6,12
+    2148:	07 8c 00 a3 	lhz     r24,-29689(0)
 	if (eaddr & (0xFFFUL << 52))
-    214c:	1f 9f 04 9c 	stbu    r0,-24801(r4)
-    2150:	4f 94 53 04 	.long 0x453944f
-    2154:	a3 01 58 9f 	stbu    r26,419(r24)
-    2158:	00 01 00 00 	.long 0x100
+    214c:	01 57 1a 9f 	stbu    r24,22273(r26)
+    2150:	04 a0 51 ac 	lhau    r2,-24572(r17)
+    2154:	51 12 a3 01 	.long 0x1a31251
+    2158:	58 1f 3b 24 	dozi    r1,r27,8024
 	return __kmalloc(size, flags);
-    215c:	00 00 00 00 	.long 0x0
-    2160:	00 04 b8 4e 	.long 0x4eb80400
-    2164:	d8 4f 01 6f 	xoris   r1,r24,20440
-    2168:	04 c4 50 d4 	stfsu   f2,-15356(r16)
-    216c:	50 01 6f 04 	.long 0x46f0150
-    2170:	d4 50 84 51 	rlwimi  r4,r12,10,3,10
-    2174:	02 30 9f 04 	.long 0x49f3002
-	if (unlikely(!buf))
-    2178:	d8 52 e0 52 	rlwimi  r0,r23,10,11,12
-    217c:	01 6f 00 05 	.long 0x5006f01
+    215c:	40 47 24 1f 	mulli   r25,r4,18240
+    2160:	1a 3b 25 a3 	lhz     r25,15130(r5)
+    2164:	01 57 1a 9f 	stbu    r24,22273(r26)
+    2168:	04 cc 51 c8 	lfd     f2,-13308(r17)
+    216c:	52 06 8c 00 	.long 0x8c0652
+    2170:	8a 00 1a 9f 	stbu    r24,138(r26)
+    2174:	04 c8 52 cc 	lfdu    f2,-14332(r18)
+	if (!buf)
+    2178:	52 06 8c 00 	.long 0x8c0652
+    217c:	77 00 1a 9f 	stbu    r24,119(r26)
 	gp = kvmhv_get_nested(vcpu->kvm, l1_lpid, false);
-    2180:	00 00 00 00 	.long 0x0
-    2184:	00 04 d4 4e 	.long 0x4ed40400
-    2188:	b8 4f 01 6f 	xoris   r1,r24,20408
-    218c:	04 c4 50 d4 	stfsu   f2,-15356(r16)
+    2180:	04 cc 52 d0 	stfs    f2,-13308(r18)
+    2184:	52 0f 78 00 	.long 0x780f52
+    2188:	3b 24 40 47 	.long 0x4740243b
+    218c:	24 1f 1a 3b 	addi    r24,r26,7972
 	if (!gp) {
-    2190:	50 01 6f 04 	.long 0x46f0150
-    2194:	d8 52 e0 52 	rlwimi  r0,r23,10,11,12
-    2198:	01 6f 00 00 	.long 0x6f01
+    2190:	25 77 00 1a 	.long 0x1a007725
+    2194:	9f 00 00 00 	.long 0x9f
+    2198:	00 00 00 00 	.long 0x0
 	mutex_lock(&gp->tlb_lock);
-    219c:	00 04 a4 4f 	.long 0x4fa40400
-    21a0:	b8 4f 01 6e 	xoris   r1,r16,20408
-	...
+    219c:	04 f8 4d b4 	sthu    r2,-2044(r13)
+    21a0:	4e 01 58 04 	.long 0x458014e
+    21a4:	b4 4e 8c 4f 	.long 0x4f8c4eb4
+    21a8:	04 78 00 1f 	mulli   r24,r0,30724
 	if (is_load) {
-    21ac:	00 04 d4 4e 	.long 0x4ed40400
+    21ac:	9f 04 8c 4f 	.long 0x4f8c049f
 	vcpu->____srcu_idx = srcu_read_lock(&vcpu->kvm->srcu);
-    21b0:	b0 51 01 6c 	xoris   r1,r0,20912
+    21b0:	84 53 04 a3 	lhz     r24,21380(r4)
 	retval = __srcu_read_lock(ssp);
-    21b4:	04 b0 51 bc 	stmw    r2,-20476(r17)
-    21b8:	51 0e a3 01 	.long 0x1a30e51
-    21bc:	58 1f 3b 24 	dozi    r1,r27,8024
+    21b4:	01 58 9f 00 	.long 0x9f5801
+    21b8:	01 00 00 00 	.long 0x1
+    21bc:	00 00 00 00 	.long 0x0
 		rc = kvm_vcpu_read_guest(vcpu, gp_from, buf, n);
-    21c0:	40 47 24 1f 	mulli   r25,r4,18240
-    21c4:	1a 3b 25 9f 	stbu    r25,15130(r5)
-    21c8:	04 dc 51 dc 	stfdu   f2,-9212(r17)
-    21cc:	52 01 6c 04 	.long 0x46c0152
-    21d0:	dc 52 e0 52 	rlwimi  r0,r23,10,11,14
-    21d4:	0c 78 00 3b 	li      r24,30732
-    21d8:	24 40 47 24 	dozi    r2,r7,16420
-    21dc:	1f 1a 3b 25 	dozi    r9,r27,6687
+    21c0:	04 a8 4e c8 	lfd     f2,-22524(r14)
+    21c4:	4f 01 6f 04 	.long 0x46f014f
+    21c8:	b4 50 c4 50 	rlwimi  r4,r6,10,2,26
+    21cc:	01 6f 04 c4 	lfsu    f0,28417(r4)
+    21d0:	50 f4 50 02 	.long 0x250f450
+    21d4:	30 9f 04 c8 	lfd     f0,-24784(r4)
+    21d8:	52 d0 52 01 	.long 0x152d052
+    21dc:	6f 00 05 00 	.long 0x5006f
 	srcu_read_unlock(&vcpu->kvm->srcu, vcpu->____srcu_idx);
-    21e0:	9f 00 01 00 	.long 0x1009f
-    21e4:	01 00 00 00 	.long 0x1
-    21e8:	04 b8 4f c4 	lfsu    f2,-18428(r15)
-	WARN_ON_ONCE(idx & ~0x1);
-    21ec:	50 06 8c 00 	.long 0x8c0650
-    21f0:	8a 00 1a 9f 	stbu    r24,138(r26)
-    21f4:	04 d4 50 84 	lwzu    r2,-11260(r16)
+    21e0:	00 00 00 00 	.long 0x0
+    21e4:	04 c4 4e a8 	lha     r2,-15356(r14)
+    21e8:	4f 01 6f 04 	.long 0x46f014f
+	WARN_ON_ONCE(idx & ~0x1);
+    21ec:	b4 50 c4 50 	rlwimi  r4,r6,10,2,26
+    21f0:	01 6f 04 c8 	lfd     f0,28417(r4)
+    21f4:	52 d0 52 01 	.long 0x152d052
 	__srcu_read_unlock(ssp, idx);
-    21f8:	51 06 8c 00 	.long 0x8c0651
-    21fc:	8a 00 1a 9f 	stbu    r24,138(r26)
-    2200:	04 dc 51 d8 	stfd    f2,-9212(r17)
-		if (rc)
-    2204:	52 06 8c 00 	.long 0x8c0652
-    2208:	8a 00 1a 9f 	stbu    r24,138(r26)
+    21f8:	6f 00 00 00 	.long 0x6f
+    21fc:	04 94 4f a8 	lha     r2,-27644(r15)
+    2200:	4f 01 6e 00 	.long 0x6e014f
+	...
 	rc = H_NOT_FOUND;
-    220c:	00 01 00 01 	.long 0x1000100
+    220c:	04 c4 4e a0 	lhz     r2,-15356(r14)
 	mutex_unlock(&gp->tlb_lock);
-    2210:	00 04 b8 4f 	.long 0x4fb80400
-    2214:	c0 4f 01 6e 	xoris   r1,r16,20416
-    2218:	04 d4 50 80 	lwz     r2,-11260(r16)
+    2210:	51 01 6c 04 	.long 0x46c0151
+    2214:	a0 51 ac 51 	rlwimi  r12,r13,10,6,16
+    2218:	0e a3 01 58 	rlmi    r1,r0,r20,12,7
 	kvmhv_put_nested(gp);
-    221c:	51 01 6f 00 	.long 0x6f0151
-    2220:	00 00 00 00 	.long 0x0
-    2224:	00 00 04 d0 	stfs    f0,0(r4)
+    221c:	1f 3b 24 40 	bdnzfla 4*cr1+lt,3b1c <.debug_loclists+0x3b1c>
+    2220:	47 24 1f 1a 	.long 0x1a1f2447
+    2224:	3b 25 9f 04 	.long 0x49f253b
 	kfree(buf);
-    2228:	4f c4 50 01 	.long 0x150c44f
-    222c:	6e 04 f4 50 	rlwimi  r20,r7,0,17,23
-    2230:	84 51 01 6e 	xoris   r1,r16,20868
+    2228:	cc 51 cc 52 	rlwimi  r12,r22,10,7,6
+    222c:	01 6c 04 cc 	lfdu    f0,27649(r4)
+    2230:	52 d0 52 0c 	twllti  r18,-12206
 	return rc;
-    2234:	04 dc 51 d8 	stfd    f2,-9212(r17)
-    2238:	52 01 6e 00 	.long 0x6e0152
-    223c:	01 00 04 f4 	lxv     vs0,0(r4)
-}
-    2240:	50 80 51 06 	.long 0x6518050
-    2244:	8f 00 08 34 	addic.  r0,r8,143
-    2248:	25 9f 00 01 	.long 0x1009f25
-    224c:	00 00 00 04 	.long 0x4000000
-    2250:	f0 4f c4 50 	rlwimi  r4,r6,9,31,24
-    2254:	01 53 04 dc 	stfdu   f0,21249(r4)
-    2258:	51 cc 52 01 	.long 0x152cc51
-    225c:	53 00 02 01 	.long 0x1020053
-    2260:	02 00 04 d0 	stfs    f0,2(r4)
-    2264:	4f f0 4f 01 	.long 0x14ff04f
-    2268:	6e 04 f4 50 	rlwimi  r20,r7,0,17,23
-    226c:	84 51 01 6e 	xoris   r1,r16,20868
+    2234:	78 00 3b 24 	dozi    r1,r27,120
+    2238:	40 47 24 1f 	mulli   r25,r4,18240
+    223c:	1a 3b 25 9f 	stbu    r25,15130(r5)
+}
+    2240:	00 01 00 01 	.long 0x1000100
+    2244:	00 00 00 04 	.long 0x4000000
+    2248:	a8 4f b4 50 	rlwimi  r20,r5,9,30,20
+    224c:	06 8c 00 8a 	lbz     r16,-29690(0)
+    2250:	00 1a 9f 04 	.long 0x49f1a00
+    2254:	c4 50 f4 50 	rlwimi  r20,r7,10,3,2
+    2258:	06 8c 00 8a 	lbz     r16,-29690(0)
+    225c:	00 1a 9f 04 	.long 0x49f1a00
+    2260:	cc 51 c8 52 	rlwimi  r8,r22,10,7,6
+    2264:	06 8c 00 8a 	lbz     r16,-29690(0)
+    2268:	00 1a 9f 00 	attn
+    226c:	01 00 01 00 	.long 0x10001
 		rc = __kvmhv_copy_tofrom_guest_radix(gp->shadow_lpid, pid,
-    2270:	00 02 00 04 	.long 0x4000200
-    2274:	f4 50 80 51 	rlwimi  r0,r12,10,3,26
-    2278:	06 8f 00 08 	tdi     0,r0,-28922
-    227c:	34 25 9f 00 	.long 0x9f2534
-    2280:	08 00 08 00 	.long 0x80008
-    2284:	04 d0 4f dc 	stfdu   f2,-12284(r15)
-    2288:	4f 01 53 04 	.long 0x453014f
-    228c:	f4 50 84 51 	rlwimi  r4,r12,10,3,26
+    2270:	04 a8 4f b0 	sth     r2,-22524(r15)
+    2274:	4f 01 6e 04 	.long 0x46e014f
+    2278:	c4 50 f0 50 	rlwimi  r16,r7,10,3,2
+    227c:	01 6f 00 00 	.long 0x6f01
+    2280:	00 00 00 00 	.long 0x0
+    2284:	00 04 c0 4f 	.long 0x4fc00400
+    2288:	b4 50 01 6e 	xoris   r1,r16,20660
+    228c:	04 e4 50 f4 	psq_stu f2,1028(r16),1,6
 		if (rc)
-    2290:	01 53 00 00 	.long 0x5301
-    2294:	01 04 f0 4f 	.long 0x4ff00401
+    2290:	50 01 6e 04 	.long 0x46e0150
+    2294:	cc 51 c8 52 	rlwimi  r8,r22,10,7,6
 	vcpu->____srcu_idx = srcu_read_lock(&vcpu->kvm->srcu);
-    2298:	f0 4f 01 53 	rlwimi  r1,r24,9,31,24
+    2298:	01 6e 00 01 	.long 0x1006e01
 	retval = __srcu_read_lock(ssp);
-    229c:	00 06 08 04 	.long 0x4080600
-    22a0:	f4 50 f4 50 	rlwimi  r20,r7,10,3,26
-    22a4:	06 8f 00 08 	tdi     0,r0,-28922
+    229c:	00 04 e4 50 	rlwimi  r4,r7,0,16,0
+    22a0:	f0 50 06 8f 	lbzu    r24,20720(r6)
+    22a4:	00 08 34 25 	dozi    r9,r20,2048
 		rc = kvm_vcpu_write_guest(vcpu, gp_to, buf, n);
-    22a8:	34 25 9f 00 	.long 0x9f2534
-    22ac:	00 01 04 fc 	ftdiv   cr0,f4,f0
-    22b0:	4f 88 50 03 	.long 0x350884f
-    22b4:	59 93 08 00 	.long 0x89359
-    22b8:	01 01 04 dc 	stfdu   f0,257(r4)
-    22bc:	51 bc 52 01 	.long 0x152bc51
-    22c0:	68 00 01 01 	.long 0x1010068
-    22c4:	04 dc 51 bc 	stmw    r2,-9212(r17)
+    22a8:	9f 00 01 00 	.long 0x1009f
+    22ac:	00 00 04 e0 	lq      r0,0(r4)
+    22b0:	4f b4 50 01 	.long 0x150b44f
+    22b4:	53 04 cc 51 	rlwimi. r12,r14,0,17,9
+    22b8:	bc 52 01 53 	rlwimi  r1,r24,10,10,30
+    22bc:	00 02 01 02 	attn
+    22c0:	00 04 c0 4f 	.long 0x4fc00400
+    22c4:	e0 4f 01 6e 	xoris   r1,r16,20448
 	srcu_read_unlock(&vcpu->kvm->srcu, vcpu->____srcu_idx);
-    22c8:	52 01 69 00 	.long 0x690152
-    22cc:	01 01 04 dc 	stfdu   f0,257(r4)
-    22d0:	51 bc 52 01 	.long 0x152bc51
-	WARN_ON_ONCE(idx & ~0x1);
-    22d4:	53 00 00 00 	.long 0x53
-	...
+    22c8:	04 e4 50 f4 	psq_stu f2,1028(r16),1,6
+    22cc:	50 01 6e 00 	.long 0x6e0150
+    22d0:	02 00 04 e4 	lxsd    v0,0(r4)
+	WARN_ON_ONCE(idx & ~0x1);
+    22d4:	50 f0 50 06 	.long 0x650f050
+    22d8:	8f 00 08 34 	addic.  r0,r8,143
+    22dc:	25 9f 00 08 	tdi     0,r0,-24795
 	__srcu_read_unlock(ssp, idx);
-    22e0:	04 c8 4b bc 	stmw    r2,-14332(r11)
-    22e4:	4c 01 53 04 	.long 0x453014c
-    22e8:	bc 4c e4 4c 	.long 0x4ce44cbc
+    22e0:	00 08 00 04 	.long 0x4000800
+    22e4:	c0 4f cc 4f 	.long 0x4fcc4fc0
+    22e8:	01 53 04 e4 	psq_lu  f0,769(r4),0,5
 		if (rc)
-    22ec:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
-    22f0:	9f 04 e4 4c 	.long 0x4ce4049f
+    22ec:	50 f4 50 01 	.long 0x150f450
+    22f0:	53 00 00 01 	.long 0x1000053
 		rc = kvm_vcpu_write_guest(vcpu, gp_to, buf, n);
-    22f4:	b4 4d 01 53 	rlwimi  r1,r24,9,22,26
-    22f8:	04 b4 4d c8 	lfd     f2,-19452(r13)
-    22fc:	4d 04 a3 01 	.long 0x1a3044d
+    22f4:	04 e0 4f e0 	lq      r2,-8192(r15)
+    22f8:	4f 01 53 00 	.long 0x53014f
+    22fc:	06 08 04 e4 	lxsd    v0,2052(r4)
 		rc = H_PARAMETER;
-    2300:	53 9f 04 c8 	lfd     f0,-24749(r4)
-    2304:	4d f4 4d 01 	.long 0x14df44d
-    2308:	53 00 00 00 	.long 0x53
-	...
+    2300:	50 e4 50 06 	.long 0x650e450
+    2304:	8f 00 08 34 	addic.  r0,r8,143
+    2308:	25 9f 00 00 	.long 0x9f25
+    230c:	01 04 ec 4f 	.long 0x4fec0401
 		rc = __kvmhv_copy_tofrom_guest_radix(gp->shadow_lpid, pid,
-    2314:	00 00 04 c8 	lfd     f0,0(r4)
-    2318:	4b ec 4b 01 	.long 0x14bec4b
-    231c:	54 04 ec 4b 	b       ffffffffffec2770 <kvmhv_nested_next_lpid+0xffffffffffebec98>
-    2320:	c3 4c 01 56 	rlwinm. r1,r16,9,19,1
-    2324:	04 c3 4c e4 	psq_lu  f2,772(r12),1,4
-    2328:	4c 04 a3 01 	.long 0x1a3044c
-    232c:	54 9f 04 e4 	psq_lu  f0,-172(r4),1,1
+    2310:	f8 4f 03 59 	rlmi    r3,r8,r9,31,28
+    2314:	93 08 00 01 	.long 0x1000893
+    2318:	01 04 cc 51 	rlwimi. r12,r14,0,16,0
+    231c:	ac 52 01 68 	xori    r1,r0,21164
+    2320:	00 01 01 04 	.long 0x4010100
+    2324:	cc 51 ac 52 	rlwimi  r12,r21,10,7,6
+    2328:	01 69 00 01 	.long 0x1006901
+    232c:	01 04 cc 51 	rlwimi. r12,r14,0,16,0
 		if (rc)
-    2330:	4c bb 4d 01 	.long 0x14dbb4c
-    2334:	56 04 bb 4d 	.long 0x4dbb0456
+    2330:	ac 52 01 53 	rlwimi  r1,r24,10,10,22
+	...
 		rc = kvm_vcpu_write_guest(vcpu, gp_to, buf, n);
-    2338:	c8 4d 04 a3 	lhz     r24,19912(r4)
-    233c:	01 54 9f 04 	.long 0x49f5401
+    233c:	00 00 00 04 	.long 0x4000000
+		return H_PARAMETER;
+    2340:	b8 4b ac 4c 	.long 0x4cac4bb8
+    2344:	01 53 04 ac 	lhau    r0,21249(r4)
+    2348:	4c d4 4c 04 	.long 0x44cd44c
+    234c:	a3 01 53 9f 	stbu    r26,419(r19)
+	WARN_ON_ONCE(idx & ~0x1);
+    2350:	04 d4 4c a4 	lhzu    r2,-11260(r12)
+    2354:	4d 01 53 04 	.long 0x453014d
+    2358:	a4 4d b8 4d 	.long 0x4db84da4
+    235c:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    2360:	9f 04 b8 4d 	.long 0x4db8049f
 		return H_NO_MEM;
-    2340:	c8 4d f4 4d 	.long 0x4df44dc8
-    2344:	01 56 00 00 	.long 0x5601
+    2364:	e4 4d 01 53 	rlwimi  r1,r24,9,23,18
 	...
-    2350:	00 00 00 04 	.long 0x4000000
-    2354:	c8 4b b8 4c 	.long 0x4cb84bc8
-    2358:	01 55 04 b8 	lm      r0,21761(r4)
-    235c:	4c d4 4c 01 	.long 0x14cd44c
-		return H_PARAMETER;
-    2360:	6f 04 d4 4c 	.long 0x4cd4046f
-    2364:	e4 4c 04 a3 	lhz     r24,19684(r4)
-    2368:	01 55 9f 04 	.long 0x49f5501
-    236c:	e4 4c a8 4d 	.long 0x4da84ce4
-	WARN_ON_ONCE(idx & ~0x1);
-    2370:	01 55 04 a8 	lha     r0,21761(r4)
-    2374:	4d c8 4d 01 	.long 0x14dc84d
-    2378:	6f 04 c8 4d 	.long 0x4dc8046f
-    237c:	f4 4d 01 55 	rlwinm  r1,r8,9,23,26
-	...
-    2388:	00 00 00 04 	.long 0x4000000
-    238c:	e8 4b 84 4c 	.long 0x4c844be8
-    2390:	01 6e 04 84 	lwzu    r0,28161(r4)
-    2394:	4c 98 4c 01 	.long 0x14c984c
-{
-    2398:	59 04 98 4c 	.long 0x4c980459
-    239c:	a4 4c 02 30 	addic   r0,r2,19620
-    23a0:	9f 04 e4 4c 	.long 0x4ce4049f
-    23a4:	98 4d 01 59 	rlmi    r1,r8,r9,22,12
-    23a8:	04 e0 4d f0 	xsaddsp vs2,vs45,vs28
-    23ac:	4d 01 6e 00 	.long 0x6e014d
-    23b0:	00 00 00 01 	.long 0x1000000
-    23b4:	04 84 4c 98 	stb     r2,-31740(r12)
+    2374:	00 04 b8 4b 	b       ffffffffffb82774 <kvmhv_nested_next_lpid+0xffffffffffb7ecac>
+    2378:	dc 4b 01 54 	rlwinm  r1,r0,9,15,14
+    237c:	04 dc 4b b3 	sth     r26,-9212(r11)
+    2380:	4c 01 56 04 	.long 0x456014c
+    2384:	b3 4c d4 4c 	.long 0x4cd44cb3
+{
+    2388:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
+    238c:	9f 04 d4 4c 	.long 0x4cd4049f
+    2390:	ab 4d 01 56 	rlwinm. r1,r16,9,22,21
+    2394:	04 ab 4d b8 	lm      r2,-21756(r13)
+    2398:	4d 04 a3 01 	.long 0x1a3044d
+    239c:	54 9f 04 b8 	lm      r0,-24748(r4)
+    23a0:	4d e4 4d 01 	.long 0x14de44d
+    23a4:	56 00 00 00 	.long 0x56
+	...
+    23b0:	00 00 04 b8 	lm      r0,0(r4)
+    23b4:	4b a8 4c 01 	.long 0x14ca84b
+    23b8:	55 04 a8 4c 	.long 0x4ca80455
+    23bc:	c4 4c 01 6f 	xoris   r1,r24,19652
+    23c0:	04 c4 4c d4 	stfsu   f2,-15356(r12)
+    23c4:	4c 04 a3 01 	.long 0x1a3044c
+    23c8:	55 9f 04 d4 	stfsu   f0,-24747(r4)
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    23b8:	4c 01 59 04 	.long 0x459014c
-	int shift, shadow_shift;
-    23bc:	e4 4c 88 4d 	.long 0x4d884ce4
-{
-    23c0:	01 59 00 01 	.long 0x1005901
-    23c4:	00 00 01 00 	.long 0x10000
-    23c8:	00 04 a4 4c 	.long 0x4ca40400
-    23cc:	dc 4c 01 6e 	xoris   r1,r16,19676
-    23d0:	04 f4 4c 88 	lbz     r2,-3068(r12)
-    23d4:	4d 01 5a 04 	.long 0x45a014d
-    23d8:	98 4d c8 4d 	.long 0x4dc84d98
-    23dc:	01 6e 00 00 	.long 0x6e01
-    23e0:	00 00 00 00 	.long 0x0
-    23e4:	00 00 00 04 	.long 0x4000000
-    23e8:	f4 4b c3 4c 	.long 0x4cc34bf4
-    23ec:	01 58 04 e4 	psq_lu  f0,-2047(r4),0,5
-	struct kvm *kvm = vcpu->kvm;
-    23f0:	4c bb 4d 01 	.long 0x14dbb4c
-	int shift, shadow_shift;
-    23f4:	58 04 c8 4d 	.long 0x4dc80458
-    23f8:	e4 4d 01 58 	rlmi    r1,r0,r9,23,18
-    23fc:	04 e4 4d ec 	dsub    f2,f13,f28
+    23cc:	4c 98 4d 01 	.long 0x14d984c
+    23d0:	55 04 98 4d 	.long 0x4d980455
+    23d4:	b8 4d 01 6f 	xoris   r1,r24,19896
+    23d8:	04 b8 4d e4 	psq_lu  f2,-2044(r13),1,3
+    23dc:	4d 01 55 00 	.long 0x55014d
+	...
+    23e8:	00 00 04 d8 	stfd    f0,0(r4)
+    23ec:	4b f4 4b 01 	.long 0x14bf44b
 		if (mmu_psize_defs[psize].ap == ap)
-    2400:	4d 02 74 08 	tdi     3,r20,589
+    23f0:	6e 04 f4 4b 	ba      fff4046c <kvmhv_nested_next_lpid+0xfff3c9a4>
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    2404:	00 01 03 02 	.long 0x2030100
+    23f4:	88 4c 01 59 	rlmi    r1,r8,r9,18,4
 		if (mmu_psize_defs[psize].ap == ap)
-    2408:	04 04 98 4c 	addpcis r4,1072
-    240c:	98 4c 01 58 	rlmi    r1,r0,r9,18,12
+    23f8:	04 88 4c 94 	stwu    r2,-30716(r12)
+    23fc:	4c 02 30 9f 	stbu    r25,588(r16)
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    2410:	04 88 4d 88 	lbz     r2,-30716(r13)
-    2414:	4d 01 58 00 	.long 0x58014d
-    2418:	01 03 04 98 	stb     r0,769(r4)
+    2400:	04 d4 4c 88 	lbz     r2,-11260(r12)
+    2404:	4d 01 59 04 	.long 0x459014d
+    2408:	d0 4d e0 4d 	.long 0x4de04dd0
 		if (mmu_psize_defs[psize].ap == ap)
-    241c:	4c 98 4c 01 	.long 0x14c984c
-    2420:	59 00 01 00 	.long 0x10059
-    2424:	00 00 01 00 	.long 0x10000
+    240c:	01 6e 00 00 	.long 0x6e01
+    2410:	00 00 01 04 	.long 0x4010000
+    2414:	f4 4b 88 4c 	.long 0x4c884bf4
 			return mmu_psize_defs[psize].shift;
-    2428:	00 00 04 b4 	sthu    r0,0(r4)
-    242c:	4c c3 4c 01 	.long 0x14cc34c
+    2418:	01 59 04 d4 	stfsu   f0,22785(r4)
+    241c:	4c f8 4c 01 	.long 0x14cf84c
 	shift = ap_to_shift(ap);
-    2430:	56 04 c3 4c 	.long 0x4cc30456
+    2420:	59 00 01 00 	.long 0x10059
 	if (shift < 0)
-    2434:	c4 4c 04 a3 	lhz     r24,19652(r4)
-    2438:	01 54 9f 04 	.long 0x49f5401
+    2424:	00 01 00 00 	.long 0x100
+    2428:	04 94 4c cc 	lfdu    f2,-27644(r12)
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    243c:	ac 4d bb 4d 	.long 0x4dbb4dac
-    2440:	01 55 04 bb 	lmw     r24,21761(r4)
+    242c:	4c 01 6e 04 	.long 0x46e014c
+    2430:	e4 4c f8 4c 	.long 0x4cf84ce4
 	if (!gp) /* No such guest -> nothing to do */
-    2444:	4d bc 4d 04 	.long 0x44dbc4d
-    2448:	a3 01 54 9f 	stbu    r26,419(r20)
-    244c:	00 01 00 01 	.long 0x1000100
+    2434:	01 5a 04 88 	lbz     r0,23041(r4)
+    2438:	4d b8 4d 01 	.long 0x14db84d
+    243c:	6e 00 00 00 	.long 0x6e
 	addr &= ~((1UL << shift) - 1);
-    2450:	00 04 b4 4c 	.long 0x4cb40400
+    2440:	00 00 00 00 	.long 0x0
 	npages = 1UL << (shift - PAGE_SHIFT);
-    2454:	c3 4c 01 54 	rlwinm. r1,r0,9,19,1
-    2458:	04 ac 4d bb 	lmw     r26,-21500(r13)
+    2444:	00 00 04 e4 	psq_lu  f0,0(r4),0,0
+    2448:	4b b3 4c 01 	.long 0x14cb34b
 	mutex_lock(&gp->tlb_lock);
-    245c:	4d 02 8f 00 	.long 0x8f024d
-	...
-    246c:	00 00 00 04 	.long 0x4000000
+    244c:	58 04 d4 4c 	.long 0x4cd40458
+	addr = epn << 12;
+    2450:	ab 4d 01 58 	rlmi.   r1,r0,r9,22,21
+		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
+    2454:	04 b8 4d d4 	stfsu   f2,-18428(r13)
+	addr &= ~((1UL << shift) - 1);
+    2458:	4d 01 58 04 	.long 0x458014d
+	mutex_lock(&gp->tlb_lock);
+    245c:	d4 4d dc 4d 	.long 0x4ddc4dd4
 	npages = 1UL << (shift - PAGE_SHIFT);
-    2470:	a8 29 d8 29 	cmplwi  cr3,r24,10664
+    2460:	02 74 08 00 	.long 0x87402
 	addr &= ~((1UL << shift) - 1);
-    2474:	01 53 04 d8 	stfd    f0,21249(r4)
-    2478:	29 ac 2a 01 	.long 0x12aac29
+    2464:	01 03 02 04 	.long 0x4020301
+    2468:	04 88 4c 88 	lbz     r2,-30716(r12)
 	mutex_lock(&gp->tlb_lock);
-    247c:	6f 04 ac 2a 	cmpldi  cr5,r12,1135
-    2480:	b4 2a 04 a3 	lhz     r24,10932(r4)
-    2484:	01 53 9f 04 	.long 0x49f5301
-    2488:	b4 2a d4 2a 	cmplwi  cr5,r20,10932
-    248c:	01 6f 04 d4 	stfsu   f0,28417(r4)
+    246c:	4c 01 58 04 	.long 0x458014c
+    2470:	f8 4c f8 4c 	.long 0x4cf84cf8
+    2474:	01 58 00 01 	.long 0x1005801
+    2478:	03 04 88 4c 	.long 0x4c880403
+    247c:	88 4c 01 59 	rlmi    r1,r8,r9,18,4
 		kvmhv_invalidate_shadow_pte(vcpu, gp, addr, &shadow_shift);
-    2490:	2a db 2a 01 	.long 0x12adb2a
-    2494:	53 04 db 2a 	cmplwi  cr5,r27,1107
-    2498:	dc 2a 04 a3 	lhz     r24,10972(r4)
-    249c:	01 53 9f 04 	.long 0x49f5301
-    24a0:	dc 2a f0 2a 	cmpldi  cr5,r16,10972
+    2480:	00 01 00 00 	.long 0x100
+    2484:	00 01 00 00 	.long 0x100
+    2488:	00 04 a4 4c 	.long 0x4ca40400
+    248c:	b3 4c 01 56 	rlwinm. r1,r16,9,18,25
+    2490:	04 b3 4c b4 	sthu    r2,-19708(r12)
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    24a4:	01 6f 00 00 	.long 0x6f01
-    24a8:	00 00 00 00 	.long 0x0
+    2494:	4c 04 a3 01 	.long 0x1a3044c
+    2498:	54 9f 04 9c 	stbu    r0,-24748(r4)
 		addr += 1UL << shadow_shift;
-    24ac:	00 04 d4 29 	cmplwi  cr3,r20,1024
+    249c:	4d ab 4d 01 	.long 0x14dab4d
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    24b0:	a8 2a 01 6e 	xoris   r1,r16,10920
+    24a0:	55 04 ab 4d 	.long 0x4dab0455
 		addr += 1UL << shadow_shift;
-    24b4:	04 b4 2a d0 	stfs    f1,-19452(r10)
+    24a4:	ac 4d 04 a3 	lhz     r24,19884(r4)
 	} while (npages > 0);
-    24b8:	2a 01 6e 04 	.long 0x46e012a
-    24bc:	dc 2a f0 2a 	cmpldi  cr5,r16,10972
+    24a8:	01 54 9f 00 	.long 0x9f5401
+    24ac:	01 00 01 00 	.long 0x10001
 	mutex_unlock(&gp->tlb_lock);
-    24c0:	01 6e 00 00 	.long 0x6e01
-    24c4:	00 00 00 04 	.long 0x4000000
-    24c8:	f0 29 db 2a 	cmplwi  cr5,r27,10736
+    24b0:	04 a4 4c b3 	sth     r26,-23548(r12)
+    24b4:	4c 01 54 04 	.long 0x454014c
+    24b8:	9c 4d ab 4d 	.long 0x4dab4d9c
 	kvmhv_put_nested(gp);
-    24cc:	01 59 04 dc 	stfdu   f0,22785(r4)
-    24d0:	2a f0 2a 01 	.long 0x12af02a
-    24d4:	59 00 02 00 	.long 0x20059
-    24d8:	04 d4 29 e0 	psq_l   f1,1028(r9),1,5
+    24bc:	02 8f 00 00 	.long 0x8f02
+	...
 		return 0;
-    24dc:	29 01 6e 00 	.long 0x6e0129
+    24cc:	00 00 04 a8 	lha     r0,0(r4)
 }
-    24e0:	01 09 00 00 	.long 0x901
-    24e4:	04 f0 29 94 	stwu    r1,-4092(r9)
-    24e8:	2a 01 6e 04 	.long 0x46e012a
-    24ec:	dc 2a f0 2a 	cmpldi  cr5,r16,10972
-    24f0:	01 6e 00 03 	.long 0x3006e01
-    24f4:	09 00 00 04 	.long 0x4000009
-    24f8:	f0 29 94 2a 	cmplwi  cr5,r20,10736
-    24fc:	01 6e 04 dc 	stfdu   f0,28161(r4)
+    24d0:	29 d8 29 01 	.long 0x129d829
+    24d4:	53 04 d8 29 	cmplwi  cr3,r24,1107
+    24d8:	ac 2a 01 6f 	xoris   r1,r24,10924
+    24dc:	04 ac 2a b4 	sthu    r1,-21500(r10)
+    24e0:	2a 04 a3 01 	.long 0x1a3042a
+    24e4:	53 9f 04 b4 	sthu    r0,-24749(r4)
+    24e8:	2a d4 2a 01 	.long 0x12ad42a
+    24ec:	6f 04 d4 2a 	cmplwi  cr5,r20,1135
+    24f0:	db 2a 01 53 	rlwimi. r1,r24,5,11,13
+    24f4:	04 db 2a dc 	stfdu   f1,-9468(r10)
+    24f8:	2a 04 a3 01 	.long 0x1a3042a
+    24fc:	53 9f 04 dc 	stfdu   f0,-24749(r4)
     2500:	2a f0 2a 01 	.long 0x12af02a
-    2504:	6e 00 08 07 	.long 0x708006e
-    2508:	00 00 04 f0 	xsaddsp vs0,vs4,vs0
-    250c:	29 94 2a 01 	.long 0x12a9429
-    2510:	6e 04 dc 2a 	cmplwi  cr5,r28,1134
-    2514:	f0 2a 01 6e 	xoris   r1,r16,10992
-    2518:	00 0c 00 00 	.long 0xc00
-    251c:	00 00 00 04 	.long 0x4000000
+    2504:	6f 00 00 00 	.long 0x6f
+    2508:	00 00 00 00 	.long 0x0
+    250c:	04 d4 29 a8 	lha     r1,-11260(r9)
 		return -EINVAL;
-    2520:	f0 29 90 2a 	cmplwi  cr5,r16,10736
-    2524:	04 7a 80 19 	.long 0x19807a04
-    2528:	9f 04 90 2a 	cmplwi  cr5,r16,1183
-    252c:	db 2a 04 7d 	.long 0x7d042adb
-}
-    2530:	80 19 9f 04 	.long 0x49f1980
-    2534:	dc 2a f0 2a 	cmpldi  cr5,r16,10972
-    2538:	04 7a 80 19 	.long 0x19807a04
-    253c:	9f 00 01 05 	.long 0x501009f
-    2540:	04 88 2a 94 	stwu    r1,-30716(r10)
-    2544:	2a 01 6e 00 	.long 0x6e012a
-	...
-{
-    2554:	04 c8 22 ab 	lha     r25,-14332(r2)
-    2558:	23 01 53 04 	.long 0x4530123
-    255c:	ab 23 90 24 	dozi    r4,r16,9131
-    2560:	01 6f 04 90 	stw     r0,28417(r4)
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2564:	24 ac 24 04 	.long 0x424ac24
-    2568:	a3 01 53 9f 	stbu    r26,419(r19)
-{
-    256c:	04 ac 24 cc 	lfdu    f1,-21500(r4)
-    2570:	24 01 6f 04 	.long 0x46f0124
-    2574:	cc 24 d8 24 	dozi    r6,r24,9420
-    2578:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    2510:	2a 01 6e 04 	.long 0x46e012a
+    2514:	b4 2a d0 2a 	cmplwi  cr5,r16,10932
+    2518:	01 6e 04 dc 	stfdu   f0,28161(r4)
+    251c:	2a f0 2a 01 	.long 0x12af02a
+}
+    2520:	6e 00 00 00 	.long 0x6e
+    2524:	00 00 04 f0 	xsaddsp vs0,vs4,vs0
+    2528:	29 db 2a 01 	.long 0x12adb29
+    252c:	59 04 dc 2a 	cmplwi  cr5,r28,1113
+    2530:	f0 2a 01 59 	rlmi    r1,r8,r5,11,24
+    2534:	00 02 00 04 	.long 0x4000200
+{
+    2538:	d4 29 e0 29 	cmpldi  cr3,r0,10708
+    253c:	01 6e 00 01 	.long 0x1006e01
+    2540:	09 00 00 04 	.long 0x4000009
+    2544:	f0 29 94 2a 	cmplwi  cr5,r20,10736
+    2548:	01 6e 04 dc 	stfdu   f0,28161(r4)
+    254c:	2a f0 2a 01 	.long 0x12af02a
+    2550:	6e 00 03 09 	tdgti   r3,110
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2554:	00 00 04 f0 	xsaddsp vs0,vs4,vs0
+    2558:	29 94 2a 01 	.long 0x12a9429
+{
+    255c:	6e 04 dc 2a 	cmplwi  cr5,r28,1134
+    2560:	f0 2a 01 6e 	xoris   r1,r16,10992
+    2564:	00 08 07 00 	.long 0x70800
+    2568:	00 04 f0 29 	cmpldi  cr3,r16,1024
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    257c:	9f 04 d8 24 	dozi    r6,r24,1183
-    2580:	9c 29 01 6f 	xoris   r1,r24,10652
+    256c:	94 2a 01 6e 	xoris   r1,r16,10900
+    2570:	04 dc 2a f0 	xsmaxcdp vs1,vs42,vs27
 	if (!gp)
-    2584:	00 00 00 00 	.long 0x0
-    2588:	00 04 c8 22 	subfic  r22,r8,1024
+    2574:	2a 01 6e 00 	.long 0x6e012a
+    2578:	0c 00 00 00 	.long 0xc
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    258c:	ab 23 01 54 	rlwinm. r1,r0,4,14,21
-    2590:	04 ab 23 9c 	stbu    r1,-21756(r3)
-    2594:	29 04 a3 01 	.long 0x1a30429
-    2598:	54 9f 00 00 	.long 0x9f54
-    259c:	00 00 00 04 	.long 0x4000000
-    25a0:	c8 22 ab 23 	subfic  r29,r11,8904
-}
-    25a4:	01 55 04 ab 	lha     r24,21761(r4)
-    25a8:	23 9c 29 04 	.long 0x4299c23
-    25ac:	a3 01 55 9f 	stbu    r26,419(r21)
-	...
-{
-    25c8:	00 01 00 04 	.long 0x4000100
-    25cc:	bc 23 fc 23 	subfic  r31,r28,9148
-    25d0:	01 53 04 fc 	.long 0xfc045301
-    25d4:	23 94 24 01 	.long 0x1249423
-    25d8:	6e 04 ac 24 	dozi    r5,r12,1134
-    25dc:	b8 24 01 53 	rlwimi  r1,r24,4,18,28
-    25e0:	04 b8 24 d0 	stfs    f1,-18428(r4)
+    257c:	00 00 04 f0 	xsaddsp vs0,vs4,vs0
+    2580:	29 90 2a 04 	.long 0x42a9029
+    2584:	7a 80 19 9f 	stbu    r24,-32646(r25)
+    2588:	04 90 2a db 	stfd    f25,-28668(r10)
+    258c:	2a 04 7d 80 	lwz     r3,1066(r29)
+    2590:	19 9f 04 dc 	stfdu   f0,-24807(r4)
+}
+    2594:	2a f0 2a 04 	.long 0x42af02a
+    2598:	7a 80 19 9f 	stbu    r24,-32646(r25)
+    259c:	00 01 05 04 	.long 0x4050100
+    25a0:	88 2a 94 2a 	cmplwi  cr5,r20,10888
+    25a4:	01 6e 00 00 	.long 0x6e01
+	...
+    25b0:	00 00 00 04 	.long 0x4000000
+    25b4:	c8 22 ab 23 	subfic  r29,r11,8904
+{
+    25b8:	01 53 04 ab 	lha     r24,21249(r4)
+    25bc:	23 90 24 01 	.long 0x1249023
+    25c0:	6f 04 90 24 	dozi    r4,r16,1135
+    25c4:	ac 24 04 a3 	lhz     r24,9388(r4)
+    25c8:	01 53 9f 04 	.long 0x49f5301
+    25cc:	ac 24 cc 24 	dozi    r6,r12,9388
+    25d0:	01 6f 04 cc 	lfdu    f0,28417(r4)
 	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
-    25e4:	24 01 6e 04 	.long 0x46e0124
+    25d4:	24 d8 24 04 	.long 0x424d824
 	u64 rmap, new_rmap = (*n_rmap)->rmap;
-    25e8:	d8 24 f4 24 	dozi    r7,r20,9432
+    25d8:	a3 01 53 9f 	stbu    r26,419(r19)
 	if (!(*rmapp)) {
-    25ec:	01 53 04 f4 	lxv     vs0,21248(r4)
+    25dc:	04 d8 24 9c 	stbu    r1,-10236(r4)
 	u64 rmap, new_rmap = (*n_rmap)->rmap;
-    25f0:	24 dc 26 01 	.long 0x126dc24
+    25e0:	29 01 6f 00 	.long 0x6f0129
 	if (!(*rmapp)) {
-    25f4:	6e 04 dc 26 	dozi    r22,r28,1134
-    25f8:	e8 26 01 53 	rlwimi  r1,r24,4,27,20
-    25fc:	04 e8 26 a8 	lha     r1,-6140(r6)
-    2600:	27 01 6e 04 	.long 0x46e0127
-    2604:	a8 27 c0 27 	dozi    r30,r0,10152
-    2608:	01 53 04 c0 	lfs     f0,21249(r4)
-    260c:	27 94 28 01 	.long 0x1289427
+    25e4:	00 00 00 00 	.long 0x0
+    25e8:	04 c8 22 ab 	lha     r25,-14332(r2)
+    25ec:	23 01 54 04 	.long 0x4540123
+    25f0:	ab 23 9c 29 	cmplwi  cr3,r28,9131
+    25f4:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
+    25f8:	9f 00 00 00 	.long 0x9f
+    25fc:	00 00 04 c8 	lfd     f0,0(r4)
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2610:	6e 04 94 28 	cmplwi  cr1,r20,1134
-    2614:	a8 28 01 53 	rlwimi  r1,r24,5,2,20
+    2600:	22 ab 23 01 	.long 0x123ab22
+    2604:	55 04 ab 23 	subfic  r29,r11,1109
 	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
-    2618:	04 a8 28 c8 	lfd     f1,-22524(r8)
+    2608:	9c 29 04 a3 	lhz     r24,10652(r4)
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    261c:	28 01 6e 04 	.long 0x46e0128
-    2620:	d0 28 9c 29 	cmplwi  cr3,r28,10448
-	if (rmap & RMAP_NESTED_IS_SINGLE_ENTRY) /* Not previously a list */
-    2624:	01 6e 00 01 	.long 0x1006e01
-    2628:	00 01 00 00 	.long 0x100
-    262c:	02 02 00 00 	.long 0x202
-    2630:	00 04 84 26 	dozi    r20,r4,1024
+    260c:	01 55 9f 00 	.long 0x9f5501
+	...
 	return llist_add_batch(new, new, head);
-    2634:	a8 27 01 6c 	xoris   r1,r0,10152
-    2638:	04 90 28 94 	stwu    r1,-28668(r8)
-    263c:	28 02 30 9f 	stbu    r25,552(r16)
-    2640:	04 94 28 d0 	stfs    f1,-27644(r8)
+    2628:	01 00 04 bc 	stmw    r0,1(r4)
+    262c:	23 fc 23 01 	.long 0x123fc23
+    2630:	53 04 fc 23 	subfic  r31,r28,1107
 	*n_rmap = NULL;
-    2644:	28 01 6c 04 	.long 0x46c0128
-    2648:	d0 28 dc 28 	cmplwi  cr1,r28,10448
-    264c:	02 30 9f 04 	.long 0x49f3002
-    2650:	dc 28 f0 28 	cmpldi  cr1,r16,10460
+    2634:	94 24 01 6e 	xoris   r1,r16,9364
+    2638:	04 ac 24 b8 	lm      r1,-21500(r4)
+    263c:	24 01 53 04 	.long 0x4530124
+    2640:	b8 24 d0 24 	dozi    r6,r16,9400
 }
-    2654:	01 6c 00 01 	.long 0x1006c01
-    2658:	00 00 00 04 	.long 0x4000000
+    2644:	01 6e 04 d8 	stfd    f0,28161(r4)
+    2648:	24 f4 24 01 	.long 0x124f424
 	*n_rmap = NULL;
-    265c:	fc 22 ab 23 	subfic  r29,r11,8956
+    264c:	53 04 f4 24 	dozi    r7,r20,1107
 }
-    2660:	01 53 04 ab 	lha     r24,21249(r4)
-    2664:	23 ac 23 01 	.long 0x123ac23
-    2668:	6f 00 02 00 	.long 0x2006f
-    266c:	04 ac 23 bc 	stmw    r1,-21500(r3)
+    2650:	dc 26 01 6e 	xoris   r1,r16,9948
+    2654:	04 dc 26 e8 	ld      r1,-9212(r6)
+    2658:	26 01 53 04 	.long 0x4530126
+    265c:	e8 26 e0 27 	dozi    r31,r0,9960
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2670:	23 01 6d 00 	.long 0x6d0123
-    2674:	02 00 04 ac 	lhau    r0,2(r4)
+    2660:	01 6e 04 e0 	lq      r0,28160(r4)
+    2664:	27 f0 27 01 	.long 0x127f027
 	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
-    2678:	23 bc 23 01 	.long 0x123bc23
+    2668:	53 04 f0 27 	dozi    r31,r16,1107
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    267c:	6f 00 01 09 	tdgti   r1,111
+    266c:	94 28 01 6e 	xoris   r1,r16,10388
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2680:	00 00 04 d0 	stfs    f0,0(r4)
-    2684:	23 f8 23 01 	.long 0x123f823
+    2670:	04 94 28 a8 	lha     r1,-27644(r8)
+    2674:	28 01 53 04 	.long 0x4530128
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    2688:	6f 04 a8 27 	dozi    r29,r8,1135
+    2678:	a8 28 c8 28 	cmplwi  cr1,r8,10408
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    268c:	c0 27 01 6f 	xoris   r1,r24,10176
-    2690:	00 03 09 00 	.long 0x90300
-    2694:	00 04 d0 23 	subfic  r30,r16,1024
-    2698:	f8 23 01 6f 	xoris   r1,r24,9208
-    269c:	04 a8 27 c0 	lfs     f1,-22524(r7)
+    267c:	01 6e 04 d0 	stfs    f0,28161(r4)
+    2680:	28 9c 29 01 	.long 0x1299c28
+    2684:	6e 00 01 00 	.long 0x1006e
+    2688:	01 00 00 02 	.long 0x2000001
+    268c:	02 00 00 00 	.long 0x2
 		*rmapp = 0UL;
-    26a0:	27 01 6f 00 	.long 0x6f0127
-    26a4:	08 07 00 00 	.long 0x708
-    26a8:	04 d0 23 f8 	std     r1,-12284(r3)
-    26ac:	23 01 6f 04 	.long 0x46f0123
-    26b0:	a8 27 c0 27 	dozi    r30,r0,10152
-    26b4:	01 6f 00 00 	.long 0x6f01
-    26b8:	00 00 00 00 	.long 0x0
+    2690:	04 84 26 a8 	lha     r1,-31740(r6)
+    2694:	27 01 6c 04 	.long 0x46c0127
+    2698:	90 28 94 28 	cmplwi  cr1,r20,10384
+    269c:	02 30 9f 04 	.long 0x49f3002
+    26a0:	94 28 d0 28 	cmplwi  cr1,r16,10388
+    26a4:	01 6c 04 d0 	stfs    f0,27649(r4)
+    26a8:	28 dc 28 02 	.long 0x228dc28
 		(*n_rmap)->list.next = (struct llist_node *) rmap;
-    26bc:	00 00 00 0c 	twi     0,r0,0
-    26c0:	00 00 00 00 	.long 0x0
-    26c4:	00 04 d8 23 	subfic  r30,r24,1024
-    26c8:	f4 23 04 79 	.long 0x790423f4
-    26cc:	80 19 9f 04 	.long 0x49f1980
-    26d0:	f4 23 fc 23 	subfic  r31,r28,9204
-}
-    26d4:	04 7d 80 19 	.long 0x19807d04
-    26d8:	9f 04 ac 24 	dozi    r5,r12,1183
-    26dc:	b8 24 04 7d 	.long 0x7d0424b8
+    26ac:	30 9f 04 dc 	stfdu   f0,-24784(r4)
+    26b0:	28 f0 28 01 	.long 0x128f028
+    26b4:	6c 00 01 00 	.long 0x1006c
+    26b8:	00 00 04 fc 	fcmpu   cr0,f4,f0
+    26bc:	22 ab 23 01 	.long 0x123ab22
+    26c0:	53 04 ab 23 	subfic  r29,r11,1107
+}
+    26c4:	ac 23 01 6f 	xoris   r1,r24,9132
+    26c8:	00 02 00 04 	.long 0x4000200
+    26cc:	ac 23 bc 23 	subfic  r29,r28,9132
 		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
-    26e0:	80 19 9f 04 	.long 0x49f1980
+    26d0:	01 6d 00 02 	.long 0x2006d01
 }
-    26e4:	d8 24 fb 24 	dozi    r7,r27,9432
+    26d4:	00 04 ac 23 	subfic  r29,r12,1024
 		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
-    26e8:	04 7d 80 19 	.long 0x19807d04
+    26d8:	bc 23 01 6f 	xoris   r1,r24,9148
 }
-    26ec:	9f 04 f4 26 	dozi    r23,r20,1183
-    26f0:	a3 27 04 7a 	rldicl. r4,r16,36,62
-    26f4:	80 19 9f 04 	.long 0x49f1980
-    26f8:	a8 27 c0 27 	dozi    r30,r0,10152
-    26fc:	04 79 80 19 	.long 0x19807904
-    2700:	9f 04 dc 28 	cmplwi  cr1,r28,1183
-    2704:	f0 28 04 7a 	rldcl   r4,r16,r5,35
-{
-    2708:	80 19 9f 00 	.long 0x9f1980
-    270c:	01 05 04 ec 	.long 0xec040501
-    2710:	23 f8 23 01 	.long 0x123f823
-    2714:	6f 00 01 01 	.long 0x101006f
+    26dc:	00 01 09 00 	.long 0x90100
+    26e0:	00 04 d0 23 	subfic  r30,r16,1024
+    26e4:	f8 23 01 6f 	xoris   r1,r24,9208
+    26e8:	04 e0 27 f0 	xsaddsp vs1,vs39,vs28
+    26ec:	27 01 6f 00 	.long 0x6f0127
+    26f0:	03 09 00 00 	.long 0x903
+    26f4:	04 d0 23 f8 	std     r1,-12284(r3)
+{
+    26f8:	23 01 6f 04 	.long 0x46f0123
+    26fc:	e0 27 f0 27 	dozi    r31,r16,10208
+    2700:	01 6f 00 08 	tdi     0,r0,28417
+    2704:	07 00 00 04 	.long 0x4000007
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
-    2718:	00 01 00 00 	.long 0x100
+    2708:	d0 23 f8 23 	subfic  r31,r24,9168
 {
-    271c:	04 d8 24 84 	lwzu    r1,-10236(r4)
-    2720:	26 01 6d 04 	.long 0x46d0126
+    270c:	01 6f 04 e0 	lq      r0,28416(r4)
+    2710:	27 f0 27 01 	.long 0x127f027
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
-    2724:	c0 27 90 28 	cmplwi  cr1,r16,10176
+    2714:	6f 00 00 00 	.long 0x6f
 	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
-    2728:	01 6d 04 f0 	xsmaxdp vs32,vs4,vs13
+    2718:	00 00 00 00 	.long 0x0
 {
-    272c:	28 9c 29 01 	.long 0x1299c28
-    2730:	6d 00 01 01 	.long 0x101006d
-    2734:	00 01 00 00 	.long 0x100
+    271c:	00 00 0c 00 	.long 0xc0000
+    2720:	00 00 00 00 	.long 0x0
+    2724:	04 d8 23 f4 	psq_stu f1,-2044(r3),1,5
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
-    2738:	04 d8 24 84 	lwzu    r1,-10236(r4)
-    273c:	26 01 6f 04 	.long 0x46f0126
+    2728:	23 04 79 80 	lwz     r3,1059(r25)
+    272c:	19 9f 04 f4 	lxv     vs32,-24816(r4)
 	mask = PTE_RPN_MASK & ~(nbytes - 1);
-    2740:	c0 27 90 28 	cmplwi  cr1,r16,10176
+    2730:	23 fc 23 04 	.long 0x423fc23
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    2744:	01 6f 04 f0 	xvmaxdp vs32,vs4,vs13
-    2748:	28 9c 29 01 	.long 0x1299c28
+    2734:	7d 80 19 9f 	stbu    r24,-32643(r25)
+    2738:	04 ac 24 b8 	lm      r1,-21500(r4)
 	mask = PTE_RPN_MASK & ~(nbytes - 1);
-    274c:	6f 00 00 00 	.long 0x6f
-    2750:	00 01 00 01 	.long 0x1000100
+    273c:	24 04 7d 80 	lwz     r3,1060(r29)
+    2740:	19 9f 04 d8 	stfd    f0,-24807(r4)
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    2754:	00 00 04 fc 	fcmpu   cr0,f4,f0
-    2758:	24 90 25 01 	.long 0x1259024
-    275c:	53 04 90 25 	dozi    r12,r16,1107
-    2760:	84 26 01 6c 	xoris   r1,r0,9860
+    2744:	24 fb 24 04 	.long 0x424fb24
+    2748:	7d 80 19 9f 	stbu    r24,-32643(r25)
+    274c:	04 f4 26 a3 	lhz     r25,-3068(r6)
+    2750:	27 04 7a 80 	lwz     r3,1063(r26)
 	unsigned int shift, lpid;
-    2764:	04 c0 27 90 	stw     r1,-16380(r7)
-    2768:	28 01 6c 04 	.long 0x46c0128
-    276c:	f0 28 9c 29 	cmplwi  cr3,r28,10480
-    2770:	01 6c 00 00 	.long 0x6c01
-	...
-    277c:	00 04 dc 25 	dozi    r14,r28,1024
-    2780:	f4 25 01 53 	rlwimi  r1,r24,4,23,26
-    2784:	04 f4 25 83 	lwz     r25,-3068(r5)
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2788:	26 01 59 04 	.long 0x4590126
-    278c:	f0 27 f4 27 	dozi    r31,r20,10224
-    2790:	01 53 04 f4 	lxv     vs0,21248(r4)
-    2794:	27 83 28 01 	.long 0x1288327
-    2798:	59 04 f0 28 	cmpldi  cr1,r16,1113
-    279c:	f4 28 01 59 	rlmi    r1,r8,r5,3,26
+    2754:	19 9f 04 e0 	lq      r0,-24816(r4)
+    2758:	27 f0 27 04 	.long 0x427f027
+    275c:	79 80 19 9f 	stbu    r24,-32647(r25)
+    2760:	04 dc 28 f0 	xsmaxcdp vs1,vs40,vs27
+    2764:	28 04 7a 80 	lwz     r3,1064(r26)
+    2768:	19 9f 00 01 	.long 0x1009f19
+    276c:	05 04 ec 23 	subfic  r31,r12,1029
+    2770:	f8 23 01 6f 	xoris   r1,r24,9208
+    2774:	00 01 01 00 	.long 0x10100
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2778:	00 00 01 00 	.long 0x10000
+    277c:	00 04 d8 24 	dozi    r6,r24,1024
+    2780:	84 26 01 6d 	xoris   r1,r8,9860
+    2784:	04 a8 27 e0 	psq_l   f1,-2044(r7),1,2
+    2788:	27 01 6d 04 	.long 0x46d0127
+    278c:	f0 27 90 28 	cmplwi  cr1,r16,10224
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    27a0:	00 05 00 04 	.long 0x4000500
-    27a4:	d8 24 fc 24 	dozi    r7,r28,9432
-    27a8:	04 0a c0 0c 	twllei  r0,2564
+    2790:	01 6d 04 f0 	xsmaxdp vs32,vs4,vs13
+    2794:	28 9c 29 01 	.long 0x1299c28
+    2798:	6d 00 01 01 	.long 0x101006d
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    27ac:	9f 00 05 00 	.long 0x5009f
+    279c:	00 00 00 01 	.long 0x1000000
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    27b0:	04 d8 24 fc 	.long 0xfc24d804
+    27a0:	00 00 04 d8 	stfd    f0,0(r4)
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    27b4:	24 04 0a 60 	ori     r10,r0,1060
+    27a4:	24 84 26 01 	.long 0x1268424
 	unsigned int shift, lpid;
-    27b8:	11 9f 00 07 	.long 0x7009f11
+    27a8:	6f 04 a8 27 	dozi    r29,r8,1135
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    27bc:	00 04 d8 24 	dozi    r6,r24,1024
+    27ac:	e0 27 01 6f 	xoris   r1,r24,10208
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    27c0:	fc 24 04 0a 	tdlti   r4,9468
+    27b0:	04 f0 27 90 	stw     r1,-4092(r7)
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    27c4:	c0 0d 9f 00 	.long 0x9f0dc0
-    27c8:	07 00 04 d8 	stfd    f0,7(r4)
+    27b4:	28 01 6f 04 	.long 0x46f0128
+    27b8:	f0 28 9c 29 	cmplwi  cr3,r28,10480
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    27cc:	24 fc 24 04 	.long 0x424fc24
+    27bc:	01 6f 00 00 	.long 0x6f01
 	if (!gp)
-    27d0:	0a 60 11 9f 	stbu    r24,24586(r17)
-    27d4:	00 1c 00 00 	.long 0x1c00
+    27c0:	00 00 01 00 	.long 0x10000
+    27c4:	00 00 01 00 	.long 0x10000
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    27d8:	00 04 d8 24 	dozi    r6,r24,1024
-    27dc:	a8 27 02 3d 	addis   r8,r2,10152
-    27e0:	9f 04 c0 27 	dozi    r30,r0,1183
-    27e4:	9c 29 02 3d 	addis   r8,r2,10652
-    27e8:	9f 00 0c 1c 	mulli   r0,r12,159
-    27ec:	04 d8 24 d8 	stfd    f1,-10236(r4)
+    27c8:	00 04 fc 24 	dozi    r7,r28,1024
+    27cc:	90 25 01 53 	rlwimi  r1,r24,4,22,8
+    27d0:	04 90 25 84 	lwzu    r1,-28668(r5)
+    27d4:	26 01 6c 04 	.long 0x46c0126
+    27d8:	a8 27 e0 27 	dozi    r31,r0,10152
+    27dc:	01 6c 04 f0 	xsmaxcdp vs32,vs4,vs13
 	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa)) {
-    27f0:	24 02 31 9f 	stbu    r25,548(r17)
-    27f4:	00 0c 1c 04 	.long 0x41c0c00
-    27f8:	d8 24 d8 24 	dozi    r6,r24,9432
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
-    27fc:	04 0a 60 11 	vsrb    v11,v0,v1
+    27e0:	27 90 28 01 	.long 0x1289027
+    27e4:	6c 04 f0 28 	cmpldi  cr1,r16,1132
+    27e8:	9c 29 01 6c 	xoris   r1,r0,10652
+	...
 	if (pte_hw_valid(pte))
-    2800:	9f 00 03 00 	.long 0x3009f
-    2804:	00 00 04 b0 	sth     r0,0(r4)
+    27f4:	00 00 00 04 	.long 0x4000000
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-    2808:	25 c7 25 03 	.long 0x325c725
-    280c:	8f c8 00 04 	.long 0x400c88f
-    2810:	c0 27 eb 27 	dozi    r31,r11,10176
-    2814:	03 8f c8 00 	.long 0xc88f03
-    2818:	00 00 00 04 	.long 0x4000000
-    281c:	ec 27 f0 27 	dozi    r31,r16,10220
-    2820:	01 53 00 07 	.long 0x7005301
-    2824:	02 00 04 04 	.long 0x4040002
-    2828:	b0 25 b4 25 	dozi    r13,r20,9648
-    282c:	03 08 40 9f 	.long 0x9f400803
-    2830:	04 c0 27 c0 	lfs     f1,-16380(r7)
-    2834:	27 03 08 40 	bdnzfla 4*cr2+lt,324 <.debug_loclists+0x324>
-    2838:	9f 00 10 02 	.long 0x210009f
-    283c:	00 04 04 b0 	sth     r0,1024(r4)
-    2840:	25 b4 25 02 	.long 0x225b425
+    27f8:	dc 25 f4 25 	dozi    r15,r20,9692
+    27fc:	01 53 04 f4 	lxv     vs0,21248(r4)
+    2800:	25 83 26 01 	.long 0x1268325
+    2804:	59 04 f0 27 	dozi    r31,r16,1113
+    2808:	f4 27 01 53 	rlwimi  r1,r24,4,31,26
+    280c:	04 f4 27 83 	lwz     r25,-3068(r7)
+    2810:	28 01 59 04 	.long 0x4590128
+    2814:	f0 28 f4 28 	cmpldi  cr1,r20,10480
+    2818:	01 59 00 05 	.long 0x5005901
+    281c:	00 04 d8 24 	dozi    r6,r24,1024
+    2820:	fc 24 04 0a 	tdlti   r4,9468
+    2824:	c0 0c 9f 00 	.long 0x9f0cc0
+    2828:	05 00 04 d8 	stfd    f0,5(r4)
+    282c:	24 fc 24 04 	.long 0x424fc24
+    2830:	0a 60 11 9f 	stbu    r24,24586(r17)
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    2844:	36 9f 04 c0 	lfs     f0,-24778(r4)
-    2848:	27 c0 27 02 	.long 0x227c027
-    284c:	36 9f 00 00 	.long 0x9f36
-    2850:	00 02 00 04 	.long 0x4000200
+    2834:	00 07 00 04 	.long 0x4000700
+    2838:	d8 24 fc 24 	dozi    r7,r28,9432
+    283c:	04 0a c0 0d 	twi     14,r0,2564
+    2840:	9f 00 07 00 	.long 0x7009f
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2854:	b4 25 c8 25 	dozi    r14,r8,9652
+    2844:	04 d8 24 fc 	.long 0xfc24d804
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2858:	02 31 9f 04 	.long 0x49f3102
+    2848:	24 04 0a 60 	ori     r10,r0,1060
 	unsigned int shift, lpid;
-    285c:	c0 27 f0 27 	dozi    r31,r16,10176
+    284c:	11 9f 00 1c 	mulli   r0,r0,-24815
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2860:	02 30 9f 00 	.long 0x9f3002
+    2850:	00 00 00 04 	.long 0x4000000
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2864:	14 00 00 02 	.long 0x2000014
+    2854:	d8 24 e0 27 	dozi    r31,r0,9432
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2868:	04 b0 25 b4 	sthu    r1,-20476(r5)
-    286c:	25 02 31 9f 	stbu    r25,549(r17)
+    2858:	02 3d 9f 04 	.long 0x49f3d02
+    285c:	f0 27 9c 29 	cmplwi  cr3,r28,10224
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2870:	04 c0 27 c0 	lfs     f1,-16380(r7)
+    2860:	02 3d 9f 00 	.long 0x9f3d02
 	if (!gp)
-    2874:	27 02 31 9f 	stbu    r25,551(r17)
-    2878:	00 01 00 00 	.long 0x100
+    2864:	0c 1c 04 d8 	stfd    f0,7180(r4)
+    2868:	24 d8 24 02 	.long 0x224d824
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    287c:	00 04 f4 27 	dozi    r31,r20,1024
-    2880:	83 28 03 8f 	lbzu    r24,10371(r3)
-    2884:	c8 00 04 f0 	xsmsubmsp vs0,vs4,vs0
-    2888:	28 97 29 03 	.long 0x3299728
-    288c:	8f c8 00 00 	.long 0xc88f
-    2890:	00 00 00 00 	.long 0x0
-    2894:	00 00 04 f4 	psq_stu f0,0(r4),0,0
-    2898:	27 83 28 01 	.long 0x1288327
-    289c:	53 04 f0 28 	cmpldi  cr1,r16,1107
-    28a0:	90 29 01 53 	rlwimi  r1,r24,5,6,8
-    28a4:	04 90 29 97 	stwu    r25,-28668(r9)
-    28a8:	29 02 8c 10 	vmsumshs v4,v12,v0,v8
-    28ac:	00 04 02 00 	.long 0x20400
-    28b0:	04 04 f4 27 	dozi    r31,r20,1028
-    28b4:	f8 27 03 08 	tdi     0,r3,10232
-    28b8:	40 9f 04 f0 	xvmindp vs0,vs4,vs19
-}
-    28bc:	28 f0 28 03 	.long 0x328f028
-    28c0:	08 40 9f 00 	.long 0x9f4008
-    28c4:	0d 02 00 04 	pstxvp  vs32,34468868(r7)
-    28c8:	04 f4 27 f8 
-    28cc:	27 02 36 9f 	stbu    r25,551(r22)
-    28d0:	04 f0 28 f0 	xsaddsp vs1,vs40,vs30
-    28d4:	28 02 36 9f 	stbu    r25,552(r22)
-    28d8:	00 00 00 02 	.long 0x2000000
-    28dc:	00 04 f8 27 	dozi    r31,r24,1024
+    286c:	31 9f 00 0c 	twi     0,r0,-24783
+    2870:	1c 04 d8 24 	dozi    r6,r24,1052
+    2874:	d8 24 04 0a 	tdlti   r4,9432
+    2878:	60 11 9f 00 	.long 0x9f1160
+    287c:	03 00 00 00 	.long 0x3
+    2880:	04 b0 25 c7 	lfsu    f25,-20476(r5)
+    2884:	25 03 8f c8 	lfd     f4,805(r15)
+    2888:	00 04 a8 27 	dozi    r29,r8,1024
+    288c:	db 27 03 8f 	lbzu    r24,10203(r3)
+    2890:	c8 00 00 00 	.long 0xc8
+    2894:	00 04 dc 27 	dozi    r30,r28,1024
+    2898:	e0 27 01 53 	rlwimi  r1,r24,4,31,16
+    289c:	00 07 02 00 	.long 0x20700
+    28a0:	03 04 b0 25 	dozi    r13,r16,1027
+    28a4:	b4 25 03 08 	tdi     0,r3,9652
+    28a8:	40 9f 04 a8 	lha     r0,-24768(r4)
+}
+    28ac:	27 a8 27 03 	.long 0x327a827
+    28b0:	08 40 9f 00 	.long 0x9f4008
+    28b4:	10 02 00 03 	.long 0x3000210
+    28b8:	04 b0 25 b4 	sthu    r1,-20476(r5)
+    28bc:	25 02 36 9f 	stbu    r25,549(r22)
+    28c0:	04 a8 27 a8 	lha     r1,-22524(r7)
+    28c4:	27 02 36 9f 	stbu    r25,551(r22)
+    28c8:	00 00 00 01 	.long 0x1000000
+    28cc:	00 04 b4 25 	dozi    r13,r20,1024
 	: "r" (ptep), "r" (cpu_to_be64(set)), "r" (cpu_to_be64(clr))
-    28e0:	84 28 02 31 	addic   r8,r2,10372
-    28e4:	9f 04 f0 28 	cmpldi  cr1,r16,1183
-    28e8:	9c 29 02 30 	addic   r0,r2,10652
-    28ec:	9f 00 11 00 	.long 0x11009f
-    28f0:	00 02 04 f4 	psq_stu f0,512(r4),0,0
-    28f4:	27 f8 27 02 	.long 0x227f827
-    28f8:	31 9f 04 f0 	xxsel   vs32,vs4,vs19,vs28
-    28fc:	28 f0 28 02 	.long 0x228f028
-    2900:	31 9f 00 04 	.long 0x4009f31
-    2904:	00 04 f8 27 	dozi    r31,r24,1024
-    2908:	83 28 01 53 	rlwimi. r1,r24,5,2,1
-    290c:	00 04 00 00 	.long 0x400
-    2910:	00 04 f0 28 	cmpldi  cr1,r16,1024
-    2914:	90 29 01 53 	rlwimi  r1,r24,5,6,8
-    2918:	04 90 29 97 	stwu    r25,-28668(r9)
-    291c:	29 01 54 00 	.long 0x540129
-    2920:	04 01 04 84 	lwzu    r0,260(r4)
-    2924:	26 ac 26 01 	.long 0x126ac26
+    28d0:	c8 25 02 31 	addic   r8,r2,9672
+    28d4:	9f 04 a8 27 	dozi    r29,r8,1183
+    28d8:	e0 27 02 30 	addic   r0,r2,10208
+    28dc:	9f 00 14 00 	.long 0x14009f
+    28e0:	00 01 04 b0 	sth     r0,256(r4)
+    28e4:	25 b4 25 02 	.long 0x225b425
+    28e8:	31 9f 04 a8 	lha     r0,-24783(r4)
+    28ec:	27 a8 27 02 	.long 0x227a827
+    28f0:	31 9f 00 01 	.long 0x1009f31
+    28f4:	00 00 00 04 	.long 0x4000000
+    28f8:	f4 27 83 28 	cmplwi  cr1,r3,10228
+    28fc:	03 8f c8 00 	.long 0xc88f03
+    2900:	04 f0 28 97 	stwu    r25,-4092(r8)
+    2904:	29 03 8f c8 	lfd     f4,809(r15)
+	...
+    2910:	04 f4 27 83 	lwz     r25,-3068(r7)
+    2914:	28 01 53 04 	.long 0x4530128
 	__asm__ __volatile__(
-    2928:	6d 00 04 01 	.long 0x104006d
-    292c:	04 84 26 ac 	lhau    r1,-31740(r6)
-    2930:	26 01 6f 00 	.long 0x6f0126
-    2934:	01 00 04 b8 	lm      r0,1(r4)
-    2938:	26 cc 26 01 	.long 0x126cc26
+    2918:	f0 28 90 29 	cmplwi  cr3,r16,10480
+    291c:	01 53 04 90 	stw     r0,21249(r4)
+    2920:	29 97 29 02 	.long 0x2299729
+    2924:	8c 10 00 04 	.long 0x400108c
+    2928:	02 00 04 04 	.long 0x4040002
 		kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid);
-    293c:	6f 00 02 00 	.long 0x2006f
-    2940:	04 cc 26 dc 	stfdu   f1,-13308(r6)
-    2944:	26 01 6d 00 	.long 0x6d0126
-    2948:	02 00 04 cc 	lfdu    f0,2(r4)
-    294c:	26 dc 26 01 	.long 0x126dc26
-    2950:	6f 00 01 09 	tdgti   r1,111
-    2954:	00 00 04 f4 	psq_stu f0,0(r4),0,0
-    2958:	26 98 27 01 	.long 0x1279826
-    295c:	6f 04 dc 28 	cmplwi  cr1,r28,1135
-    2960:	f0 28 01 6f 	xoris   r1,r24,10480
-    2964:	00 03 09 00 	.long 0x90300
-    2968:	00 04 f4 26 	dozi    r23,r20,1024
-    296c:	98 27 01 6f 	xoris   r1,r24,10136
-    2970:	04 dc 28 f0 	xsmaxcdp vs1,vs40,vs27
-    2974:	28 01 6f 00 	.long 0x6f0128
-    2978:	08 07 00 00 	.long 0x708
-    297c:	04 f4 26 98 	stb     r1,-3068(r6)
-    2980:	27 01 6f 04 	.long 0x46f0127
-    2984:	dc 28 f0 28 	cmpldi  cr1,r16,10460
-    2988:	01 6f 00 0c 	twi     0,r0,28417
-}
-    298c:	00 00 00 04 	.long 0x4000000
-    2990:	f4 26 a3 27 	dozi    r29,r3,9972
-    2994:	04 7a 80 19 	.long 0x19807a04
-    2998:	9f 04 dc 28 	cmplwi  cr1,r28,1183
-    299c:	f0 28 04 7a 	rldcl   r4,r16,r5,35
-    29a0:	80 19 9f 00 	.long 0x9f1980
-    29a4:	01 05 04 8c 	lbzu    r0,1281(r4)
-{
-    29a8:	27 98 27 01 	.long 0x1279827
-    29ac:	6f 00 01 02 	.long 0x201006f
-    29b0:	04 94 28 c0 	lfs     f1,-27644(r8)
-    29b4:	28 01 6c 00 	.long 0x6c0128
-    29b8:	01 02 04 94 	stwu    r0,513(r4)
-    29bc:	28 c0 28 01 	.long 0x128c028
+    292c:	f4 27 f8 27 	dozi    r31,r24,10228
+    2930:	03 08 40 9f 	.long 0x9f400803
+    2934:	04 f0 28 f0 	xsaddsp vs1,vs40,vs30
+    2938:	28 03 08 40 	bdnzf   4*cr2+lt,2c60 <.debug_loclists+0x2c60>
+    293c:	9f 00 0d 02 	.long 0x20d009f
+    2940:	00 04 04 f4 	psq_stu f0,1024(r4),0,0
+    2944:	27 f8 27 02 	.long 0x227f827
+    2948:	36 9f 04 f0 	xxsel   vs0,vs36,vs51,vs28
+    294c:	28 f0 28 02 	.long 0x228f028
+    2950:	36 9f 00 00 	.long 0x9f36
+    2954:	00 02 00 04 	.long 0x4000200
+    2958:	f8 27 84 28 	cmplwi  cr1,r4,10232
+    295c:	02 31 9f 04 	.long 0x49f3102
+    2960:	f0 28 9c 29 	cmplwi  cr3,r28,10480
+    2964:	02 30 9f 00 	.long 0x9f3002
+    2968:	11 00 00 02 	.long 0x2000011
+    296c:	04 f4 27 f8 	std     r1,-3068(r7)
+    2970:	27 02 31 9f 	stbu    r25,551(r17)
+    2974:	04 f0 28 f0 	xsaddsp vs1,vs40,vs30
+    2978:	28 02 31 9f 	stbu    r25,552(r17)
+}
+    297c:	00 04 00 04 	.long 0x4000400
+    2980:	f8 27 83 28 	cmplwi  cr1,r3,10232
+    2984:	01 53 00 04 	.long 0x4005301
+    2988:	00 00 00 04 	.long 0x4000000
+    298c:	f0 28 90 29 	cmplwi  cr3,r16,10480
+    2990:	01 53 04 90 	stw     r0,21249(r4)
+    2994:	29 97 29 01 	.long 0x1299729
+{
+    2998:	54 00 04 01 	.long 0x1040054
+    299c:	04 84 26 ac 	lhau    r1,-31740(r6)
+    29a0:	26 01 6d 00 	.long 0x6d0126
+    29a4:	04 01 04 84 	lwzu    r0,260(r4)
+    29a8:	26 ac 26 01 	.long 0x126ac26
+    29ac:	6f 00 01 00 	.long 0x1006f
 	if (!memslot)
-    29c0:	6d 00 01 02 	.long 0x201006d
+    29b0:	04 b8 26 cc 	lfdu    f1,-18428(r6)
 {
-    29c4:	04 94 28 c0 	lfs     f1,-27644(r8)
-    29c8:	28 01 6f 00 	.long 0x6f0128
-    29cc:	02 02 04 bc 	stmw    r0,514(r4)
+    29b4:	26 01 6f 00 	.long 0x6f0126
+    29b8:	02 00 04 cc 	lfdu    f0,2(r4)
+    29bc:	26 dc 26 01 	.long 0x126dc26
 	if (!memslot)
-    29d0:	28 c0 28 02 	.long 0x228c028
+    29c0:	6d 00 02 00 	.long 0x2006d
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
-    29d4:	30 9f 00 00 	.long 0x9f30
-    29d8:	00 00 00 00 	.long 0x0
-    29dc:	00 00 00 04 	.long 0x4000000
+    29c4:	04 cc 26 dc 	stfdu   f1,-13308(r6)
+    29c8:	26 01 6f 00 	.long 0x6f0126
+    29cc:	01 09 00 00 	.long 0x901
 	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
-    29e0:	a8 1d 8b 1e 	mulli   r20,r11,7592
+    29d0:	04 f4 26 98 	stb     r1,-3068(r6)
 	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
-    29e4:	01 53 04 8b 	lbz     r24,21249(r4)
-    29e8:	1e 88 22 01 	.long 0x122881e
+    29d4:	27 01 6f 04 	.long 0x46f0127
+    29d8:	dc 28 f0 28 	cmpldi  cr1,r16,10460
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
-    29ec:	6b 04 88 22 	subfic  r20,r8,1131
+    29dc:	01 6f 00 03 	.long 0x3006f01
 	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
-    29f0:	a0 22 04 a3 	lhz     r24,8864(r4)
-    29f4:	01 53 9f 04 	.long 0x49f5301
+    29e0:	09 00 00 04 	.long 0x4000009
+    29e4:	f4 26 98 27 	dozi    r28,r24,9972
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
-    29f8:	a0 22 bc 22 	subfic  r21,r28,8864
+    29e8:	01 6f 04 dc 	stfdu   f0,28417(r4)
 	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
-    29fc:	01 6b 00 00 	.long 0x6b01
+    29ec:	28 f0 28 01 	.long 0x128f028
 	for (; gfn < end_gfn; gfn++) {
-    2a00:	00 00 00 00 	.long 0x0
-    2a04:	00 00 0b 0b 	tdnei   r11,0
-    2a08:	00 00 00 01 	.long 0x1000000
-    2a0c:	07 02 00 04 	.long 0x4000207
-    2a10:	94 1e 9c 1e 	mulli   r20,r28,7828
-    2a14:	01 53 04 9c 	stbu    r0,21249(r4)
-    2a18:	1e c8 1e 01 	.long 0x11ec81e
-    2a1c:	6f 04 dc 1e 	mulli   r22,r28,1135
-    2a20:	e8 1e 01 53 	rlwimi  r1,r24,3,27,20
-    2a24:	04 e8 1e 98 	stb     r0,-6140(r30)
+    29f0:	6f 00 08 07 	.long 0x708006f
+    29f4:	00 00 04 f4 	psq_stu f0,0(r4),0,0
+    29f8:	26 98 27 01 	.long 0x1279826
+    29fc:	6f 04 dc 28 	cmplwi  cr1,r28,1135
+    2a00:	f0 28 01 6f 	xoris   r1,r24,10480
+    2a04:	00 0c 00 00 	.long 0xc00
+    2a08:	00 04 f4 26 	dozi    r23,r20,1024
+    2a0c:	a3 27 04 7a 	rldicl. r4,r16,36,62
+    2a10:	80 19 9f 04 	.long 0x49f1980
+    2a14:	dc 28 f0 28 	cmpldi  cr1,r16,10460
 	unsigned int shift, lpid;
-    2a28:	1f 01 6f 04 	.long 0x46f011f
-    2a2c:	98 1f a8 1f 	mulli   r29,r8,8088
+    2a18:	04 7a 80 19 	.long 0x19807a04
+    2a1c:	9f 00 01 05 	.long 0x501009f
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2a30:	01 6e 04 a8 	lha     r0,28161(r4)
-    2a34:	1f ab 1f 01 	.long 0x11fab1f
-    2a38:	53 04 ac 1f 	mulli   r29,r12,1107
-    2a3c:	d0 1f 01 6e 	xoris   r1,r16,8144
-    2a40:	04 a4 22 b0 	sth     r1,-23548(r2)
-    2a44:	22 01 6f 00 	.long 0x6f0122
-    2a48:	02 00 00 01 	.long 0x1000002
-    2a4c:	01 00 00 00 	.long 0x1
+    2a20:	04 8c 27 98 	stb     r1,-29692(r7)
+    2a24:	27 01 6f 00 	.long 0x6f0127
+    2a28:	01 02 04 94 	stwu    r0,513(r4)
+    2a2c:	28 c0 28 01 	.long 0x128c028
+    2a30:	6c 00 01 02 	.long 0x201006c
+    2a34:	04 94 28 c0 	lfs     f1,-27644(r8)
+    2a38:	28 01 6d 00 	.long 0x6d0128
+    2a3c:	01 02 04 94 	stwu    r0,513(r4)
 		unsigned long *rmap = &memslot->arch.rmap[gfn];
-    2a50:	00 07 02 00 	.long 0x20700
-    2a54:	04 84 1e 94 	stwu    r0,-31740(r30)
-    2a58:	1e 02 30 9f 	stbu    r25,542(r16)
+    2a40:	28 c0 28 01 	.long 0x128c028
+    2a44:	6f 00 02 02 	.long 0x202006f
+    2a48:	04 bc 28 c0 	lfs     f1,-17404(r8)
 	return xchg(&head->first, NULL);
-    2a5c:	04 94 1e bc 	stmw    r0,-27644(r30)
-    2a60:	1e 01 6e 04 	.long 0x46e011e
-    2a64:	bc 1e c0 1e 	mulli   r22,r0,7868
-    2a68:	01 6f 04 c0 	lfs     f0,28417(r4)
-    2a6c:	1e c8 1e 01 	.long 0x11ec81e
+    2a4c:	28 02 30 9f 	stbu    r25,552(r16)
+	...
+    2a58:	00 04 a8 1d 	mulli   r13,r8,1024
+    2a5c:	8b 1e 01 53 	rlwimi. r1,r24,3,26,5
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2a70:	6e 04 d4 1e 	mulli   r22,r20,1134
-    2a74:	d0 1f 01 6e 	xoris   r1,r16,8144
-    2a78:	04 a4 22 b0 	sth     r1,-23548(r2)
-    2a7c:	22 01 6e 00 	.long 0x6e0122
-    2a80:	06 00 00 00 	.long 0x6
-    2a84:	00 00 00 00 	.long 0x0
-    2a88:	00 02 00 00 	attn
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2a8c:	04 d0 1f f0 	xsaddsp vs0,vs63,vs26
+    2a60:	04 8b 1e 88 	lbz     r0,-29948(r30)
+    2a64:	22 01 6b 04 	.long 0x46b0122
+    2a68:	88 22 a0 22 	subfic  r21,r0,8840
+    2a6c:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    2a70:	9f 04 a0 22 	subfic  r21,r0,1183
+    2a74:	bc 22 01 6b 	xori    r1,r24,8892
+	...
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2a90:	1f 02 30 9f 	stbu    r25,543(r16)
+    2a80:	0b 0b 00 00 	.long 0xb0b
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2a94:	04 fc 1f 80 	lwz     r0,-1020(r31)
+    2a84:	00 01 07 02 	.long 0x2070100
 	unsigned int shift, lpid;
-    2a98:	20 06 79 00 	.long 0x790620
-    2a9c:	8d 00 1c 9f 	stbu    r24,141(r28)
+    2a88:	00 04 94 1e 	mulli   r20,r20,1024
+    2a8c:	9c 1e 01 53 	rlwimi  r1,r24,3,26,14
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2aa0:	04 80 20 b8 	lmw     r1,-32764(0)
-    2aa4:	21 01 6d 04 	.long 0x46d0121
-    2aa8:	bc 21 a0 22 	subfic  r21,r0,8636
+    2a90:	04 9c 1e c8 	lfd     f0,-25596(r30)
+    2a94:	1e 01 6f 04 	.long 0x46f011e
+    2a98:	dc 1e e8 1e 	mulli   r23,r8,7900
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2aac:	02 30 9f 04 	.long 0x49f3002
+    2a9c:	01 53 04 e8 	ldu     r0,21248(r4)
 	if (!gp)
-    2ab0:	a0 22 a4 22 	subfic  r21,r4,8864
-    2ab4:	01 6d 04 b0 	sth     r0,27905(r4)
+    2aa0:	1e 98 1f 01 	.long 0x11f981e
+    2aa4:	6f 04 98 1f 	mulli   r28,r24,1135
 		kfree(cursor);
-    2ab8:	22 bc 22 02 	.long 0x222bc22
-    2abc:	30 9f 00 04 	.long 0x4009f30
-    2ac0:	00 00 02 00 	.long 0x20000
+    2aa8:	a8 1f 01 6e 	xoris   r1,r16,8104
+    2aac:	04 a8 1f ab 	lha     r24,-22524(r31)
+    2ab0:	1f 01 53 04 	.long 0x453011f
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2ac4:	00 04 d0 1f 	mulli   r30,r16,1024
-    2ac8:	80 22 01 69 	xori    r1,r8,8832
-    2acc:	04 a0 22 a4 	lhzu    r1,-24572(r2)
-    2ad0:	22 01 69 04 	.long 0x4690122
-    2ad4:	b0 22 bc 22 	subfic  r21,r28,8880
+    2ab4:	ac 1f d0 1f 	mulli   r30,r16,8108
+    2ab8:	01 6e 04 a4 	lhzu    r0,28161(r4)
+    2abc:	22 b0 22 01 	.long 0x122b022
+    2ac0:	6f 00 02 00 	.long 0x2006f
+    2ac4:	00 01 01 00 	.long 0x10100
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2ad8:	01 69 00 06 	.long 0x6006901
+    2ac8:	00 00 00 07 	.long 0x7000000
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2adc:	07 07 00 00 	.long 0x707
+    2acc:	02 00 04 84 	lwzu    r0,2(r4)
 	unsigned int shift, lpid;
-    2ae0:	02 00 00 04 	.long 0x4000002
+    2ad0:	1e 94 1e 02 	.long 0x21e941e
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2ae4:	d0 1f d0 1f 	mulli   r30,r16,8144
-    2ae8:	02 30 9f 04 	.long 0x49f3002
-    2aec:	d0 1f 84 22 	subfic  r20,r4,8144
+    2ad4:	30 9f 04 94 	stwu    r0,-24784(r4)
+    2ad8:	1e bc 1e 01 	.long 0x11ebc1e
+    2adc:	6e 04 bc 1e 	mulli   r21,r28,1134
 	if (!gp)
-    2af0:	01 6a 04 a0 	lhz     r0,27137(r4)
-    2af4:	22 a4 22 01 	.long 0x122a422
+    2ae0:	c0 1e 01 6f 	xoris   r1,r24,7872
+    2ae4:	04 c0 1e c8 	lfd     f0,-16380(r30)
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2af8:	6a 04 b0 22 	subfic  r21,r16,1130
-    2afc:	bc 22 01 6a 	xori    r1,r16,8892
+    2ae8:	1e 01 6e 04 	.long 0x46e011e
+    2aec:	d4 1e d0 1f 	mulli   r30,r16,7892
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2b00:	00 00 00 04 	.long 0x4000000
-    2b04:	e8 1f f0 1f 	mulli   r31,r16,8168
-    2b08:	01 59 00 01 	.long 0x1005901
-    2b0c:	00 04 f0 1f 	mulli   r31,r16,1024
+    2af0:	01 6e 04 a4 	lhzu    r0,28161(r4)
+    2af4:	22 b0 22 01 	.long 0x122b022
+    2af8:	6e 00 06 00 	.long 0x6006e
+    2afc:	00 00 00 00 	.long 0x0
 	if (!gp)
-    2b10:	88 20 01 59 	rlmi    r1,r8,r4,2,4
-    2b14:	00 03 06 04 	.long 0x4060300
+    2b00:	00 00 00 02 	.long 0x2000000
+    2b04:	00 00 04 d0 	stfs    f0,0(r4)
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2b18:	f0 1f f4 1f 	mulli   r31,r20,8176
+    2b08:	1f f0 1f 02 	.long 0x21ff01f
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    2b1c:	01 6b 00 05 	.long 0x5006b01
-    2b20:	06 04 f0 1f 	mulli   r31,r16,1030
-    2b24:	f4 1f 02 30 	addic   r0,r2,8180
+    2b0c:	30 9f 04 fc 	.long 0xfc049f30
+    2b10:	1f 80 20 06 	.long 0x620801f
+    2b14:	79 00 8d 00 	.long 0x8d0079
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2b28:	9f 00 05 06 	.long 0x605009f
+    2b18:	1c 9f 04 80 	lwz     r0,-24804(r4)
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    2b2c:	04 f0 1f f4 	psq_stu f0,4(r31),1,7
-    2b30:	1f 01 6b 00 	.long 0x6b011f
-    2b34:	08 00 00 02 	.long 0x2000008
+    2b1c:	20 b8 21 01 	.long 0x121b820
+    2b20:	6d 04 bc 21 	subfic  r13,r28,1133
+    2b24:	a0 22 02 30 	addic   r0,r2,8864
 	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa))
-    2b38:	04 f0 1f b8 	lm      r0,-4092(r31)
-    2b3c:	21 02 30 9f 	stbu    r25,545(r16)
-    2b40:	04 a0 22 a4 	lhzu    r1,-24572(r2)
+    2b28:	9f 04 a0 22 	subfic  r21,r0,1183
+    2b2c:	a4 22 01 6d 	xoris   r1,r8,8868
+    2b30:	04 b0 22 bc 	stmw    r1,-20476(r2)
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
-    2b44:	22 02 30 9f 	stbu    r25,546(r16)
+    2b34:	22 02 30 9f 	stbu    r25,546(r16)
 	if (pte_hw_valid(pte))
-    2b48:	00 09 00 00 	.long 0x900
-    2b4c:	02 04 f0 1f 	mulli   r31,r16,1026
+    2b38:	00 04 00 00 	.long 0x400
+    2b3c:	02 00 00 04 	.long 0x4000002
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-    2b50:	b8 21 02 31 	addic   r8,r2,8632
-    2b54:	9f 04 a0 22 	subfic  r21,r0,1183
-    2b58:	a4 22 02 31 	addic   r8,r2,8868
-    2b5c:	9f 00 00 00 	.long 0x9f
-    2b60:	00 02 04 f4 	psq_stu f0,512(r4),0,0
-    2b64:	1f 98 20 01 	.long 0x120981f
-    2b68:	5a 04 a0 22 	subfic  r21,r0,1114
-    2b6c:	a4 22 01 5a 	rlmi    r1,r16,r4,10,18
-    2b70:	00 09 06 04 	.long 0x4060900
-    2b74:	d0 1f d8 1f 	mulli   r30,r24,8144
-    2b78:	01 6b 00 0b 	tdnei   r0,27393
-    2b7c:	06 04 d0 1f 	mulli   r30,r16,1030
-    2b80:	d8 1f 02 30 	addic   r0,r2,8152
-    2b84:	9f 00 0b 06 	.long 0x60b009f
-    2b88:	04 d0 1f d8 	stfd    f0,-12284(r31)
+    2b40:	d0 1f 80 22 	subfic  r20,r0,8144
+    2b44:	01 69 04 a0 	lhz     r0,26881(r4)
+    2b48:	22 a4 22 01 	.long 0x122a422
+    2b4c:	69 04 b0 22 	subfic  r21,r16,1129
+    2b50:	bc 22 01 69 	xori    r1,r8,8892
+    2b54:	00 06 07 07 	.long 0x7070600
+    2b58:	00 00 02 00 	.long 0x20000
+    2b5c:	00 04 d0 1f 	mulli   r30,r16,1024
+    2b60:	d0 1f 02 30 	addic   r0,r2,8144
+    2b64:	9f 04 d0 1f 	mulli   r30,r16,1183
+    2b68:	84 22 01 6a 	xori    r1,r16,8836
+    2b6c:	04 a0 22 a4 	lhzu    r1,-24572(r2)
+    2b70:	22 01 6a 04 	.long 0x46a0122
+    2b74:	b0 22 bc 22 	subfic  r21,r28,8880
+    2b78:	01 6a 00 00 	.long 0x6a01
 		kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid);
-    2b8c:	1f 01 6b 00 	.long 0x6b011f
-    2b90:	0e 02 00 00 	.long 0x20e
-    2b94:	04 d0 1f a4 	lhzu    r0,-12284(r31)
-    2b98:	22 02 30 9f 	stbu    r25,546(r16)
-    2b9c:	04 b0 22 bc 	stmw    r1,-20476(r2)
-    2ba0:	22 02 30 9f 	stbu    r25,546(r16)
-    2ba4:	00 0f 02 00 	.long 0x20f00
-    2ba8:	00 04 d0 1f 	mulli   r30,r16,1024
-    2bac:	a4 22 02 31 	addic   r8,r2,8868
+    2b7c:	00 04 e8 1f 	mulli   r31,r8,1024
+    2b80:	f0 1f 01 59 	rlmi    r1,r8,r3,31,24
+    2b84:	00 01 00 04 	.long 0x4000100
+    2b88:	f0 1f 88 20 	subfic  r4,r8,8176
+    2b8c:	01 59 00 03 	.long 0x3005901
+    2b90:	06 04 f0 1f 	mulli   r31,r16,1030
+    2b94:	f4 1f 01 6b 	xori    r1,r24,8180
+    2b98:	00 05 06 04 	.long 0x4060500
+    2b9c:	f0 1f f4 1f 	mulli   r31,r20,8176
 		kfree(cursor);
-    2bb0:	9f 04 b0 22 	subfic  r21,r16,1183
-    2bb4:	bc 22 02 31 	addic   r8,r2,8892
+    2ba0:	02 30 9f 00 	.long 0x9f3002
+    2ba4:	05 06 04 f0 	xvmaxsp vs32,vs36,vs0
 	for (; gfn < end_gfn; gfn++) {
-    2bb8:	9f 00 00 00 	.long 0x9f
-    2bbc:	04 d8 1f f0 	xsaddsp vs0,vs63,vs27
-    2bc0:	1f 01 5a 00 	.long 0x5a011f
-    2bc4:	02 00 00 02 	.long 0x2000002
-    2bc8:	04 84 20 98 	stb     r1,-31740(0)
-    2bcc:	20 0a 8d b8 	lm      r4,2592(r13)
-    2bd0:	01 06 30 29 	cmpldi  cr2,r16,1537
-    2bd4:	08 ff 1a 9f 	stbu    r24,-248(r26)
-    2bd8:	04 a0 22 a4 	lhzu    r1,-24572(r2)
-    2bdc:	22 08 79 00 	.long 0x790822
-    2be0:	30 29 08 ff 	.long 0xff082930
-    2be4:	1a 9f 00 00 	.long 0x9f1a
-    2be8:	00 04 b0 21 	subfic  r13,r16,1024
-    2bec:	b8 21 01 59 	rlmi    r1,r8,r4,6,28
-    2bf0:	00 03 06 04 	.long 0x4060300
-    2bf4:	a0 21 a4 21 	subfic  r13,r4,8608
-    2bf8:	01 6b 00 05 	.long 0x5006b01
-    2bfc:	06 04 a0 21 	subfic  r13,r0,1030
-    2c00:	a4 21 02 30 	addic   r0,r2,8612
-}
-    2c04:	9f 00 05 06 	.long 0x605009f
-    2c08:	04 a0 21 a4 	.long 0xa421a004
-    2c0c:	21 01 6b 00 	.long 0x6b0121
-    2c10:	08 00 04 a0 	lhz     r0,8(r4)
-    2c14:	21 b8 21 02 	.long 0x221b821
-    2c18:	30 9f 00 09 	tdgti   r0,-24784
-    2c1c:	00 04 a0 21 	subfic  r13,r0,1024
-    2c20:	b8 21 02 31 	addic   r8,r2,8632
-    2c24:	9f 00 00 00 	.long 0x9f
-    2c28:	04 a4 21 a8 	lha     r1,-23548(r1)
-    2c2c:	21 01 59 00 	.long 0x590121
-    2c30:	00 00 04 98 	stb     r0,0(r4)
-    2c34:	20 a0 21 01 	.long 0x121a020
-    2c38:	6e 00 00 00 	.long 0x6e
-    2c3c:	04 f8 20 88 	lbz     r1,-2044(0)
-    2c40:	21 02 73 08 	tdi     3,r19,545
-    2c44:	00 01 00 00 	.long 0x100
-    2c48:	00 04 bc 20 	subfic  r5,r28,1024
-    2c4c:	c8 20 0a 8e 	lbzu    r16,8392(r10)
-    2c50:	00 33 24 8d 	lbzu    r9,13056(r4)
-    2c54:	c8 01 06 22 	subfic  r16,r6,456
-    2c58:	9f 04 c8 20 	subfic  r6,r8,1183
-    2c5c:	e4 20 01 59 	rlmi    r1,r8,r4,3,18
-    2c60:	00 00 02 04 	.long 0x4020000
-    2c64:	00 01 00 04 	.long 0x4000100
-    2c68:	98 20 ac 20 	subfic  r5,r12,8344
-    2c6c:	02 30 9f 04 	.long 0x49f3002
-    2c70:	dc 20 8f 21 	subfic  r12,r15,8412
-    2c74:	01 53 04 90 	stw     r0,21249(r4)
-    2c78:	21 a0 21 01 	.long 0x121a021
-    2c7c:	6f 00 00 02 	.long 0x200006f
-    2c80:	02 00 00 00 	.long 0x2
-    2c84:	04 98 20 ac 	.long 0xac209804
-{
-    2c88:	20 02 30 9f 	stbu    r25,544(r16)
-    2c8c:	04 dc 20 88 	lbz     r1,-9212(0)
-    2c90:	21 01 53 04 	.long 0x4530121
-    2c94:	88 21 a0 21 	subfic  r13,r0,8584
-    2c98:	01 6f 00 04 	.long 0x4006f01
-    2c9c:	00 00 02 04 	.long 0x4020000
-    2ca0:	bc 20 c8 20 	subfic  r6,r8,8380
-    2ca4:	0a 8e 00 33 	addic   r24,r0,-29174
-    2ca8:	24 8d c8 01 	.long 0x1c88d24
+    2ba8:	1f f4 1f 01 	.long 0x11ff41f
+    2bac:	6b 00 08 00 	.long 0x8006b
+    2bb0:	00 02 04 f0 	xvaddsp vs0,vs4,vs0
+    2bb4:	1f b8 21 02 	.long 0x221b81f
+    2bb8:	30 9f 04 a0 	lhz     r0,-24784(r4)
+    2bbc:	22 a4 22 02 	.long 0x222a422
+    2bc0:	30 9f 00 09 	tdgti   r0,-24784
+    2bc4:	00 00 02 04 	.long 0x4020000
+    2bc8:	f0 1f b8 21 	subfic  r13,r24,8176
+    2bcc:	02 31 9f 04 	.long 0x49f3102
+    2bd0:	a0 22 a4 22 	subfic  r21,r4,8864
+    2bd4:	02 31 9f 00 	.long 0x9f3102
+    2bd8:	00 00 00 02 	.long 0x2000000
+    2bdc:	04 f4 1f 98 	stb     r0,-3068(r31)
+    2be0:	20 01 5a 04 	.long 0x45a0120
+    2be4:	a0 22 a4 22 	subfic  r21,r4,8864
+    2be8:	01 5a 00 09 	tdgti   r0,23041
+    2bec:	06 04 d0 1f 	mulli   r30,r16,1030
+    2bf0:	d8 1f 01 6b 	xori    r1,r24,8152
+}
+    2bf4:	00 0b 06 04 	.long 0x4060b00
+    2bf8:	d0 1f d8 1f 	mulli   r30,r24,8144
+    2bfc:	02 30 9f 00 	.long 0x9f3002
+    2c00:	0b 06 04 d0 	stfs    f0,1547(r4)
+    2c04:	1f d8 1f 01 	.long 0x11fd81f
+    2c08:	6b 00 0e 02 	.long 0x20e006b
+    2c0c:	00 00 04 d0 	stfs    f0,0(r4)
+    2c10:	1f a4 22 02 	.long 0x222a41f
+    2c14:	30 9f 04 b0 	sth     r0,-24784(r4)
+    2c18:	22 bc 22 02 	.long 0x222bc22
+    2c1c:	30 9f 00 0f 	twnei   r0,-24784
+    2c20:	02 00 00 04 	.long 0x4000002
+    2c24:	d0 1f a4 22 	subfic  r21,r4,8144
+    2c28:	02 31 9f 04 	.long 0x49f3102
+    2c2c:	b0 22 bc 22 	subfic  r21,r28,8880
+    2c30:	02 31 9f 00 	.long 0x9f3102
+    2c34:	00 00 04 d8 	stfd    f0,0(r4)
+    2c38:	1f f0 1f 01 	.long 0x11ff01f
+    2c3c:	5a 00 02 00 	.long 0x2005a
+    2c40:	00 02 04 84 	lwzu    r0,512(r4)
+    2c44:	20 98 20 0a 	tdi     17,r0,-26592
+    2c48:	8d b8 01 06 	.long 0x601b88d
+    2c4c:	30 29 08 ff 	.long 0xff082930
+    2c50:	1a 9f 04 a0 	lhz     r0,-24806(r4)
+    2c54:	22 a4 22 08 	tdlgti  r2,-23518
+    2c58:	79 00 30 29 	cmpldi  cr2,r16,121
+    2c5c:	08 ff 1a 9f 	stbu    r24,-248(r26)
+    2c60:	00 00 00 04 	.long 0x4000000
+    2c64:	b0 21 b8 21 	subfic  r13,r24,8624
+    2c68:	01 59 00 03 	.long 0x3005901
+    2c6c:	06 04 a0 21 	subfic  r13,r0,1030
+    2c70:	a4 21 01 6b 	xori    r1,r24,8612
+    2c74:	00 05 06 04 	.long 0x4060500
+{
+    2c78:	a0 21 a4 21 	subfic  r13,r4,8608
+    2c7c:	02 30 9f 00 	.long 0x9f3002
+    2c80:	05 06 04 a0 	lhz     r0,1541(r4)
+    2c84:	21 a4 21 01 	.long 0x121a421
+    2c88:	6b 00 08 00 	.long 0x8006b
+    2c8c:	04 a0 21 b8 	lm      r1,-24572(r1)
+    2c90:	21 02 30 9f 	stbu    r25,545(r16)
+    2c94:	00 09 00 04 	.long 0x4000900
+    2c98:	a0 21 b8 21 	subfic  r13,r24,8608
 	ret = kvmhv_emulate_priv_tlbie(vcpu, kvmppc_get_gpr(vcpu, 4),
-    2cac:	06 22 9f 04 	.long 0x49f2206
-    2cb0:	c8 20 dc 20 	subfic  r6,r28,8392
+    2c9c:	02 31 9f 00 	.long 0x9f3102
+    2ca0:	00 00 04 a4 	lhzu    r0,0(r4)
 	struct kvm *kvm = vcpu->kvm;
-    2cb4:	01 59 00 00 	.long 0x5901
+    2ca4:	21 a8 21 01 	.long 0x121a821
 	return r_val & 0xffffffff;
-    2cb8:	02 04 c8 20 	subfic  r6,r8,1026
+    2ca8:	59 00 00 00 	.long 0x59
 	if ((!r) || (prs) || (ric == 3) || (is == 1) ||
-    2cbc:	dc 20 01 59 	rlmi    r1,r8,r4,3,14
-    2cc0:	00 01 00 04 	.long 0x4000100
-    2cc4:	d8 20 e4 20 	subfic  r7,r4,8408
-    2cc8:	01 53 00 00 	.long 0x5301
-    2ccc:	00 03 00 04 	.long 0x4000300
-    2cd0:	98 20 bc 20 	subfic  r5,r28,8344
-    2cd4:	02 30 9f 04 	.long 0x49f3002
-    2cd8:	cc 20 a0 21 	subfic  r13,r0,8396
-    2cdc:	02 30 9f 00 	.long 0x9f3002
-    2ce0:	04 01 04 cc 	lfdu    f0,260(r4)
-    2ce4:	20 d8 20 02 	.long 0x220d820
-    2ce8:	38 9f 00 04 	.long 0x4009f38
-    2cec:	01 04 cc 20 	subfic  r6,r12,1025
-    2cf0:	d8 20 02 30 	addic   r0,r2,8408
+    2cac:	04 98 20 a0 	lhz     r1,-26620(0)
+    2cb0:	21 01 6e 00 	.long 0x6e0121
+    2cb4:	00 00 04 f8 	std     r0,0(r4)
+    2cb8:	20 88 21 02 	.long 0x2218820
+    2cbc:	73 08 00 01 	.long 0x1000873
+    2cc0:	00 00 00 04 	.long 0x4000000
+    2cc4:	bc 20 c8 20 	subfic  r6,r8,8380
+    2cc8:	0a 8e 00 33 	addic   r24,r0,-29174
+    2ccc:	24 8d c8 01 	.long 0x1c88d24
+    2cd0:	06 22 9f 04 	.long 0x49f2206
+    2cd4:	c8 20 e4 20 	subfic  r7,r4,8392
+    2cd8:	01 59 00 00 	.long 0x5901
+    2cdc:	02 04 00 01 	.long 0x1000402
+    2ce0:	00 04 98 20 	subfic  r4,r24,1024
 	    ((!is) && (ric == 1 || ric == 2)))
-    2cf4:	9f 00 04 01 	.long 0x104009f
-    2cf8:	04 cc 20 d8 	stfd    f1,-13308(0)
-    2cfc:	20 01 59 00 	.long 0x590120
+    2ce4:	ac 20 02 30 	addic   r0,r2,8364
+    2ce8:	9f 04 dc 20 	subfic  r6,r28,1183
+    2cec:	8f 21 01 53 	rlwimi. r1,r24,4,6,7
 		ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, epn);
-    2d00:	07 01 04 cc 	lfdu    f0,263(r4)
-    2d04:	20 d8 20 02 	.long 0x220d820
-    2d08:	30 9f 00 07 	.long 0x7009f30
-    2d0c:	01 04 cc 20 	subfic  r6,r12,1025
-    2d10:	d8 20 01 59 	rlmi    r1,r8,r4,3,12
-    2d14:	00 00 01 04 	.long 0x4010000
+    2cf0:	04 90 21 a0 	lhz     r1,-28668(r1)
+    2cf4:	21 01 6f 00 	.long 0x6f0121
+    2cf8:	00 02 02 00 	attn
+    2cfc:	00 00 04 98 	stb     r0,0(r4)
+    2d00:	20 ac 20 02 	.long 0x220ac20
+    2d04:	30 9f 04 dc 	stfdu   f0,-24784(r4)
 	if (ret)
-    2d18:	d8 20 d8 20 	subfic  r6,r24,8408
-    2d1c:	01 53 00 05 	.long 0x5005301
-    2d20:	00 00 00 04 	.long 0x4000000
-    2d24:	84 1e 8b 1e 	mulli   r20,r11,7812
+    2d08:	20 88 21 01 	.long 0x1218820
+    2d0c:	53 04 88 21 	subfic  r12,r8,1107
+    2d10:	a0 21 01 6f 	xoris   r1,r24,8608
+    2d14:	00 04 00 00 	.long 0x400
 	return H_SUCCESS;
-    2d28:	01 53 04 8b 	lbz     r24,21249(r4)
-    2d2c:	1e 8c 1e 01 	.long 0x11e8c1e
+    2d18:	02 04 bc 20 	subfic  r5,r28,1026
+    2d1c:	c8 20 0a 8e 	lbzu    r16,8392(r10)
 }
-    2d30:	6b 00 01 00 	.long 0x1006b
-    2d34:	04 94 1e a3 	lhz     r24,-27644(r30)
-    2d38:	1e 03 91 b4 	sthu    r4,798(r17)
-    2d3c:	7f 00 01 09 	tdgti   r1,127
-    2d40:	02 00 04 f0 	xsaddsp vs0,vs4,vs32
-    2d44:	1e 98 1f 01 	.long 0x11f981e
-    2d48:	6b 04 a4 22 	subfic  r21,r4,1131
-    2d4c:	b0 22 01 6b 	xori    r1,r24,8880
+    2d20:	00 33 24 8d 	lbzu    r9,13056(r4)
+    2d24:	c8 01 06 22 	subfic  r16,r6,456
+    2d28:	9f 04 c8 20 	subfic  r6,r8,1183
+    2d2c:	dc 20 01 59 	rlmi    r1,r8,r4,3,14
+    2d30:	00 00 02 04 	.long 0x4020000
+    2d34:	c8 20 dc 20 	subfic  r6,r28,8392
+    2d38:	01 59 00 01 	.long 0x1005901
+    2d3c:	00 04 d8 20 	subfic  r6,r24,1024
 	switch (is) {
-    2d50:	00 03 09 02 	.long 0x2090300
-    2d54:	00 04 f0 1e 	mulli   r23,r16,1024
-    2d58:	98 1f 01 6b 	xori    r1,r24,8088
-    2d5c:	04 a4 22 b0 	sth     r1,-23548(r2)
-    2d60:	22 01 6b 00 	.long 0x6b0122
-    2d64:	08 07 02 00 	.long 0x20708
-    2d68:	04 f0 1e 98 	stb     r0,-4092(r30)
-    2d6c:	1f 01 6b 04 	.long 0x46b011f
-    2d70:	a4 22 b0 22 	subfic  r21,r16,8868
+    2d40:	e4 20 01 53 	rlwimi  r1,r24,4,3,18
+    2d44:	00 00 00 03 	.long 0x3000000
+    2d48:	00 04 98 20 	subfic  r4,r24,1024
+    2d4c:	bc 20 02 30 	addic   r0,r2,8380
+    2d50:	9f 04 cc 20 	subfic  r6,r12,1183
+    2d54:	a0 21 02 30 	addic   r0,r2,8608
+    2d58:	9f 00 04 01 	.long 0x104009f
+    2d5c:	04 cc 20 d8 	stfd    f1,-13308(0)
+    2d60:	20 02 38 9f 	stbu    r25,544(r24)
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    2d74:	01 6b 00 00 	.long 0x6b01
+    2d64:	00 04 01 04 	.long 0x4010400
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-    2d78:	00 00 00 02 	.long 0x2000000
-    2d7c:	00 04 f8 1e 	mulli   r23,r24,1024
+    2d68:	cc 20 d8 20 	subfic  r6,r24,8396
+    2d6c:	02 30 9f 00 	.long 0x9f3002
 	int lpid;
-    2d80:	94 1f 04 79 	.long 0x79041f94
-    2d84:	80 19 9f 04 	.long 0x49f1980
-    2d88:	94 1f a0 1f 	mulli   r29,r0,8084
+    2d70:	04 01 04 cc 	lfdu    f0,260(r4)
+    2d74:	20 d8 20 01 	.long 0x120d820
+    2d78:	59 00 07 01 	.long 0x1070059
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-    2d8c:	04 7d 80 19 	.long 0x19807d04
-    2d90:	9f 04 a4 22 	subfic  r21,r4,1183
-    2d94:	b0 22 04 79 	rldcl   r4,r8,r4,42
-    2d98:	80 19 9f 00 	.long 0x9f1980
-    2d9c:	01 05 04 8c 	lbzu    r0,1281(r4)
+    2d7c:	04 cc 20 d8 	stfd    f1,-13308(0)
+    2d80:	20 02 30 9f 	stbu    r25,544(r16)
+    2d84:	00 07 01 04 	.long 0x4010700
+    2d88:	cc 20 d8 20 	subfic  r6,r24,8396
+    2d8c:	01 59 00 00 	.long 0x5901
 	if (unlikely(ms->mmiowb_pending)) {
-    2da0:	1f 98 1f 01 	.long 0x11f981f
-    2da4:	6b 00 00 04 	.long 0x400006b
+    2d90:	01 04 d8 20 	subfic  r6,r24,1025
+    2d94:	d8 20 01 53 	rlwimi  r1,r24,4,3,12
 	ms->nesting_count--;
-    2da8:	04 b8 1f d0 	stfs    f0,-18428(r31)
-    2dac:	1f 01 68 00 	.long 0x68011f
-    2db0:	00 04 04 d0 	stfs    f0,1024(r4)
-    2db4:	1f d0 1f 01 	.long 0x11fd01f
-    2db8:	69 00 01 00 	.long 0x10069
+    2d98:	00 05 00 00 	.long 0x500
+    2d9c:	00 04 84 1e 	mulli   r20,r4,1024
+    2da0:	8b 1e 01 53 	rlwimi. r1,r24,3,26,5
+    2da4:	04 8b 1e 8c 	lbzu    r0,-29948(r30)
+    2da8:	1e 01 6b 00 	.long 0x6b011e
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    2dbc:	00 02 04 c4 	lfsu    f0,512(r4)
-    2dc0:	21 dc 21 01 	.long 0x121dc21
-    2dc4:	69 04 b0 22 	subfic  r21,r16,1129
-    2dc8:	b4 22 01 69 	xori    r1,r8,8884
-    2dcc:	00 01 00 00 	.long 0x100
-    2dd0:	02 04 c4 21 	subfic  r14,r4,1026
+    2dac:	01 00 04 94 	stwu    r0,1(r4)
+    2db0:	1e a3 1e 03 	.long 0x31ea31e
+    2db4:	91 b4 7f 00 	.long 0x7fb491
+    2db8:	01 09 02 00 	.long 0x20901
+    2dbc:	04 f0 1e 98 	stb     r0,-4092(r30)
+    2dc0:	1f 01 6b 04 	.long 0x46b011f
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-    2dd4:	dc 21 01 68 	xori    r1,r0,8668
-    2dd8:	04 b0 22 b4 	sthu    r1,-20476(r2)
-    2ddc:	22 01 68 00 	.long 0x680122
-    2de0:	04 00 00 00 	.long 0x4
-    2de4:	04 c4 21 80 	lwz     r1,-15356(r1)
-    2de8:	22 0e 89 00 	.long 0x890e22
-    2dec:	0c ff ff ff 	.long 0xffffff0c
-    2df0:	ff 1a 31 2b 	cmpldi  cr6,r17,6911
+    2dc4:	a4 22 b0 22 	subfic  r21,r16,8868
+    2dc8:	01 6b 00 03 	.long 0x3006b01
+    2dcc:	09 02 00 04 	.long 0x4000209
+    2dd0:	f0 1e 98 1f 	mulli   r28,r24,7920
+    2dd4:	01 6b 04 a4 	lhzu    r0,27393(r4)
+    2dd8:	22 b0 22 01 	.long 0x122b022
+    2ddc:	6b 00 08 07 	.long 0x708006b
+    2de0:	02 00 04 f0 	xsaddsp vs0,vs4,vs32
 	if (unlikely(ms->mmiowb_pending)) {
-    2df4:	08 ff 1a 9f 	stbu    r24,-248(r26)
+    2de4:	1e 98 1f 01 	.long 0x11f981e
 	struct mmiowb_state *ms = __mmiowb_state();
-    2df8:	04 b0 22 bc 	stmw    r1,-20476(r2)
-    2dfc:	22 0e 89 00 	.long 0x890e22
+    2de8:	6b 04 a4 22 	subfic  r21,r4,1131
+    2dec:	b0 22 01 6b 	xori    r1,r24,8880
 	if (unlikely(ms->mmiowb_pending)) {
-    2e00:	0c ff ff ff 	.long 0xffffff0c
-    2e04:	ff 1a 31 2b 	cmpldi  cr6,r17,6911
+    2df0:	00 00 00 00 	.long 0x0
+    2df4:	00 02 00 04 	.long 0x4000200
 	ms->nesting_count--;
-    2e08:	08 ff 1a 9f 	stbu    r24,-248(r26)
-	...
-    2e14:	00 00 00 04 	.long 0x4000000
-    2e18:	d8 13 90 14 	.long 0x149013d8
-    2e1c:	01 53 04 90 	stw     r0,21249(r4)
+    2df8:	f8 1e 94 1f 	mulli   r28,r20,7928
+    2dfc:	04 79 80 19 	.long 0x19807904
+    2e00:	9f 04 94 1f 	mulli   r28,r20,1183
+    2e04:	a0 1f 04 7d 	.long 0x7d041fa0
+    2e08:	80 19 9f 04 	.long 0x49f1980
+    2e0c:	a4 22 b0 22 	subfic  r21,r16,8868
 	if (ret)
-    2e20:	14 e0 14 01 	.long 0x114e014
-    2e24:	6f 04 e0 14 	.long 0x14e0046f
-    2e28:	e8 14 04 a3 	lhz     r24,5352(r4)
-    2e2c:	01 53 9f 04 	.long 0x49f5301
+    2e10:	04 79 80 19 	.long 0x19807904
+    2e14:	9f 00 01 05 	.long 0x501009f
+    2e18:	04 8c 1f 98 	stb     r0,-29692(r31)
+    2e1c:	1f 01 6b 00 	.long 0x6b011f
 		gp = kvmhv_get_nested(kvm, lpid, false);
-    2e30:	e8 14 cc 15 	.long 0x15cc14e8
-    2e34:	01 6f 04 cc 	lfdu    f0,28417(r4)
-    2e38:	15 d4 15 04 	.long 0x415d415
-    2e3c:	a3 01 53 9f 	stbu    r26,419(r19)
+    2e20:	00 04 04 b8 	lm      r0,1024(r4)
+    2e24:	1f d0 1f 01 	.long 0x11fd01f
+    2e28:	68 00 00 04 	.long 0x4000068
+    2e2c:	04 d0 1f d0 	stfs    f0,-12284(r31)
 		if (gp) {
-    2e40:	00 00 00 04 	.long 0x4000000
-    2e44:	f4 13 f8 13 	.long 0x13f813f4
+    2e30:	1f 01 69 00 	.long 0x69011f
+    2e34:	01 00 00 02 	.long 0x2000001
 			kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    2e48:	02 73 00 00 	.long 0x7302
-    2e4c:	00 00 00 00 	.long 0x0
-    2e50:	00 00 04 9c 	stbu    r0,0(r4)
-    2e54:	14 ab 14 01 	.long 0x114ab14
+    2e38:	04 c4 21 dc 	stfdu   f1,-15356(r1)
+    2e3c:	21 01 69 04 	.long 0x4690121
+    2e40:	b0 22 b4 22 	subfic  r21,r20,8880
+    2e44:	01 69 00 01 	.long 0x1006901
 			kvmhv_put_nested(gp);
-    2e58:	53 04 e8 14 	.long 0x14e80453
-    2e5c:	90 15 01 53 	rlwimi  r1,r24,2,22,8
+    2e48:	00 00 02 04 	.long 0x4020000
+    2e4c:	c4 21 dc 21 	subfic  r14,r28,8644
 	if (ret)
-    2e60:	04 90 15 97 	stwu    r24,-28668(r21)
-    2e64:	15 02 8f 10 	mtvsrbmi v4,543
-    2e68:	00 04 02 00 	.long 0x20400
-    2e6c:	03 04 9c 14 	.long 0x149c0403
-    2e70:	a0 14 03 08 	tdi     0,r3,5280
-    2e74:	40 9f 04 e8 	ld      r0,-24768(r4)
-    2e78:	14 e8 14 03 	.long 0x314e814
-    2e7c:	08 40 9f 00 	.long 0x9f4008
+    2e50:	01 68 04 b0 	sth     r0,26625(r4)
+    2e54:	22 b4 22 01 	.long 0x122b422
+    2e58:	68 00 04 00 	.long 0x40068
+    2e5c:	00 00 04 c4 	lfsu    f0,0(r4)
+    2e60:	21 80 22 0e 	twi     17,r2,-32735
+    2e64:	89 00 0c ff 	.long 0xff0c0089
+    2e68:	ff ff ff 1a 	.long 0x1affffff
+    2e6c:	31 2b 08 ff 	.long 0xff082b31
 		ms->mmiowb_pending = 0;
-    2e80:	0d 02 00 03 	.long 0x300020d
-    2e84:	04 9c 14 a0 	lhz     r0,-25596(r20)
+    2e70:	1a 9f 04 b0 	sth     r0,-24806(r4)
+    2e74:	22 bc 22 0e 	twi     17,r2,-17374
 		mmiowb();
-    2e88:	14 02 36 9f 	stbu    r25,532(r22)
-    2e8c:	04 e8 14 e8 	ld      r0,-6140(r20)
-    2e90:	14 02 36 9f 	stbu    r25,532(r22)
+    2e78:	89 00 0c ff 	.long 0xff0c0089
+    2e7c:	ff ff ff 1a 	.long 0x1affffff
+    2e80:	31 2b 08 ff 	.long 0xff082b31
 		return H_PARAMETER;
-    2e94:	00 00 00 01 	.long 0x1000000
-    2e98:	00 04 a0 14 	.long 0x14a00400
-    2e9c:	ac 14 02 31 	addic   r8,r2,5292
+    2e84:	1a 9f 00 00 	.long 0x9f1a
+	...
 		ms->mmiowb_pending = 0;
-    2ea0:	9f 04 e8 14 	.long 0x14e8049f
+    2e90:	00 04 d8 13 	vsububm v30,v24,v0
 		mmiowb();
-    2ea4:	d4 15 02 30 	addic   r0,r2,5588
-    2ea8:	9f 00 11 00 	.long 0x11009f
-    2eac:	00 01 04 9c 	stbu    r0,256(r4)
-    2eb0:	14 a0 14 02 	.long 0x214a014
-    2eb4:	31 9f 04 e8 	ldu     r0,-24784(r4)
-    2eb8:	14 e8 14 02 	.long 0x214e814
-    2ebc:	31 9f 00 04 	.long 0x4009f31
-    2ec0:	00 04 a0 14 	.long 0x14a00400
-}
-    2ec4:	ab 14 01 53 	rlwimi. r1,r24,2,18,21
-    2ec8:	00 03 00 00 	.long 0x300
-    2ecc:	00 04 e8 14 	.long 0x14e80400
-    2ed0:	90 15 01 53 	rlwimi  r1,r24,2,22,8
-		return H_PARAMETER;
-    2ed4:	04 90 15 97 	stwu    r24,-28668(r21)
-    2ed8:	15 01 54 00 	.long 0x540115
-    2edc:	00 00 04 80 	lwz     r0,0(r4)
-    2ee0:	1d 8c 1d 04 	.long 0x41d8c1d
-    2ee4:	73 e0 18 9f 	stbu    r24,-8077(r24)
-{
-    2ee8:	00 03 00 04 	.long 0x4000300
-    2eec:	80 1d 8c 1d 	mulli   r12,r12,7552
-    2ef0:	02 30 9f 00 	.long 0x9f3002
-    2ef4:	03 00 04 80 	lwz     r0,3(r4)
-    2ef8:	1d 8c 1d 04 	.long 0x41d8c1d
-    2efc:	73 e0 18 9f 	stbu    r24,-8077(r24)
-    2f00:	00 05 0c 04 	.long 0x40c0500
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2f04:	80 1d 80 1d 	mulli   r12,r0,7552
-{
-    2f08:	06 0c 04 00 	.long 0x40c06
-    2f0c:	00 08 9f 00 	.long 0x9f0800
-    2f10:	05 0c 04 80 	lwz     r0,3077(r4)
-    2f14:	1d 80 1d 04 	.long 0x41d801d
-    2f18:	73 e0 18 9f 	stbu    r24,-8077(r24)
+    2e94:	90 14 01 53 	rlwimi  r1,r24,2,18,8
+    2e98:	04 90 14 e0 	lq      r0,-28672(r20)
+    2e9c:	14 01 6f 04 	.long 0x46f0114
+    2ea0:	e0 14 e8 14 	.long 0x14e814e0
+    2ea4:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    2ea8:	9f 04 e8 14 	.long 0x14e8049f
+    2eac:	cc 15 01 6f 	xoris   r1,r24,5580
+    2eb0:	04 cc 15 d4 	stfsu   f0,-13308(r21)
+}
+    2eb4:	15 04 a3 01 	.long 0x1a30415
+    2eb8:	53 9f 00 00 	.long 0x9f53
+    2ebc:	00 04 f4 13 	vsububm v31,v20,v0
+    2ec0:	f8 13 02 73 	andi.   r2,r24,5112
 	...
-    2f24:	00 00 00 04 	.long 0x4000000
+		return H_PARAMETER;
+    2ecc:	04 9c 14 ab 	lha     r24,-25596(r20)
+    2ed0:	14 01 53 04 	.long 0x4530114
+    2ed4:	e8 14 90 15 	.long 0x159014e8
+{
+    2ed8:	01 53 04 90 	stw     r0,21249(r4)
+    2edc:	15 97 15 02 	.long 0x2159715
+    2ee0:	8f 10 00 04 	.long 0x400108f
+    2ee4:	02 00 03 04 	.long 0x4030002
+    2ee8:	9c 14 a0 14 	.long 0x14a0149c
+    2eec:	03 08 40 9f 	.long 0x9f400803
+    2ef0:	04 e8 14 e8 	ld      r0,-6140(r20)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2ef4:	14 03 08 40 	bdnzf   4*cr2+lt,3208 <.debug_loclists+0x3208>
+{
+    2ef8:	9f 00 0d 02 	.long 0x20d009f
+    2efc:	00 03 04 9c 	stbu    r0,768(r4)
+    2f00:	14 a0 14 02 	.long 0x214a014
+    2f04:	36 9f 04 e8 	lwa     r0,-24780(r4)
+    2f08:	14 e8 14 02 	.long 0x214e814
+    2f0c:	36 9f 00 00 	.long 0x9f36
+    2f10:	00 01 00 04 	.long 0x4000100
+    2f14:	a0 14 ac 14 	.long 0x14ac14a0
 	if (!__find_nested(vcpu->kvm, lpid))
-    2f28:	d8 10 c0 11 	vextdubvlx v14,v0,v2,r3
+    2f18:	02 31 9f 04 	.long 0x49f3102
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2f2c:	01 53 04 c0 	lfs     f0,21249(r4)
+    2f1c:	e8 14 d4 15 	.long 0x15d414e8
 {
-    2f30:	11 9c 12 01 	.long 0x1129c11
-    2f34:	6f 04 9c 12 	vnmsubfp v20,v28,v17,v0
-    2f38:	a4 12 04 a3 	lhz     r24,4772(r4)
-    2f3c:	01 53 9f 04 	.long 0x49f5301
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2f40:	a4 12 c4 12 	vmsumubm v22,v4,v2,v10
-    2f44:	01 53 04 c4 	lfsu    f0,21249(r4)
-    2f48:	12 d0 13 01 	.long 0x113d012
-    2f4c:	6f 00 03 00 	.long 0x3006f
+    2f20:	02 30 9f 00 	.long 0x9f3002
+    2f24:	11 00 00 01 	.long 0x1000011
+    2f28:	04 9c 14 a0 	lhz     r0,-25596(r20)
+    2f2c:	14 02 31 9f 	stbu    r25,532(r17)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2f30:	04 e8 14 e8 	ld      r0,-6140(r20)
+    2f34:	14 02 31 9f 	stbu    r25,532(r17)
+    2f38:	00 04 00 04 	.long 0x4000400
+    2f3c:	a0 14 ab 14 	.long 0x14ab14a0
 	if (!__find_nested(vcpu->kvm, lpid))
-    2f50:	00 00 00 02 	.long 0x2000000
-    2f54:	04 a4 11 c0 	lfs     f0,-23548(r17)
+    2f40:	01 53 00 03 	.long 0x3005301
+    2f44:	00 00 00 04 	.long 0x4000000
 	if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL)
-    2f58:	11 03 09 f2 	xxsldwi vs48,vs9,vs0,3
-    2f5c:	9f 04 a4 12 	vextddvrx v21,v4,v0,r18
-    2f60:	fc 12 03 09 	tdgti   r3,4860
+    2f48:	e8 14 90 15 	.long 0x159014e8
+    2f4c:	01 53 04 90 	stw     r0,21249(r4)
+    2f50:	15 97 15 01 	.long 0x1159715
 	if (start == 0 && end == -1)
-    2f64:	f2 9f 04 fc 	.long 0xfc049ff2
-    2f68:	12 c4 13 01 	.long 0x113c412
-    2f6c:	6e 00 00 00 	.long 0x6e
-    2f70:	00 00 04 ac 	lhau    r0,0(r4)
+    2f54:	54 00 00 00 	.long 0x54
+    2f58:	04 80 1d 8c 	lbzu    r0,-32764(r29)
+    2f5c:	1d 04 73 e0 	psq_l   f3,1053(r19),0,0
+    2f60:	18 9f 00 03 	.long 0x3009f18
 	if (type & H_RPTI_TYPE_TLB)
-    2f74:	11 c0 11 19 	stxvp   vs8,-16368(r17)
-    2f78:	8d 00 10 80 	lwz     r0,141(r16)
+    2f64:	00 04 80 1d 	mulli   r12,r0,1024
+    2f68:	8c 1d 02 30 	addic   r0,r2,7564
 }
-    2f7c:	e0 ff ff ff 	.long 0xffffffe0
+    2f6c:	9f 00 03 00 	.long 0x3009f
 		return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL);
-    2f80:	ff ff ff 0f 	twui    r31,-1
+    2f70:	04 80 1d 8c 	lbzu    r0,-32764(r29)
 }
-    2f84:	1a 8e 00 34 	addic.  r0,r0,-29158
-    2f88:	24 08 20 24 	dozi    r1,r0,2084
-    2f8c:	08 20 26 22 	subfic  r17,r6,8200
-    2f90:	9f 04 a4 12 	vextddvrx v21,v4,v0,r18
-    2f94:	bc 12 19 8d 	lbzu    r8,4796(r25)
-    2f98:	00 10 80 e0 	lq      r4,4096(0)
-    2f9c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-    2fa0:	ff ff 0f 1a 	.long 0x1a0fffff
-    2fa4:	8e 00 34 24 	dozi    r1,r20,142
-    2fa8:	08 20 24 08 	tdlgti  r4,8200
-    2fac:	20 26 22 9f 	stbu    r25,9760(r2)
-    2fb0:	00 02 00 00 	attn
-	...
-    2fbc:	02 04 a4 11 	vavgub  v13,v4,v0
+    2f74:	1d 04 73 e0 	psq_l   f3,1053(r19),0,0
+    2f78:	18 9f 00 05 	.long 0x5009f18
+    2f7c:	0c 04 80 1d 	mulli   r12,r0,1036
+    2f80:	80 1d 06 0c 	twi     0,r6,7552
+    2f84:	04 00 00 08 	tdi     0,r0,4
+    2f88:	9f 00 05 0c 	twi     0,r5,159
+    2f8c:	04 80 1d 80 	lwz     r0,-32764(r29)
+    2f90:	1d 04 73 e0 	psq_l   f3,1053(r19),0,0
+    2f94:	18 9f 00 00 	.long 0x9f18
+	...
+    2fa0:	00 04 d8 10 	vsububm v6,v24,v0
+    2fa4:	c0 11 01 53 	rlwimi  r1,r24,2,7,0
+    2fa8:	04 c0 11 9c 	stbu    r0,-16380(r17)
+    2fac:	12 01 6f 04 	.long 0x46f0112
 	int ret = H_P4;
-    2fc0:	c0 11 01 6c 	xoris   r1,r0,4544
+    2fb0:	9c 12 a4 12 	vextduwvlx v21,v4,v2,r10
 		page_size = 1UL << def->shift;
-    2fc4:	04 a4 12 ec 	dsub    f0,f18,f20
-    2fc8:	12 01 6c 04 	.long 0x46c0112
-    2fcc:	ec 12 f3 12 	vsldoi  v23,v19,v2,11
+    2fb4:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    2fb8:	9f 04 a4 12 	vextddvrx v21,v4,v0,r18
+    2fbc:	c4 12 01 53 	rlwimi  r1,r24,2,11,2
 		nr_pages = (end - start) >> def->shift;
-    2fd0:	01 53 04 f3 	xvadddp vs56,vs4,vs10
-    2fd4:	12 9c 13 05 	.long 0x5139c12
-    2fd8:	8b d0 e5 7e 	.long 0x7ee5d08b
-    2fdc:	9f 04 a0 13 	vextddvrx v29,v0,v0,r18
-    2fe0:	a8 13 05 8b 	lbz     r24,5032(r5)
+    2fc0:	04 c4 12 d0 	stfs    f0,-15356(r18)
+    2fc4:	13 01 6f 00 	.long 0x6f0113
+    2fc8:	03 00 00 00 	.long 0x3
+    2fcc:	00 02 04 a4 	lhzu    r0,512(r4)
+    2fd0:	11 c0 11 03 	.long 0x311c011
 		if (!(pg_sizes & def->h_rpt_pgsize))
-    2fe4:	d0 e5 7e 9f 	stbu    r27,-6704(r30)
-    2fe8:	04 b8 13 c4 	lfsu    f0,-18428(r19)
-    2fec:	13 05 8b d0 	stfs    f4,1299(r11)
+    2fd4:	09 f2 9f 04 	.long 0x49ff209
+    2fd8:	a4 12 fc 12 	vmsumubm v23,v28,v2,v10
+    2fdc:	03 09 f2 9f 	stbu    r31,2307(r18)
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    2ff0:	e5 7e 9f 00 	.long 0x9f7ee5
-    2ff4:	04 02 04 ec 	dctdp   f0,f0
-    2ff8:	12 c4 13 01 	.long 0x113c412
+    2fe0:	04 fc 12 c4 	lfsu    f0,-1020(r18)
+    2fe4:	13 01 6e 00 	.long 0x6e0113
+    2fe8:	00 00 00 00 	.long 0x0
 	return ret;
-    2ffc:	6c 00 00 04 	.long 0x400006c
-    3000:	04 b8 12 ec 	dadd    f0,f18,f23
-    3004:	12 01 6b 00 	.long 0x6b0112
-    3008:	00 04 04 ec 	.long 0xec040400
-    300c:	12 ec 12 01 	.long 0x112ec12
+    2fec:	04 ac 11 c0 	lfs     f0,-21500(r17)
+    2ff0:	11 19 8d 00 	.long 0x8d1911
+    2ff4:	10 80 e0 ff 	fcpsgn  f31,f0,f16
+    2ff8:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+    2ffc:	ff 0f 1a 8e 	lbzu    r16,4095(r26)
 		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
-    3010:	6c 00 01 00 	.long 0x1006c
+    3000:	00 34 24 08 	tdlgti  r4,13312
 		nr_pages = (end - start) >> def->shift;
-    3014:	00 02 04 fc 	.long 0xfc040200
+    3004:	20 24 08 20 	subfic  r0,r8,9248
 		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
-    3018:	12 90 13 01 	.long 0x1139012
+    3008:	26 22 9f 04 	.long 0x49f2226
 		nr_pages = (end - start) >> def->shift;
-    301c:	6c 04 b8 13 	evmwhumia r29,r24,r0
+    300c:	a4 12 bc 12 	vmsumubm v21,v28,v2,v10
 		if (flush_lpid)
-    3020:	c4 13 01 6c 	xoris   r1,r0,5060
-    3024:	00 01 00 00 	.long 0x100
-    3028:	02 04 fc 12 	vavgub  v23,v28,v0
+    3010:	19 8d 00 10 	vextdubvrx v0,v0,v17,r20
+    3014:	80 e0 ff ff 	.long 0xffffe080
+    3018:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
 		page_size = 1UL << def->shift;
-    302c:	90 13 01 6b 	xori    r1,r24,5008
-    3030:	04 b8 13 c4 	lfsu    f0,-18428(r19)
-    3034:	13 01 6b 00 	.long 0x6b0113
-    3038:	04 02 04 fc 	dctqpq  f0,f0
-    303c:	12 c4 13 0e 	twlti   r19,-15342
-		} while (addr < end);
-    3040:	8c 00 0c ff 	.long 0xff0c008c
+    301c:	0f 1a 8e 00 	.long 0x8e1a0f
+    3020:	34 24 08 20 	subfic  r0,r8,9268
+    3024:	24 08 20 26 	dozi    r17,r0,2084
+    3028:	22 9f 00 02 	.long 0x2009f22
+	...
 			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
-    3044:	ff ff ff 1a 	.long 0x1affffff
-    3048:	31 2b 08 ff 	.long 0xff082b31
-    304c:	1a 9f 00 01 	.long 0x1009f1a
-    3050:	00 04 dc 11 	vsububm v14,v28,v0
+    3034:	00 00 02 04 	.long 0x4020000
+    3038:	a4 11 c0 11 	vmsumubm v14,v0,v2,v6
+    303c:	01 6c 04 a4 	lhzu    r0,27649(r4)
+    3040:	12 ec 12 01 	.long 0x112ec12
 			addr += page_size;
-    3054:	f0 11 01 6f 	xoris   r1,r24,4592
+    3044:	6c 04 ec 12 	evmwhumia r23,r12,r0
 			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
-    3058:	00 0c 00 04 	.long 0x4000c00
+    3048:	f3 12 01 53 	rlwimi. r1,r24,2,11,25
 		} while (addr < end);
-    305c:	dc 11 ef 11 	vextduwvlx v15,v15,v2,r7
+    304c:	04 f3 12 9c 	stbu    r0,-3324(r18)
 			if (ret)
-    3060:	1a 8f 10 06 	.long 0x6108f1a
-    3064:	10 ff ff ff 	.long 0xffffff10
+    3050:	13 05 8b d0 	stfs    f4,1299(r11)
+    3054:	e5 7e 9f 04 	.long 0x49f7ee5
 				return H_P4;
-    3068:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-    306c:	ff 0f 1a 11 	vsubecuq v8,v26,v1,v31
-    3070:	ad 81 80 80 	lwz     r4,-32339(0)
-    3074:	80 80 80 80 	lwz     r4,-32640(0)
-    3078:	40 21 9f 00 	.long 0x9f2140
-    307c:	06 00 02 00 	.long 0x20006
-    3080:	04 dc 11 a4 	lhzu    r0,-9212(r17)
-}
-    3084:	12 02 30 9f 	stbu    r25,530(r16)
-    3088:	04 c4 13 d0 	stfs    f0,-15356(r19)
-    308c:	13 02 30 9f 	stbu    r25,531(r16)
-	...
-    30a4:	00 00 00 04 	.long 0x4000000
-    30a8:	e8 41 e8 42 	.long 0x42e841e8
-    30ac:	01 53 04 e8 	ldu     r0,21248(r4)
+    3058:	a0 13 a8 13 	vmhaddshs v29,v8,v2,v14
+    305c:	05 8b d0 e5 	psq_lu  f14,-1275(r16),1,0
+    3060:	7e 9f 04 b8 	lm      r0,-24706(r4)
+    3064:	13 c4 13 05 	.long 0x513c413
+    3068:	8b d0 e5 7e 	.long 0x7ee5d08b
+    306c:	9f 00 04 02 	.long 0x204009f
+    3070:	04 ec 12 c4 	lfsu    f0,-5116(r18)
+}
+    3074:	13 01 6c 00 	.long 0x6c0113
+    3078:	00 04 04 b8 	lm      r0,1024(r4)
+    307c:	12 ec 12 01 	.long 0x112ec12
+    3080:	6b 00 00 04 	.long 0x400006b
+    3084:	04 ec 12 ec 	dsub    f0,f18,f29
+    3088:	12 01 6c 00 	.long 0x6c0112
+    308c:	01 00 00 02 	.long 0x2000001
+    3090:	04 fc 12 90 	stw     r0,-1020(r18)
+    3094:	13 01 6c 04 	.long 0x46c0113
+    3098:	b8 13 c4 13 	ps_msub f30,f4,f14,f2
+    309c:	01 6c 00 01 	.long 0x1006c01
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    30b0:	42 ec 43 01 	.long 0x143ec42
-    30b4:	6f 04 ec 43 	.long 0x43ec046f
-    30b8:	f0 44 04 a3 	lhz     r24,17648(r4)
-    30bc:	01 53 9f 04 	.long 0x49f5301
+    30a0:	00 00 02 04 	.long 0x4020000
+    30a4:	fc 12 90 13 	vaddeuqm v28,v16,v2,v11
+    30a8:	01 6b 04 b8 	lm      r0,27393(r4)
+    30ac:	13 c4 13 01 	.long 0x113c413
 	if (gp) {
-    30c0:	f0 44 d4 45 	.long 0x45d444f0
-    30c4:	01 6f 04 d4 	stfsu   f0,28417(r4)
+    30b0:	6b 00 04 02 	.long 0x204006b
+    30b4:	04 fc 12 c4 	lfsu    f0,-1020(r18)
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    30c8:	45 fc 45 04 	.long 0x445fc45
-    30cc:	a3 01 53 9f 	stbu    r26,419(r19)
-    30d0:	04 fc 45 84 	lwzu    r2,-1020(r5)
-    30d4:	46 01 6f 04 	.long 0x46f0146
+    30b8:	13 0e 8c 00 	.long 0x8c0e13
+    30bc:	0c ff ff ff 	.long 0xffffff0c
+    30c0:	ff 1a 31 2b 	cmpldi  cr6,r17,6911
+    30c4:	08 ff 1a 9f 	stbu    r24,-248(r26)
 		kvmhv_put_nested(gp);
-    30d8:	84 46 c0 46 	.long 0x46c04684
-    30dc:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
-    30e0:	9f 04 c0 46 	.long 0x46c0049f
-    30e4:	cc 46 01 6f 	xoris   r1,r24,18124
-    30e8:	04 cc 46 d4 	stfsu   f2,-13308(r6)
-    30ec:	46 04 a3 01 	.long 0x1a30446
+    30c8:	00 01 00 04 	.long 0x4000100
+    30cc:	dc 11 f0 11 	vextduwvlx v15,v16,v2,r7
+    30d0:	01 6f 00 0c 	twi     0,r0,28417
+    30d4:	00 04 dc 11 	vsububm v14,v28,v0
+    30d8:	ef 11 1a 8f 	lbzu    r24,4591(r26)
+    30dc:	10 06 10 ff 	.long 0xff100610
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    30f0:	53 9f 04 d4 	stfsu   f0,-24749(r4)
-    30f4:	46 e8 46 01 	.long 0x146e846
-    30f8:	53 04 e8 46 	.long 0x46e80453
-    30fc:	84 47 04 a3 	lhz     r24,18308(r4)
+    30e0:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+    30e4:	ff ff ff 0f 	twui    r31,-1
+    30e8:	1a 11 ad 81 	lwz     r13,4378(r13)
+    30ec:	80 80 80 80 	lwz     r4,-32640(0)
 	if (gp) {
-    3100:	01 53 9f 00 	.long 0x9f5301
-	...
+    30f0:	80 80 40 21 	subfic  r10,r0,-32640
+    30f4:	9f 00 06 00 	.long 0x6009f
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    3110:	04 90 43 a4 	lhzu    r2,-28668(r3)
-    3114:	43 01 53 04 	.long 0x4530143
+    30f8:	02 00 04 dc 	stfdu   f0,2(r4)
+    30fc:	11 a4 12 02 	.long 0x212a411
+    3100:	30 9f 04 c4 	lfsu    f0,-24784(r4)
+    3104:	13 d0 13 02 	.long 0x213d013
 		kvmhv_put_nested(gp);
-    3118:	a4 43 c0 44 	.long 0x44c043a4
-    311c:	01 6e 04 f0 	xvmaxsp vs32,vs4,vs13
-    3120:	44 fc 45 01 	.long 0x145fc44
+    3108:	30 9f 00 00 	.long 0x9f30
+	...
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    3124:	6e 04 fc 45 	.long 0x45fc046e
-    3128:	88 46 01 53 	rlwimi  r1,r24,8,26,4
-    312c:	04 88 46 c0 	lfs     f2,-30716(r6)
-    3130:	46 01 6e 04 	.long 0x46e0146
+    311c:	02 02 00 00 	.long 0x202
+    3120:	00 04 e8 41 	blt+    cr2,3520 <.debug_loclists+0x3520>
 	if (gp) {
-    3134:	e8 46 84 47 	.long 0x478446e8
-    3138:	01 6e 00 00 	.long 0x6e01
+    3124:	e8 42 01 53 	rlwimi  r1,r24,8,11,20
+    3128:	04 e8 42 ec 	dadd    f2,f2,f29
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    313c:	00 00 00 04 	.long 0x4000000
-    3140:	ac 42 94 43 	.long 0x439442ac
-    3144:	01 6e 04 c0 	lfs     f0,28161(r4)
-    3148:	46 e8 46 01 	.long 0x146e846
+    312c:	43 01 6f 04 	.long 0x46f0143
+    3130:	ec 43 f0 44 	.long 0x44f043ec
+    3134:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    3138:	9f 04 f0 44 	.long 0x44f0049f
 		kvmhv_put_nested(gp);
-    314c:	6e 00 00 00 	.long 0x6e
-    3150:	00 00 04 b0 	sth     r0,0(r4)
-    3154:	42 d0 44 01 	.long 0x144d042
-    3158:	67 04 f0 44 	.long 0x44f00467
-    315c:	84 47 01 67 	oris    r1,r24,18308
-    3160:	00 00 00 00 	.long 0x0
-    3164:	00 04 b4 42 	.long 0x42b40400
-    3168:	d8 44 01 6a 	xori    r1,r16,17624
-    316c:	04 f0 44 84 	lwzu    r2,-4092(r4)
-    3170:	47 01 6a 00 	.long 0x6a0147
-    3174:	04 00 00 00 	.long 0x4
-{
-    3178:	04 b4 42 e0 	psq_l   f2,1028(r2),1,3
-    317c:	44 01 6d 04 	.long 0x46d0144
-    3180:	f0 44 84 47 	.long 0x478444f0
-    3184:	01 6d 00 00 	.long 0x6d01
-    3188:	00 00 00 04 	.long 0x4000000
-    318c:	b8 42 d4 44 	.long 0x44d442b8
-    3190:	01 68 04 f0 	xsaddsp vs32,vs4,vs13
-    3194:	44 84 47 01 	.long 0x1478444
-    3198:	68 00 00 00 	.long 0x68
-	...
-    31a4:	04 f8 42 84 	lu      r2,-2044(r2)
-    31a8:	43 01 53 04 	.long 0x4530143
-    31ac:	84 43 bc 44 	.long 0x44bc4384
-    31b0:	01 6c 04 f0 	xsmaxcdp vs32,vs4,vs13
-    31b4:	44 c0 46 01 	.long 0x146c044
-    31b8:	6c 04 c0 46 	.long 0x46c0046c
+    313c:	d4 45 01 6f 	xoris   r1,r24,17876
+    3140:	04 d4 45 fc 	dsubq   f2,f4,f26
+    3144:	45 04 a3 01 	.long 0x1a30445
+    3148:	53 9f 04 fc 	.long 0xfc049f53
+    314c:	45 84 46 01 	.long 0x1468445
+    3150:	6f 04 84 46 	.long 0x4684046f
+    3154:	c0 46 04 a3 	lhz     r24,18112(r4)
+    3158:	01 53 9f 04 	.long 0x49f5301
+    315c:	c0 46 c8 46 	.long 0x46c846c0
+    3160:	01 53 04 c8 	lfd     f0,21249(r4)
+    3164:	46 e4 46 04 	.long 0x446e446
+{
+    3168:	a3 01 53 9f 	stbu    r26,419(r19)
+    316c:	04 e4 46 f0 	xsmaxcdp vs2,vs38,vs28
+    3170:	46 01 6f 04 	.long 0x46f0146
+    3174:	f0 46 f8 46 	.long 0x46f846f0
+    3178:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    317c:	9f 00 00 00 	.long 0x9f
+	...
+    3188:	00 02 04 90 	stw     r0,512(r4)
+    318c:	43 a4 43 01 	.long 0x143a443
+    3190:	53 04 a4 43 	.long 0x43a40453
+    3194:	c0 44 01 6e 	xoris   r1,r16,17600
+    3198:	04 f0 44 fc 	daddq   f2,f4,f30
+    319c:	45 01 6e 04 	.long 0x46e0145
+    31a0:	fc 45 88 46 	.long 0x468845fc
+    31a4:	01 53 04 88 	lbz     r0,21249(r4)
+    31a8:	46 c0 46 01 	.long 0x146c046
 	struct kvm_nested_guest *gp = vcpu->arch.nested;
-    31bc:	d4 46 01 53 	rlwimi  r1,r24,8,27,10
+    31ac:	6e 04 c8 46 	.long 0x46c8046e
 {
-    31c0:	04 e8 46 84 	lwzu    r2,-6140(r6)
-    31c4:	47 01 6c 00 	.long 0x6c0147
-    31c8:	00 00 00 00 	.long 0x0
+    31b0:	e4 46 01 6e 	xoris   r1,r16,18148
+    31b4:	00 00 00 00 	.long 0x0
+    31b8:	00 02 00 04 	.long 0x4000200
 	mutex_lock(&gp->tlb_lock);
-    31cc:	04 bc 42 dc 	stfdu   f2,-17404(r2)
-    31d0:	44 01 6b 04 	.long 0x46b0144
-    31d4:	f0 44 84 47 	.long 0x478444f0
-    31d8:	01 6b 00 02 	.long 0x2006b01
+    31bc:	ac 42 94 43 	.long 0x439442ac
+    31c0:	01 6e 04 c0 	lfs     f0,28161(r4)
+    31c4:	46 c8 46 01 	.long 0x146c846
+    31c8:	6e 04 e4 46 	.long 0x46e4046e
 	struct rmap_nested *n_rmap;
-    31dc:	00 00 00 04 	.long 0x4000000
+    31cc:	f8 46 01 6e 	xoris   r1,r16,18168
 	unsigned long dsisr = vcpu->arch.fault_dsisr;
-    31e0:	bc 42 e0 44 	.long 0x44e042bc
+    31d0:	00 00 00 00 	.long 0x0
 	struct kvm *kvm = vcpu->kvm;
-    31e4:	05 8d 00 30 	addic   r0,r0,-29435
+    31d4:	00 04 b0 42 	.long 0x42b00400
 	unsigned long ea = vcpu->arch.fault_dar;
-    31e8:	2e 9f 04 f0 	psq_st  f0,-210(r4),1,1
+    31d8:	d0 44 01 67 	oris    r1,r24,17616
 	struct kvmppc_pte gpte;
-    31ec:	44 84 47 05 	.long 0x5478444
-    31f0:	8d 00 30 2e 	cmpdi   cr4,r16,141
-    31f4:	9f 00 00 00 	.long 0x9f
-	...
-    3208:	04 ec 43 f4 	psq_stu f2,-1020(r3),1,6
+    31dc:	04 f0 44 f8 	std     r2,-4092(r4)
+    31e0:	46 01 67 00 	.long 0x670146
+    31e4:	00 00 00 00 	.long 0x0
+    31e8:	04 b4 42 d8 	stfd    f2,-19452(r2)
+    31ec:	44 01 69 04 	.long 0x4690144
+    31f0:	f0 44 f8 46 	.long 0x46f844f0
+    31f4:	01 69 00 04 	.long 0x4006901
+    31f8:	00 00 00 04 	.long 0x4000000
 	if (!gp->l1_gr_to_hr) {
-    320c:	43 01 53 04 	.long 0x4530143
+    31fc:	b4 42 e0 44 	.long 0x44e042b4
 	struct rmap_nested *n_rmap;
-    3210:	f4 43 8c 44 	.long 0x448c43f4
+    3200:	01 6d 04 f0 	xsmaxdp vs32,vs4,vs13
 	pte_t pte, *pte_p;
-    3214:	01 6f 04 90 	stw     r0,28417(r4)
+    3204:	44 f8 46 01 	.long 0x146f844
 	unsigned int shift, l1_shift, level;
-    3218:	44 c0 44 01 	.long 0x144c044
-    321c:	6f 04 90 45 	.long 0x4590046f
+    3208:	6d 00 00 00 	.long 0x6d
+    320c:	00 00 04 b8 	lm      r0,0(r4)
 	if (!gp->l1_gr_to_hr) {
-    3220:	9c 45 01 53 	rlwimi  r1,r24,8,22,14
-    3224:	04 d4 45 dc 	stfdu   f2,-11260(r5)
-	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
-    3228:	45 01 53 04 	.long 0x4530145
-    322c:	dc 45 f8 45 	.long 0x45f845dc
-	if (!(dsisr & DSISR_PRTABLE_FAULT))
-    3230:	01 6f 04 88 	lbz     r0,28417(r4)
+    3210:	42 d4 44 01 	.long 0x144d442
+    3214:	68 04 f0 44 	.long 0x44f00468
 	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
-    3234:	46 b0 46 01 	.long 0x146b046
-    3238:	6f 04 b0 46 	.long 0x46b0046f
+    3218:	f8 46 01 68 	xori    r1,r0,18168
+	...
+    3224:	02 02 00 04 	.long 0x4000202
+    3228:	f8 42 84 43 	.long 0x438442f8
 	if (!(dsisr & DSISR_PRTABLE_FAULT))
-    323c:	c0 46 01 53 	rlwimi  r1,r24,8,27,0
+    322c:	01 53 04 84 	lwzu    r0,21249(r4)
 		n_gpa |= ea & 0xFFF;
-    3240:	04 e8 46 84 	lwzu    r2,-6140(r6)
-    3244:	47 01 6f 00 	.long 0x6f0147
+    3230:	43 bc 44 01 	.long 0x144bc43
+    3234:	6b 04 f0 44 	.long 0x44f0046b
 	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
-    3248:	00 02 04 88 	lbz     r0,512(r4)
+    3238:	c0 46 01 6b 	xori    r1,r24,18112
 	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
-    324c:	42 88 42 02 	.long 0x2428842
-    3250:	34 9f 00 00 	.long 0x9f34
-    3254:	02 04 88 42 	bca     20,4*cr2+lt,400 <.debug_loclists+0x400>
-    3258:	88 42 01 53 	rlwimi  r1,r24,8,10,4
+    323c:	04 c8 46 e4 	psq_lu  f2,-2044(r6),1,4
+    3240:	46 01 6b 04 	.long 0x46b0146
+    3244:	e4 46 f8 46 	.long 0x46f846e4
+    3248:	01 53 00 00 	.long 0x5301
 	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
-    325c:	00 02 04 04 	.long 0x4040200
+    324c:	00 00 00 04 	.long 0x4000000
 	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
-    3260:	b4 42 b4 42 	.long 0x42b442b4
-    3264:	02 37 9f 00 	.long 0x9f3702
+    3250:	bc 42 dc 44 	.long 0x44dc42bc
+    3254:	01 6a 04 f0 	xvaddsp vs32,vs4,vs13
 	if (ret) {
-    3268:	02 04 04 b4 	sthu    r0,1026(r4)
-    326c:	42 b4 42 01 	.long 0x142b442
+    3258:	44 f8 46 01 	.long 0x146f844
+    325c:	6a 00 02 00 	.long 0x2006a
 		if (ret == -EINVAL) {
-    3270:	53 00 01 00 	.long 0x10053
-    3274:	04 ac 42 b0 	sth     r2,-21500(r2)
+    3260:	00 00 04 bc 	stmw    r0,0(r4)
+    3264:	42 e0 44 05 	.long 0x544e042
 		} else if (ret == -ENOENT) {
-    3278:	42 02 35 9f 	stbu    r25,578(r21)
-    327c:	00 01 00 04 	.long 0x4000100
+    3268:	8d 00 30 2e 	cmpdi   cr4,r16,141
+    326c:	9f 04 f0 44 	.long 0x44f0049f
 		} else if (ret == -EFAULT) {
-    3280:	ac 42 b0 42 	.long 0x42b042ac
-    3284:	01 53 00 02 	.long 0x2005301
-	if (ret == RESUME_HOST &&
-    3288:	00 04 b0 42 	.long 0x42b00400
-	ret = kvmhv_translate_addr_nested(vcpu, gp, n_gpa, dsisr, &gpte);
-    328c:	b4 42 02 36 	addic.  r16,r2,17076
+    3270:	f8 46 05 8d 	lbzu    r8,18168(r5)
+    3274:	00 30 2e 9f 	stbu    r25,12288(r14)
+	...
 	if (ret == RESUME_HOST &&
-    3290:	9f 00 02 00 	.long 0x2009f
-    3294:	04 b0 42 b4 	sthu    r2,-20476(r2)
-    3298:	42 01 53 00 	.long 0x530142
-    329c:	06 00 04 b4 	sthu    r0,6(r4)
-    32a0:	42 b8 42 02 	.long 0x242b842
+    3288:	00 00 02 04 	.long 0x4020000
+    328c:	ec 43 f4 43 	.long 0x43f443ec
+    3290:	01 53 04 f4 	lxv     vs0,21248(r4)
 	bool writing = !!(dsisr & DSISR_ISSTORE);
-    32a4:	38 9f 00 06 	.long 0x6009f38
+    3294:	43 8c 44 01 	.long 0x1448c43
 		if (dsisr & DSISR_ISSTORE) {
-    32a8:	00 04 b4 42 	.long 0x42b40400
-    32ac:	b8 42 01 53 	rlwimi  r1,r24,8,10,28
-    32b0:	00 03 00 04 	.long 0x4000300
-    32b4:	b8 42 bc 42 	.long 0x42bc42b8
+    3298:	6f 04 90 44 	.long 0x4490046f
+    329c:	c0 44 01 6f 	xoris   r1,r24,17600
+    32a0:	04 90 45 9c 	stbu    r2,-28668(r5)
+    32a4:	45 01 53 04 	.long 0x4530145
 	unsigned long dsisr = vcpu->arch.fault_dsisr;
-    32b8:	02 39 9f 00 	.long 0x9f3902
-    32bc:	03 00 04 b8 	lm      r0,3(r4)
+    32a8:	d4 45 dc 45 	.long 0x45dc45d4
+    32ac:	01 53 04 dc 	stfdu   f0,21249(r4)
 	bool writing = !!(dsisr & DSISR_ISSTORE);
-    32c0:	42 bc 42 01 	.long 0x142bc42
-    32c4:	53 00 01 00 	.long 0x10053
+    32b0:	45 f8 45 01 	.long 0x145f845
+    32b4:	6f 04 88 46 	.long 0x4688046f
 		if (dsisr & DSISR_ISSTORE) {
-    32c8:	04 dc 42 f8 	std     r2,-9212(r2)
+    32b8:	b0 46 01 6f 	xoris   r1,r24,18096
 			if (!gpte_p->may_write) {
-    32cc:	42 04 0a c0 	lfs     f0,1090(r10)
-    32d0:	2c 9f 00 01 	.long 0x1009f2c
-    32d4:	00 04 dc 42 	.long 0x42dc0400
+    32bc:	04 b0 46 c0 	lfs     f2,-20476(r6)
+    32c0:	46 01 53 04 	.long 0x4530146
+    32c4:	c8 46 e4 46 	.long 0x46e446c8
 	if (dsisr & DSISR_SET_RC) {
-    32d8:	f8 42 01 6b 	xori    r1,r24,17144
-    32dc:	00 03 00 04 	.long 0x4000300
-    32e0:	dc 42 f8 42 	.long 0x42f842dc
+    32c8:	01 6f 00 00 	.long 0x6f01
+    32cc:	02 04 88 42 	bca     20,4*cr2+lt,400 <.debug_loclists+0x400>
+    32d0:	88 42 02 34 	addic.  r0,r2,17032
 	l1_shift = gpte.page_shift;
-    32e4:	04 0a c0 2d 	cmpwi   cr3,r0,2564
-    32e8:	9f 00 03 00 	.long 0x3009f
+    32d4:	9f 00 00 02 	.long 0x200009f
+    32d8:	04 88 42 88 	lbz     r2,-30716(r2)
 	if (l1_shift < PAGE_SHIFT) {
-    32ec:	04 dc 42 f8 	std     r2,-9212(r2)
-    32f0:	42 01 6b 00 	.long 0x6b0142
+    32dc:	42 01 53 00 	.long 0x530142
+    32e0:	02 04 04 b4 	sthu    r0,1026(r4)
 	gpa = gpte.raddr;
-    32f4:	01 00 04 b0 	sth     r0,1(r4)
+    32e4:	42 b4 42 02 	.long 0x242b442
 	memslot = gfn_to_memslot(kvm, gfn);
-    32f8:	43 d8 43 01 	.long 0x143d843
-    32fc:	6f 00 03 00 	.long 0x3006f
-    3300:	00 00 04 b0 	sth     r0,0(r4)
-    3304:	43 b8 43 08 	tdllti  r3,-18365
+    32e8:	37 9f 00 02 	.long 0x2009f37
+    32ec:	04 04 b4 42 	.long 0x42b40404
+    32f0:	b4 42 01 53 	rlwimi  r1,r24,8,10,26
+    32f4:	00 01 00 04 	.long 0x4000100
 	if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) {
-    3308:	8f 00 06 23 	subfic  r24,r6,143
-    330c:	b0 9a 01 9f 	stbu    r24,-25936(r1)
-    3310:	04 b8 43 bf 	stmw    r26,-18428(r3)
-    3314:	43 01 53 00 	.long 0x530143
-    3318:	00 04 04 d0 	stfs    f0,1024(r4)
-    331c:	43 d0 43 01 	.long 0x143d043
+    32f8:	ac 42 b0 42 	.long 0x42b042ac
+    32fc:	02 35 9f 00 	.long 0x9f3502
+    3300:	01 00 04 ac 	lhau    r0,1(r4)
+    3304:	42 b0 42 01 	.long 0x142b042
+    3308:	53 00 02 00 	.long 0x20053
+    330c:	04 b0 42 b4 	sthu    r2,-20476(r2)
 	if (memslot->flags & KVM_MEM_READONLY) {
-    3320:	59 00 01 00 	.long 0x10059
-    3324:	00 00 04 ec 	.long 0xec040000
+    3310:	42 02 36 9f 	stbu    r25,578(r22)
+    3314:	00 02 00 04 	.long 0x4000200
 		if (writing) {
-    3328:	43 84 44 04 	.long 0x4448443
+    3318:	b0 42 b4 42 	.long 0x42b442b0
 		kvm_ro = true;
-    332c:	a3 01 53 9f 	stbu    r26,419(r19)
+    331c:	01 53 00 06 	.long 0x6005301
 	mmu_seq = kvm->mmu_invalidate_seq;
-    3330:	04 e8 46 f4 	psq_stu f2,-2044(r6),1,6
+    3320:	00 04 b4 42 	.long 0x42b40400
 	smp_rmb();
-    3334:	46 04 a3 01 	.long 0x1a30446
+    3324:	b8 42 02 38 	addi    r0,r2,17080
 	pte = __pte(0);
-    3338:	53 9f 00 00 	.long 0x9f53
-    333c:	00 00 00 04 	.long 0x4000000
-    3340:	f4 43 83 44 	.long 0x448343f4
-    3344:	01 54 04 e8 	ldu     r0,21504(r4)
-    3348:	46 f4 46 01 	.long 0x146f446
-    334c:	54 00 00 00 	.long 0x54
-    3350:	00 00 04 f4 	psq_stu f0,0(r4),0,0
-    3354:	43 83 44 01 	.long 0x1448343
-    3358:	53 04 e8 46 	.long 0x46e80453
-    335c:	f4 46 01 53 	rlwimi  r1,r24,8,27,26
-    3360:	00 03 00 00 	.long 0x300
+    3328:	9f 00 06 00 	.long 0x6009f
+    332c:	04 b4 42 b8 	lm      r2,-19452(r2)
+    3330:	42 01 53 00 	.long 0x530142
+    3334:	03 00 04 b8 	lm      r0,3(r4)
+    3338:	42 bc 42 02 	.long 0x242bc42
+    333c:	39 9f 00 03 	.long 0x3009f39
+    3340:	00 04 b8 42 	.long 0x42b80400
+    3344:	bc 42 01 53 	rlwimi  r1,r24,8,10,30
+    3348:	00 01 00 04 	.long 0x4000100
+    334c:	dc 42 f8 42 	.long 0x42f842dc
+    3350:	04 0a c0 2c 	cmpwi   cr1,r0,2564
 	if (!shift)
-    3364:	00 04 f4 43 	.long 0x43f40400
-    3368:	83 44 0e 74 	andis.  r14,r0,17539
-    336c:	00 0c ff ff 	.long 0xffff0c00
+    3354:	9f 00 01 00 	.long 0x1009f
+    3358:	04 dc 42 f8 	std     r2,-9212(r2)
+    335c:	42 01 6a 00 	.long 0x6a0142
 		shift = PAGE_SHIFT;
-    3370:	ff ff 1a 31 	addic   r8,r26,-1
-    3374:	2b 08 ff 1a 	.long 0x1aff082b
+    3360:	03 00 04 dc 	stfdu   f0,3(r4)
+    3364:	42 f8 42 04 	.long 0x442f842
 	if (pte_p)
-    3378:	9f 04 e8 46 	.long 0x46e8049f
-    337c:	f4 46 0e 74 	andis.  r14,r0,18164
+    3368:	0a c0 2d 9f 	stbu    r25,-16374(r13)
+    336c:	00 03 00 04 	.long 0x4000300
 		pte = *pte_p;
-    3380:	00 0c ff ff 	.long 0xffff0c00
-    3384:	ff ff 1a 31 	addic   r8,r26,-1
+    3370:	dc 42 f8 42 	.long 0x42f842dc
+    3374:	01 6a 00 01 	.long 0x1006a01
 	if (unlikely(ms->mmiowb_pending)) {
-    3388:	2b 08 ff 1a 	.long 0x1aff082b
+    3378:	00 04 b0 43 	.long 0x43b00400
 	struct mmiowb_state *ms = __mmiowb_state();
-    338c:	9f 00 01 00 	.long 0x1009f
+    337c:	d8 43 01 6f 	xoris   r1,r24,17368
 	if (unlikely(ms->mmiowb_pending)) {
-    3390:	04 98 45 c0 	lfs     f2,-26620(r5)
-    3394:	45 01 6f 00 	.long 0x6f0145
+    3380:	00 03 00 00 	.long 0x300
+    3384:	00 04 b0 43 	.long 0x43b00400
 	ms->nesting_count--;
-    3398:	03 00 00 00 	.long 0x3
-    339c:	04 98 45 a0 	lhz     r2,-26620(r5)
-    33a0:	45 08 8f 00 	.long 0x8f0845
-    33a4:	06 23 b0 9a 	stb     r21,8966(r16)
-    33a8:	01 9f 04 a0 	lhz     r0,-24831(r4)
-    33ac:	45 a7 45 01 	.long 0x145a745
+    3388:	b8 43 08 8f 	lbzu    r24,17336(r8)
+    338c:	00 06 23 b0 	sth     r1,1536(r3)
+    3390:	9a 01 9f 04 	.long 0x49f019a
+    3394:	b8 43 bf 43 	.long 0x43bf43b8
+    3398:	01 53 00 00 	.long 0x5301
+    339c:	04 04 d0 43 	.long 0x43d00404
 	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    33b0:	53 00 00 04 	pstxsd  v2,5486596(r5)
-    33b4:	04 b8 45 b8 
+    33a0:	d0 43 01 59 	rlmi    r1,r8,r8,15,8
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
+    33a4:	00 01 00 00 	.long 0x100
 	if (pte_hw_valid(pte))
-    33b8:	45 01 59 00 	.long 0x590145
-    33bc:	01 00 00 00 	.long 0x1
+    33a8:	00 04 ec 43 	.long 0x43ec0400
+    33ac:	84 44 04 a3 	lhz     r24,17540(r4)
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-    33c0:	04 d4 45 ec 	dsub    f2,f5,f26
-    33c4:	45 04 a3 01 	.long 0x1a30445
-    33c8:	53 9f 04 f4 	stxssp  v0,-24752(r4)
+    33b0:	01 53 9f 04 	.long 0x49f5301
+    33b4:	c8 46 d4 46 	.long 0x46d446c8
+    33b8:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
 		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
-    33cc:	46 84 47 04 	.long 0x4478446
-    33d0:	a3 01 53 9f 	stbu    r26,419(r19)
-    33d4:	00 00 00 00 	.long 0x0
-    33d8:	00 04 dc 45 	.long 0x45dc0400
-    33dc:	eb 45 01 54 	rlwinm. r1,r0,8,23,21
-    33e0:	04 f4 46 84 	lwzu    r2,-3068(r6)
-    33e4:	47 01 54 00 	.long 0x540147
-    33e8:	00 00 00 00 	.long 0x0
-    33ec:	04 dc 45 eb 	ld      r26,-9212(r5)
+    33bc:	9f 00 00 00 	.long 0x9f
+    33c0:	00 00 04 f4 	psq_stu f0,0(r4),0,0
+    33c4:	43 83 44 01 	.long 0x1448343
+    33c8:	54 04 c8 46 	.long 0x46c80454
+    33cc:	d4 46 01 54 	rlwinm  r1,r0,8,27,10
+    33d0:	00 00 00 00 	.long 0x0
+    33d4:	00 04 f4 43 	.long 0x43f40400
+    33d8:	83 44 01 53 	rlwimi. r1,r24,8,18,1
+    33dc:	04 c8 46 d4 	stfsu   f2,-14332(r6)
 		if (ret == -EAGAIN)
-    33f0:	45 01 53 04 	.long 0x4530145
+    33e0:	46 01 53 00 	.long 0x530146
 		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
-    33f4:	f4 46 84 47 	.long 0x478446f4
+    33e4:	03 00 00 00 	.long 0x3
 		if (ret == -EAGAIN)
-    33f8:	01 53 00 03 	.long 0x3005301
+    33e8:	04 f4 43 83 	lwz     r26,-3068(r3)
 		else if (ret)
-    33fc:	00 00 00 04 	.long 0x4000000
-    3400:	dc 45 eb 45 	.long 0x45eb45dc
+    33ec:	44 0e 74 00 	.long 0x740e44
+    33f0:	0c ff ff ff 	.long 0xffffff0c
 		return PUD_SHIFT;
-    3404:	0e 74 00 0c 	twi     0,r0,29710
+    33f4:	ff 1a 31 2b 	cmpldi  cr6,r17,6911
 		shift = kvmppc_radix_level_to_shift(level);
-    3408:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+    33f8:	08 ff 1a 9f 	stbu    r24,-248(r26)
 		return PUD_SHIFT;
-    340c:	1a 31 2b 08 	tdlgti  r11,12570
-    3410:	ff 1a 9f 04 	.long 0x49f1aff
+    33fc:	04 c8 46 d4 	stfsu   f2,-14332(r6)
+    3400:	46 0e 74 00 	.long 0x740e46
 	switch (level) {
-    3414:	f4 46 84 47 	.long 0x478446f4
+    3404:	0c ff ff ff 	.long 0xffffff0c
 		return PUD_SHIFT;
-    3418:	0e 74 00 0c 	twi     0,r0,29710
-    341c:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-    3420:	1a 31 2b 08 	tdlgti  r11,12570
+    3408:	ff 1a 31 2b 	cmpldi  cr6,r17,6911
+    340c:	08 ff 1a 9f 	stbu    r24,-248(r26)
+    3410:	00 01 00 04 	.long 0x4000100
 	switch (level) {
-    3424:	ff 1a 9f 00 	.long 0x9f1aff
-    3428:	00 00 00 02 	.long 0x2000000
-    342c:	02 00 00 00 	.long 0x2
+    3414:	98 45 c0 45 	.long 0x45c04598
+    3418:	01 6f 00 03 	.long 0x3006f01
+    341c:	00 00 00 04 	.long 0x4000000
 		return PUD_SHIFT;
-    3430:	00 00 00 00 	.long 0x0
+    3420:	98 45 a0 45 	.long 0x45a04598
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3434:	00 00 04 c8 	lfd     f0,0(r4)
+    3424:	08 8f 00 06 	.long 0x6008f08
 		return PUD_SHIFT;
-    3438:	1a 8c 1b 01 	.long 0x11b8c1a
+    3428:	23 b0 9a 01 	.long 0x19ab023
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    343c:	53 04 8c 1b 	.long 0x1b8c0453
-    3440:	d8 1b 01 6f 	xoris   r1,r24,7128
-    3444:	04 d8 1b 84 	lwzu    r0,-10236(r27)
+    342c:	9f 04 a0 45 	.long 0x45a0049f
+    3430:	a7 45 01 53 	rlwimi. r1,r24,8,22,19
+    3434:	00 00 04 04 	.long 0x4040000
 		shift = kvmppc_radix_level_to_shift(level);
-    3448:	1c 04 a3 01 	.long 0x1a3041c
-    344c:	53 9f 04 84 	lwzu    r0,-24749(r4)
+    3438:	b8 45 b8 45 	.long 0x45b845b8
+    343c:	01 59 00 01 	.long 0x1005901
 				flags |= DSISR_PROTFAULT;
-    3450:	1c 94 1c 01 	.long 0x11c941c
+    3440:	00 00 02 04 	.long 0x4020000
 				goto forward_to_l1;
-    3454:	6f 04 94 1c 	mulli   r4,r20,1135
-    3458:	c0 1c 04 a3 	lhz     r24,7360(r4)
-    345c:	01 53 9f 04 	.long 0x49f5301
-    3460:	c0 1c c8 1c 	mulli   r6,r8,7360
-    3464:	01 6f 04 c8 	lfd     f0,28417(r4)
+    3444:	d4 45 ec 45 	.long 0x45ec45d4
+    3448:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    344c:	9f 04 d4 46 	.long 0x46d4049f
+    3450:	e4 46 04 a3 	lhz     r24,18148(r4)
+    3454:	01 53 9f 00 	.long 0x9f5301
 				flags |= DSISR_PROTFAULT;
-    3468:	1c e4 1c 04 	.long 0x41ce41c
+    3458:	00 00 00 02 	.long 0x2000000
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    346c:	a3 01 53 9f 	stbu    r26,419(r19)
+    345c:	04 dc 45 eb 	ld      r26,-9212(r5)
 	vcpu->arch.fault_dsisr = flags;
-    3470:	00 00 00 00 	.long 0x0
+    3460:	45 01 54 04 	.long 0x4540145
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    3474:	00 00 00 04 	.long 0x4000000
-    3478:	80 1b ec 1b 	lxvp    vs62,7040(r12)
+    3464:	d4 46 e4 46 	.long 0x46e446d4
+    3468:	01 54 00 00 	.long 0x5401
 		vcpu->arch.shregs.msr &= SRR1_MSR_BITS;
-    347c:	01 6b 04 ec 	.long 0xec046b01
-    3480:	1b f0 1b 05 	.long 0x51bf01b
-    3484:	8c d0 e5 7e 	.long 0x7ee5d08c
-    3488:	9f 04 84 1c 	mulli   r4,r4,1183
+    346c:	00 00 02 04 	.long 0x4020000
+    3470:	dc 45 eb 45 	.long 0x45eb45dc
+    3474:	01 53 04 d4 	stfsu   f0,21249(r4)
+    3478:	46 e4 46 01 	.long 0x146e446
 		vcpu->arch.shregs.msr |= flags;
-    348c:	e4 1c 01 6b 	xori    r1,r24,7396
-    3490:	00 00 00 00 	.long 0x0
+    347c:	53 00 03 00 	.long 0x30053
+    3480:	00 02 04 dc 	stfdu   f0,512(r4)
 	if (ret == RESUME_HOST &&
-    3494:	00 04 84 1b 	lxvp    vs28,1024(r4)
-    3498:	f4 1b 01 6d 	xoris   r1,r8,7156
-    349c:	04 84 1c e4 	psq_lu  f0,1028(r28),1,0
-    34a0:	1c 01 6d 00 	.long 0x6d011c
+    3484:	45 eb 45 0e 	twi     18,r5,-5307
+    3488:	74 00 0c ff 	.long 0xff0c0074
+    348c:	ff ff ff 1a 	.long 0x1affffff
+    3490:	31 2b 08 ff 	.long 0xff082b31
 			return RESUME_HOST;
-    34a4:	04 00 00 00 	.long 0x4
+    3494:	1a 9f 04 d4 	stfsu   f0,-24806(r4)
 	mutex_unlock(&gp->tlb_lock);
-    34a8:	04 a0 1b f8 	std     r0,-24572(r27)
-    34ac:	1b 01 6e 04 	.long 0x46e011b
-    34b0:	84 1c e4 1c 	mulli   r7,r4,7300
-}
-    34b4:	01 6e 00 03 	.long 0x3006e01
-    34b8:	02 00 00 00 	.long 0x2
-    34bc:	00 04 84 1b 	lxvp    vs28,1024(r4)
-    34c0:	d8 1b 02 30 	addic   r0,r2,7128
-    34c4:	9f 04 84 1c 	mulli   r4,r4,1183
-    34c8:	94 1c 02 30 	addic   r0,r2,7316
-    34cc:	9f 04 c0 1c 	mulli   r6,r0,1183
-    34d0:	e4 1c 03 09 	tdgti   r3,7396
-    34d4:	fc 9f 00 01 	.long 0x1009ffc
-    34d8:	00 04 80 1b 	lxvp    vs28,1024(0)
-    34dc:	84 1b 02 34 	addic.  r0,r2,7044
-    34e0:	9f 00 01 00 	.long 0x1009f
-    34e4:	04 80 1b 84 	lwzu    r0,-32764(r27)
-    34e8:	1b 01 53 00 	.long 0x53011b
-    34ec:	00 04 04 88 	lbz     r0,1024(r4)
-    34f0:	1b a0 1b 01 	.long 0x11ba01b
-    34f4:	6c 00 00 04 	.long 0x400006c
-    34f8:	04 a0 1b a0 	lhz     r0,-24572(r27)
-    34fc:	1b 01 6e 00 	.long 0x6e011b
+    3498:	46 e4 46 0e 	twi     18,r6,-7098
+    349c:	74 00 0c ff 	.long 0xff0c0074
+    34a0:	ff ff ff 1a 	.long 0x1affffff
+}
+    34a4:	31 2b 08 ff 	.long 0xff082b31
+    34a8:	1a 9f 00 00 	.long 0x9f1a
+    34ac:	00 00 02 02 	.long 0x2020000
+	...
+    34b8:	00 04 c8 1a 	lxvp    vs22,1024(r8)
+    34bc:	8c 1b 01 53 	rlwimi  r1,r24,3,14,6
+    34c0:	04 8c 1b d8 	stfd    f0,-29692(r27)
+    34c4:	1b 01 6f 04 	.long 0x46f011b
+    34c8:	d8 1b 84 1c 	mulli   r4,r4,7128
+    34cc:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    34d0:	9f 04 84 1c 	mulli   r4,r4,1183
+    34d4:	94 1c 01 6f 	xoris   r1,r24,7316
+    34d8:	04 94 1c c0 	lfs     f0,-27644(r28)
+    34dc:	1c 04 a3 01 	.long 0x1a3041c
+    34e0:	53 9f 04 c0 	lfs     f0,-24749(r4)
+    34e4:	1c c8 1c 01 	.long 0x11cc81c
+    34e8:	6f 04 c8 1c 	mulli   r6,r8,1135
+    34ec:	e4 1c 04 a3 	lhz     r24,7396(r4)
 		kvmhv_update_ptbl_cache(gp);
-    3500:	01 00 00 00 	.long 0x1
-    3504:	01 00 04 c0 	lfs     f0,1(r4)
+    34f0:	01 53 9f 00 	.long 0x9f5301
+    34f4:	00 00 00 00 	.long 0x0
 		if (!gp->l1_gr_to_hr)
-    3508:	1b d8 1b 01 	.long 0x11bd81b
-    350c:	6e 04 84 1c 	mulli   r4,r4,1134
-    3510:	b0 1c 01 6e 	xoris   r1,r16,7344
-    3514:	04 c0 1c dc 	stfdu   f0,-16380(r28)
-    3518:	1c 01 6e 00 	.long 0x6e011c
-    351c:	01 00 00 00 	.long 0x1
-    3520:	01 00 04 c0 	lfs     f0,1(r4)
+    34f8:	00 00 04 80 	lwz     r0,0(r4)
+    34fc:	1b ec 1b 01 	.long 0x11bec1b
+    3500:	6b 04 ec 1b 	.long 0x1bec046b
+    3504:	f0 1b 05 8c 	lbzu    r0,7152(r5)
+    3508:	d0 e5 7e 9f 	stbu    r27,-6704(r30)
+    350c:	04 84 1c e4 	psq_lu  f0,1028(r28),1,0
+    3510:	1c 01 6b 00 	.long 0x6b011c
 		if (dsisr & (DSISR_PRTABLE_FAULT | DSISR_BADACCESS)) {
-    3524:	1b d8 1b 01 	.long 0x11bd81b
-    3528:	6c 04 84 1c 	mulli   r4,r4,1132
+    3514:	00 00 00 00 	.long 0x0
+    3518:	04 84 1b f4 	psq_stu f0,1028(r27),1,0
 		return kvmppc_hv_emulate_mmio(vcpu, gpa, ea, writing);
-    352c:	b0 1c 01 6c 	xoris   r1,r0,7344
-    3530:	04 c0 1c dc 	stfdu   f0,-16380(r28)
-    3534:	1c 01 6c 00 	.long 0x6c011c
-    3538:	04 02 00 00 	.long 0x204
-    353c:	04 00 04 c0 	lfs     f0,4(r4)
-    3540:	1b d8 1b 0e 	twlti   r27,-10213
-    3544:	8e 00 0c ff 	.long 0xff0c008e
-    3548:	ff ff ff 1a 	.long 0x1affffff
-    354c:	31 2b 08 ff 	.long 0xff082b31
-    3550:	1a 9f 04 84 	lwzu    r0,-24806(r4)
-    3554:	1c 94 1c 0e 	twlti   r28,-27620
-    3558:	8e 00 0c ff 	.long 0xff0c008e
-    355c:	ff ff ff 1a 	.long 0x1affffff
-    3560:	31 2b 08 ff 	.long 0xff082b31
-    3564:	1a 9f 04 c0 	lfs     f0,-24806(r4)
-    3568:	1c e4 1c 0e 	twlti   r28,-7140
-    356c:	8e 00 0c ff 	.long 0xff0c008e
+    351c:	1b 01 6d 04 	.long 0x46d011b
+    3520:	84 1c e4 1c 	mulli   r7,r4,7300
+    3524:	01 6d 00 04 	.long 0x4006d01
+    3528:	00 00 00 04 	.long 0x4000000
+    352c:	a0 1b f8 1b 	lxvp    vs62,7072(r24)
+    3530:	01 6e 04 84 	lwzu    r0,28161(r4)
+    3534:	1c e4 1c 01 	.long 0x11ce41c
+    3538:	6e 00 03 02 	.long 0x203006e
+    353c:	00 00 00 00 	.long 0x0
+    3540:	04 84 1b d8 	stfd    f0,-31740(r27)
+    3544:	1b 02 30 9f 	stbu    r25,539(r16)
+    3548:	04 84 1c 94 	stwu    r0,-31740(r28)
+    354c:	1c 02 30 9f 	stbu    r25,540(r16)
+    3550:	04 c0 1c e4 	psq_lu  f0,4(r28),1,4
+    3554:	1c 03 09 fc 	.long 0xfc09031c
+    3558:	9f 00 01 00 	.long 0x1009f
+    355c:	04 80 1b 84 	lwzu    r0,-32764(r27)
 		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    3570:	ff ff ff 1a 	.long 0x1affffff
-    3574:	31 2b 08 ff 	.long 0xff082b31
+    3560:	1b 02 34 9f 	stbu    r25,539(r20)
+    3564:	00 01 00 04 	.long 0x4000100
 			if (!gpte_p->may_execute) {
-    3578:	1a 9f 00 00 	.long 0x9f1a
+    3568:	80 1b 84 1b 	lxvp    vs28,7040(r4)
 		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    357c:	00 00 00 00 	.long 0x0
+    356c:	01 53 00 00 	.long 0x5301
 			if (!gpte_p->may_read && !gpte_p->may_write) {
-    3580:	00 00 00 04 	.long 0x4000000
-    3584:	98 04 c7 04 	.long 0x4c70498
-    3588:	01 53 04 c7 	lfsu    f24,21249(r4)
-    358c:	04 dc 04 04 	.long 0x404dc04
+    3570:	04 04 88 1b 	.long 0x1b880404
+    3574:	a0 1b 01 6c 	xoris   r1,r0,7072
+    3578:	00 00 04 04 	.long 0x4040000
+    357c:	a0 1b a0 1b 	lxvp    vs60,7072(0)
 	if (dsisr & DSISR_SET_RC) {
-    3590:	a3 01 53 9f 	stbu    r26,419(r19)
-    3594:	04 dc 04 f8 	std     r0,-9212(r4)
+    3580:	01 6e 00 01 	.long 0x1006e01
+    3584:	00 00 00 01 	.long 0x1000000
 		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
-    3598:	04 01 53 04 	.long 0x4530104
-    359c:	f8 04 b0 06 	.long 0x6b004f8
+    3588:	00 04 c0 1b 	lxvp    vs30,1024(0)
+    358c:	d8 1b 01 6e 	xoris   r1,r16,7128
 	pgflags = _PAGE_ACCESSED;
-    35a0:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
-    35a4:	9f 00 00 00 	.long 0x9f
+    3590:	04 84 1c b0 	sth     r0,-31740(r28)
+    3594:	1c 01 6e 04 	.long 0x46e011c
 	if (pgflags & ~gpte.rc)
-    35a8:	00 00 04 90 	stw     r0,0(r4)
-    35ac:	05 a0 05 01 	.long 0x105a005
-    35b0:	53 04 a0 05 	.long 0x5a00453
+    3598:	c0 1c dc 1c 	mulli   r6,r28,7360
+    359c:	01 6e 00 01 	.long 0x1006e01
+    35a0:	00 00 00 01 	.long 0x1000000
 	ret = kvmppc_hv_handle_set_rc(kvm, false, writing,
-    35b4:	a7 05 01 54 	rlwinm. r1,r0,0,22,19
-    35b8:	00 04 02 00 	.long 0x20400
-    35bc:	03 04 98 04 	.long 0x4980403
-    35c0:	c0 04 04 0a 	tdlti   r4,1216
-    35c4:	00 20 9f 04 	.long 0x49f2000
-    35c8:	dc 04 dc 04 	.long 0x4dc04dc
-    35cc:	04 0a 00 20 	subfic  r0,r0,2564
-    35d0:	9f 00 0d 02 	.long 0x20d009f
-    35d4:	00 03 04 98 	stb     r0,768(r4)
-    35d8:	04 c0 04 02 	.long 0x204c004
+    35a4:	00 04 c0 1b 	lxvp    vs30,1024(0)
+    35a8:	d8 1b 01 6c 	xoris   r1,r0,7128
+    35ac:	04 84 1c b0 	sth     r0,-31740(r28)
+    35b0:	1c 01 6c 04 	.long 0x46c011c
+    35b4:	c0 1c dc 1c 	mulli   r6,r28,7360
+    35b8:	01 6c 00 04 	.long 0x4006c01
+    35bc:	02 00 00 04 	.long 0x4000002
+    35c0:	00 04 c0 1b 	lxvp    vs30,1024(0)
+    35c4:	d8 1b 0e 8e 	lbzu    r16,7128(r14)
+    35c8:	00 0c ff ff 	.long 0xffff0c00
 	if (!ret) {
-    35dc:	3d 9f 04 dc 	stfdu   f0,-24771(r4)
-    35e0:	04 dc 04 02 	.long 0x204dc04
+    35cc:	ff ff 1a 31 	addic   r8,r26,-1
+    35d0:	2b 08 ff 1a 	.long 0x1aff082b
 	ret = kvmppc_hv_handle_set_rc(kvm, true, writing,
-    35e4:	3d 9f 00 00 	.long 0x9f3d
-    35e8:	01 01 00 04 	.long 0x4000101
-    35ec:	c0 04 c8 04 	.long 0x4c804c0
-    35f0:	02 31 9f 04 	.long 0x49f3102
-    35f4:	dc 04 b0 06 	.long 0x6b004dc
-    35f8:	02 30 9f 00 	.long 0x9f3002
-    35fc:	11 00 00 01 	.long 0x1000011
+    35d4:	9f 04 84 1c 	mulli   r4,r4,1183
+    35d8:	94 1c 0e 8e 	lbzu    r16,7316(r14)
+    35dc:	00 0c ff ff 	.long 0xffff0c00
+    35e0:	ff ff 1a 31 	addic   r8,r26,-1
+    35e4:	2b 08 ff 1a 	.long 0x1aff082b
+    35e8:	9f 04 c0 1c 	mulli   r6,r0,1183
+    35ec:	e4 1c 0e 8e 	lbzu    r16,7396(r14)
 	if (!ret)
-    3600:	04 98 04 c0 	lfs     f0,-26620(r4)
-    3604:	04 02 31 9f 	stbu    r25,516(r17)
+    35f0:	00 0c ff ff 	.long 0xffff0c00
+    35f4:	ff ff 1a 31 	addic   r8,r26,-1
 		ret = -EINVAL;
-    3608:	04 dc 04 dc 	stfdu   f0,-9212(r4)
+    35f8:	2b 08 ff 1a 	.long 0x1aff082b
 	if (unlikely(ms->mmiowb_pending)) {
-    360c:	04 02 31 9f 	stbu    r25,516(r17)
+    35fc:	9f 00 00 00 	.long 0x9f
 	struct mmiowb_state *ms = __mmiowb_state();
-    3610:	00 00 04 00 	.long 0x40000
+    3600:	00 00 00 00 	.long 0x0
 	if (unlikely(ms->mmiowb_pending)) {
-    3614:	00 00 00 04 	.long 0x4000000
-    3618:	ac 05 b8 05 	.long 0x5b805ac
+    3604:	00 00 04 98 	stb     r0,0(r4)
+    3608:	04 c7 04 01 	.long 0x104c704
 	ms->nesting_count--;
-    361c:	01 53 04 dc 	stfdu   f0,21249(r4)
-    3620:	05 94 06 01 	.long 0x1069405
-    3624:	53 04 9c 06 	.long 0x69c0453
-    3628:	b0 06 01 53 	rlwimi  r1,r24,0,26,24
-    362c:	00 03 03 04 	.long 0x4030300
-    3630:	e8 0e f0 0e 	twi     23,r16,3816
+    360c:	53 04 c7 04 	.long 0x4c70453
+    3610:	dc 04 04 a3 	lhz     r24,1244(r4)
+    3614:	01 53 9f 04 	.long 0x49f5301
+    3618:	dc 04 f8 04 	.long 0x4f804dc
+    361c:	01 53 04 f8 	stdu    r0,21248(r4)
+    3620:	04 b0 06 04 	.long 0x406b004
 		if (ret)
-    3634:	04 0a 00 20 	subfic  r0,r0,2564
-    3638:	9f 00 0c 03 	.long 0x30c009f
+    3624:	a3 01 53 9f 	stbu    r26,419(r19)
+    3628:	00 00 00 00 	.long 0x0
 		if (!(dsisr & (DSISR_BAD_FAULT_64S | DSISR_NOHPTE |
-    363c:	04 e8 0e f0 	xsaddsp vs0,vs46,vs29
-    3640:	0e 02 3d 9f 	stbu    r25,526(r29)
-    3644:	00 01 00 04 	.long 0x4000100
-    3648:	f0 0e bc 0f 	twi     29,r28,3824
-    364c:	02 30 9f 00 	.long 0x9f3002
+    362c:	00 04 90 05 	.long 0x5900400
+    3630:	a0 05 01 53 	rlwimi  r1,r24,0,22,16
+    3634:	04 a0 05 a7 	lhzu    r24,-24572(r5)
+    3638:	05 01 54 00 	.long 0x540105
+    363c:	04 02 00 03 	.long 0x3000204
 		dsisr &= ~DSISR_SET_RC;
-    3650:	10 01 04 e8 	ld      r0,272(r4)
-    3654:	0e f0 0e 02 	.long 0x20ef00e
-    3658:	31 9f 00 04 	.long 0x4009f31
-    365c:	00 00 00 04 	.long 0x4000000
+    3640:	04 98 04 c0 	lfs     f0,-26620(r4)
+    3644:	04 04 0a 00 	.long 0xa0404
+    3648:	20 9f 04 dc 	stfdu   f0,-24800(r4)
+    364c:	04 dc 04 04 	.long 0x404dc04
 			kvmppc_core_queue_data_storage(vcpu, ea, dsisr);
-    3660:	94 0d 80 0e 	twlei   r0,3476
-    3664:	02 40 9f 04 	.long 0x49f4002
-    3668:	88 0e cc 0e 	twi     22,r12,3720
-    366c:	02 40 9f 00 	.long 0x9f4002
-    3670:	09 00 00 00 	.long 0x9
+    3650:	0a 00 20 9f 	.long 0x9f20000a
+    3654:	00 0d 02 00 	.long 0x20d00
+    3658:	03 04 98 04 	.long 0x4980403
+    365c:	c0 04 02 3d 	addis   r8,r2,1216
+    3660:	9f 04 dc 04 	.long 0x4dc049f
 			return RESUME_GUEST;
-    3674:	00 00 04 c8 	lfd     f0,0(r4)
-    3678:	0d d0 0d 10 	psq_lx  f0,r13,r26,0,0
-    367c:	73 00 10 ff 	fmul.   f24,f16,f1
-    3680:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-    3684:	ff ff ff 0f 	twui    r31,-1
-    3688:	1a 34 21 9f 	stbu    r25,13338(r1)
-    368c:	04 d0 0d d4 	stfsu   f0,-12284(r13)
+    3664:	dc 04 02 3d 	addis   r8,r2,1244
+    3668:	9f 00 00 01 	.long 0x100009f
+    366c:	01 00 04 c0 	lfs     f0,1(r4)
+    3670:	04 c8 04 02 	.long 0x204c804
+    3674:	31 9f 04 dc 	stfdu   f0,-24783(r4)
+    3678:	04 b0 06 02 	.long 0x206b004
+    367c:	30 9f 00 11 	maddhd  r8,r0,r19,r28
 			return RESUME_GUEST;
-    3690:	0d 18 03 00 	.long 0x3180d
-    3694:	00 00 00 00 	.long 0x0
-    3698:	00 00 00 06 	.long 0x6000000
-    369c:	10 ff ff ff 	.long 0xffffff10
+    3680:	00 00 01 04 	.long 0x4010000
+    3684:	98 04 c0 04 	.long 0x4c00498
+    3688:	02 31 9f 04 	.long 0x49f3102
+    368c:	dc 04 dc 04 	.long 0x4dc04dc
 		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
-    36a0:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
-    36a4:	ff 0f 1a 34 	addic.  r0,r26,4095
+    3690:	02 31 9f 00 	.long 0x9f3102
+    3694:	00 04 00 00 	.long 0x400
 		pgflags |= _PAGE_DIRTY;
-    36a8:	21 9f 04 d4 	stfsu   f0,-24799(r4)
-    36ac:	0d df 0d 01 	.long 0x10ddf0d
+    3698:	00 00 04 ac 	lhau    r0,0(r4)
+    369c:	05 b8 05 01 	.long 0x105b805
 	if (writing)
-    36b0:	54 00 00 00 	.long 0x54
-    36b4:	00 00 00 00 	.long 0x0
-    36b8:	04 e0 0d ec 	dadd    f0,f13,f28
-    36bc:	0d 01 53 04 	.long 0x453010d
+    36a0:	53 04 dc 05 	.long 0x5dc0453
+    36a4:	94 06 01 53 	rlwimi  r1,r24,0,26,10
+    36a8:	04 9c 06 b0 	sth     r0,-25596(r6)
+    36ac:	06 01 53 00 	.long 0x530106
 			if (!gpte_p->may_execute) {
-    36c0:	88 0e 90 0e 	twlei   r16,3720
-    36c4:	01 53 04 90 	stw     r0,21249(r4)
+    36b0:	03 03 04 e8 	.long 0xe8040303
+    36b4:	0e f0 0e 04 	.long 0x40ef00e
 	vcpu->arch.fault_dsisr = flags;
-    36c8:	0e 97 0e 01 	.long 0x10e970e
+    36b8:	0a 00 20 9f 	.long 0x9f20000a
 				flags |= SRR1_ISI_N_G_OR_CIP;
-    36cc:	54 00 03 00 	.long 0x30054
+    36bc:	00 0c 03 04 	.long 0x4030c00
 	vcpu->arch.fault_dsisr = flags;
-    36d0:	00 00 04 c8 	lfd     f0,0(r4)
+    36c0:	e8 0e f0 0e 	twi     23,r16,3816
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    36d4:	0d ec 0d 02 	.long 0x20dec0d
-    36d8:	30 9f 04 88 	lbz     r0,-24784(r4)
-    36dc:	0e b4 0e 02 	.long 0x20eb40e
-    36e0:	30 9f 00 06 	.long 0x6009f30
-    36e4:	03 04 f8 0c 	twi     7,r24,1027
-    36e8:	90 0d 04 0a 	tdlti   r4,3472
-    36ec:	00 20 9f 00 	.long 0x9f2000
-    36f0:	0f 03 04 f8 	.long 0xf804030f
-    36f4:	0c 90 0d 02 	.long 0x20d900c
-    36f8:	3d 9f 00 13 	vaddecuq v24,v0,v19,v28
-    36fc:	01 04 f8 0c 	twi     7,r24,1025
+    36c4:	02 3d 9f 00 	.long 0x9f3d02
+    36c8:	01 00 04 f0 	xsaddsp vs32,vs4,vs0
+    36cc:	0e bc 0f 02 	.long 0x20fbc0e
+    36d0:	30 9f 00 10 	maddhd  r0,r0,r19,r28
+    36d4:	01 04 e8 0e 	twi     23,r8,1025
+    36d8:	f0 0e 02 31 	addic   r8,r2,3824
+    36dc:	9f 00 04 00 	.long 0x4009f
+    36e0:	00 00 04 94 	stwu    r0,0(r4)
+    36e4:	0d 80 0e 02 	.long 0x20e800d
+    36e8:	40 9f 04 88 	lbz     r0,-24768(r4)
+    36ec:	0e cc 0e 02 	.long 0x20ecc0e
 		return kmalloc_trace(
-    3700:	90 0d 02 31 	addic   r8,r2,3472
+    36f0:	40 9f 00 09 	tdgti   r0,-24768
 	n_gpa &= ~((1UL << shift) - 1);
-    3704:	9f 00 07 02 	.long 0x207009f
-    3708:	00 00 04 90 	stw     r0,0(r4)
-    370c:	0d 94 0d 03 	.long 0x30d940d
+    36f4:	00 00 00 00 	.long 0x0
+    36f8:	00 04 c8 0d 	twi     14,r8,1024
+    36fc:	d0 0d 10 73 	andi.   r16,r24,3536
 	level = kvmppc_radix_shift_to_level(shift);
-    3710:	08 40 9f 04 	.long 0x49f4008
-    3714:	80 0e 88 0e 	twlei   r8,3712
+    3700:	00 10 ff ff 	.long 0xffff1000
+    3704:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
 	n_gpa &= ~((1UL << shift) - 1);
-    3718:	03 08 40 9f 	.long 0x9f400803
-    371c:	00 10 02 00 	.long 0x21000
-    3720:	00 04 90 0d 	twgei   r16,1024
-    3724:	94 0d 02 36 	addic.  r16,r2,3476
-    3728:	9f 04 80 0e 	twlei   r0,1183
-	if (unlikely(!n_rmap))
-    372c:	88 0e 02 36 	addic.  r16,r2,3720
-    3730:	9f 00 00 00 	.long 0x9f
+    3708:	ff ff 0f 1a 	.long 0x1a0fffff
+    370c:	34 21 9f 04 	.long 0x49f2134
+    3710:	d0 0d d4 0d 	twi     14,r20,3536
+    3714:	18 03 00 00 	.long 0x318
+    3718:	00 00 00 00 	.long 0x0
+	if (!n_rmap)
+    371c:	00 00 06 10 	vaddubm v0,v6,v0
+    3720:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
 	n_rmap = kzalloc(sizeof(*n_rmap), GFP_KERNEL);
-    3734:	00 00 04 94 	stwu    r0,0(r4)
-	if (unlikely(!n_rmap))
-    3738:	0d 80 0e 02 	.long 0x20e800d
+    3724:	ff ff ff ff 	fnmadd. f31,f31,f31,f31
+	if (!n_rmap)
+    3728:	0f 1a 34 21 	subfic  r9,r20,6671
 		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
-    373c:	31 9f 04 88 	lbz     r0,-24783(r4)
+    372c:	9f 04 d4 0d 	twi     14,r20,1183
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
-    3740:	0e cc 0e 02 	.long 0x20ecc0e
+    3730:	df 0d 01 54 	rlwinm. r1,r0,1,23,15
 	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
-    3744:	31 9f 00 14 	.long 0x14009f31
-    3748:	00 00 00 04 	.long 0x4000000
-    374c:	90 0d 94 0d 	twgei   r20,3472
-    3750:	02 31 9f 04 	.long 0x49f3102
-    3754:	80 0e 88 0e 	twlei   r8,3712
-    3758:	02 31 9f 00 	.long 0x9f3102
+    3734:	00 00 00 00 	.long 0x0
+    3738:	00 00 00 04 	.long 0x4000000
+    373c:	e0 0d ec 0d 	twi     15,r12,3552
+    3740:	01 53 04 88 	lbz     r0,21249(r4)
+    3744:	0e 90 0e 01 	.long 0x10e900e
+    3748:	53 04 90 0e 	twlei   r16,1107
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
-    375c:	06 00 04 94 	stwu    r0,6(r4)
+    374c:	97 0e 01 54 	rlwinm. r1,r0,1,26,11
 		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
-    3760:	0d c0 0d 04 	.long 0x40dc00d
+    3750:	00 03 00 00 	.long 0x300
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
-    3764:	0a c0 0c 9f 	stbu    r24,-16374(r12)
-    3768:	00 06 00 04 	.long 0x4000600
+    3754:	00 04 c8 0d 	twi     14,r8,1024
+    3758:	ec 0d 02 30 	addic   r0,r2,3564
 	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
-    376c:	94 0d c0 0d 	twi     14,r0,3476
-    3770:	04 40 40 24 	dozi    r2,r0,16388
+    375c:	9f 04 88 0e 	twlei   r8,1183
+    3760:	b4 0e 02 30 	addic   r0,r2,3764
 	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
-    3774:	9f 00 00 00 	.long 0x9f
-    3778:	00 00 00 00 	.long 0x0
-    377c:	00 00 04 f8 	std     r0,0(r4)
+    3764:	9f 00 06 03 	.long 0x306009f
+    3768:	04 f8 0c 90 	stw     r0,-2044(r12)
+    376c:	0d 04 0a 00 	.long 0xa040d
 	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
-    3780:	2a ac 2b 01 	.long 0x12bac2a
-    3784:	53 04 ac 2b 	cmpldi  cr7,r12,1107
+    3770:	20 9f 00 0f 	twnei   r0,-24800
+    3774:	03 04 f8 0c 	twi     7,r24,1027
 	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
-    3788:	94 2e 01 6f 	xoris   r1,r24,11924
-    378c:	04 94 2e 9c 	stbu    r1,-27644(r14)
-    3790:	2e 04 a3 01 	.long 0x1a3042e
-    3794:	53 9f 04 9c 	stbu    r0,-24749(r4)
+    3778:	90 0d 02 3d 	addis   r8,r2,3472
+    377c:	9f 00 13 01 	.long 0x113009f
+    3780:	04 f8 0c 90 	stw     r0,-2044(r12)
+    3784:	0d 02 31 9f 	stbu    r25,525(r17)
 	kfree(n_rmap);
-    3798:	2e dc 41 01 	.long 0x141dc2e
-    379c:	6f 00 00 00 	.long 0x6f
-	...
+    3788:	00 07 02 00 	.long 0x20700
+    378c:	00 04 90 0d 	twgei   r16,1024
+    3790:	94 0d 03 08 	tdi     0,r3,3476
 	if (ret == -EAGAIN)
-    37ac:	00 00 04 c0 	lfs     f0,0(r4)
-    37b0:	2d d4 2d 03 	.long 0x32dd42d
-    37b4:	09 ff 9f 04 	.long 0x49fff09
-    37b8:	c0 2e 8c 2f 	cmpwi   cr7,r12,11968
-    37bc:	02 31 9f 04 	.long 0x49f3102
-    37c0:	a8 30 ac 30 	addic   r5,r12,12456
-    37c4:	09 8e 00 08 	tdi     0,r0,-29175
-    37c8:	20 24 08 20 	subfic  r0,r8,9248
-    37cc:	26 9f 04 cc 	lfdu    f0,-24794(r4)
-    37d0:	3a dc 3a 03 	.long 0x33adc3a
+    3794:	40 9f 04 80 	lwz     r0,-24768(r4)
+    3798:	0e 88 0e 03 	.long 0x30e880e
+    379c:	08 40 9f 00 	.long 0x9f4008
+    37a0:	10 02 00 00 	.long 0x210
+    37a4:	04 90 0d 94 	stwu    r0,-28668(r13)
+    37a8:	0d 02 36 9f 	stbu    r25,525(r22)
+    37ac:	04 80 0e 88 	lbz     r0,-32764(r14)
+    37b0:	0e 02 36 9f 	stbu    r25,526(r22)
+    37b4:	00 00 00 00 	.long 0x0
+    37b8:	00 04 94 0d 	twgei   r20,1024
+    37bc:	80 0e 02 31 	addic   r8,r2,3712
+    37c0:	9f 04 88 0e 	twlei   r8,1183
 	kvmhv_invalidate_shadow_pte(vcpu, gp, n_gpa, NULL);
-    37d4:	09 ff 9f 04 	.long 0x49fff09
-    37d8:	f0 3b 8c 3c 	addis   r4,r12,15344
-    37dc:	02 31 9f 04 	.long 0x49f3102
-    37e0:	e4 3d e8 3d 	addis   r15,r8,15844
-    37e4:	09 8d 00 08 	tdi     0,r0,-29431
+    37c4:	cc 0e 02 31 	addic   r8,r2,3788
+    37c8:	9f 00 14 00 	.long 0x14009f
+    37cc:	00 00 04 90 	stw     r0,0(r4)
+    37d0:	0d 94 0d 02 	.long 0x20d940d
+    37d4:	31 9f 04 80 	lwz     r0,-24783(r4)
 	return RESUME_GUEST;
-    37e8:	20 24 08 20 	subfic  r0,r8,9248
-    37ec:	26 9f 04 dc 	stfdu   f0,-24794(r4)
+    37d8:	0e 88 0e 02 	.long 0x20e880e
+    37dc:	31 9f 00 06 	.long 0x6009f31
 	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    37f0:	3f e0 3f 02 	.long 0x23fe03f
+    37e0:	00 04 94 0d 	twgei   r20,1024
 		if (PMD_SHIFT < l1_shift)
-    37f4:	31 9f 04 f4 	lxv     vs0,-24784(r4)
+    37e4:	c0 0d 04 0a 	tdlti   r4,3520
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    37f8:	3f cc 40 03 	.long 0x340cc3f
-    37fc:	09 ff 9f 00 	.long 0x9fff09
+    37e8:	c0 0c 9f 00 	.long 0x9f0cc0
+    37ec:	06 00 04 94 	stwu    r0,6(r4)
+		if (PMD_SHIFT < l1_shift)
+    37f0:	0d c0 0d 04 	.long 0x40dc00d
+	if (shift == PUD_SHIFT)
+    37f4:	40 40 24 9f 	stbu    r25,16448(r4)
 	...
-    380c:	00 00 04 dc 	stfdu   f0,0(r4)
 		if (PMD_SHIFT < l1_shift)
-    3810:	35 ec 35 01 	.long 0x135ec35
+    3800:	00 04 f8 2a 	cmpldi  cr5,r24,1024
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3814:	53 04 ec 35 	addic.  r15,r12,1107
+    3804:	ac 2b 01 53 	rlwimi  r1,r24,5,14,22
 	if (shift == PUD_SHIFT)
-    3818:	e8 3a 01 6e 	xoris   r1,r16,15080
+    3808:	04 ac 2b 94 	stwu    r1,-21500(r11)
 	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    381c:	04 a8 3b 8c 	lbzu    r1,-22524(r27)
+    380c:	2e 01 6f 04 	.long 0x46f012e
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    3820:	3c 01 6e 04 	.long 0x46e013c
+    3810:	94 2e 9c 2e 	cmpwi   cr5,r28,11924
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3824:	8c 3d 98 3e 	addis   r20,r24,15756
+    3814:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
 	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
-    3828:	01 6e 04 c8 	lfd     f0,28161(r4)
+    3818:	9f 04 9c 2e 	cmpwi   cr5,r28,1183
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    382c:	3e e4 3f 01 	.long 0x13fe43e
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    3830:	6e 04 c0 40 	bgea-   46c <.debug_loclists+0x46c>
-	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3834:	cc 40 01 6e 	xoris   r1,r16,16588
-	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    3838:	04 90 41 98 	stb     r2,-28668(r1)
-	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    383c:	41 01 6e 00 	.long 0x6e0141
+    381c:	dc 41 01 6f 	xoris   r1,r24,16860
 	...
+	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
+    3830:	00 04 c0 2d 	cmpwi   cr3,r0,1024
+	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
+    3834:	d4 2d 03 09 	tdgti   r3,11732
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
+    3838:	ff 9f 04 c0 	lfs     f0,-24577(r4)
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    384c:	00 00 04 b0 	sth     r0,0(r4)
+    383c:	2e 8c 2f 02 	.long 0x22f8c2e
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    3850:	31 c4 31 01 	.long 0x131c431
+    3840:	31 9f 04 a8 	lha     r0,-24783(r4)
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3854:	53 04 c4 31 	addic   r14,r4,1107
+    3844:	30 ac 30 09 	tdi     9,r16,-21456
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    3858:	90 38 01 6a 	xori    r1,r16,14480
+    3848:	8e 00 08 20 	subfic  r0,r8,142
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    385c:	04 90 38 8b 	lbz     r25,-28668(r24)
+    384c:	24 08 20 26 	dozi    r17,r0,2084
 	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
-    3860:	3a 01 53 04 	.long 0x453013a
-    3864:	a8 3b c4 3b 	addi    r30,r4,15272
+    3850:	9f 04 cc 3a 	addi    r22,r12,1183
+    3854:	dc 3a 03 09 	tdgti   r3,15068
 	pte = __pte(pte_val(pte) & ~perm);
-    3868:	01 6a 04 98 	stb     r0,27137(r4)
+    3858:	ff 9f 04 f0 	xxsel   vs32,vs36,vs51,vs63
 	if (shift > l1_shift) {
-    386c:	3e a8 3e 01 	.long 0x13ea83e
+    385c:	3b 8c 3c 02 	.long 0x23c8c3b
 	pte = __pte(pte_val(pte) & ~perm);
-    3870:	53 04 a8 3e 	addis   r21,r8,1107
-    3874:	c8 3e 01 6a 	xori    r1,r16,16072
-    3878:	04 ac 3f dc 	stfdu   f1,-21500(r31)
-    387c:	3f 01 6a 00 	.long 0x6a013f
-    3880:	00 00 00 00 	.long 0x0
-    3884:	04 84 2c 90 	stw     r1,-31740(r12)
-    3888:	2e 01 69 04 	.long 0x469012e
-    388c:	9c 2e dc 41 	blt-    cr7,6728 <kvmhv_nested_next_lpid+0x2c50>
-    3890:	01 69 00 00 	.long 0x6901
-    3894:	00 00 03 00 	.long 0x30000
-	if (shift > l1_shift) {
-    3898:	00 00 00 00 	.long 0x0
-	level = kvmppc_radix_shift_to_level(shift);
-    389c:	00 04 bc 2c 	cmpdi   cr1,r28,1024
+    3860:	31 9f 04 e4 	psq_lu  f0,-207(r4),1,1
+    3864:	3d e8 3d 09 	tdi     9,r29,-6083
+    3868:	8d 00 08 20 	subfic  r0,r8,141
+    386c:	24 08 20 26 	dozi    r17,r0,2084
+    3870:	9f 04 dc 3f 	addis   r30,r28,1183
+    3874:	e0 3f 02 31 	addic   r8,r2,16352
+    3878:	9f 04 f4 3f 	addis   r31,r20,1183
+    387c:	cc 40 03 09 	tdgti   r3,16588
+    3880:	ff 9f 00 00 	.long 0x9fff
+	...
 	if (shift == PUD_SHIFT)
-    38a0:	e8 2d 01 68 	xori    r1,r0,11752
+    3890:	00 04 dc 35 	addic.  r14,r28,1024
 	pte = __pte(pte_val(pte) & ~perm);
-    38a4:	04 9c 2e 90 	stw     r1,-25596(r14)
+    3894:	ec 35 01 53 	rlwimi  r1,r24,6,23,22
 	if (shift == PUD_SHIFT)
-    38a8:	2f 01 68 04 	.long 0x468012f
-    38ac:	98 2f 90 3b 	addi    r28,r16,12184
-    38b0:	01 68 04 a8 	lha     r0,26625(r4)
-    38b4:	3b c0 3c 01 	.long 0x13cc03b
+    3898:	04 ec 35 e8 	ld      r1,-5116(r21)
+    389c:	3a 01 6e 04 	.long 0x46e013a
+    38a0:	a8 3b 8c 3c 	addis   r4,r12,15272
+    38a4:	01 6e 04 8c 	lbzu    r0,28161(r4)
 	if (shift == PMD_SHIFT)
-    38b8:	68 04 dc 3c 	addis   r6,r28,1128
-    38bc:	98 41 01 68 	xori    r1,r0,16792
-    38c0:	00 00 00 00 	.long 0x0
+    38a8:	3d 98 3e 01 	.long 0x13e983d
+    38ac:	6e 04 c8 3e 	addis   r22,r8,1134
+    38b0:	e4 3f 01 6e 	xoris   r1,r16,16356
 	if (shift == PAGE_SHIFT)
-    38c4:	03 00 00 00 	.long 0x3
-    38c8:	00 00 00 04 	.long 0x4000000
+    38b4:	04 c0 40 cc 	.long 0xcc40c004
+    38b8:	40 01 6e 04 	.long 0x46e0140
 	WARN_ON_ONCE(1);
-    38cc:	c0 2c e4 2d 	cmpdi   cr3,r4,11456
-			vcpu->arch.fault_gpa = fault_addr;
-    38d0:	01 67 04 9c 	stbu    r0,26369(r4)
-    38d4:	2e 90 2f 01 	.long 0x12f902e
-			flags |= DSISR_PRTABLE_FAULT;
-    38d8:	67 04 98 2f 	cmpwi   cr7,r24,1127
+    38bc:	90 41 98 41 	blt     cr6,7a4c <kvmhv_nested_next_lpid+0x3f84>
 			vcpu->arch.fault_gpa = fault_addr;
-    38dc:	8c 3b 01 67 	oris    r1,r24,15244
-    38e0:	04 a8 3b bc 	stmw    r1,-22524(r27)
-    38e4:	3c 01 67 04 	.long 0x467013c
-    38e8:	dc 3c 98 41 	blt     cr6,75c4 <kvmhv_nested_next_lpid+0x3aec>
-    38ec:	01 67 00 00 	.long 0x6701
+    38c0:	01 6e 00 00 	.long 0x6e01
+	...
+    38d0:	00 04 b0 31 	addic   r13,r16,1024
+    38d4:	c4 31 01 53 	rlwimi  r1,r24,6,7,2
+    38d8:	04 c4 31 90 	stw     r1,-15356(r17)
+    38dc:	38 01 6a 04 	.long 0x46a0138
 			kvmppc_core_queue_data_storage(vcpu, ea,
-    38f0:	00 00 00 00 	.long 0x0
-    38f4:	00 04 98 32 	addic   r20,r24,1024
-    38f8:	98 38 01 6d 	xoris   r1,r8,14488
-    38fc:	04 a8 3b c4 	lfsu    f1,-22524(r27)
-    3900:	3b 01 6d 04 	.long 0x46d013b
+    38e0:	90 38 8b 3a 	addi    r20,r11,14480
+    38e4:	01 53 04 a8 	lha     r0,21249(r4)
+    38e8:	3b c4 3b 01 	.long 0x13bc43b
+    38ec:	6a 04 98 3e 	addis   r20,r24,1130
+    38f0:	a8 3e 01 53 	rlwimi  r1,r24,7,26,20
 			return RESUME_GUEST;
-    3904:	ac 3f dc 3f 	addis   r30,r28,16300
-    3908:	01 6d 00 00 	.long 0x6d01
-    390c:	00 00 00 00 	.long 0x0
-    3910:	00 00 00 04 	.long 0x4000000
-    3914:	ec 33 94 34 	addic.  r4,r20,13292
-    3918:	01 54 04 94 	stwu    r0,21505(r4)
-    391c:	34 e3 34 03 	.long 0x334e334
-    3920:	91 88 75 04 	.long 0x4758891
-    3924:	fc 34 bc 35 	addic.  r13,r28,13564
-    3928:	01 53 04 bc 	stmw    r0,21249(r4)
-    392c:	35 8c 36 01 	.long 0x1368c35
+    38f4:	04 a8 3e c8 	lfd     f1,-22524(r30)
+    38f8:	3e 01 6a 04 	.long 0x46a013e
+    38fc:	ac 3f dc 3f 	addis   r30,r28,16300
+    3900:	01 6a 00 00 	.long 0x6a01
+    3904:	00 00 00 04 	.long 0x4000000
+    3908:	84 2c 90 2e 	cmpwi   cr5,r16,11396
+    390c:	01 69 04 9c 	stbu    r0,26881(r4)
+    3910:	2e dc 41 01 	.long 0x141dc2e
+    3914:	69 00 00 00 	.long 0x69
+    3918:	00 03 00 00 	.long 0x300
+    391c:	00 00 00 00 	.long 0x0
 			flags |= DSISR_UNSUPP_MMU;
-    3930:	6c 00 00 00 	.long 0x6c
-    3934:	00 00 00 00 	.long 0x0
-    3938:	04 bc 36 c8 	lfd     f1,-17404(r22)
-    393c:	39 06 7f 00 	.long 0x7f0639
+    3920:	04 bc 2c e8 	ld      r1,-17404(r12)
+    3924:	2d 01 68 04 	.long 0x468012d
+    3928:	9c 2e 90 2f 	cmpwi   cr7,r16,11932
+    392c:	01 68 04 98 	stb     r0,26625(r4)
 			flags |= DSISR_NOHPTE;
-    3940:	80 00 1c 9f 	stbu    r24,128(r28)
-    3944:	04 a8 3b c4 	lfsu    f1,-22524(r27)
-    3948:	3b 06 7f 00 	.long 0x7f063b
-    394c:	80 00 1c 9f 	stbu    r24,128(r28)
+    3930:	2f 90 3b 01 	.long 0x13b902f
+    3934:	68 04 a8 3b 	addi    r29,r8,1128
+    3938:	c0 3c 01 68 	xori    r1,r0,15552
+    393c:	04 dc 3c 98 	stb     r1,-9212(r28)
 		if (PMD_SHIFT < l1_shift)
-    3950:	04 ac 3f dc 	stfdu   f1,-21500(r31)
-    3954:	3f 06 7f 00 	.long 0x7f063f
-    3958:	80 00 1c 9f 	stbu    r24,128(r28)
-    395c:	00 00 00 00 	.long 0x0
+    3940:	41 01 68 00 	.long 0x680141
+    3944:	00 00 00 03 	.long 0x3000000
+    3948:	00 00 00 00 	.long 0x0
+    394c:	00 00 04 c0 	lfs     f0,0(r4)
 			actual_shift = PMD_SHIFT;
-    3960:	00 00 00 04 	.long 0x4000000
+    3950:	2c e4 2d 01 	.long 0x12de42c
 		mask = (1UL << shift) - (1UL << actual_shift);
-    3964:	c8 36 cc 39 	addi    r14,r12,14024
+    3954:	67 04 9c 2e 	cmpwi   cr5,r28,1127
 	level = kvmppc_radix_shift_to_level(shift);
-    3968:	06 85 00 81 	lwz     r8,-31482(0)
+    3958:	90 2f 01 67 	oris    r1,r24,12176
 		mask = (1UL << shift) - (1UL << actual_shift);
-    396c:	00 1c 9f 04 	.long 0x49f1c00
+    395c:	04 98 2f 8c 	lbzu    r1,-26620(r15)
 	if (shift == PUD_SHIFT)
-    3970:	a8 3b c4 3b 	addi    r30,r4,15272
+    3960:	3b 01 67 04 	.long 0x467013b
 		mask = (1UL << shift) - (1UL << actual_shift);
-    3974:	06 85 00 81 	lwz     r8,-31482(0)
+    3964:	a8 3b bc 3c 	addis   r5,r28,15272
 		shift = actual_shift;
-    3978:	00 1c 9f 04 	.long 0x49f1c00
+    3968:	01 67 04 dc 	stfdu   f0,26369(r4)
 		pte = __pte(pte_val(pte) | (gpa & mask));
-    397c:	ac 3f dc 3f 	addis   r30,r28,16300
-    3980:	06 85 00 81 	lwz     r8,-31482(0)
-    3984:	00 1c 9f 00 	.long 0x9f1c00
-    3988:	00 00 00 00 	.long 0x0
-    398c:	00 00 04 cc 	lfdu    f0,0(r4)
-    3990:	36 d0 39 06 	.long 0x639d036
-    3994:	8c 00 82 00 	.long 0x82008c
-    3998:	1c 9f 04 a8 	lha     r0,-24804(r4)
-    399c:	3b c4 3b 06 	.long 0x63bc43b
-    39a0:	8c 00 82 00 	.long 0x82008c
-    39a4:	1c 9f 04 ac 	lhau    r0,-24804(r4)
-    39a8:	3f dc 3f 06 	.long 0x63fdc3f
+    396c:	3c 98 41 01 	.long 0x141983c
+    3970:	67 00 00 00 	.long 0x67
+    3974:	00 00 00 00 	.long 0x0
+    3978:	04 98 32 98 	stb     r1,-26620(r18)
+    397c:	38 01 6d 04 	.long 0x46d0138
+    3980:	a8 3b c4 3b 	addi    r30,r4,15272
+    3984:	01 6d 04 ac 	lhau    r0,27905(r4)
+    3988:	3f dc 3f 01 	.long 0x13fdc3f
+    398c:	6d 00 00 00 	.long 0x6d
+    3990:	00 00 00 00 	.long 0x0
+    3994:	00 00 04 ec 	.long 0xec040000
+    3998:	33 94 34 01 	.long 0x1349433
 		shift = actual_shift;
-    39ac:	8c 00 82 00 	.long 0x82008c
+    399c:	54 04 94 34 	addic.  r4,r20,1108
 	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    39b0:	1c 9f 00 00 	.long 0x9f1c
-    39b4:	00 00 00 00 	.long 0x0
-    39b8:	00 04 d8 36 	addic.  r22,r24,1024
-    39bc:	80 3a 06 83 	lwz     r24,14976(r6)
+    39a0:	e3 34 03 91 	stw     r8,13539(r3)
+    39a4:	88 75 04 fc 	xststdcqp cr0,v14,4
+    39a8:	34 bc 35 01 	.long 0x135bc34
+    39ac:	53 04 bc 35 	addic.  r13,r28,1107
 		ret = 0;
-    39c0:	00 84 00 1c 	mulli   r0,r0,-31744
-    39c4:	9f 04 a8 3b 	addi    r29,r8,1183
-    39c8:	c4 3b 06 83 	lwz     r24,15300(r6)
-    39cc:	00 84 00 1c 	mulli   r0,r0,-31744
+    39b0:	8c 36 01 6c 	xoris   r1,r0,13964
+    39b4:	00 00 00 00 	.long 0x0
+    39b8:	00 00 00 04 	.long 0x4000000
+    39bc:	bc 36 c8 39 	addi    r14,r8,14012
 	bool kvm_ro = false;
-    39d0:	9f 04 ac 3f 	addis   r29,r12,1183
-    39d4:	dc 3f 06 83 	lwz     r24,16348(r6)
-    39d8:	00 84 00 1c 	mulli   r0,r0,-31744
-    39dc:	9f 00 02 00 	.long 0x2009f
-    39e0:	00 00 04 98 	stb     r0,0(r4)
-    39e4:	31 a0 31 08 	tdlgti  r17,-24527
-    39e8:	79 00 30 2e 	cmpdi   cr4,r16,121
+    39c0:	06 7f 00 80 	lwz     r0,32518(0)
+    39c4:	00 1c 9f 04 	.long 0x49f1c00
+    39c8:	a8 3b c4 3b 	addi    r30,r4,15272
+    39cc:	06 7f 00 80 	lwz     r0,32518(0)
+    39d0:	00 1c 9f 04 	.long 0x49f1c00
+    39d4:	ac 3f dc 3f 	addis   r30,r28,16300
+    39d8:	06 7f 00 80 	lwz     r0,32518(0)
 		unsigned int actual_shift = PAGE_SHIFT;
-    39ec:	08 ff 1a 9f 	stbu    r24,-248(r26)
-    39f0:	04 e4 3f f4 	psq_stu f1,1028(r31),1,6
-    39f4:	3f 08 79 00 	.long 0x79083f
-    39f8:	30 2e 08 ff 	.long 0xff082e30
-    39fc:	1a 9f 00 01 	.long 0x1009f1a
+    39dc:	00 1c 9f 00 	.long 0x9f1c00
+    39e0:	00 00 00 00 	.long 0x0
+    39e4:	00 00 04 c8 	lfd     f0,0(r4)
+    39e8:	36 cc 39 06 	.long 0x639cc36
+    39ec:	85 00 81 00 	.long 0x810085
 	switch (level) {
-    3a00:	00 04 ac 2c 	cmpdi   cr1,r12,1024
-    3a04:	bc 2c 02 34 	addic.  r0,r2,11452
-    3a08:	9f 00 01 00 	.long 0x1009f
-    3a0c:	04 ac 2c bc 	stmw    r1,-21500(r12)
+    39f0:	1c 9f 04 a8 	lha     r0,-24804(r4)
+    39f4:	3b c4 3b 06 	.long 0x63bc43b
+    39f8:	85 00 81 00 	.long 0x810085
+    39fc:	1c 9f 04 ac 	lhau    r0,-24804(r4)
 	vcpu->arch.fault_dsisr = flags;
-    3a10:	2c 01 6f 00 	.long 0x6f012c
-    3a14:	02 00 04 c0 	lfs     f0,2(r4)
+    3a00:	3f dc 3f 06 	.long 0x63fdc3f
+    3a04:	85 00 81 00 	.long 0x810085
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    3a18:	2c e0 2c 01 	.long 0x12ce02c
-    3a1c:	6f 00 00 04 	.long 0x400006f
-    3a20:	04 d0 2c d0 	stfs    f1,-12284(r12)
-    3a24:	2c 01 59 00 	.long 0x59012c
-    3a28:	02 00 04 bc 	stmw    r0,2(r4)
-    3a2c:	2c c0 2c 02 	.long 0x22cc02c
+    3a08:	1c 9f 00 00 	.long 0x9f1c
+    3a0c:	00 00 00 00 	.long 0x0
+    3a10:	00 04 cc 36 	addic.  r22,r12,1024
+    3a14:	d0 39 06 8c 	lbzu    r0,14800(r6)
+    3a18:	00 82 00 1c 	mulli   r0,r0,-32256
+    3a1c:	9f 04 a8 3b 	addi    r29,r8,1183
 		ms->mmiowb_pending = 0;
-    3a30:	35 9f 00 02 	.long 0x2009f35
-    3a34:	00 04 bc 2c 	cmpdi   cr1,r28,1024
+    3a20:	c4 3b 06 8c 	lbzu    r0,15300(r6)
+    3a24:	00 82 00 1c 	mulli   r0,r0,-32256
 		mmiowb();
-    3a38:	c0 2c 01 6f 	xoris   r1,r24,11456
-    3a3c:	00 02 00 00 	attn
+    3a28:	9f 04 ac 3f 	addis   r29,r12,1183
+    3a2c:	dc 3f 06 8c 	lbzu    r0,16348(r6)
 		return PMD_SHIFT;
-    3a40:	00 00 00 04 	.long 0x4000000
+    3a30:	00 82 00 1c 	mulli   r0,r0,-32256
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3a44:	e0 2c c0 2d 	cmpwi   cr3,r0,11488
-    3a48:	01 67 04 9c 	stbu    r0,26369(r4)
-    3a4c:	2e c0 2e 01 	.long 0x12ec02e
+    3a34:	9f 00 00 00 	.long 0x9f
+    3a38:	00 00 00 00 	.long 0x0
+    3a3c:	04 d8 36 80 	lwz     r1,-10236(r22)
 		return PMD_SHIFT;
-    3a50:	67 04 98 2f 	cmpwi   cr7,r24,1127
-    3a54:	a8 30 01 67 	oris    r1,r24,12456
-    3a58:	00 02 00 00 	attn
-    3a5c:	00 00 00 04 	.long 0x4000000
-    3a60:	e0 2c c0 2d 	cmpwi   cr3,r0,11488
-    3a64:	01 68 04 9c 	stbu    r0,26625(r4)
-    3a68:	2e c0 2e 01 	.long 0x12ec02e
-    3a6c:	68 04 98 2f 	cmpwi   cr7,r24,1128
+    3a40:	3a 06 83 00 	.long 0x83063a
+    3a44:	84 00 1c 9f 	stbu    r24,132(r28)
+    3a48:	04 a8 3b c4 	lfsu    f1,-22524(r27)
+    3a4c:	3b 06 83 00 	.long 0x83063b
+    3a50:	84 00 1c 9f 	stbu    r24,132(r28)
+    3a54:	04 ac 3f dc 	stfdu   f1,-21500(r31)
+    3a58:	3f 06 83 00 	.long 0x83063f
+    3a5c:	84 00 1c 9f 	stbu    r24,132(r28)
 		ms->mmiowb_pending = 0;
-    3a70:	a8 30 01 68 	xori    r1,r0,12456
-    3a74:	00 02 00 00 	attn
+    3a60:	00 02 00 00 	attn
+    3a64:	00 04 98 31 	addic   r12,r24,1024
 		mmiowb();
-    3a78:	00 00 00 00 	.long 0x0
-    3a7c:	00 00 00 04 	.long 0x4000000
-    3a80:	e0 2c c0 2d 	cmpwi   cr3,r0,11488
-    3a84:	04 91 e8 78 	rldicr  r8,r7,18,4
-    3a88:	9f 04 9c 2e 	cmpwi   cr5,r28,1183
-    3a8c:	c0 2e 04 91 	stw     r8,11968(r4)
-    3a90:	e8 78 9f 04 	.long 0x49f78e8
-    3a94:	98 2f cc 2f 	cmpwi   cr7,r12,12184
-    3a98:	04 91 e8 78 	rldicr  r8,r7,18,4
-    3a9c:	9f 04 cc 2f 	cmpwi   cr7,r12,1183
+    3a68:	a0 31 08 79 	rldicl  r8,r8,6,38
+    3a6c:	00 30 2e 08 	tdlgti  r14,12288
+    3a70:	ff 1a 9f 04 	.long 0x49f1aff
+    3a74:	e4 3f f4 3f 	addis   r31,r20,16356
+    3a78:	08 79 00 30 	addic   r0,r0,30984
+    3a7c:	2e 08 ff 1a 	.long 0x1aff082e
+    3a80:	9f 00 01 00 	.long 0x1009f
+    3a84:	04 ac 2c bc 	stmw    r1,-21500(r12)
+    3a88:	2c 02 34 9f 	stbu    r25,556(r20)
+    3a8c:	00 01 00 04 	.long 0x4000100
 }
-    3aa0:	8b 30 01 55 	rlwinm. r1,r8,6,2,5
-    3aa4:	04 8b 30 a8 	lha     r1,-29948(r16)
+    3a90:	ac 2c bc 2c 	cmpdi   cr1,r28,11436
+    3a94:	01 6f 00 02 	.long 0x2006f01
 		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
-    3aa8:	30 04 91 e8 	ld      r4,1072(r17)
-    3aac:	78 9f 00 02 	.long 0x2009f78
-	...
-    3abc:	00 00 00 04 	.long 0x4000000
-    3ac0:	e0 2c e7 2c 	cmpdi   cr1,r7,11488
+    3a98:	00 04 c0 2c 	cmpwi   cr1,r0,1024
+    3a9c:	e0 2c 01 6f 	xoris   r1,r24,11488
+    3aa0:	00 00 04 04 	.long 0x4040000
+		return -EINVAL;
+    3aa4:	d0 2c d0 2c 	cmpwi   cr1,r16,11472
+		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
+    3aa8:	01 59 00 02 	.long 0x2005901
+    3aac:	00 04 bc 2c 	cmpdi   cr1,r28,1024
+    3ab0:	c0 2c 02 35 	addic.  r8,r2,11456
 		return -EINVAL;
-    3ac4:	01 55 04 e7 	psq_lu  f24,1281(r4),0,5
-    3ac8:	2c c0 2d 04 	.long 0x42dc02c
-    3acc:	91 f8 74 9f 	stbu    r27,-1903(r20)
-    3ad0:	04 9c 2e a8 	lha     r1,-25596(r14)
-    3ad4:	2e 04 91 f8 	stq     r4,1068(r17)
-{
-    3ad8:	74 9f 04 a8 	lha     r0,-24716(r4)
-    3adc:	2e b7 2e 01 	.long 0x12eb72e
-    3ae0:	55 04 b7 2e 	cmpdi   cr5,r23,1109
-    3ae4:	c0 2e 04 91 	stw     r8,11968(r4)
-    3ae8:	f8 74 9f 04 	.long 0x49f74f8
-    3aec:	98 2f a8 2f 	cmpdi   cr7,r8,12184
+    3ab4:	9f 00 02 00 	.long 0x2009f
+    3ab8:	04 bc 2c c0 	lfs     f1,-17404(r12)
+    3abc:	2c 01 6f 00 	.long 0x6f012c
+    3ac0:	02 00 00 00 	.long 0x2
+    3ac4:	00 00 04 e0 	lq      r0,0(r4)
+{
+    3ac8:	2c c0 2d 01 	.long 0x12dc02c
+    3acc:	67 04 9c 2e 	cmpwi   cr5,r28,1127
+    3ad0:	c0 2e 01 67 	oris    r1,r24,11968
+    3ad4:	04 98 2f a8 	lha     r1,-26620(r15)
+    3ad8:	30 01 67 00 	.long 0x670130
+    3adc:	02 00 00 00 	.long 0x2
 	int ret = lpid + 1;
-    3af0:	04 91 f8 74 	andis.  r24,r7,37124
+    3ae0:	00 00 04 e0 	lq      r0,0(r4)
 {
-    3af4:	9f 04 a8 2f 	cmpdi   cr7,r8,1183
-    3af8:	b7 2f 01 55 	rlwinm. r1,r8,5,30,27
-    3afc:	04 b7 2f a8 	lha     r1,-18684(r15)
-    3b00:	30 04 91 f8 	std     r4,1072(r17)
-    3b04:	74 9f 00 02 	.long 0x2009f74
-    3b08:	00 00 00 00 	.long 0x0
+    3ae4:	2c c0 2d 01 	.long 0x12dc02c
+    3ae8:	68 04 9c 2e 	cmpwi   cr5,r28,1128
+    3aec:	c0 2e 01 68 	xori    r1,r0,11968
+    3af0:	04 98 2f a8 	lha     r1,-26620(r15)
+    3af4:	30 01 68 00 	.long 0x680130
+    3af8:	02 00 00 00 	.long 0x2
 	int ret = lpid + 1;
-    3b0c:	00 04 e0 2c 	cmpdi   cr1,r0,1024
-    3b10:	c0 2d 01 6f 	xoris   r1,r24,11712
-    3b14:	04 9c 2e c0 	lfs     f1,-25596(r14)
+    3afc:	00 00 00 00 	.long 0x0
+    3b00:	00 00 04 e0 	lq      r0,0(r4)
+    3b04:	2c c0 2d 04 	.long 0x42dc02c
 	if (!idr_get_next(&kvm->arch.kvm_nested_guest_idr, &ret))
-    3b18:	2e 01 6f 04 	.long 0x46f012e
-    3b1c:	98 2f a8 30 	addic   r5,r8,12184
-    3b20:	01 6f 00 01 	.long 0x1006f01
-    3b24:	06 04 f0 2c 	cmpdi   cr1,r16,1030
-    3b28:	f0 2c 01 6f 	xoris   r1,r24,11504
-    3b2c:	00 03 06 04 	.long 0x4060300
+    3b08:	91 e8 78 9f 	stbu    r27,-5999(r24)
+    3b0c:	04 9c 2e c0 	lfs     f1,-25596(r14)
+    3b10:	2e 04 91 e8 	lwa     r4,1068(r17)
+    3b14:	78 9f 04 98 	stb     r0,-24712(r4)
+    3b18:	2f cc 2f 04 	.long 0x42fcc2f
+    3b1c:	91 e8 78 9f 	stbu    r27,-5999(r24)
 	if (unlikely(ms->mmiowb_pending)) {
-    3b30:	f0 2c f0 2c 	cmpdi   cr1,r16,11504
+    3b20:	04 cc 2f 8b 	lbz     r25,-13308(r15)
 	struct mmiowb_state *ms = __mmiowb_state();
-    3b34:	01 6f 00 01 	.long 0x1006f01
+    3b24:	30 01 55 04 	.long 0x4550130
 	if (unlikely(ms->mmiowb_pending)) {
-    3b38:	00 00 00 04 	.long 0x4000000
-    3b3c:	b0 2d c0 2d 	cmpwi   cr3,r0,11696
+    3b28:	8b 30 a8 30 	addic   r5,r8,12427
+    3b2c:	04 91 e8 78 	rldicr  r8,r7,18,4
 	ms->nesting_count--;
-    3b40:	01 59 04 98 	stb     r0,22785(r4)
-    3b44:	2f a4 2f 01 	.long 0x12fa42f
-    3b48:	59 00 02 00 	.long 0x20059
-    3b4c:	02 03 02 00 	.long 0x20302
-    3b50:	00 00 04 c0 	lfs     f0,0(r4)
-    3b54:	2d e0 2d 01 	.long 0x12de02d
-}
-    3b58:	6f 04 c0 2e 	cmpwi   cr5,r0,1135
-    3b5c:	90 2f 01 6f 	xoris   r1,r24,12176
-    3b60:	04 a8 30 b8 	lm      r1,-22524(r16)
-    3b64:	30 01 6f 04 	.long 0x46f0130
+    3b30:	9f 00 02 00 	.long 0x2009f
+	...
+    3b40:	00 00 04 e0 	lq      r0,0(r4)
+    3b44:	2c e7 2c 01 	.long 0x12ce72c
+}
+    3b48:	55 04 e7 2c 	cmpdi   cr1,r7,1109
+    3b4c:	c0 2d 04 91 	stw     r8,11712(r4)
+    3b50:	f8 74 9f 04 	.long 0x49f74f8
+    3b54:	9c 2e a8 2e 	cmpdi   cr5,r8,11932
 	return ret;
-    3b68:	f4 3f c0 40 	bge-    7b5c <kvmhv_nested_next_lpid+0x4084>
+    3b58:	04 91 f8 74 	andis.  r24,r7,37124
 }
-    3b6c:	01 6f 00 00 	.long 0x6f01
-    3b70:	00 00 03 04 	.long 0x4030000
-    3b74:	00 00 00 04 	.long 0x4000000
-    3b78:	d0 2d df 2d 	cmpwi   cr3,r31,11728
-    3b7c:	01 54 04 d0 	stfs    f0,21505(r4)
-    3b80:	2e 90 2f 01 	.long 0x12f902e
-    3b84:	54 04 a8 30 	addic   r5,r8,1108
-    3b88:	b7 30 01 54 	rlwinm. r1,r0,6,2,27
-    3b8c:	04 f4 3f c0 	lfs     f1,-3068(r31)
+    3b5c:	9f 04 a8 2e 	cmpdi   cr5,r8,1183
+    3b60:	b7 2e 01 55 	rlwinm. r1,r8,5,26,27
+    3b64:	04 b7 2e c0 	lfs     f1,-18684(r14)
+    3b68:	2e 04 91 f8 	stq     r4,1068(r17)
+    3b6c:	74 9f 04 98 	stb     r0,-24716(r4)
+    3b70:	2f a8 2f 04 	.long 0x42fa82f
+    3b74:	91 f8 74 9f 	stbu    r27,-1903(r20)
+    3b78:	04 a8 2f b7 	sthu    r25,-22524(r15)
+    3b7c:	2f 01 55 04 	.long 0x455012f
 	if (unlikely(ms->mmiowb_pending)) {
-    3b90:	40 01 54 00 	.long 0x540140
+    3b80:	b7 2f a8 30 	addic   r5,r8,12215
 		ret = -1;
-    3b94:	00 00 00 03 	.long 0x3000000
-    3b98:	04 00 00 00 	.long 0x4
+    3b84:	04 91 f8 74 	andis.  r24,r7,37124
+    3b88:	9f 00 02 00 	.long 0x2009f
 	struct mmiowb_state *ms = __mmiowb_state();
-    3b9c:	04 d0 2d df 	stfdu   f25,-12284(r13)
+    3b8c:	00 00 00 00 	.long 0x0
 	if (unlikely(ms->mmiowb_pending)) {
-    3ba0:	2d 01 53 04 	.long 0x453012d
-    3ba4:	d0 2e 90 2f 	cmpwi   cr7,r16,11984
+    3b90:	04 e0 2c c0 	lfs     f1,-8188(r12)
+    3b94:	2d 01 6f 04 	.long 0x46f012d
 		ms->mmiowb_pending = 0;
-    3ba8:	01 53 04 a8 	lha     r0,21249(r4)
-    3bac:	30 b7 30 01 	.long 0x130b730
+    3b98:	9c 2e c0 2e 	cmpwi   cr5,r0,11932
+    3b9c:	01 6f 04 98 	stb     r0,28417(r4)
 		mmiowb();
-    3bb0:	53 04 f4 3f 	addis   r31,r20,1107
-    3bb4:	c0 40 01 53 	rlwimi  r1,r24,8,3,0
+    3ba0:	2f a8 30 01 	.long 0x130a82f
+    3ba4:	6f 00 01 06 	.long 0x601006f
 }
-    3bb8:	00 03 00 03 	.long 0x3000300
-    3bbc:	00 07 00 00 	.long 0x700
-    3bc0:	00 04 d0 2d 	cmpwi   cr3,r16,1024
-    3bc4:	d4 2d 0e 74 	andis.  r14,r0,11732
-    3bc8:	00 0c ff ff 	.long 0xffff0c00
-    3bcc:	ff ff 1a 31 	addic   r8,r26,-1
-    3bd0:	2b 08 ff 1a 	.long 0x1aff082b
-    3bd4:	9f 04 d0 2e 	cmpwi   cr5,r16,1183
-    3bd8:	8c 2f 0e 74 	andis.  r14,r0,12172
-    3bdc:	00 0c ff ff 	.long 0xffff0c00
-    3be0:	ff ff 1a 31 	addic   r8,r26,-1
-    3be4:	2b 08 ff 1a 	.long 0x1aff082b
-    3be8:	9f 04 a8 30 	addic   r5,r8,1183
-    3bec:	ac 30 0e 74 	andis.  r14,r0,12460
-    3bf0:	00 0c ff ff 	.long 0xffff0c00
-    3bf4:	ff ff 1a 31 	addic   r8,r26,-1
-    3bf8:	2b 08 ff 1a 	.long 0x1aff082b
-    3bfc:	9f 04 f4 3f 	addis   r31,r20,1183
-    3c00:	c0 40 0e 74 	andis.  r14,r0,16576
-    3c04:	00 0c ff ff 	.long 0xffff0c00
-    3c08:	ff ff 1a 31 	addic   r8,r26,-1
-    3c0c:	2b 08 ff 1a 	.long 0x1aff082b
-    3c10:	9f 00 02 00 	.long 0x2009f
-    3c14:	02 00 02 00 	.long 0x20002
-    3c18:	00 00 00 00 	.long 0x0
-    3c1c:	04 cc 3a e4 	psq_lu  f1,-1020(r26),1,4
-    3c20:	3a 01 6f 04 	.long 0x46f013a
-    3c24:	f0 3b 8c 3c 	addis   r4,r12,15344
-    3c28:	01 6f 04 e4 	psq_lu  f0,-255(r4),0,6
-    3c2c:	3d f4 3d 01 	.long 0x13df43d
-    3c30:	6f 04 dc 3f 	addis   r30,r28,1135
-    3c34:	e4 3f 01 6f 	xoris   r1,r24,16356
-    3c38:	04 c0 40 cc 	.long 0xcc40c004
-    3c3c:	40 01 6f 00 	.long 0x6f0140
-    3c40:	00 00 00 00 	.long 0x0
-    3c44:	04 00 00 00 	.long 0x4
-    3c48:	00 00 04 d8 	stfd    f0,0(r4)
-    3c4c:	3a dc 3a 01 	.long 0x13adc3a
-    3c50:	54 04 80 3c 	lis     r4,1108
-    3c54:	8c 3c 01 5a 	rlmi    r1,r16,r7,18,6
-    3c58:	04 e4 3d e8 	ld      r1,-7164(r29)
-    3c5c:	3d 01 5a 04 	.long 0x45a013d
-    3c60:	dc 3f e4 3f 	addis   r31,r4,16348
-    3c64:	01 5a 04 c0 	lfs     f0,23041(r4)
-    3c68:	40 cc 40 01 	.long 0x140cc40
-    3c6c:	54 00 00 00 	.long 0x54
-    3c70:	00 00 04 00 	.long 0x40000
-    3c74:	00 00 00 00 	.long 0x0
-    3c78:	04 d8 3a e3 	psq_l   f25,-2044(r26),1,5
-    3c7c:	3a 01 53 04 	.long 0x453013a
-    3c80:	80 3c 8c 3c 	addis   r4,r12,15488
-    3c84:	01 53 04 e4 	psq_lu  f0,769(r4),0,5
-    3c88:	3d f3 3d 01 	.long 0x13df33d
-    3c8c:	53 04 dc 3f 	addis   r30,r28,1107
-    3c90:	e4 3f 01 53 	rlwimi  r1,r24,7,31,18
-    3c94:	04 c0 40 cc 	.long 0xcc40c004
-    3c98:	40 01 53 00 	.long 0x530140
-    3c9c:	03 00 03 00 	.long 0x30003
-    3ca0:	07 00 00 00 	.long 0x7
-    3ca4:	00 00 04 d8 	stfd    f0,0(r4)
-    3ca8:	3a dc 3a 0e 	twi     17,r26,-9158
-    3cac:	74 00 0c ff 	.long 0xff0c0074
-    3cb0:	ff ff ff 1a 	.long 0x1affffff
-    3cb4:	31 2b 08 ff 	.long 0xff082b31
-    3cb8:	1a 9f 04 80 	lwz     r0,-24806(r4)
-    3cbc:	3c 8c 3c 0e 	twi     17,r28,-29636
-    3cc0:	7a 00 0c ff 	fmadd   f24,f12,f1,f0
-    3cc4:	ff ff ff 1a 	.long 0x1affffff
-    3cc8:	31 2b 08 ff 	.long 0xff082b31
-    3ccc:	1a 9f 04 e4 	lxsd    v0,-24808(r4)
-    3cd0:	3d e8 3d 0e 	twi     17,r29,-6083
-    3cd4:	7a 00 0c ff 	fmadd   f24,f12,f1,f0
-    3cd8:	ff ff ff 1a 	.long 0x1affffff
-    3cdc:	31 2b 08 ff 	.long 0xff082b31
-    3ce0:	1a 9f 04 dc 	stfdu   f0,-24806(r4)
-    3ce4:	3f e0 3f 0e 	twi     17,r31,-8129
-    3ce8:	7a 00 0c ff 	fmadd   f24,f12,f1,f0
-    3cec:	ff ff ff 1a 	.long 0x1affffff
-    3cf0:	31 2b 08 ff 	.long 0xff082b31
-    3cf4:	1a 9f 04 c0 	lfs     f0,-24806(r4)
-    3cf8:	40 cc 40 0e 	twi     18,r0,-13248
-    3cfc:	74 00 0c ff 	.long 0xff0c0074
-    3d00:	ff ff ff 1a 	.long 0x1affffff
-    3d04:	31 2b 08 ff 	.long 0xff082b31
-    3d08:	1a 9f 00 01 	.long 0x1009f1a
-    3d0c:	00 04 c0 30 	addic   r6,r0,1024
-    3d10:	c4 30 01 6f 	xoris   r1,r24,12484
-    3d14:	00 03 00 04 	.long 0x4000300
-    3d18:	c0 30 c4 30 	addic   r6,r4,12480
-    3d1c:	01 6f 00 02 	.long 0x2006f01
-    3d20:	00 04 ec 33 	addic   r31,r12,1024
-    3d24:	b4 35 04 91 	stw     r8,13748(r4)
-    3d28:	f0 76 9f 00 	.long 0x9f76f0
-    3d2c:	01 00 04 ec 	.long 0xec040001
-    3d30:	33 b4 35 06 	.long 0x635b433
-    3d34:	a0 00 00 00 	.long 0xa0
-    3d38:	00 00 00 01 	.long 0x1000000
-    3d3c:	00 04 ec 33 	addic   r31,r12,1024
-    3d40:	b4 35 04 91 	stw     r8,13748(r4)
-    3d44:	f8 74 9f 00 	.long 0x9f74f8
-    3d48:	01 00 04 ec 	.long 0xec040001
-    3d4c:	33 b4 35 01 	.long 0x135b433
-    3d50:	6f 00 03 00 	.long 0x3006f
-    3d54:	04 ec 33 e3 	psq_l   f25,-1020(r19),1,6
-    3d58:	34 01 5a 00 	.long 0x5a0134
-    3d5c:	02 00 00 00 	.long 0x2
-	...
-    3d68:	04 cc 34 e8 	ld      r1,-13308(r20)
-    3d6c:	3a 0a 10 80 	lwz     r0,2618(r16)
-    3d70:	94 88 9c 80 	lwz     r4,-30572(r28)
-    3d74:	80 80 38 9f 	stbu    r25,-32640(r24)
-    3d78:	04 a8 3b 8c 	lbzu    r1,-22524(r27)
-    3d7c:	3c 0a 10 80 	lwz     r0,2620(r16)
-    3d80:	94 88 9c 80 	lwz     r4,-30572(r28)
-    3d84:	80 80 38 9f 	stbu    r25,-32640(r24)
-    3d88:	04 8c 3d 98 	stb     r1,-29692(r29)
-    3d8c:	3e 0a 10 80 	lwz     r0,2622(r16)
-    3d90:	94 88 9c 80 	lwz     r4,-30572(r28)
-    3d94:	80 80 38 9f 	stbu    r25,-32640(r24)
-    3d98:	04 c8 3e e4 	psq_lu  f1,-2044(r30),1,4
-    3d9c:	3f 0a 10 80 	lwz     r0,2623(r16)
-    3da0:	94 88 9c 80 	lwz     r4,-30572(r28)
-    3da4:	80 80 38 9f 	stbu    r25,-32640(r24)
-    3da8:	04 c0 40 cc 	.long 0xcc40c004
-    3dac:	40 0a 10 80 	lwz     r0,2624(r16)
-    3db0:	94 88 9c 80 	lwz     r4,-30572(r28)
-    3db4:	80 80 38 9f 	stbu    r25,-32640(r24)
-    3db8:	04 90 41 98 	stb     r2,-28668(r1)
-    3dbc:	41 0a 10 80 	lwz     r0,2625(r16)
-    3dc0:	94 88 9c 80 	lwz     r4,-30572(r28)
-    3dc4:	80 80 38 9f 	stbu    r25,-32640(r24)
-    3dc8:	00 05 00 04 	.long 0x4000500
-    3dcc:	ec 33 cc 34 	addic.  r6,r12,13292
-    3dd0:	04 91 f8 74 	andis.  r24,r7,37124
-    3dd4:	9f 00 05 00 	.long 0x5009f
-    3dd8:	04 ec 33 cc 	lfdu    f1,-5116(r19)
-    3ddc:	34 01 6f 00 	.long 0x6f0134
-    3de0:	07 00 04 ec 	dqua.   f0,f4,f0,0
-    3de4:	33 cc 34 01 	.long 0x134cc33
-    3de8:	5a 00 01 03 	.long 0x301005a
-    3dec:	04 dc 35 dc 	stfdu   f1,-9212(r21)
-    3df0:	35 01 53 00 	.long 0x530135
-    3df4:	01 00 00 00 	.long 0x1
-    3df8:	00 00 04 d8 	stfd    f0,0(r4)
-    3dfc:	36 b0 37 04 	.long 0x437b036
-    3e00:	91 f8 74 9f 	stbu    r27,-1903(r20)
-    3e04:	04 a8 3b c4 	lfsu    f1,-22524(r27)
-    3e08:	3b 04 91 f8 	.long 0xf891043b
-    3e0c:	74 9f 04 ac 	lhau    r0,-24716(r4)
-    3e10:	3f dc 3f 04 	.long 0x43fdc3f
-    3e14:	91 f8 74 9f 	stbu    r27,-1903(r20)
-    3e18:	00 01 00 00 	.long 0x100
-    3e1c:	00 00 00 04 	.long 0x4000000
-    3e20:	d8 36 b0 37 	addic.  r29,r16,14040
-    3e24:	01 6f 04 a8 	lha     r0,28417(r4)
-    3e28:	3b c4 3b 01 	.long 0x13bc43b
-    3e2c:	6f 04 ac 3f 	addis   r29,r12,1135
-    3e30:	dc 3f 01 6f 	xoris   r1,r24,16348
-    3e34:	00 03 00 00 	.long 0x300
-    3e38:	00 00 00 04 	.long 0x4000000
-    3e3c:	d8 36 b0 37 	addic.  r29,r16,14040
-    3e40:	03 8f 98 3b 	addi    r28,r24,-28925
-    3e44:	04 a8 3b c4 	lfsu    f1,-22524(r27)
-    3e48:	3b 03 8f 98 	stb     r4,827(r15)
-    3e4c:	3b 04 ac 3f 	addis   r29,r12,1083
-    3e50:	dc 3f 03 8f 	lbzu    r24,16348(r3)
-    3e54:	98 3b 00 01 	.long 0x1003b98
-    3e58:	00 04 c8 38 	addi    r6,r8,1024
-    3e5c:	ec 39 04 91 	stw     r8,14828(r4)
-    3e60:	f0 76 9f 00 	.long 0x9f76f0
-    3e64:	01 00 04 c8 	lfd     f0,1(r4)
-    3e68:	38 ec 39 01 	.long 0x139ec38
-    3e6c:	6f 00 03 00 	.long 0x3006f
-    3e70:	04 c8 38 88 	lbz     r1,-14332(r24)
-    3e74:	39 01 59 00 	.long 0x590139
-    3e78:	01 06 04 8c 	lbzu    r0,1537(r4)
-    3e7c:	3a 8c 3a 01 	.long 0x13a8c3a
-    3e80:	6f 00 03 06 	.long 0x603006f
-    3e84:	04 8c 3a 8c 	lbzu    r1,-29692(r26)
-    3e88:	3a 01 6f 00 	.long 0x6f013a
-    3e8c:	01 04 04 9c 	stbu    r0,1025(r4)
-    3e90:	3a b8 3a 01 	.long 0x13ab83a
-    3e94:	6f 00 03 00 	.long 0x3006f
-    3e98:	00 00 04 9c 	stbu    r0,0(r4)
-    3e9c:	3a a4 3a 08 	tdlgti  r26,-23494
-    3ea0:	8f 00 06 23 	subfic  r24,r6,143
-    3ea4:	b0 9a 01 9f 	stbu    r24,-25936(r1)
-    3ea8:	04 a4 3a ab 	lha     r25,-23548(r26)
-    3eac:	3a 01 53 00 	.long 0x53013a
-    3eb0:	00 04 04 b8 	lm      r0,1024(r4)
-    3eb4:	3a b8 3a 01 	.long 0x13ab83a
-    3eb8:	54 00 06 00 	.long 0x60054
-    3ebc:	00 00 00 00 	.long 0x0
-    3ec0:	04 b8 3a cc 	lfdu    f1,-18428(r26)
-    3ec4:	3a 01 67 04 	.long 0x467013a
-    3ec8:	c4 3b f0 3b 	addi    r31,r16,15300
-    3ecc:	01 67 04 8c 	lbzu    r0,26369(r4)
-    3ed0:	3d e4 3d 01 	.long 0x13de43d
-    3ed4:	67 00 06 00 	.long 0x60067
-    3ed8:	00 00 00 00 	.long 0x0
-    3edc:	04 b8 3a cc 	lfdu    f1,-18428(r26)
-    3ee0:	3a 01 68 04 	.long 0x468013a
-    3ee4:	c4 3b f0 3b 	addi    r31,r16,15300
-    3ee8:	01 68 04 8c 	lbzu    r0,26625(r4)
-    3eec:	3d e4 3d 01 	.long 0x13de43d
-    3ef0:	68 00 06 00 	.long 0x60068
-	...
-    3efc:	04 b8 3a cc 	lfdu    f1,-18428(r26)
-    3f00:	3a 04 91 e8 	lwa     r4,1080(r17)
-    3f04:	78 9f 04 c4 	lfsu    f0,-24712(r4)
-    3f08:	3b f0 3b 04 	.long 0x43bf03b
-    3f0c:	91 e8 78 9f 	stbu    r27,-5999(r24)
-    3f10:	04 8c 3d b4 	sthu    r1,-29692(r29)
-    3f14:	3d 04 91 e8 	ldu     r4,1084(r17)
-    3f18:	78 9f 04 b4 	sthu    r0,-24712(r4)
-    3f1c:	3d c7 3d 01 	.long 0x13dc73d
-    3f20:	55 04 c7 3d 	addis   r14,r7,1109
-    3f24:	e4 3d 04 91 	stw     r8,15844(r4)
-    3f28:	e8 78 9f 00 	.long 0x9f78e8
-    3f2c:	06 00 00 00 	.long 0x6
-	...
-    3f38:	00 00 04 b8 	lm      r0,0(r4)
-    3f3c:	3a cc 3a 04 	.long 0x43acc3a
-    3f40:	91 f8 74 9f 	stbu    r27,-1903(r20)
-    3f44:	04 c4 3b d8 	stfd    f1,-15356(r27)
-    3f48:	3b 04 91 f8 	.long 0xf891043b
-    3f4c:	74 9f 04 d8 	stfd    f0,-24716(r4)
-    3f50:	3b e7 3b 01 	.long 0x13be73b
-    3f54:	55 04 e7 3b 	addi    r31,r7,1109
-    3f58:	f0 3b 04 91 	stw     r8,15344(r4)
-    3f5c:	f8 74 9f 04 	.long 0x49f74f8
-    3f60:	8c 3d 98 3d 	addis   r12,r24,15756
-    3f64:	04 91 f8 74 	andis.  r24,r7,37124
-    3f68:	9f 04 98 3d 	addis   r12,r24,1183
-    3f6c:	a7 3d 01 55 	rlwinm. r1,r8,7,22,19
-    3f70:	04 a7 3d e4 	psq_lu  f1,1796(r29),1,2
-    3f74:	3d 04 91 f8 	stdu    r4,1084(r17)
-    3f78:	74 9f 00 06 	.long 0x6009f74
-    3f7c:	00 00 00 00 	.long 0x0
-    3f80:	00 04 b8 3a 	addi    r21,r24,1024
-    3f84:	cc 3a 01 6f 	xoris   r1,r24,15052
-    3f88:	04 c4 3b f0 	xsmaxcdp vs1,vs59,vs24
-    3f8c:	3b 01 6f 04 	.long 0x46f013b
-    3f90:	8c 3d e4 3d 	addis   r15,r4,15756
-    3f94:	01 6f 00 09 	tdgti   r0,28417
-    3f98:	00 00 00 04 	.long 0x4000000
-    3f9c:	b8 3a cc 3a 	addi    r22,r12,15032
-    3fa0:	01 59 04 8c 	lbzu    r0,22785(r4)
-    3fa4:	3d 94 3d 01 	.long 0x13d943d
-    3fa8:	59 00 01 06 	.long 0x6010059
-    3fac:	04 f4 3c f4 	psq_stu f1,1028(r28),1,7
-    3fb0:	3c 01 6f 00 	.long 0x6f013c
-    3fb4:	03 06 04 f4 	stxssp  v0,1536(r4)
-    3fb8:	3c f4 3c 01 	.long 0x13cf43c
-    3fbc:	6f 00 01 00 	.long 0x1006f
-    3fc0:	04 f0 3e ac 	lhau    r1,-4092(r30)
-    3fc4:	3f 01 67 00 	.long 0x67013f
-    3fc8:	01 00 04 f0 	xsaddsp vs32,vs4,vs0
-    3fcc:	3e ac 3f 01 	.long 0x13fac3e
-    3fd0:	6f 00 00 00 	.long 0x6f
-    3fd4:	04 c0 0b f0 	xsaddsp vs0,vs43,vs24
-    3fd8:	0b 01 59 00 	.long 0x59010b
-    3fdc:	00 00 00 00 	.long 0x0
-    3fe0:	00 00 04 00 	.long 0x40000
-    3fe4:	1c 01 53 04 	.long 0x453011c
-    3fe8:	1c 20 03 73 	andi.   r3,r24,8220
-    3fec:	08 9f 04 20 	subfic  r0,r4,-24824
-    3ff0:	58 04 a3 01 	.long 0x1a30458
-    3ff4:	53 9f 00 01 	.long 0x1009f53
-    3ff8:	00 00 00 04 	.long 0x4000000
-    3ffc:	00 1c 01 53 	rlwimi  r1,r24,3,16,0
-    4000:	04 1c 20 03 	.long 0x3201c04
-    4004:	73 08 9f 00 	.long 0x9f0873
-    4008:	00 00 04 e0 	lq      r0,0(r4)
-    400c:	09 c8 0a 01 	.long 0x10ac809
-    4010:	59 00 00 00 	.long 0x59
-    4014:	00 00 00 00 	.long 0x0
-    4018:	00 00 04 b8 	lm      r0,0(r4)
-    401c:	06 8f 07 01 	.long 0x1078f06
-    4020:	54 04 8f 07 	.long 0x78f0454
-    4024:	d0 08 01 6d 	xoris   r1,r8,2256
-    4028:	04 d0 08 e0 	lq      r0,-12288(r8)
-    402c:	08 04 a3 01 	.long 0x1a30408
-    4030:	54 9f 04 e0 	lq      r0,-24752(r4)
-    4034:	08 d0 09 01 	.long 0x109d008
-    4038:	6d 00 00 00 	.long 0x6d
-    403c:	00 00 00 00 	.long 0x0
-    4040:	00 00 04 b8 	lm      r0,0(r4)
-    4044:	06 8f 07 01 	.long 0x1078f06
-    4048:	55 04 8f 07 	.long 0x78f0455
-    404c:	cc 08 01 6c 	xoris   r1,r0,2252
-    4050:	04 cc 08 e0 	lq      r0,-13312(r8)
-    4054:	08 04 a3 01 	.long 0x1a30408
-    4058:	55 9f 04 e0 	lq      r0,-24752(r4)
-    405c:	08 d0 09 01 	.long 0x109d008
-    4060:	6c 00 00 00 	.long 0x6c
-    4064:	00 00 00 00 	.long 0x0
-    4068:	00 00 04 b8 	lm      r0,0(r4)
-    406c:	06 8f 07 01 	.long 0x1078f06
-    4070:	56 04 8f 07 	.long 0x78f0456
-    4074:	d4 08 01 6e 	xoris   r1,r16,2260
-    4078:	04 d4 08 e0 	lq      r0,-11264(r8)
-    407c:	08 04 a3 01 	.long 0x1a30408
-    4080:	56 9f 04 e0 	lq      r0,-24752(r4)
-    4084:	08 d0 09 01 	.long 0x109d008
-    4088:	6e 00 01 00 	.long 0x1006e
-    408c:	00 00 00 00 	.long 0x0
-    4090:	04 84 07 8f 	lbzu    r24,-31740(r7)
-    4094:	07 01 53 04 	.long 0x4530107
-    4098:	8f 07 d8 08 	tdllei  r24,1935
-    409c:	01 6f 04 e0 	lq      r0,28416(r4)
-    40a0:	08 d0 09 01 	.long 0x109d008
-    40a4:	6f 00 02 00 	.long 0x2006f
-    40a8:	00 01 00 00 	.long 0x100
-    40ac:	04 84 07 f4 	psq_stu f0,1028(r7),1,0
-    40b0:	07 02 30 9f 	stbu    r25,519(r16)
-    40b4:	04 e0 08 8c 	lbzu    r0,-8188(r8)
-    40b8:	09 02 30 9f 	stbu    r25,521(r16)
-    40bc:	04 ac 09 c8 	lfd     f0,-21500(r9)
-    40c0:	09 02 30 9f 	stbu    r25,521(r16)
-    40c4:	00 01 00 00 	.long 0x100
-    40c8:	00 00 00 00 	.long 0x0
-    40cc:	00 04 c8 07 	.long 0x7c80400
-    40d0:	f4 07 01 53 	rlwimi  r1,r24,0,31,26
-    40d4:	04 e0 08 84 	lwzu    r0,-8188(r8)
-    40d8:	09 01 53 04 	.long 0x4530109
-    40dc:	84 09 8b 09 	tdgei   r11,2436
-    40e0:	01 54 04 ac 	lhau    r0,21505(r4)
-    40e4:	09 c8 09 02 	.long 0x209c809
-    40e8:	30 9f 00 00 	.long 0x9f30
-    40ec:	00 04 84 07 	.long 0x7840400
-    40f0:	d0 09 06 fa 	std     r16,2512(r6)
-    40f4:	04 44 01 00 	.long 0x14404
-    40f8:	9f 00 01 00 	.long 0x1009f
-    40fc:	00 00 04 88 	lbz     r0,0(r4)
-    4100:	07 8f 07 01 	.long 0x1078f07
-    4104:	53 04 8f 07 	.long 0x78f0453
-    4108:	90 07 01 6f 	xoris   r1,r24,1936
-    410c:	00 02 00 00 	attn
-    4110:	00 00 01 04 	.long 0x4010000
-    4114:	90 07 b4 07 	.long 0x7b40790
-    4118:	03 91 54 9f 	stbu    r26,-28413(r20)
-    411c:	04 b4 07 bf 	stmw    r24,-19452(r7)
-    4120:	07 01 56 04 	.long 0x4560107
-    4124:	bf 07 c8 07 	.long 0x7c807bf
-    4128:	03 91 54 9f 	stbu    r26,-28413(r20)
-    412c:	00 02 01 04 	.long 0x4010200
-    4130:	90 07 c8 07 	.long 0x7c80790
-    4134:	01 6c 00 02 	.long 0x2006c01
-    4138:	00 00 00 04 	.long 0x4000000
-    413c:	90 07 94 07 	.long 0x7940790
-    4140:	0b 8d 08 94 	stwu    r0,-29429(r8)
-    4144:	04 08 20 24 	dozi    r1,r0,2052
-    4148:	08 20 26 9f 	stbu    r25,8200(r6)
-    414c:	04 94 07 9f 	stbu    r24,-27644(r7)
-    4150:	07 01 54 00 	.long 0x540107
-    4154:	02 01 04 90 	stw     r0,258(r4)
-    4158:	07 c8 07 01 	.long 0x107c807
-    415c:	6f 00 00 00 	.long 0x6f
-    4160:	00 00 04 a0 	lhz     r0,0(r4)
-    4164:	07 ac 07 01 	.long 0x107ac07
-    4168:	53 04 ac 09 	tdi     13,r12,1107
-    416c:	c8 09 01 53 	rlwimi  r1,r24,1,7,4
-    4170:	00 00 01 04 	.long 0x4010000
-    4174:	c8 07 c8 07 	.long 0x7c807c8
-    4178:	01 53 00 06 	.long 0x6005301
-    417c:	00 04 90 07 	.long 0x7900400
-    4180:	9f 07 02 8d 	lbzu    r8,1951(r2)
-    4184:	08 00 06 00 	.long 0x60008
-    4188:	04 90 07 a0 	lhz     r0,-28668(r7)
+    3ba8:	04 f0 2c f0 	xsaddsp vs1,vs44,vs30
+    3bac:	2c 01 6f 00 	.long 0x6f012c
+    3bb0:	03 06 04 f0 	xvmaxsp vs32,vs4,vs32
+    3bb4:	2c f0 2c 01 	.long 0x12cf02c
+    3bb8:	6f 00 01 00 	.long 0x1006f
+    3bbc:	00 00 04 b0 	sth     r0,0(r4)
+    3bc0:	2d c0 2d 01 	.long 0x12dc02d
+    3bc4:	59 04 98 2f 	cmpwi   cr7,r24,1113
+    3bc8:	a4 2f 01 59 	rlmi    r1,r8,r5,30,18
+    3bcc:	00 02 00 02 	attn
+    3bd0:	03 02 00 00 	.long 0x203
+    3bd4:	00 04 c0 2d 	cmpwi   cr3,r0,1024
+    3bd8:	e0 2d 01 6f 	xoris   r1,r24,11744
+    3bdc:	04 c0 2e 90 	stw     r1,-16380(r14)
+    3be0:	2f 01 6f 04 	.long 0x46f012f
+    3be4:	a8 30 b8 30 	addic   r5,r24,12456
+    3be8:	01 6f 04 f4 	lxv     vs0,28416(r4)
+    3bec:	3f c0 40 01 	.long 0x140c03f
+    3bf0:	6f 00 00 00 	.long 0x6f
+    3bf4:	00 03 04 00 	.long 0x40300
+    3bf8:	00 00 04 d0 	stfs    f0,0(r4)
+    3bfc:	2d df 2d 01 	.long 0x12ddf2d
+    3c00:	54 04 d0 2e 	cmpwi   cr5,r16,1108
+    3c04:	90 2f 01 54 	rlwinm  r1,r0,5,30,8
+    3c08:	04 a8 30 b7 	sthu    r25,-22524(r16)
+    3c0c:	30 01 54 04 	.long 0x4540130
+    3c10:	f4 3f c0 40 	bge-    7c04 <kvmhv_nested_next_lpid+0x413c>
+    3c14:	01 54 00 00 	.long 0x5401
+    3c18:	00 00 03 04 	.long 0x4030000
+    3c1c:	00 00 00 04 	.long 0x4000000
+    3c20:	d0 2d df 2d 	cmpwi   cr3,r31,11728
+    3c24:	01 53 04 d0 	stfs    f0,21249(r4)
+    3c28:	2e 90 2f 01 	.long 0x12f902e
+    3c2c:	53 04 a8 30 	addic   r5,r8,1107
+    3c30:	b7 30 01 53 	rlwimi. r1,r24,6,2,27
+    3c34:	04 f4 3f c0 	lfs     f1,-3068(r31)
+    3c38:	40 01 53 00 	.long 0x530140
+    3c3c:	03 00 03 00 	.long 0x30003
+    3c40:	07 00 00 00 	.long 0x7
+    3c44:	04 d0 2d d4 	stfsu   f1,-12284(r13)
+    3c48:	2d 0e 74 00 	.long 0x740e2d
+    3c4c:	0c ff ff ff 	.long 0xffffff0c
+    3c50:	ff 1a 31 2b 	cmpldi  cr6,r17,6911
+    3c54:	08 ff 1a 9f 	stbu    r24,-248(r26)
+    3c58:	04 d0 2e 8c 	lbzu    r1,-12284(r14)
+    3c5c:	2f 0e 74 00 	.long 0x740e2f
+    3c60:	0c ff ff ff 	.long 0xffffff0c
+    3c64:	ff 1a 31 2b 	cmpldi  cr6,r17,6911
+    3c68:	08 ff 1a 9f 	stbu    r24,-248(r26)
+    3c6c:	04 a8 30 ac 	lhau    r1,-22524(r16)
+    3c70:	30 0e 74 00 	.long 0x740e30
+    3c74:	0c ff ff ff 	.long 0xffffff0c
+    3c78:	ff 1a 31 2b 	cmpldi  cr6,r17,6911
+    3c7c:	08 ff 1a 9f 	stbu    r24,-248(r26)
+    3c80:	04 f4 3f c0 	lfs     f1,-3068(r31)
+    3c84:	40 0e 74 00 	.long 0x740e40
+    3c88:	0c ff ff ff 	.long 0xffffff0c
+    3c8c:	ff 1a 31 2b 	cmpldi  cr6,r17,6911
+    3c90:	08 ff 1a 9f 	stbu    r24,-248(r26)
+    3c94:	00 02 00 02 	attn
+    3c98:	00 02 00 00 	attn
+    3c9c:	00 00 00 04 	.long 0x4000000
+    3ca0:	cc 3a e4 3a 	addi    r23,r4,15052
+    3ca4:	01 6f 04 f0 	xvmaxdp vs32,vs4,vs13
+    3ca8:	3b 8c 3c 01 	.long 0x13c8c3b
+    3cac:	6f 04 e4 3d 	addis   r15,r4,1135
+    3cb0:	f4 3d 01 6f 	xoris   r1,r24,15860
+    3cb4:	04 dc 3f e4 	psq_lu  f1,-1020(r31),1,5
+    3cb8:	3f 01 6f 04 	.long 0x46f013f
+    3cbc:	c0 40 cc 40 	bge-    cr3,7d7c <kvmhv_nested_next_lpid+0x42b4>
+    3cc0:	01 6f 00 00 	.long 0x6f01
+    3cc4:	00 00 00 04 	.long 0x4000000
+    3cc8:	00 00 00 00 	.long 0x0
+    3ccc:	00 04 d8 3a 	addi    r22,r24,1024
+    3cd0:	dc 3a 01 54 	rlwinm  r1,r0,7,11,14
+    3cd4:	04 80 3c 8c 	lbzu    r1,-32764(r28)
+    3cd8:	3c 01 5a 04 	.long 0x45a013c
+    3cdc:	e4 3d e8 3d 	addis   r15,r8,15844
+    3ce0:	01 5a 04 dc 	stfdu   f0,23041(r4)
+    3ce4:	3f e4 3f 01 	.long 0x13fe43f
+    3ce8:	5a 04 c0 40 	bgea-   458 <.debug_loclists+0x458>
+    3cec:	cc 40 01 54 	rlwinm  r1,r0,8,3,6
+    3cf0:	00 00 00 00 	.long 0x0
+    3cf4:	00 04 00 00 	.long 0x400
+    3cf8:	00 00 00 04 	.long 0x4000000
+    3cfc:	d8 3a e3 3a 	addi    r23,r3,15064
+    3d00:	01 53 04 80 	lwz     r0,21249(r4)
+    3d04:	3c 8c 3c 01 	.long 0x13c8c3c
+    3d08:	53 04 e4 3d 	addis   r15,r4,1107
+    3d0c:	f3 3d 01 53 	rlwimi. r1,r24,7,23,25
+    3d10:	04 dc 3f e4 	psq_lu  f1,-1020(r31),1,5
+    3d14:	3f 01 53 04 	.long 0x453013f
+    3d18:	c0 40 cc 40 	bge-    cr3,7dd8 <kvmhv_nested_next_lpid+0x4310>
+    3d1c:	01 53 00 03 	.long 0x3005301
+    3d20:	00 03 00 07 	.long 0x7000300
+    3d24:	00 00 00 00 	.long 0x0
+    3d28:	00 04 d8 3a 	addi    r22,r24,1024
+    3d2c:	dc 3a 0e 74 	andis.  r14,r0,15068
+    3d30:	00 0c ff ff 	.long 0xffff0c00
+    3d34:	ff ff 1a 31 	addic   r8,r26,-1
+    3d38:	2b 08 ff 1a 	.long 0x1aff082b
+    3d3c:	9f 04 80 3c 	lis     r4,1183
+    3d40:	8c 3c 0e 7a 	rldimi  r14,r16,7,18
+    3d44:	00 0c ff ff 	.long 0xffff0c00
+    3d48:	ff ff 1a 31 	addic   r8,r26,-1
+    3d4c:	2b 08 ff 1a 	.long 0x1aff082b
+    3d50:	9f 04 e4 3d 	addis   r15,r4,1183
+    3d54:	e8 3d 0e 7a 	rldic   r14,r16,7,55
+    3d58:	00 0c ff ff 	.long 0xffff0c00
+    3d5c:	ff ff 1a 31 	addic   r8,r26,-1
+    3d60:	2b 08 ff 1a 	.long 0x1aff082b
+    3d64:	9f 04 dc 3f 	addis   r30,r28,1183
+    3d68:	e0 3f 0e 7a 	rldicl  r14,r16,7,63
+    3d6c:	00 0c ff ff 	.long 0xffff0c00
+    3d70:	ff ff 1a 31 	addic   r8,r26,-1
+    3d74:	2b 08 ff 1a 	.long 0x1aff082b
+    3d78:	9f 04 c0 40 	bgela-  49c <.debug_loclists+0x49c>
+    3d7c:	cc 40 0e 74 	andis.  r14,r0,16588
+    3d80:	00 0c ff ff 	.long 0xffff0c00
+    3d84:	ff ff 1a 31 	addic   r8,r26,-1
+    3d88:	2b 08 ff 1a 	.long 0x1aff082b
+    3d8c:	9f 00 01 00 	.long 0x1009f
+    3d90:	04 c0 30 c4 	lfsu    f1,-16380(r16)
+    3d94:	30 01 6f 00 	.long 0x6f0130
+    3d98:	03 00 04 c0 	lfs     f0,3(r4)
+    3d9c:	30 c4 30 01 	.long 0x130c430
+    3da0:	6f 00 02 00 	.long 0x2006f
+    3da4:	04 ec 33 b4 	sthu    r1,-5116(r19)
+    3da8:	35 04 91 f0 	xxsel   vs36,vs49,vs0,vs16
+    3dac:	76 9f 00 01 	.long 0x1009f76
+    3db0:	00 04 ec 33 	addic   r31,r12,1024
+    3db4:	b4 35 06 a0 	lhz     r0,13748(r6)
+    3db8:	00 00 00 00 	.long 0x0
+    3dbc:	00 00 01 00 	.long 0x10000
+    3dc0:	04 ec 33 b4 	sthu    r1,-5116(r19)
+    3dc4:	35 04 91 f8 	stdu    r4,1076(r17)
+    3dc8:	74 9f 00 01 	.long 0x1009f74
+    3dcc:	00 04 ec 33 	addic   r31,r12,1024
+    3dd0:	b4 35 01 6f 	xoris   r1,r24,13748
+    3dd4:	00 03 00 04 	.long 0x4000300
+    3dd8:	ec 33 e3 34 	addic.  r7,r3,13292
+    3ddc:	01 5a 00 02 	.long 0x2005a01
+	...
+    3de8:	00 00 00 04 	.long 0x4000000
+    3dec:	cc 34 e8 3a 	addi    r23,r8,13516
+    3df0:	0a 10 80 94 	stu     r4,4106(0)
+    3df4:	88 9c 80 80 	lwz     r4,-25464(0)
+    3df8:	80 38 9f 04 	.long 0x49f3880
+    3dfc:	a8 3b 8c 3c 	addis   r4,r12,15272
+    3e00:	0a 10 80 94 	stu     r4,4106(0)
+    3e04:	88 9c 80 80 	lwz     r4,-25464(0)
+    3e08:	80 38 9f 04 	.long 0x49f3880
+    3e0c:	8c 3d 98 3e 	addis   r20,r24,15756
+    3e10:	0a 10 80 94 	stu     r4,4106(0)
+    3e14:	88 9c 80 80 	lwz     r4,-25464(0)
+    3e18:	80 38 9f 04 	.long 0x49f3880
+    3e1c:	c8 3e e4 3f 	addis   r31,r4,16072
+    3e20:	0a 10 80 94 	stu     r4,4106(0)
+    3e24:	88 9c 80 80 	lwz     r4,-25464(0)
+    3e28:	80 38 9f 04 	.long 0x49f3880
+    3e2c:	c0 40 cc 40 	bge-    cr3,7eec <kvmhv_nested_next_lpid+0x4424>
+    3e30:	0a 10 80 94 	stu     r4,4106(0)
+    3e34:	88 9c 80 80 	lwz     r4,-25464(0)
+    3e38:	80 38 9f 04 	.long 0x49f3880
+    3e3c:	90 41 98 41 	blt     cr6,7fcc <kvmhv_nested_next_lpid+0x4504>
+    3e40:	0a 10 80 94 	stu     r4,4106(0)
+    3e44:	88 9c 80 80 	lwz     r4,-25464(0)
+    3e48:	80 38 9f 00 	.long 0x9f3880
+    3e4c:	05 00 04 ec 	dadd.   f0,f4,f0
+    3e50:	33 cc 34 04 	.long 0x434cc33
+    3e54:	91 f8 74 9f 	stbu    r27,-1903(r20)
+    3e58:	00 05 00 04 	.long 0x4000500
+    3e5c:	ec 33 cc 34 	addic.  r6,r12,13292
+    3e60:	01 6f 00 07 	.long 0x7006f01
+    3e64:	00 04 ec 33 	addic   r31,r12,1024
+    3e68:	cc 34 01 5a 	rlmi    r1,r16,r6,19,6
+    3e6c:	00 01 03 04 	.long 0x4030100
+    3e70:	dc 35 dc 35 	addic.  r14,r28,13788
+    3e74:	01 53 00 01 	.long 0x1005301
+    3e78:	00 00 00 00 	.long 0x0
+    3e7c:	00 04 d8 36 	addic.  r22,r24,1024
+    3e80:	b0 37 04 91 	stw     r8,14256(r4)
+    3e84:	f8 74 9f 04 	.long 0x49f74f8
+    3e88:	a8 3b c4 3b 	addi    r30,r4,15272
+    3e8c:	04 91 f8 74 	andis.  r24,r7,37124
+    3e90:	9f 04 ac 3f 	addis   r29,r12,1183
+    3e94:	dc 3f 04 91 	stw     r8,16348(r4)
+    3e98:	f8 74 9f 00 	.long 0x9f74f8
+    3e9c:	01 00 00 00 	.long 0x1
+    3ea0:	00 00 04 d8 	stfd    f0,0(r4)
+    3ea4:	36 b0 37 01 	.long 0x137b036
+    3ea8:	6f 04 a8 3b 	addi    r29,r8,1135
+    3eac:	c4 3b 01 6f 	xoris   r1,r24,15300
+    3eb0:	04 ac 3f dc 	stfdu   f1,-21500(r31)
+    3eb4:	3f 01 6f 00 	.long 0x6f013f
+    3eb8:	03 00 00 00 	.long 0x3
+    3ebc:	00 00 04 d8 	stfd    f0,0(r4)
+    3ec0:	36 b0 37 03 	.long 0x337b036
+    3ec4:	8f 98 3b 04 	.long 0x43b988f
+    3ec8:	a8 3b c4 3b 	addi    r30,r4,15272
+    3ecc:	03 8f 98 3b 	addi    r28,r24,-28925
+    3ed0:	04 ac 3f dc 	stfdu   f1,-21500(r31)
+    3ed4:	3f 03 8f 98 	stb     r4,831(r15)
+    3ed8:	3b 00 01 00 	.long 0x1003b
+    3edc:	04 c8 38 ec 	dadd    f1,f24,f25
+    3ee0:	39 04 91 f0 	xxsel   vs36,vs17,vs0,vs48
+    3ee4:	76 9f 00 01 	.long 0x1009f76
+    3ee8:	00 04 c8 38 	addi    r6,r8,1024
+    3eec:	ec 39 01 6f 	xoris   r1,r24,14828
+    3ef0:	00 03 00 04 	.long 0x4000300
+    3ef4:	c8 38 88 39 	addi    r12,r8,14536
+    3ef8:	01 59 00 01 	.long 0x1005901
+    3efc:	06 04 8c 3a 	addi    r20,r12,1030
+    3f00:	8c 3a 01 6f 	xoris   r1,r24,14988
+    3f04:	00 03 06 04 	.long 0x4060300
+    3f08:	8c 3a 8c 3a 	addi    r20,r12,14988
+    3f0c:	01 6f 00 01 	.long 0x1006f01
+    3f10:	04 04 9c 3a 	addi    r20,r28,1028
+    3f14:	b8 3a 01 6f 	xoris   r1,r24,15032
+    3f18:	00 03 00 00 	.long 0x300
+    3f1c:	00 04 9c 3a 	addi    r20,r28,1024
+    3f20:	a4 3a 08 8f 	lbzu    r24,15012(r8)
+    3f24:	00 06 23 b0 	sth     r1,1536(r3)
+    3f28:	9a 01 9f 04 	.long 0x49f019a
+    3f2c:	a4 3a ab 3a 	addi    r21,r11,15012
+    3f30:	01 53 00 00 	.long 0x5301
+    3f34:	04 04 b8 3a 	addi    r21,r24,1028
+    3f38:	b8 3a 01 54 	rlwinm  r1,r0,7,10,28
+    3f3c:	00 06 00 00 	.long 0x600
+    3f40:	00 00 00 04 	.long 0x4000000
+    3f44:	b8 3a cc 3a 	addi    r22,r12,15032
+    3f48:	01 67 04 c4 	lfsu    f0,26369(r4)
+    3f4c:	3b f0 3b 01 	.long 0x13bf03b
+    3f50:	67 04 8c 3d 	addis   r12,r12,1127
+    3f54:	e4 3d 01 67 	oris    r1,r24,15844
+    3f58:	00 06 00 00 	.long 0x600
+    3f5c:	00 00 00 04 	.long 0x4000000
+    3f60:	b8 3a cc 3a 	addi    r22,r12,15032
+    3f64:	01 68 04 c4 	lfsu    f0,26625(r4)
+    3f68:	3b f0 3b 01 	.long 0x13bf03b
+    3f6c:	68 04 8c 3d 	addis   r12,r12,1128
+    3f70:	e4 3d 01 68 	xori    r1,r0,15844
+    3f74:	00 06 00 00 	.long 0x600
+    3f78:	00 00 00 00 	.long 0x0
+    3f7c:	00 00 00 04 	.long 0x4000000
+    3f80:	b8 3a cc 3a 	addi    r22,r12,15032
+    3f84:	04 91 e8 78 	rldicr  r8,r7,18,4
+    3f88:	9f 04 c4 3b 	addi    r30,r4,1183
+    3f8c:	f0 3b 04 91 	stw     r8,15344(r4)
+    3f90:	e8 78 9f 04 	.long 0x49f78e8
+    3f94:	8c 3d b4 3d 	addis   r13,r20,15756
+    3f98:	04 91 e8 78 	rldicr  r8,r7,18,4
+    3f9c:	9f 04 b4 3d 	addis   r13,r20,1183
+    3fa0:	c7 3d 01 55 	rlwinm. r1,r8,7,23,3
+    3fa4:	04 c7 3d e4 	psq_lu  f1,1796(r29),1,4
+    3fa8:	3d 04 91 e8 	ldu     r4,1084(r17)
+    3fac:	78 9f 00 06 	.long 0x6009f78
+	...
+    3fbc:	00 04 b8 3a 	addi    r21,r24,1024
+    3fc0:	cc 3a 04 91 	stw     r8,15052(r4)
+    3fc4:	f8 74 9f 04 	.long 0x49f74f8
+    3fc8:	c4 3b d8 3b 	addi    r30,r24,15300
+    3fcc:	04 91 f8 74 	andis.  r24,r7,37124
+    3fd0:	9f 04 d8 3b 	addi    r30,r24,1183
+    3fd4:	e7 3b 01 55 	rlwinm. r1,r8,7,15,19
+    3fd8:	04 e7 3b f0 	xvmaxdp vs1,vs59,vs28
+    3fdc:	3b 04 91 f8 	.long 0xf891043b
+    3fe0:	74 9f 04 8c 	lbzu    r0,-24716(r4)
+    3fe4:	3d 98 3d 04 	.long 0x43d983d
+    3fe8:	91 f8 74 9f 	stbu    r27,-1903(r20)
+    3fec:	04 98 3d a7 	lhzu    r25,-26620(r29)
+    3ff0:	3d 01 55 04 	.long 0x455013d
+    3ff4:	a7 3d e4 3d 	addis   r15,r4,15783
+    3ff8:	04 91 f8 74 	andis.  r24,r7,37124
+    3ffc:	9f 00 06 00 	.long 0x6009f
+    4000:	00 00 00 00 	.long 0x0
+    4004:	04 b8 3a cc 	lfdu    f1,-18428(r26)
+    4008:	3a 01 6f 04 	.long 0x46f013a
+    400c:	c4 3b f0 3b 	addi    r31,r16,15300
+    4010:	01 6f 04 8c 	lbzu    r0,28417(r4)
+    4014:	3d e4 3d 01 	.long 0x13de43d
+    4018:	6f 00 09 00 	.long 0x9006f
+    401c:	00 00 04 b8 	lm      r0,0(r4)
+    4020:	3a cc 3a 01 	.long 0x13acc3a
+    4024:	59 04 8c 3d 	addis   r12,r12,1113
+    4028:	94 3d 01 59 	rlmi    r1,r8,r7,22,10
+    402c:	00 01 06 04 	.long 0x4060100
+    4030:	f4 3c f4 3c 	addis   r7,r20,15604
+    4034:	01 6f 00 03 	.long 0x3006f01
+    4038:	06 04 f4 3c 	addis   r7,r20,1030
+    403c:	f4 3c 01 6f 	xoris   r1,r24,15604
+    4040:	00 01 00 04 	.long 0x4000100
+    4044:	f0 3e ac 3f 	addis   r29,r12,16112
+    4048:	01 67 00 01 	.long 0x1006701
+    404c:	00 04 f0 3e 	addis   r23,r16,1024
+    4050:	ac 3f 01 6f 	xoris   r1,r24,16300
+    4054:	00 00 00 04 	.long 0x4000000
+    4058:	c0 0b f0 0b 	tdui    r16,3008
+    405c:	01 59 00 00 	.long 0x5901
+    4060:	00 00 00 00 	.long 0x0
+    4064:	00 04 00 1c 	mulli   r0,r0,1024
+    4068:	01 53 04 1c 	mulli   r0,r4,21249
+    406c:	20 03 73 08 	tdi     3,r19,800
+    4070:	9f 04 20 58 	rlmi.   r0,r1,r0,18,15
+    4074:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    4078:	9f 00 01 00 	.long 0x1009f
+    407c:	00 00 04 00 	.long 0x40000
+    4080:	1c 01 53 04 	.long 0x453011c
+    4084:	1c 20 03 73 	andi.   r3,r24,8220
+    4088:	08 9f 00 00 	.long 0x9f08
+    408c:	00 04 e0 09 	tdi     15,r0,1024
+    4090:	c8 0a 01 59 	rlmi    r1,r8,r1,11,4
+	...
+    409c:	00 04 b8 06 	.long 0x6b80400
+    40a0:	8f 07 01 54 	rlwinm. r1,r0,0,30,7
+    40a4:	04 8f 07 d0 	stfs    f0,-28924(r7)
+    40a8:	08 01 6d 04 	.long 0x46d0108
+    40ac:	d0 08 e0 08 	tdi     7,r0,2256
+    40b0:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
+    40b4:	9f 04 e0 08 	tdi     7,r0,1183
+    40b8:	d0 09 01 6d 	xoris   r1,r8,2512
+	...
+    40c4:	00 04 b8 06 	.long 0x6b80400
+    40c8:	8f 07 01 55 	rlwinm. r1,r8,0,30,7
+    40cc:	04 8f 07 cc 	lfdu    f0,-28924(r7)
+    40d0:	08 01 6c 04 	.long 0x46c0108
+    40d4:	cc 08 e0 08 	tdi     7,r0,2252
+    40d8:	04 a3 01 55 	rlwinm  r1,r8,20,12,2
+    40dc:	9f 04 e0 08 	tdi     7,r0,1183
+    40e0:	d0 09 01 6c 	xoris   r1,r0,2512
+	...
+    40ec:	00 04 b8 06 	.long 0x6b80400
+    40f0:	8f 07 01 56 	rlwinm. r1,r16,0,30,7
+    40f4:	04 8f 07 d4 	stfsu   f0,-28924(r7)
+    40f8:	08 01 6e 04 	.long 0x46e0108
+    40fc:	d4 08 e0 08 	tdi     7,r0,2260
+    4100:	04 a3 01 56 	rlwinm  r1,r16,20,12,2
+    4104:	9f 04 e0 08 	tdi     7,r0,1183
+    4108:	d0 09 01 6e 	xoris   r1,r16,2512
+    410c:	00 01 00 00 	.long 0x100
+    4110:	00 00 00 04 	.long 0x4000000
+    4114:	84 07 8f 07 	.long 0x78f0784
+    4118:	01 53 04 8f 	lbzu    r24,21249(r4)
+    411c:	07 d8 08 01 	.long 0x108d807
+    4120:	6f 04 e0 08 	tdi     7,r0,1135
+    4124:	d0 09 01 6f 	xoris   r1,r24,2512
+    4128:	00 02 00 00 	attn
+    412c:	01 00 00 04 	.long 0x4000001
+    4130:	84 07 f4 07 	.long 0x7f40784
+    4134:	02 30 9f 04 	.long 0x49f3002
+    4138:	e0 08 8c 09 	tdgei   r12,2272
+    413c:	02 30 9f 04 	.long 0x49f3002
+    4140:	ac 09 c8 09 	tdi     14,r8,2476
+    4144:	02 30 9f 00 	.long 0x9f3002
+    4148:	01 00 00 00 	.long 0x1
+    414c:	00 00 00 00 	.long 0x0
+    4150:	04 c8 07 f4 	psq_stu f0,-2044(r7),1,4
+    4154:	07 01 53 04 	.long 0x4530107
+    4158:	e0 08 84 09 	tdgei   r4,2272
+    415c:	01 53 04 84 	lwzu    r0,21249(r4)
+    4160:	09 8b 09 01 	.long 0x1098b09
+    4164:	54 04 ac 09 	tdi     13,r12,1108
+    4168:	c8 09 02 30 	addic   r0,r2,2504
+    416c:	9f 00 00 00 	.long 0x9f
+    4170:	04 84 07 d0 	stfs    f0,-31740(r7)
+    4174:	09 06 fa 04 	.long 0x4fa0609
+    4178:	44 01 00 9f 	.long 0x9f000144
+    417c:	00 01 00 00 	.long 0x100
+    4180:	00 04 88 07 	.long 0x7880400
+    4184:	8f 07 01 53 	rlwimi. r1,r24,0,30,7
+    4188:	04 8f 07 90 	stw     r0,-28924(r7)
     418c:	07 01 6f 00 	.long 0x6f0107
-    4190:	00 01 04 dc 	stfdu   f0,256(r4)
-    4194:	07 e8 07 03 	.long 0x307e807
-    4198:	59 93 08 00 	.long 0x89359
-    419c:	01 09 02 00 	.long 0x20901
-    41a0:	04 f4 07 9c 	stbu    r0,-3068(r7)
-    41a4:	08 01 6f 04 	.long 0x46f0108
-    41a8:	8c 09 ac 09 	tdi     13,r12,2444
-    41ac:	01 6f 00 03 	.long 0x3006f01
-    41b0:	09 04 00 04 	.long 0x4000409
-    41b4:	f4 07 9c 08 	tdeqi   r28,2036
-    41b8:	01 6f 04 8c 	lbzu    r0,28417(r4)
-    41bc:	09 ac 09 01 	.long 0x109ac09
-    41c0:	6f 00 08 07 	.long 0x708006f
-    41c4:	09 00 04 f4 	lxv     vs32,0(r4)
-    41c8:	07 9c 08 01 	.long 0x1089c07
-    41cc:	6f 04 8c 09 	tdgei   r12,1135
-    41d0:	ac 09 01 6f 	xoris   r1,r24,2476
-    41d4:	00 00 00 00 	.long 0x0
-    41d8:	00 04 fc 07 	.long 0x7fc0400
-    41dc:	84 08 04 79 	rldicr  r4,r8,1,2
-    41e0:	80 19 9f 04 	.long 0x49f1980
-    41e4:	94 09 9c 09 	tdgei   r28,2452
-    41e8:	04 79 80 19 	.long 0x19807904
-    41ec:	9f 00 01 05 	.long 0x501009f
-    41f0:	04 90 08 9c 	stbu    r0,-28668(r8)
-    41f4:	08 01 6f 00 	.long 0x6f0108
-	...
-    4200:	04 d8 0f 83 	lwz     r24,-10236(r15)
-    4204:	10 01 53 04 	.long 0x4530110
-    4208:	83 10 94 10 	.long 0x10941083
-    420c:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
-    4210:	9f 04 94 10 	vextddvrx v4,v20,v0,r18
-    4214:	c3 10 01 53 	rlwimi. r1,r24,2,3,1
-    4218:	04 c3 10 c4 	lfsu    f0,-15612(r16)
-    421c:	10 04 a3 01 	.long 0x1a30410
-    4220:	53 9f 00 00 	.long 0x9f53
-    4224:	00 00 00 00 	.long 0x0
-    4228:	00 00 00 04 	.long 0x4000000
-    422c:	d8 0f 83 10 	vextdubvlx v4,v3,v1,r31
-    4230:	01 54 04 83 	lwz     r24,21505(r4)
-    4234:	10 94 10 04 	.long 0x4109410
-    4238:	a3 01 54 9f 	stbu    r26,419(r20)
-    423c:	04 94 10 c3 	lfs     f24,-27644(r16)
-    4240:	10 01 54 04 	.long 0x4540110
-    4244:	c3 10 c4 10 	.long 0x10c410c3
-    4248:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
-    424c:	9f 00 00 00 	.long 0x9f
-    4250:	00 00 00 00 	.long 0x0
-    4254:	00 00 04 d8 	stfd    f0,0(r4)
-    4258:	0f 83 10 01 	.long 0x110830f
-    425c:	55 04 83 10 	mtvsrbmi v4,1095
-    4260:	94 10 04 a3 	lhz     r24,4244(r4)
-    4264:	01 55 9f 04 	.long 0x49f5501
-    4268:	94 10 c3 10 	mtvsrbmi v6,4230
-    426c:	01 55 04 c3 	lfs     f24,21761(r4)
-    4270:	10 c4 10 04 	.long 0x410c410
-    4274:	a3 01 55 9f 	stbu    r26,419(r21)
-    4278:	00 03 02 00 	.long 0x20300
-    427c:	03 04 d8 0f 	twi     30,r24,1027
-    4280:	ec 0f 04 0a 	tdlti   r4,4076
-    4284:	00 20 9f 04 	.long 0x49f2000
-    4288:	94 10 94 10 	mtvsrbmi v4,4264
-    428c:	04 0a 00 20 	subfic  r0,r0,2564
-    4290:	9f 00 0c 02 	.long 0x20c009f
-    4294:	00 03 04 d8 	stfd    f0,768(r4)
-    4298:	0f ec 0f 02 	.long 0x20fec0f
-    429c:	3d 9f 04 94 	stwu    r0,-24771(r4)
-    42a0:	10 94 10 02 	.long 0x2109410
-    42a4:	3d 9f 00 00 	.long 0x9f3d
-    42a8:	00 01 00 04 	.long 0x4000100
-    42ac:	ec 0f 94 10 	.long 0x10940fec
-    42b0:	02 31 9f 04 	.long 0x49f3102
-    42b4:	94 10 c4 10 	mtvsrbmi v6,4232
-    42b8:	02 30 9f 00 	.long 0x9f3002
-    42bc:	10 00 00 01 	.long 0x1000010
-    42c0:	04 d8 0f ec 	dadd    f0,f15,f27
-    42c4:	0f 02 31 9f 	stbu    r25,527(r17)
-    42c8:	04 94 10 94 	stwu    r0,-27644(r16)
-    42cc:	10 02 31 9f 	stbu    r25,528(r17)
-    42d0:	00 02 00 00 	attn
-    42d4:	00 04 ec 0f 	twui    r12,1024
-    42d8:	83 10 01 55 	rlwinm. r1,r8,2,2,1
-    42dc:	04 83 10 94 	stwu    r0,-31996(r16)
-    42e0:	10 04 a3 01 	.long 0x1a30410
-    42e4:	55 9f 00 02 	.long 0x2009f55
-    42e8:	00 00 00 04 	.long 0x4000000
-    42ec:	ec 0f 83 10 	.long 0x10830fec
-    42f0:	01 54 04 83 	lwz     r24,21505(r4)
-    42f4:	10 94 10 04 	.long 0x4109410
-    42f8:	a3 01 54 9f 	stbu    r26,419(r20)
-    42fc:	00 02 00 00 	attn
-    4300:	00 04 ec 0f 	twui    r12,1024
-    4304:	83 10 01 53 	rlwimi. r1,r24,2,2,1
-    4308:	04 83 10 94 	stwu    r0,-31996(r16)
-    430c:	10 04 a3 01 	.long 0x1a30410
-    4310:	53 9f 00 00 	.long 0x9f53
-	...
-    431c:	00 00 00 04 	.long 0x4000000
-    4320:	e8 15 af 16 	.long 0x16af15e8
-    4324:	01 54 04 af 	lhau    r24,21505(r4)
-    4328:	16 cc 17 01 	.long 0x117cc16
-    432c:	6f 04 cc 17 	.long 0x17cc046f
-    4330:	d4 17 04 a3 	lhz     r24,6100(r4)
-    4334:	01 54 9f 04 	.long 0x49f5401
-    4338:	d4 17 d4 18 	.long 0x18d417d4
-    433c:	01 6f 04 d4 	stfsu   f0,28417(r4)
-    4340:	18 dc 18 04 	.long 0x418dc18
-    4344:	a3 01 54 9f 	stbu    r26,419(r20)
-    4348:	04 dc 18 c0 	lfs     f0,-9212(r24)
-    434c:	1a 01 6f 00 	.long 0x6f011a
-    4350:	00 00 00 00 	.long 0x0
-    4354:	04 e8 15 af 	lhau    r24,-6140(r21)
-    4358:	16 01 55 04 	.long 0x4550116
-    435c:	af 16 c0 1a 	.long 0x1ac016af
-    4360:	04 a3 01 55 	rlwinm  r1,r8,20,12,2
-    4364:	9f 00 00 00 	.long 0x9f
-	...
-    4370:	00 00 04 8c 	lbzu    r0,0(r4)
-    4374:	16 a4 16 01 	.long 0x116a416
-    4378:	53 04 a4 16 	.long 0x16a40453
-    437c:	a8 17 01 6d 	xoris   r1,r8,6056
-    4380:	04 d4 17 cc 	lfdu    f0,-11260(r23)
-    4384:	18 01 6d 04 	.long 0x46d0118
-    4388:	dc 18 e8 18 	.long 0x18e818dc
-    438c:	01 6d 04 d4 	stfsu   f0,27905(r4)
-    4390:	19 f0 19 01 	.long 0x119f019
-    4394:	6d 04 80 1a 	.long 0x1a80046d
-    4398:	8c 1a 01 6d 	xoris   r1,r8,6796
-    439c:	00 00 00 04 	.long 0x4000000
-    43a0:	e8 15 c0 1a 	.long 0x1ac015e8
-    43a4:	06 fa 2c 41 	bdnzta  4*cr3+lt,fffffa04 <kvmhv_nested_next_lpid+0xffffbf2c>
-    43a8:	01 00 9f 00 	.long 0x9f0001
-    43ac:	01 00 00 00 	.long 0x1
-    43b0:	00 00 04 c0 	lfs     f0,0(r4)
-    43b4:	16 a8 17 01 	.long 0x117a816
-    43b8:	6f 04 dc 18 	.long 0x18dc046f
-    43bc:	80 1a 01 6f 	xoris   r1,r24,6784
-    43c0:	04 8c 1a c0 	lfs     f0,-29692(r26)
-    43c4:	1a 01 6f 00 	.long 0x6f011a
-    43c8:	00 00 00 00 	.long 0x0
-    43cc:	00 00 04 c4 	lfsu    f0,0(r4)
-    43d0:	16 a8 17 01 	.long 0x117a816
-    43d4:	6e 04 dc 18 	.long 0x18dc046e
-    43d8:	ec 18 01 6e 	xoris   r1,r16,6380
-    43dc:	04 d4 19 f0 	xsmaxcdp vs0,vs57,vs26
-    43e0:	19 01 6e 00 	.long 0x6e0119
-    43e4:	01 00 04 c4 	lfsu    f0,1(r4)
-    43e8:	16 d0 16 01 	.long 0x116d016
-    43ec:	6e 00 01 09 	tdgti   r1,110
-    43f0:	00 00 04 e4 	psq_lu  f0,0(r4),0,0
-    43f4:	16 8c 17 01 	.long 0x1178c16
-    43f8:	6e 04 d4 19 	.long 0x19d4046e
-    43fc:	f0 19 01 6e 	xoris   r1,r16,6640
-    4400:	00 03 09 00 	.long 0x90300
-    4404:	00 04 e4 16 	.long 0x16e40400
-    4408:	8c 17 01 6e 	xoris   r1,r16,6028
-    440c:	04 d4 19 f0 	xsmaxcdp vs0,vs57,vs26
-    4410:	19 01 6e 00 	.long 0x6e0119
-    4414:	08 07 00 00 	.long 0x708
-    4418:	04 e4 16 8c 	lbzu    r0,-7164(r22)
-    441c:	17 01 6e 04 	.long 0x46e0117
-    4420:	d4 19 f0 19 	.long 0x19f019d4
-    4424:	01 6e 00 00 	.long 0x6e01
-	...
-    4434:	00 04 ec 16 	.long 0x16ec0400
-    4438:	88 17 04 79 	rldic   r4,r8,2,30
-    443c:	80 19 9f 04 	.long 0x49f1980
-    4440:	88 17 93 17 	.long 0x17931788
-    4444:	04 7d 80 19 	.long 0x19807d04
-    4448:	9f 04 a4 19 	.long 0x19a4049f
-    444c:	c0 19 04 79 	rldicl  r4,r8,3,7
-    4450:	80 19 9f 04 	.long 0x49f1980
-    4454:	c0 19 d4 19 	lxvp    vs14,6592(r20)
-    4458:	04 7d 80 19 	.long 0x19807d04
-    445c:	9f 04 d4 19 	.long 0x19d4049f
-    4460:	f0 19 04 79 	rldcl   r4,r8,r3,39
-    4464:	80 19 9f 04 	.long 0x49f1980
-    4468:	f0 19 f7 19 	lxvp    vs46,6640(r23)
-    446c:	04 7d 80 19 	.long 0x19807d04
-    4470:	9f 04 b0 1a 	.long 0x1ab0049f
-    4474:	c0 1a 04 79 	rldicl  r4,r8,3,11
-    4478:	80 19 9f 00 	.long 0x9f1980
-    447c:	01 05 04 80 	lwz     r0,1281(r4)
-    4480:	17 8c 17 01 	.long 0x1178c17
-    4484:	6e 00 01 00 	.long 0x1006e
-    4488:	00 00 00 00 	.long 0x0
-    448c:	04 dc 18 d4 	stfsu   f0,-9212(r24)
-    4490:	19 01 6f 04 	.long 0x46f0119
-    4494:	f0 19 80 1a 	lxvp    vs20,6640(0)
-    4498:	01 6f 04 8c 	lbzu    r0,28417(r4)
-    449c:	1a c0 1a 01 	.long 0x11ac01a
-    44a0:	6f 00 00 00 	.long 0x6f
-    44a4:	00 00 00 00 	.long 0x0
-    44a8:	04 e8 18 d4 	stfsu   f0,-6140(r24)
-    44ac:	19 01 6d 04 	.long 0x46d0119
-    44b0:	f0 19 80 1a 	lxvp    vs20,6640(0)
-    44b4:	01 6d 04 8c 	lbzu    r0,27905(r4)
-    44b8:	1a c0 1a 01 	.long 0x11ac01a
-    44bc:	6d 00 00 00 	.long 0x6d
-    44c0:	04 ec 18 ff 	dsubq   f24,f24,f28
-    44c4:	18 02 8f 08 	tdeqi   r15,536
-    44c8:	00 01 00 00 	.long 0x100
-    44cc:	00 04 9c 19 	lxvp    vs12,1024(r28)
-    44d0:	ac 19 02 8f 	lbzu    r24,6572(r2)
-    44d4:	28 04 b0 1a 	.long 0x1ab00428
-    44d8:	b8 1a 02 8f 	lbzu    r24,6840(r2)
-    44dc:	28 00 02 00 	.long 0x20028
-    44e0:	04 ec 18 80 	lwz     r0,-5116(r24)
-    44e4:	19 01 6d 00 	.long 0x6d0119
-    44e8:	02 00 04 80 	lwz     r0,2(r4)
-    44ec:	19 90 19 01 	.long 0x1199019
-    44f0:	6d 00 02 09 	tdgti   r2,109
-    44f4:	00 00 04 9c 	stbu    r0,0(r4)
-    44f8:	19 c4 19 01 	.long 0x119c419
-    44fc:	6d 04 b0 1a 	.long 0x1ab0046d
-    4500:	c0 1a 01 6d 	xoris   r1,r8,6848
-    4504:	00 04 09 00 	.long 0x90400
-    4508:	00 04 9c 19 	lxvp    vs12,1024(r28)
-    450c:	c4 19 01 6d 	xoris   r1,r8,6596
-    4510:	04 b0 1a c0 	lfs     f0,-20476(r26)
-    4514:	1a 01 6d 00 	.long 0x6d011a
-    4518:	09 07 00 00 	.long 0x709
-    451c:	04 9c 19 c4 	lfsu    f0,-25596(r25)
-    4520:	19 01 6d 04 	.long 0x46d0119
-    4524:	b0 1a c0 1a 	lxvp    vs22,6832(0)
-    4528:	01 6d 00 00 	.long 0x6d01
-    452c:	00 00 00 00 	.long 0x0
-    4530:	00 00 00 04 	.long 0x4000000
-    4534:	a4 19 c0 19 	.long 0x19c019a4
-    4538:	04 79 80 19 	.long 0x19807904
-    453c:	9f 04 c0 19 	.long 0x19c0049f
-    4540:	d4 19 04 7d 	.long 0x7d0419d4
-    4544:	80 19 9f 04 	.long 0x49f1980
-    4548:	f0 19 f7 19 	lxvp    vs46,6640(r23)
-    454c:	04 7d 80 19 	.long 0x19807d04
-    4550:	9f 04 b0 1a 	.long 0x1ab0049f
-    4554:	c0 1a 04 79 	rldicl  r4,r8,3,11
-    4558:	80 19 9f 00 	.long 0x9f1980
-    455c:	01 05 04 b8 	lm      r0,1281(r4)
-    4560:	19 c4 19 01 	.long 0x119c419
-    4564:	6d 00 02 00 	.long 0x2006d
-    4568:	04 8c 1a a0 	lhz     r0,-29692(r26)
-    456c:	1a 01 6d 00 	.long 0x6d011a
-    4570:	01 00 04 d4 	stfsu   f0,1(r4)
-    4574:	17 ec 17 01 	.long 0x117ec17
-    4578:	6d 00 01 09 	tdgti   r1,109
-    457c:	00 00 04 88 	lbz     r0,0(r4)
-    4580:	18 b0 18 01 	.long 0x118b018
-    4584:	6d 04 80 1a 	.long 0x1a80046d
-    4588:	8c 1a 01 6d 	xoris   r1,r8,6796
-    458c:	00 03 09 00 	.long 0x90300
-    4590:	00 04 88 18 	lxvp    vs4,1024(r8)
-    4594:	b0 18 01 6d 	xoris   r1,r8,6320
-    4598:	04 80 1a 8c 	lbzu    r0,-32764(r26)
-    459c:	1a 01 6d 00 	.long 0x6d011a
-    45a0:	08 07 00 00 	.long 0x708
-    45a4:	04 88 18 b0 	sth     r0,-30716(r24)
-    45a8:	18 01 6d 04 	.long 0x46d0118
-    45ac:	80 1a 8c 1a 	lxvp    vs20,6784(r12)
-    45b0:	01 6d 00 00 	.long 0x6d01
-    45b4:	00 00 00 00 	.long 0x0
-    45b8:	00 04 90 18 	lxvp    vs4,1024(r16)
-    45bc:	ac 18 04 79 	rldimi  r4,r8,3,34
-    45c0:	80 19 9f 04 	.long 0x49f1980
-    45c4:	ac 18 bb 18 	.long 0x18bb18ac
-    45c8:	04 7d 80 19 	.long 0x19807d04
-    45cc:	9f 04 80 1a 	.long 0x1a80049f
-    45d0:	8c 1a 04 79 	rldimi  r4,r8,3,10
-    45d4:	80 19 9f 00 	.long 0x9f1980
-    45d8:	01 05 04 a4 	lhzu    r0,1281(r4)
-    45dc:	18 b0 18 01 	.long 0x118b018
-    45e0:	6d 00 00 00 	.long 0x6d
-    45e4:	00 00 00 00 	.long 0x0
-    45e8:	04 c8 4a e8 	ld      r2,-14332(r10)
-    45ec:	4a 01 53 04 	.long 0x453014a
-    45f0:	e8 4a 83 4b 	b       ffffffffff8390d8 <kvmhv_nested_next_lpid+0xffffffffff835600>
-    45f4:	04 73 a0 67 	oris    r0,r29,29444
-    45f8:	9f 04 83 4b 	bla     ff83049c <kvmhv_nested_next_lpid+0xff82c9c4>
-    45fc:	bc 4b 04 a3 	lhz     r24,19388(r4)
-    4600:	01 53 9f 00 	.long 0x9f5301
-    4604:	00 00 00 00 	.long 0x0
-    4608:	04 c8 4a ec 	dadd    f2,f10,f25
-    460c:	4a 01 54 04 	.long 0x454014a
-    4610:	ec 4a bc 4b 	b       ffffffffffbc90fc <kvmhv_nested_next_lpid+0xffffffffffbc5624>
-    4614:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
-    4618:	9f 00 00 00 	.long 0x9f
-    461c:	00 00 00 00 	.long 0x0
-    4620:	04 c8 4a 83 	lwz     r26,-14332(r10)
-    4624:	4b 01 55 04 	.long 0x455014b
-    4628:	83 4b b4 4b 	bla     ffb44b80 <kvmhv_nested_next_lpid+0xffb410a8>
-    462c:	01 6f 04 b4 	sthu    r0,28417(r4)
-    4630:	4b bc 4b 04 	.long 0x44bbc4b
-    4634:	a3 01 55 9f 	stbu    r26,419(r21)
+    4190:	02 00 00 00 	.long 0x2
+    4194:	00 01 04 90 	stw     r0,256(r4)
+    4198:	07 b4 07 03 	.long 0x307b407
+    419c:	91 54 9f 04 	.long 0x49f5491
+    41a0:	b4 07 bf 07 	.long 0x7bf07b4
+    41a4:	01 56 04 bf 	stmw    r24,22017(r4)
+    41a8:	07 c8 07 03 	.long 0x307c807
+    41ac:	91 54 9f 00 	.long 0x9f5491
+    41b0:	02 01 04 90 	stw     r0,258(r4)
+    41b4:	07 c8 07 01 	.long 0x107c807
+    41b8:	6c 00 02 00 	.long 0x2006c
+    41bc:	00 00 04 90 	stw     r0,0(r4)
+    41c0:	07 94 07 0b 	tdnei   r7,-27641
+    41c4:	8d 08 94 04 	.long 0x494088d
+    41c8:	08 20 24 08 	tdlgti  r4,8200
+    41cc:	20 26 9f 04 	.long 0x49f2620
+    41d0:	94 07 9f 07 	.long 0x79f0794
+    41d4:	01 54 00 02 	.long 0x2005401
+    41d8:	01 04 90 07 	.long 0x7900401
+    41dc:	c8 07 01 6f 	xoris   r1,r24,1992
+    41e0:	00 00 00 00 	.long 0x0
+    41e4:	00 04 a0 07 	.long 0x7a00400
+    41e8:	ac 07 01 53 	rlwimi  r1,r24,0,30,22
+    41ec:	04 ac 09 c8 	lfd     f0,-21500(r9)
+    41f0:	09 01 53 00 	.long 0x530109
+    41f4:	00 01 04 c8 	lfd     f0,256(r4)
+    41f8:	07 c8 07 01 	.long 0x107c807
+    41fc:	53 00 06 00 	.long 0x60053
+    4200:	04 90 07 9f 	stbu    r24,-28668(r7)
+    4204:	07 02 8d 08 	tdeqi   r13,519
+    4208:	00 06 00 04 	.long 0x4000600
+    420c:	90 07 a0 07 	.long 0x7a00790
+    4210:	01 6f 00 00 	.long 0x6f01
+    4214:	01 04 dc 07 	.long 0x7dc0401
+    4218:	e8 07 03 59 	rlmi    r3,r8,r0,31,20
+    421c:	93 08 00 01 	.long 0x1000893
+    4220:	09 02 00 04 	.long 0x4000209
+    4224:	f4 07 9c 08 	tdeqi   r28,2036
+    4228:	01 6f 04 8c 	lbzu    r0,28417(r4)
+    422c:	09 ac 09 01 	.long 0x109ac09
+    4230:	6f 00 03 09 	tdgti   r3,111
+    4234:	04 00 04 f4 	psq_stu f0,4(r4),0,0
+    4238:	07 9c 08 01 	.long 0x1089c07
+    423c:	6f 04 8c 09 	tdgei   r12,1135
+    4240:	ac 09 01 6f 	xoris   r1,r24,2476
+    4244:	00 08 07 09 	tdgti   r7,2048
+    4248:	00 04 f4 07 	.long 0x7f40400
+    424c:	9c 08 01 6f 	xoris   r1,r24,2204
+    4250:	04 8c 09 ac 	lhau    r0,-29692(r9)
+    4254:	09 01 6f 00 	.long 0x6f0109
+    4258:	00 00 00 00 	.long 0x0
+    425c:	04 fc 07 84 	lwzu    r0,-1020(r7)
+    4260:	08 04 79 80 	lwz     r3,1032(r25)
+    4264:	19 9f 04 94 	stwu    r0,-24807(r4)
+    4268:	09 9c 09 04 	.long 0x4099c09
+    426c:	79 80 19 9f 	stbu    r24,-32647(r25)
+    4270:	00 01 05 04 	.long 0x4050100
+    4274:	90 08 9c 08 	tdeqi   r28,2192
+    4278:	01 6f 00 00 	.long 0x6f01
+    427c:	00 00 00 00 	.long 0x0
+    4280:	00 00 00 04 	.long 0x4000000
+    4284:	d8 0f 83 10 	vextdubvlx v4,v3,v1,r31
+    4288:	01 53 04 83 	lwz     r24,21249(r4)
+    428c:	10 94 10 04 	.long 0x4109410
+    4290:	a3 01 53 9f 	stbu    r26,419(r19)
+    4294:	04 94 10 c3 	lfs     f24,-27644(r16)
+    4298:	10 01 53 04 	.long 0x4530110
+    429c:	c3 10 c4 10 	.long 0x10c410c3
+    42a0:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    42a4:	9f 00 00 00 	.long 0x9f
+    42a8:	00 00 00 00 	.long 0x0
+    42ac:	00 00 04 d8 	stfd    f0,0(r4)
+    42b0:	0f 83 10 01 	.long 0x110830f
+    42b4:	54 04 83 10 	mtvsrbmi v4,1094
+    42b8:	94 10 04 a3 	lhz     r24,4244(r4)
+    42bc:	01 54 9f 04 	.long 0x49f5401
+    42c0:	94 10 c3 10 	mtvsrbmi v6,4230
+    42c4:	01 54 04 c3 	lfs     f24,21505(r4)
+    42c8:	10 c4 10 04 	.long 0x410c410
+    42cc:	a3 01 54 9f 	stbu    r26,419(r20)
+	...
+    42d8:	00 04 d8 0f 	twi     30,r24,1024
+    42dc:	83 10 01 55 	rlwinm. r1,r8,2,2,1
+    42e0:	04 83 10 94 	stwu    r0,-31996(r16)
+    42e4:	10 04 a3 01 	.long 0x1a30410
+    42e8:	55 9f 04 94 	stwu    r0,-24747(r4)
+    42ec:	10 c3 10 01 	.long 0x110c310
+    42f0:	55 04 c3 10 	mtvsrbmi v6,1095
+    42f4:	c4 10 04 a3 	lhz     r24,4292(r4)
+    42f8:	01 55 9f 00 	.long 0x9f5501
+    42fc:	03 02 00 03 	.long 0x3000203
+    4300:	04 d8 0f ec 	dadd    f0,f15,f27
+    4304:	0f 04 0a 00 	.long 0xa040f
+    4308:	20 9f 04 94 	stwu    r0,-24800(r4)
+    430c:	10 94 10 04 	.long 0x4109410
+    4310:	0a 00 20 9f 	.long 0x9f20000a
+    4314:	00 0c 02 00 	.long 0x20c00
+    4318:	03 04 d8 0f 	twi     30,r24,1027
+    431c:	ec 0f 02 3d 	addis   r8,r2,4076
+    4320:	9f 04 94 10 	vextddvrx v4,v20,v0,r18
+    4324:	94 10 02 3d 	addis   r8,r2,4244
+    4328:	9f 00 00 00 	.long 0x9f
+    432c:	01 00 04 ec 	.long 0xec040001
+    4330:	0f 94 10 02 	.long 0x210940f
+    4334:	31 9f 04 94 	stwu    r0,-24783(r4)
+    4338:	10 c4 10 02 	.long 0x210c410
+    433c:	30 9f 00 10 	maddhd  r0,r0,r19,r28
+    4340:	00 00 01 04 	.long 0x4010000
+    4344:	d8 0f ec 0f 	twui    r12,4056
+    4348:	02 31 9f 04 	.long 0x49f3102
+    434c:	94 10 94 10 	mtvsrbmi v4,4264
+    4350:	02 31 9f 00 	.long 0x9f3102
+    4354:	02 00 00 00 	.long 0x2
+    4358:	04 ec 0f 83 	lwz     r24,-5116(r15)
+    435c:	10 01 55 04 	.long 0x4550110
+    4360:	83 10 94 10 	.long 0x10941083
+    4364:	04 a3 01 55 	rlwinm  r1,r8,20,12,2
+    4368:	9f 00 02 00 	.long 0x2009f
+    436c:	00 00 04 ec 	.long 0xec040000
+    4370:	0f 83 10 01 	.long 0x110830f
+    4374:	54 04 83 10 	mtvsrbmi v4,1094
+    4378:	94 10 04 a3 	lhz     r24,4244(r4)
+    437c:	01 54 9f 00 	.long 0x9f5401
+    4380:	02 00 00 00 	.long 0x2
+    4384:	04 ec 0f 83 	lwz     r24,-5116(r15)
+    4388:	10 01 53 04 	.long 0x4530110
+    438c:	83 10 94 10 	.long 0x10941083
+    4390:	04 a3 01 53 	rlwimi  r1,r24,20,12,2
+    4394:	9f 00 00 00 	.long 0x9f
+	...
+    43a0:	00 00 04 e8 	ld      r0,0(r4)
+    43a4:	15 af 16 01 	.long 0x116af15
+    43a8:	54 04 af 16 	.long 0x16af0454
+    43ac:	cc 17 01 6f 	xoris   r1,r24,6092
+    43b0:	04 cc 17 d4 	stfsu   f0,-13308(r23)
+    43b4:	17 04 a3 01 	.long 0x1a30417
+    43b8:	54 9f 04 d4 	stfsu   f0,-24748(r4)
+    43bc:	17 d4 18 01 	.long 0x118d417
+    43c0:	6f 04 d4 18 	.long 0x18d4046f
+    43c4:	dc 18 04 a3 	lhz     r24,6364(r4)
+    43c8:	01 54 9f 04 	.long 0x49f5401
+    43cc:	dc 18 c0 1a 	.long 0x1ac018dc
+    43d0:	01 6f 00 00 	.long 0x6f01
+    43d4:	00 00 00 04 	.long 0x4000000
+    43d8:	e8 15 af 16 	.long 0x16af15e8
+    43dc:	01 55 04 af 	lhau    r24,21761(r4)
+    43e0:	16 c0 1a 04 	.long 0x41ac016
+    43e4:	a3 01 55 9f 	stbu    r26,419(r21)
+	...
+    43f4:	00 04 8c 16 	.long 0x168c0400
+    43f8:	a4 16 01 53 	rlwimi  r1,r24,2,26,18
+    43fc:	04 a4 16 a8 	lha     r0,-23548(r22)
+    4400:	17 01 6d 04 	.long 0x46d0117
+    4404:	d4 17 cc 18 	.long 0x18cc17d4
+    4408:	01 6d 04 dc 	stfdu   f0,27905(r4)
+    440c:	18 e8 18 01 	.long 0x118e818
+    4410:	6d 04 d4 19 	.long 0x19d4046d
+    4414:	f0 19 01 6d 	xoris   r1,r8,6640
+    4418:	04 80 1a 8c 	lbzu    r0,-32764(r26)
+    441c:	1a 01 6d 00 	.long 0x6d011a
+    4420:	00 00 04 e8 	ld      r0,0(r4)
+    4424:	15 c0 1a 06 	.long 0x61ac015
+    4428:	fa 2c 41 01 	.long 0x1412cfa
+    442c:	00 9f 00 01 	.long 0x1009f00
+    4430:	00 00 00 00 	.long 0x0
+    4434:	00 04 c0 16 	.long 0x16c00400
+    4438:	a8 17 01 6f 	xoris   r1,r24,6056
+    443c:	04 dc 18 80 	lwz     r0,-9212(r24)
+    4440:	1a 01 6f 04 	.long 0x46f011a
+    4444:	8c 1a c0 1a 	.long 0x1ac01a8c
+    4448:	01 6f 00 00 	.long 0x6f01
+    444c:	00 00 00 00 	.long 0x0
+    4450:	00 04 c4 16 	.long 0x16c40400
+    4454:	a8 17 01 6e 	xoris   r1,r16,6056
+    4458:	04 dc 18 ec 	dsub    f0,f24,f27
+    445c:	18 01 6e 04 	.long 0x46e0118
+    4460:	d4 19 f0 19 	.long 0x19f019d4
+    4464:	01 6e 00 01 	.long 0x1006e01
+    4468:	00 04 c4 16 	.long 0x16c40400
+    446c:	d0 16 01 6e 	xoris   r1,r16,5840
+    4470:	00 01 09 00 	.long 0x90100
+    4474:	00 04 e4 16 	.long 0x16e40400
+    4478:	8c 17 01 6e 	xoris   r1,r16,6028
+    447c:	04 d4 19 f0 	xsmaxcdp vs0,vs57,vs26
+    4480:	19 01 6e 00 	.long 0x6e0119
+    4484:	03 09 00 00 	.long 0x903
+    4488:	04 e4 16 8c 	lbzu    r0,-7164(r22)
+    448c:	17 01 6e 04 	.long 0x46e0117
+    4490:	d4 19 f0 19 	.long 0x19f019d4
+    4494:	01 6e 00 08 	tdi     0,r0,28161
+    4498:	07 00 00 04 	.long 0x4000007
+    449c:	e4 16 8c 17 	.long 0x178c16e4
+    44a0:	01 6e 04 d4 	stfsu   f0,28161(r4)
+    44a4:	19 f0 19 01 	.long 0x119f019
+    44a8:	6e 00 00 00 	.long 0x6e
+	...
+    44b8:	04 ec 16 88 	lbz     r0,-5116(r22)
+    44bc:	17 04 79 80 	lwz     r3,1047(r25)
+    44c0:	19 9f 04 88 	lbz     r0,-24807(r4)
+    44c4:	17 93 17 04 	.long 0x4179317
+    44c8:	7d 80 19 9f 	stbu    r24,-32643(r25)
+    44cc:	04 a4 19 c0 	lfs     f0,-23548(r25)
+    44d0:	19 04 79 80 	lwz     r3,1049(r25)
+    44d4:	19 9f 04 c0 	lfs     f0,-24807(r4)
+    44d8:	19 d4 19 04 	.long 0x419d419
+    44dc:	7d 80 19 9f 	stbu    r24,-32643(r25)
+    44e0:	04 d4 19 f0 	xsmaxcdp vs0,vs57,vs26
+    44e4:	19 04 79 80 	lwz     r3,1049(r25)
+    44e8:	19 9f 04 f0 	xvcmpeqdp. vs32,vs4,vs19
+    44ec:	19 f7 19 04 	.long 0x419f719
+    44f0:	7d 80 19 9f 	stbu    r24,-32643(r25)
+    44f4:	04 b0 1a c0 	lfs     f0,-20476(r26)
+    44f8:	1a 04 79 80 	lwz     r3,1050(r25)
+    44fc:	19 9f 00 01 	.long 0x1009f19
+    4500:	05 04 80 17 	.long 0x17800405
+    4504:	8c 17 01 6e 	xoris   r1,r16,6028
+    4508:	00 01 00 00 	.long 0x100
+    450c:	00 00 00 04 	.long 0x4000000
+    4510:	dc 18 d4 19 	.long 0x19d418dc
+    4514:	01 6f 04 f0 	xvmaxdp vs32,vs4,vs13
+    4518:	19 80 1a 01 	.long 0x11a8019
+    451c:	6f 04 8c 1a 	.long 0x1a8c046f
+    4520:	c0 1a 01 6f 	xoris   r1,r24,6848
+    4524:	00 00 00 00 	.long 0x0
+    4528:	00 00 00 04 	.long 0x4000000
+    452c:	e8 18 d4 19 	.long 0x19d418e8
+    4530:	01 6d 04 f0 	xsmaxdp vs32,vs4,vs13
+    4534:	19 80 1a 01 	.long 0x11a8019
+    4538:	6d 04 8c 1a 	.long 0x1a8c046d
+    453c:	c0 1a 01 6d 	xoris   r1,r8,6848
+    4540:	00 00 00 04 	.long 0x4000000
+    4544:	ec 18 ff 18 	.long 0x18ff18ec
+    4548:	02 8f 08 00 	.long 0x88f02
+    454c:	01 00 00 00 	.long 0x1
+    4550:	04 9c 19 ac 	lhau    r0,-25596(r25)
+    4554:	19 02 8f 28 	cmplwi  cr1,r15,537
+    4558:	04 b0 1a b8 	lm      r0,-20476(r26)
+    455c:	1a 02 8f 28 	cmplwi  cr1,r15,538
+    4560:	00 02 00 04 	.long 0x4000200
+    4564:	ec 18 80 19 	.long 0x198018ec
+    4568:	01 6d 00 02 	.long 0x2006d01
+    456c:	00 04 80 19 	lxvp    vs12,1024(0)
+    4570:	90 19 01 6d 	xoris   r1,r8,6544
+    4574:	00 02 09 00 	attn
+    4578:	00 04 9c 19 	lxvp    vs12,1024(r28)
+    457c:	c4 19 01 6d 	xoris   r1,r8,6596
+    4580:	04 b0 1a c0 	lfs     f0,-20476(r26)
+    4584:	1a 01 6d 00 	.long 0x6d011a
+    4588:	04 09 00 00 	.long 0x904
+    458c:	04 9c 19 c4 	lfsu    f0,-25596(r25)
+    4590:	19 01 6d 04 	.long 0x46d0119
+    4594:	b0 1a c0 1a 	lxvp    vs22,6832(0)
+    4598:	01 6d 00 09 	tdgti   r0,27905
+    459c:	07 00 00 04 	.long 0x4000007
+    45a0:	9c 19 c4 19 	.long 0x19c4199c
+    45a4:	01 6d 04 b0 	sth     r0,27905(r4)
+    45a8:	1a c0 1a 01 	.long 0x11ac01a
+    45ac:	6d 00 00 00 	.long 0x6d
+    45b0:	00 00 00 00 	.long 0x0
+    45b4:	00 00 04 a4 	lhzu    r0,0(r4)
+    45b8:	19 c0 19 04 	.long 0x419c019
+    45bc:	79 80 19 9f 	stbu    r24,-32647(r25)
+    45c0:	04 c0 19 d4 	stfsu   f0,-16380(r25)
+    45c4:	19 04 7d 80 	lwz     r3,1049(r29)
+    45c8:	19 9f 04 f0 	xvcmpeqdp. vs32,vs4,vs19
+    45cc:	19 f7 19 04 	.long 0x419f719
+    45d0:	7d 80 19 9f 	stbu    r24,-32643(r25)
+    45d4:	04 b0 1a c0 	lfs     f0,-20476(r26)
+    45d8:	1a 04 79 80 	lwz     r3,1050(r25)
+    45dc:	19 9f 00 01 	.long 0x1009f19
+    45e0:	05 04 b8 19 	.long 0x19b80405
+    45e4:	c4 19 01 6d 	xoris   r1,r8,6596
+    45e8:	00 02 00 04 	.long 0x4000200
+    45ec:	8c 1a a0 1a 	.long 0x1aa01a8c
+    45f0:	01 6d 00 01 	.long 0x1006d01
+    45f4:	00 04 d4 17 	.long 0x17d40400
+    45f8:	ec 17 01 6d 	xoris   r1,r8,6124
+    45fc:	00 01 09 00 	.long 0x90100
+    4600:	00 04 88 18 	lxvp    vs4,1024(r8)
+    4604:	b0 18 01 6d 	xoris   r1,r8,6320
+    4608:	04 80 1a 8c 	lbzu    r0,-32764(r26)
+    460c:	1a 01 6d 00 	.long 0x6d011a
+    4610:	03 09 00 00 	.long 0x903
+    4614:	04 88 18 b0 	sth     r0,-30716(r24)
+    4618:	18 01 6d 04 	.long 0x46d0118
+    461c:	80 1a 8c 1a 	lxvp    vs20,6784(r12)
+    4620:	01 6d 00 08 	tdi     0,r0,27905
+    4624:	07 00 00 04 	.long 0x4000007
+    4628:	88 18 b0 18 	.long 0x18b01888
+    462c:	01 6d 04 80 	lwz     r0,27905(r4)
+    4630:	1a 8c 1a 01 	.long 0x11a8c1a
+    4634:	6d 00 00 00 	.long 0x6d
     4638:	00 00 00 00 	.long 0x0
-    463c:	00 00 00 04 	.long 0x4000000
-    4640:	c8 4a 83 4b 	b       ffffffffff839108 <kvmhv_nested_next_lpid+0xffffffffff835630>
-    4644:	01 56 04 83 	lwz     r24,22017(r4)
-    4648:	4b b0 4b 01 	.long 0x14bb04b
-    464c:	6e 04 b0 4b 	ba      ffb0046c <kvmhv_nested_next_lpid+0xffafc994>
-    4650:	bc 4b 04 a3 	lhz     r24,19388(r4)
-    4654:	01 56 9f 00 	.long 0x9f5601
-    4658:	00 00 04 84 	lwzu    r0,0(r4)
-    465c:	4b 90 4b 01 	.long 0x14b904b
-    4660:	53 00 00 01 	.long 0x1000053
-    4664:	04 a4 4b a4 	lhzu    r2,-23548(r11)
-    4668:	4b 01 53 00 	.long 0x53014b
-    466c:	03 00 00 00 	.long 0x3
-    4670:	04 c8 4a 83 	lwz     r26,-14332(r10)
-    4674:	4b 01 54 04 	.long 0x454014b
-    4678:	83 4b 84 4b 	bla     ff844b80 <kvmhv_nested_next_lpid+0xff8410a8>
-    467c:	04 a3 01 54 	rlwinm  r1,r0,20,12,2
-    4680:	9f 00 03 00 	.long 0x3009f
-    4684:	00 00 00 00 	.long 0x0
-    4688:	04 c8 4a e8 	ld      r2,-14332(r10)
-    468c:	4a 01 53 04 	.long 0x453014a
-    4690:	e8 4a 83 4b 	b       ffffffffff839178 <kvmhv_nested_next_lpid+0xffffffffff8356a0>
-    4694:	04 73 a0 67 	oris    r0,r29,29444
-    4698:	9f 04 83 4b 	bla     ff83049c <kvmhv_nested_next_lpid+0xff82c9c4>
-    469c:	84 4b 04 a3 	lhz     r24,19332(r4)
-    46a0:	01 53 9f 00 	.long 0x9f5301
+    463c:	04 90 18 ac 	lhau    r0,-28668(r24)
+    4640:	18 04 79 80 	lwz     r3,1048(r25)
+    4644:	19 9f 04 ac 	lhau    r0,-24807(r4)
+    4648:	18 bb 18 04 	.long 0x418bb18
+    464c:	7d 80 19 9f 	stbu    r24,-32643(r25)
+    4650:	04 80 1a 8c 	lbzu    r0,-32764(r26)
+    4654:	1a 04 79 80 	lwz     r3,1050(r25)
+    4658:	19 9f 00 01 	.long 0x1009f19
+    465c:	05 04 a4 18 	.long 0x18a40405
+    4660:	b0 18 01 6d 	xoris   r1,r8,6320
+    4664:	00 00 00 00 	.long 0x0
+    4668:	00 00 00 04 	.long 0x4000000
+    466c:	b8 4a d8 4a 	b       fffffffffed89124 <kvmhv_nested_next_lpid+0xfffffffffed8565c>
+    4670:	01 53 04 d8 	stfd    f0,21249(r4)
+    4674:	4a f3 4a 04 	.long 0x44af34a
+    4678:	73 a0 67 9f 	stbu    r27,-24461(r7)
+    467c:	04 f3 4a ac 	lhau    r2,-3324(r10)
+    4680:	4b 04 a3 01 	.long 0x1a3044b
+    4684:	53 9f 00 00 	.long 0x9f53
+    4688:	00 00 00 04 	.long 0x4000000
+    468c:	b8 4a dc 4a 	b       fffffffffedc9144 <kvmhv_nested_next_lpid+0xfffffffffedc567c>
+    4690:	01 54 04 dc 	stfdu   f0,21505(r4)
+    4694:	4a ac 4b 04 	.long 0x44bac4a
+    4698:	a3 01 54 9f 	stbu    r26,419(r20)
+    469c:	00 00 00 00 	.long 0x0
+    46a0:	00 00 00 04 	.long 0x4000000
+    46a4:	b8 4a f3 4a 	b       fffffffffef3915c <kvmhv_nested_next_lpid+0xfffffffffef35694>
+    46a8:	01 55 04 f3 	xsmaxdp vs56,vs4,vs10
+    46ac:	4a a4 4b 01 	.long 0x14ba44a
+    46b0:	6f 04 a4 4b 	bla     ffa4046c <kvmhv_nested_next_lpid+0xffa3c9a4>
+    46b4:	ac 4b 04 a3 	lhz     r24,19372(r4)
+    46b8:	01 55 9f 00 	.long 0x9f5501
+    46bc:	00 00 00 00 	.long 0x0
+    46c0:	00 00 04 b8 	lm      r0,0(r4)
+    46c4:	4a f3 4a 01 	.long 0x14af34a
+    46c8:	56 04 f3 4a 	ba      fef30454 <kvmhv_nested_next_lpid+0xfef2c98c>
+    46cc:	a0 4b 01 6e 	xoris   r1,r16,19360
+    46d0:	04 a0 4b ac 	lhau    r2,-24572(r11)
+    46d4:	4b 04 a3 01 	.long 0x1a3044b
+    46d8:	56 9f 00 00 	.long 0x9f56
+    46dc:	00 04 f4 4a 	b       fffffffffef44adc <kvmhv_nested_next_lpid+0xfffffffffef41014>
+    46e0:	80 4b 01 53 	rlwimi  r1,r24,9,14,0
+    46e4:	00 00 01 04 	.long 0x4010000
+    46e8:	94 4b 94 4b 	b       ffffffffff94927c <kvmhv_nested_next_lpid+0xffffffffff9457b4>
+    46ec:	01 53 00 03 	.long 0x3005301
+    46f0:	00 00 00 04 	.long 0x4000000
+    46f4:	b8 4a f3 4a 	b       fffffffffef391ac <kvmhv_nested_next_lpid+0xfffffffffef356e4>
+    46f8:	01 54 04 f3 	xsmaxcdp vs56,vs4,vs10
+    46fc:	4a f4 4a 04 	.long 0x44af44a
+    4700:	a3 01 54 9f 	stbu    r26,419(r20)
+    4704:	00 03 00 00 	.long 0x300
+    4708:	00 00 00 04 	.long 0x4000000
+    470c:	b8 4a d8 4a 	b       fffffffffed891c4 <kvmhv_nested_next_lpid+0xfffffffffed856fc>
+    4710:	01 53 04 d8 	stfd    f0,21249(r4)
+    4714:	4a f3 4a 04 	.long 0x44af34a
+    4718:	73 a0 67 9f 	stbu    r27,-24461(r7)
+    471c:	04 f3 4a f4 	psq_stu f2,772(r10),1,7
+    4720:	4a 04 a3 01 	.long 0x1a3044a
+    4724:	Address 0x0000000000004724 is out of bounds.
+
 
 Disassembly of section .debug_aranges:
 
@@ -39538,14 +39540,14 @@ Disassembly of section .debug_aranges:
 	for (; addr < ((unsigned long *) (regs + 1)); addr++)
    8:	00 00 08 00 	.long 0x80000
 	...
-  18:	c0 3b 00 00 	.long 0x3bc0
+  18:	b0 3b 00 00 	.long 0x3bb0
 	...
 
 Disassembly of section .debug_rnglists:
 
 0000000000000000 <.debug_rnglists>:
 {
-   0:	e2 0a 00 00 	.long 0xae2
+   0:	e7 0a 00 00 	.long 0xae7
    4:	05 00 08 00 	.long 0x80005
 	for (; addr < ((unsigned long *) (regs + 1)); addr++)
    8:	00 00 00 00 	.long 0x0
@@ -39843,693 +39845,695 @@ Disassembly of section .debug_rnglists:
  2e8:	bc 23 00 04 	.long 0x40023bc
  2ec:	d0 23 f8 23 	subfic  r31,r24,9168
 			cpu_relax();
- 2f0:	04 b0 27 c0 	lfs     f1,-20476(r7)
+ 2f0:	04 e0 27 f0 	xsaddsp vs1,vs39,vs28
  2f4:	27 00 04 d0 	stfs    f0,39(r4)
 		rc = plpar_hcall_norets(H_RPT_INVALIDATE, pid, target,
  2f8:	23 f8 23 04 	.long 0x423f823
- 2fc:	b0 27 c0 27 	dozi    r30,r0,10160
+ 2fc:	e0 27 f0 27 	dozi    r31,r16,10208
  300:	00 04 d0 23 	subfic  r30,r16,1024
- 304:	ec 23 04 b0 	sth     r0,9196(r4)
- 308:	27 c0 27 00 	.long 0x27c027
+ 304:	ec 23 04 e0 	lq      r0,9184(r4)
+ 308:	27 f0 27 00 	.long 0x27f027
  30c:	04 e0 24 84 	lwzu    r1,-8188(r4)
- 310:	26 04 c0 27 	dozi    r30,r0,1062
- 314:	90 28 04 f0 	xxmrghw vs0,vs4,vs5
- 318:	28 9c 29 00 	.long 0x299c28
+ 310:	26 04 b0 27 	dozi    r29,r16,1062
+ 314:	e0 27 04 f0 	psq_st  f0,2016(r4),0,2
+ 318:	27 90 28 04 	.long 0x4289027
 		if (rc == H_BUSY) {
- 31c:	04 88 25 90 	stw     r1,-30716(r5)
- 320:	25 04 98 25 	dozi    r12,r24,1061
+ 31c:	f0 28 9c 29 	cmplwi  cr3,r28,10480
+ 320:	00 04 88 25 	dozi    r12,r8,1024
 		} else if (rc == H_SUCCESS)
- 324:	b0 25 00 04 	.long 0x40025b0
- 328:	b0 25 c8 25 	dozi    r14,r8,9648
+ 324:	90 25 04 98 	stb     r0,9616(r4)
+ 328:	25 b0 25 00 	.long 0x25b025
 		BUG();
- 32c:	04 c0 27 f0 	xsaddsp vs1,vs39,vs24
- 330:	27 00 04 b0 	sth     r0,39(r4)
- 334:	25 b4 25 04 	.long 0x425b425
+ 32c:	04 b0 25 c8 	lfd     f1,-20476(r5)
+ 330:	25 04 b0 27 	dozi    r29,r16,1061
+ 334:	e0 27 00 04 	.long 0x40027e0
 static bool kvmhv_invalidate_shadow_pte(struct kvm_vcpu *vcpu,
- 338:	c0 27 c0 27 	dozi    r30,r0,10176
- 33c:	00 04 b0 25 	dozi    r13,r16,1024
- 340:	b4 25 04 c0 	lfs     f0,9652(r4)
- 344:	27 c0 27 00 	.long 0x27c027
- 348:	04 f4 27 84 	lwzu    r1,-3068(r7)
- 34c:	28 04 f0 28 	cmpldi  cr1,r16,1064
- 350:	9c 29 00 04 	.long 0x400299c
+ 338:	b0 25 b4 25 	dozi    r13,r20,9648
+ 33c:	04 b0 27 b0 	sth     r1,-20476(r7)
+ 340:	27 00 04 b0 	sth     r0,39(r4)
+ 344:	25 b4 25 04 	.long 0x425b425
+ 348:	b0 27 b0 27 	dozi    r29,r16,10160
+ 34c:	00 04 f4 27 	dozi    r31,r20,1024
+ 350:	84 28 04 f0 	xsmulsp vs0,vs36,vs5
 	int shift;
- 354:	f4 27 f8 27 	dozi    r31,r24,10228
+ 354:	28 9c 29 00 	.long 0x299c28
 static bool kvmhv_invalidate_shadow_pte(struct kvm_vcpu *vcpu,
- 358:	04 f0 28 f0 	xsaddsp vs1,vs40,vs30
- 35c:	28 00 04 f4 	psq_stu f0,40(r4),0,0
- 360:	27 f8 27 04 	.long 0x427f827
- 364:	f0 28 f0 28 	cmpldi  cr1,r16,10480
- 368:	00 04 ec 26 	dozi    r23,r12,1024
- 36c:	f0 26 04 f4 	psq_stu f0,1776(r4),0,2
- 370:	26 98 27 04 	.long 0x4279826
- 374:	e0 28 f0 28 	cmpldi  cr1,r16,10464
- 378:	00 04 ec 26 	dozi    r23,r12,1024
- 37c:	f0 26 04 f4 	psq_stu f0,1776(r4),0,2
- 380:	26 98 27 04 	.long 0x4279826
+ 358:	04 f4 27 f8 	std     r1,-3068(r7)
+ 35c:	27 04 f0 28 	cmpldi  cr1,r16,1063
+ 360:	f0 28 00 04 	.long 0x40028f0
+ 364:	f4 27 f8 27 	dozi    r31,r24,10228
+ 368:	04 f0 28 f0 	xsaddsp vs1,vs40,vs30
+ 36c:	28 00 04 ec 	fsubs   f0,f4,f0
+ 370:	26 f0 26 04 	.long 0x426f026
+ 374:	f4 26 98 27 	dozi    r28,r24,9972
+ 378:	04 e0 28 f0 	xsaddsp vs1,vs40,vs28
+ 37c:	28 00 04 ec 	fsubs   f0,f4,f0
+ 380:	26 f0 26 04 	.long 0x426f026
 	int shift;
- 384:	e0 28 f0 28 	cmpldi  cr1,r16,10464
- 388:	00 04 ec 26 	dozi    r23,r12,1024
- 38c:	f0 26 04 f4 	psq_stu f0,1776(r4),0,2
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
- 390:	26 8c 27 04 	.long 0x4278c26
- 394:	e0 28 f0 28 	cmpldi  cr1,r16,10464
- 398:	00 04 e4 29 	cmpldi  cr3,r4,1024
- 39c:	e8 29 04 f0 	xstdivdp cr0,vs4,vs5
+ 384:	f4 26 98 27 	dozi    r28,r24,9972
+ 388:	04 e0 28 f0 	xsaddsp vs1,vs40,vs28
+ 38c:	28 00 04 ec 	fsubs   f0,f4,f0
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+ 390:	26 f0 26 04 	.long 0x426f026
+ 394:	f4 26 8c 27 	dozi    r28,r12,9972
+ 398:	04 e0 28 f0 	xsaddsp vs1,vs40,vs28
+ 39c:	28 00 04 e4 	psq_lu  f0,40(r4),0,0
 	if (!gp)
- 3a0:	29 94 2a 04 	.long 0x42a9429
- 3a4:	e0 2a f0 2a 	cmpldi  cr5,r16,10976
+ 3a0:	29 e8 29 04 	.long 0x429e829
+ 3a4:	f0 29 94 2a 	cmplwi  cr5,r20,10736
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
- 3a8:	00 04 e4 29 	cmpldi  cr3,r4,1024
- 3ac:	e8 29 04 f0 	xstdivdp cr0,vs4,vs5
- 3b0:	29 94 2a 04 	.long 0x42a9429
- 3b4:	e0 2a f0 2a 	cmpldi  cr5,r16,10976
- 3b8:	00 04 e4 29 	cmpldi  cr3,r4,1024
- 3bc:	e8 29 04 f0 	xstdivdp cr0,vs4,vs5
+ 3a8:	04 e0 2a f0 	xsaddsp vs1,vs42,vs28
+ 3ac:	2a 00 04 e4 	lxsd    v0,40(r4)
+ 3b0:	29 e8 29 04 	.long 0x429e829
+ 3b4:	f0 29 94 2a 	cmplwi  cr5,r20,10736
+ 3b8:	04 e0 2a f0 	xsaddsp vs1,vs42,vs28
+ 3bc:	2a 00 04 e4 	lxsd    v0,40(r4)
 	if (!shift)
- 3c0:	29 88 2a 04 	.long 0x42a8829
+ 3c0:	29 e8 29 04 	.long 0x429e829
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
- 3c4:	e0 2a f0 2a 	cmpldi  cr5,r16,10976
+ 3c4:	f0 29 88 2a 	cmplwi  cr5,r8,10736
 	if (!shift)
- 3c8:	00 04 ac 2c 	cmpdi   cr1,r12,1024
- 3cc:	b4 2c 04 b8 	lm      r0,11444(r4)
+ 3c8:	04 e0 2a f0 	xsaddsp vs1,vs42,vs28
+ 3cc:	2a 00 04 ac 	lhau    r0,42(r4)
 	if (ptep && pte_present(*ptep)) {
- 3d0:	2c bc 2c 00 	.long 0x2cbc2c
- 3d4:	04 b4 2c b8 	lm      r1,-19452(r12)
- 3d8:	2c 04 c0 2c 	cmpwi   cr1,r0,1068
+ 3d0:	2c b4 2c 04 	.long 0x42cb42c
+ 3d4:	b8 2c bc 2c 	cmpdi   cr1,r28,11448
+ 3d8:	00 04 b4 2c 	cmpdi   cr1,r20,1024
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
- 3dc:	c8 2c 04 cc 	lfdu    f0,11464(r4)
+ 3dc:	b8 2c 04 c0 	lfs     f0,11448(r4)
 	if (pte_hw_valid(pte))
- 3e0:	2c d0 2c 04 	.long 0x42cd02c
- 3e4:	dc 2c e0 2c 	cmpdi   cr1,r0,11484
+ 3e0:	2c c8 2c 04 	.long 0x42cc82c
+ 3e4:	cc 2c d0 2c 	cmpwi   cr1,r16,11468
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
- 3e8:	00 04 b4 2c 	cmpdi   cr1,r20,1024
- 3ec:	b8 2c 04 c0 	lfs     f0,11448(r4)
- 3f0:	2c c8 2c 04 	.long 0x42cc82c
+ 3e8:	04 dc 2c e0 	psq_l   f1,-1020(r12),1,5
+ 3ec:	2c 00 04 b4 	sthu    r0,44(r4)
+ 3f0:	2c b8 2c 04 	.long 0x42cb82c
 	if (unlikely(ms->mmiowb_pending)) {
- 3f4:	cc 2c d0 2c 	cmpwi   cr1,r16,11468
+ 3f4:	c0 2c c8 2c 	cmpwi   cr1,r8,11456
 	struct mmiowb_state *ms = __mmiowb_state();
- 3f8:	00 04 c8 2c 	cmpwi   cr1,r8,1024
+ 3f8:	04 cc 2c d0 	stfs    f1,-13308(r12)
 	if (unlikely(ms->mmiowb_pending)) {
- 3fc:	cc 2c 04 d0 	stfs    f0,11468(r4)
- 400:	2c dc 2c 04 	.long 0x42cdc2c
+ 3fc:	2c 00 04 c8 	lfd     f0,44(r4)
+ 400:	2c cc 2c 04 	.long 0x42ccc2c
 	ms->nesting_count--;
- 404:	e0 2c c0 2d 	cmpwi   cr3,r0,11488
- 408:	04 a0 2e c0 	lfs     f1,-24572(r14)
- 40c:	2e 04 d8 2e 	cmpwi   cr5,r24,1070
- 410:	8c 2f 04 a0 	lhz     r0,12172(r4)
- 414:	2f 8c 30 04 	.long 0x4308c2f
- 418:	94 30 98 30 	addic   r4,r24,12436
+ 404:	d0 2c dc 2c 	cmpwi   cr1,r28,11472
+ 408:	04 e0 2c c0 	lfs     f1,-8188(r12)
+ 40c:	2d 04 a0 2e 	cmpdi   cr5,r0,1069
+ 410:	c0 2e 04 d8 	stfd    f0,11968(r4)
+ 414:	2e 8c 2f 04 	.long 0x42f8c2e
+ 418:	a0 2f 8c 30 	addic   r4,r12,12192
 	if (shift_ret)
- 41c:	04 a0 30 a8 	lha     r1,-24572(r16)
- 420:	30 04 88 40 	bge     cr2,850 <.debug_rnglists+0x850>
+ 41c:	04 94 30 98 	stb     r1,-27644(r16)
+ 420:	30 04 a0 30 	addic   r5,r0,1072
 		*shift_ret = shift;
- 424:	8c 40 00 04 	.long 0x400408c
- 428:	f0 2c f4 2c 	cmpdi   cr1,r20,11504
+ 424:	a8 30 04 88 	lbz     r0,12456(r4)
+ 428:	40 8c 40 00 	.long 0x408c40
 }
- 42c:	04 f8 2c fc 	.long 0xfc2cf804
- 430:	2c 00 04 b0 	sth     r0,44(r4)
- 434:	2d c0 2d 04 	.long 0x42dc02d
- 438:	a0 2e a4 2e 	cmpdi   cr5,r4,11936
- 43c:	04 a0 2f a4 	lhzu    r1,-24572(r15)
- 440:	2f 00 04 c0 	lfs     f0,47(r4)
- 444:	2d e0 2d 04 	.long 0x42de02d
- 448:	c0 2e d8 2e 	cmpwi   cr5,r24,11968
- 44c:	04 8c 2f 90 	stw     r1,-29692(r15)
- 450:	2f 04 8c 30 	addic   r4,r12,1071
- 454:	94 30 04 98 	stb     r0,12436(r4)
- 458:	30 a0 30 04 	.long 0x430a030
- 45c:	a8 30 b8 30 	addic   r5,r24,12456
+ 42c:	04 f0 2c f4 	psq_stu f1,4(r12),1,7
+ 430:	2c 04 f8 2c 	cmpdi   cr1,r24,1068
+ 434:	fc 2c 00 04 	.long 0x4002cfc
+ 438:	b0 2d c0 2d 	cmpwi   cr3,r0,11696
+ 43c:	04 a0 2e a4 	lhzu    r1,-24572(r14)
+ 440:	2e 04 a0 2f 	cmpdi   cr7,r0,1070
+ 444:	a4 2f 00 04 	.long 0x4002fa4
+ 448:	c0 2d e0 2d 	cmpdi   cr3,r0,11712
+ 44c:	04 c0 2e d8 	stfd    f1,-16380(r14)
+ 450:	2e 04 8c 2f 	cmpwi   cr7,r12,1070
+ 454:	90 2f 04 8c 	lbzu    r0,12176(r4)
+ 458:	30 94 30 04 	.long 0x4309430
+ 45c:	98 30 a0 30 	addic   r5,r0,12440
 		shift = PAGE_SHIFT;
- 460:	04 8c 40 c0 	lfs     f2,-29692(0)
- 464:	40 00 04 c8 	lfd     f0,64(r4)
- 468:	2d cc 2d 04 	.long 0x42dcc2d
- 46c:	d0 2d e0 2d 	cmpdi   cr3,r0,11728
+ 460:	04 a8 30 b8 	lm      r1,-22524(r16)
+ 464:	30 04 8c 40 	bge     cr3,894 <.debug_rnglists+0x894>
+ 468:	c0 40 00 04 	.long 0x40040c0
+ 46c:	c8 2d cc 2d 	cmpwi   cr3,r12,11720
 		kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid);
- 470:	04 c8 2e cc 	lfdu    f1,-14332(r14)
- 474:	2e 04 d0 2e 	cmpwi   cr5,r16,1070
- 478:	d8 2e 04 8c 	lbzu    r0,11992(r4)
- 47c:	2f 90 2f 04 	.long 0x42f902f
- 480:	98 30 9c 30 	addic   r4,r28,12440
- 484:	04 a8 30 b8 	lm      r1,-22524(r16)
- 488:	30 04 8c 40 	bge     cr3,8b8 <.debug_rnglists+0x8b8>
+ 470:	04 d0 2d e0 	psq_l   f1,4(r13),1,5
+ 474:	2d 04 c8 2e 	cmpwi   cr5,r8,1069
+ 478:	cc 2e 04 d0 	stfs    f0,11980(r4)
+ 47c:	2e d8 2e 04 	.long 0x42ed82e
+ 480:	8c 2f 90 2f 	cmpwi   cr7,r16,12172
+ 484:	04 98 30 9c 	stbu    r1,-26620(r16)
+ 488:	30 04 a8 30 	addic   r5,r8,1072
 	if (unlikely(ms->mmiowb_pending)) {
- 48c:	c0 40 00 04 	.long 0x40040c0
+ 48c:	b8 30 04 8c 	lbzu    r0,12472(r4)
 	struct mmiowb_state *ms = __mmiowb_state();
- 490:	c8 2d cc 2d 	cmpwi   cr3,r12,11720
+ 490:	40 c0 40 00 	.long 0x40c040
 	if (unlikely(ms->mmiowb_pending)) {
- 494:	04 d0 2d d4 	stfsu   f1,-12284(r13)
- 498:	2d 04 c8 2e 	cmpwi   cr5,r8,1069
+ 494:	04 c8 2d cc 	lfdu    f1,-14332(r13)
+ 498:	2d 04 d0 2d 	cmpwi   cr3,r16,1069
 		ms->mmiowb_pending = 0;
- 49c:	cc 2e 04 d0 	stfs    f0,11980(r4)
- 4a0:	2e d8 2e 04 	.long 0x42ed82e
+ 49c:	d4 2d 04 c8 	lfd     f0,11732(r4)
+ 4a0:	2e cc 2e 04 	.long 0x42ecc2e
 		mmiowb();
- 4a4:	8c 2f 90 2f 	cmpwi   cr7,r16,12172
- 4a8:	04 98 30 9c 	stbu    r1,-26620(r16)
- 4ac:	30 04 a8 30 	addic   r5,r8,1072
+ 4a4:	d0 2e d8 2e 	cmpwi   cr5,r24,11984
+ 4a8:	04 8c 2f 90 	stw     r1,-29692(r15)
+ 4ac:	2f 04 98 30 	addic   r4,r24,1071
 	if (!shift)
- 4b0:	ac 30 04 8c 	lbzu    r0,12460(r4)
- 4b4:	40 c0 40 00 	.long 0x40c040
- 4b8:	04 8c 2f 90 	stw     r1,-29692(r15)
+ 4b0:	9c 30 04 a8 	lha     r0,12444(r4)
+ 4b4:	30 ac 30 04 	.long 0x430ac30
+ 4b8:	8c 40 c0 40 	bge-    4544 <kvmhv_nested_next_lpid+0xa7c>
 		shift = PAGE_SHIFT;
- 4bc:	2f 04 8c 40 	bgela   cr3,42c <.debug_rnglists+0x42c>
- 4c0:	c0 40 00 04 	.long 0x40040c0
+ 4bc:	00 04 8c 2f 	cmpwi   cr7,r12,1024
+ 4c0:	90 2f 04 8c 	lbzu    r0,12176(r4)
 	if (ptep && pte_present(*ptep)) {
- 4c4:	90 2f 90 2f 	cmpwi   cr7,r16,12176
+ 4c4:	40 c0 40 00 	.long 0x40c040
 }
- 4c8:	04 cc 3a e4 	psq_lu  f1,-1020(r26),1,4
- 4cc:	3a 04 f0 3b 	addi    r31,r16,1082
+ 4c8:	04 90 2f 90 	stw     r1,-28668(r15)
+ 4cc:	2f 04 cc 3a 	addi    r22,r12,1071
 {
- 4d0:	90 3c 04 c8 	lfd     f0,15504(r4)
- 4d4:	3d d0 3d 04 	.long 0x43dd03d
+ 4d0:	e4 3a 04 f0 	psq_st  f0,-1308(r4),0,3
+ 4d4:	3b 90 3c 04 	.long 0x43c903b
 	hr->pcr = vc->pcr | PCR_MASK;
- 4d8:	d4 3d dc 3d 	addis   r14,r28,15828
+ 4d8:	c8 3d d0 3d 	addis   r14,r16,15816
 	struct kvmppc_vcore *vc = vcpu->arch.vcore;
- 4dc:	04 e4 3d f4 	psq_stu f1,1028(r29),1,6
+ 4dc:	04 d4 3d dc 	stfdu   f1,-11260(r29)
 	hr->pcr = vc->pcr | PCR_MASK;
- 4e0:	3d 04 e0 3f 	lis     r31,1085
- 4e4:	f0 3f 04 f4 	psq_stu f0,-16(r4),0,3
- 4e8:	3f 88 40 04 	.long 0x440883f
- 4ec:	c4 40 88 41 	blt     cr2,45b0 <kvmhv_nested_next_lpid+0xad8>
- 4f0:	00 04 90 2f 	cmpwi   cr7,r16,1024
- 4f4:	90 2f 04 d0 	stfs    f0,12176(r4)
- 4f8:	3a d4 3a 04 	.long 0x43ad43a
+ 4e0:	3d 04 e4 3d 	addis   r15,r4,1085
+ 4e4:	f4 3d 04 e0 	lq      r0,15856(r4)
+ 4e8:	3f f0 3f 04 	.long 0x43ff03f
+ 4ec:	f4 3f 88 40 	bge     cr2,44e0 <kvmhv_nested_next_lpid+0xa18>
+ 4f0:	04 c4 40 88 	lbz     r2,-15356(0)
+ 4f4:	41 00 04 90 	stw     r0,65(r4)
+ 4f8:	2f 90 2f 04 	.long 0x42f902f
 	hr->dpdes = vc->dpdes;
- 4fc:	d8 3a e4 3a 	addi    r23,r4,15064
- 500:	04 f8 3b fc 	.long 0xfc3bf804
+ 4fc:	d0 3a d4 3a 	addi    r22,r20,15056
+ 500:	04 d8 3a e4 	psq_lu  f1,-2044(r26),1,5
 	hr->hfscr = vcpu->arch.hfscr;
- 504:	3b 04 80 3c 	lis     r4,1083
- 508:	90 3c 04 d4 	stfsu   f0,15504(r4)
+ 504:	3a 04 f8 3b 	addi    r31,r24,1082
+ 508:	fc 3b 04 80 	lwz     r0,15356(r4)
 	hr->tb_offset = vc->tb_offset;
- 50c:	3d d8 3d 04 	.long 0x43dd83d
- 510:	e4 3d f4 3d 	addis   r15,r20,15844
+ 50c:	3c 90 3c 04 	.long 0x43c903c
+ 510:	d4 3d d8 3d 	addis   r14,r24,15828
 	hr->dawr0 = vcpu->arch.dawr0;
- 514:	04 e0 3f f0 	xsaddsp vs1,vs63,vs28
- 518:	3f 04 f4 3f 	addis   r31,r20,1087
+ 514:	04 e4 3d f4 	psq_stu f1,1028(r29),1,6
+ 518:	3d 04 e0 3f 	lis     r31,1085
 	hr->dawrx0 = vcpu->arch.dawrx0;
- 51c:	88 40 04 c4 	lfsu    f0,16520(r4)
- 520:	40 88 41 00 	.long 0x418840
+ 51c:	f0 3f 04 f4 	psq_stu f0,-16(r4),0,3
+ 520:	3f 88 40 04 	.long 0x440883f
 	hr->ciabr = vcpu->arch.ciabr;
- 524:	04 90 2f 90 	stw     r1,-28668(r15)
- 528:	2f 04 d0 3a 	addi    r22,r16,1071
+ 524:	c4 40 88 41 	blt     cr2,45e8 <kvmhv_nested_next_lpid+0xb20>
+ 528:	00 04 90 2f 	cmpwi   cr7,r16,1024
 	hr->purr = vcpu->arch.purr;
- 52c:	d4 3a 04 d8 	stfd    f0,15060(r4)
- 530:	3a dc 3a 04 	.long 0x43adc3a
+ 52c:	90 2f 04 d0 	stfs    f0,12176(r4)
+ 530:	3a d4 3a 04 	.long 0x43ad43a
 	hr->spurr = vcpu->arch.spurr;
- 534:	f8 3b fc 3b 	addi    r31,r28,15352
- 538:	04 80 3c 84 	lwzu    r1,-32764(r28)
+ 534:	d8 3a dc 3a 	addi    r22,r28,15064
+ 538:	04 f8 3b fc 	.long 0xfc3bf804
 	hr->ic = vcpu->arch.ic;
- 53c:	3c 04 d4 3d 	addis   r14,r20,1084
- 540:	d8 3d 04 e4 	psq_lu  f0,-552(r4),0,3
+ 53c:	3b 04 80 3c 	lis     r4,1083
+ 540:	84 3c 04 d4 	stfsu   f0,15492(r4)
 	hr->vtb = vc->vtb;
- 544:	3d e8 3d 04 	.long 0x43de83d
- 548:	e0 3f f0 3f 	addis   r31,r16,16352
+ 544:	3d d8 3d 04 	.long 0x43dd83d
+ 548:	e4 3d e8 3d 	addis   r15,r8,15844
 	hr->srr0 = vcpu->arch.shregs.srr0;
- 54c:	04 f4 3f 88 	lbz     r1,-3068(r31)
- 550:	40 04 c4 40 	bge-    cr1,990 <.debug_rnglists+0x990>
+ 54c:	04 e0 3f f0 	xsaddsp vs1,vs63,vs28
+ 550:	3f 04 f4 3f 	addis   r31,r20,1087
 	hr->srr1 = vcpu->arch.shregs.srr1;
- 554:	88 41 00 04 	.long 0x4004188
- 558:	90 2f 90 2f 	cmpwi   cr7,r16,12176
+ 554:	88 40 04 c4 	lfsu    f0,16520(r4)
+ 558:	40 88 41 00 	.long 0x418840
 	hr->sprg[0] = vcpu->arch.shregs.sprg0;
- 55c:	04 e0 3f f0 	xsaddsp vs1,vs63,vs28
- 560:	3f 04 f4 3f 	addis   r31,r20,1087
+ 55c:	04 90 2f 90 	stw     r1,-28668(r15)
+ 560:	2f 04 e0 3f 	lis     r31,1071
 	hr->sprg[1] = vcpu->arch.shregs.sprg1;
- 564:	88 40 04 c4 	lfsu    f0,16520(r4)
- 568:	40 88 41 00 	.long 0x418840
+ 564:	f0 3f 04 f4 	psq_stu f0,-16(r4),0,3
+ 568:	3f 88 40 04 	.long 0x440883f
 	hr->sprg[2] = vcpu->arch.shregs.sprg2;
- 56c:	04 98 31 a0 	lhz     r1,-26620(r17)
- 570:	31 04 f0 3f 	addis   r31,r16,1073
+ 56c:	c4 40 88 41 	blt     cr2,4630 <kvmhv_nested_next_lpid+0xb68>
+ 570:	00 04 98 31 	addic   r12,r24,1024
 	hr->sprg[3] = vcpu->arch.shregs.sprg3;
- 574:	f4 3f 00 04 	.long 0x4003ff4
- 578:	c0 32 c4 32 	addic   r22,r4,12992
+ 574:	a0 31 04 f0 	psq_st  f0,416(r4),0,3
+ 578:	3f f4 3f 00 	.long 0x3ff43f
 	hr->pidr = vcpu->arch.pid;
- 57c:	04 c8 32 d0 	stfs    f1,-14332(r18)
- 580:	32 04 d4 32 	addic   r22,r20,1074
+ 57c:	04 c0 32 c4 	lfsu    f1,-16380(r18)
+ 580:	32 04 c8 32 	addic   r22,r8,1074
 	hr->cfar = vcpu->arch.cfar;
- 584:	ec 32 04 f0 	xvtdivsp cr0,vs36,vs6
- 588:	32 fc 32 04 	.long 0x432fc32
+ 584:	d0 32 04 d4 	stfsu   f0,13008(r4)
+ 588:	32 ec 32 04 	.long 0x432ec32
 	hr->ppr = vcpu->arch.ppr;
- 58c:	80 33 88 33 	addic   r28,r8,13184
- 590:	04 8c 33 90 	stw     r1,-29692(r19)
+ 58c:	f0 32 fc 32 	addic   r23,r28,13040
+ 590:	04 80 33 88 	lbz     r1,-32764(r19)
 	hr->dawr1 = vcpu->arch.dawr1;
- 594:	33 04 94 33 	addic   r28,r20,1075
- 598:	a0 33 04 a8 	lha     r0,13216(r4)
+ 594:	33 04 8c 33 	addic   r28,r12,1075
+ 598:	90 33 04 94 	stwu    r0,13200(r4)
 	hr->dawrx1 = vcpu->arch.dawrx1;
- 59c:	33 e8 33 04 	.long 0x433e833
- 5a0:	ec 33 b4 35 	addic.  r13,r20,13292
+ 59c:	33 a0 33 04 	.long 0x433a033
+ 5a0:	a8 33 e8 33 	addic   r31,r8,13224
 }
- 5a4:	00 04 c0 32 	addic   r22,r0,1024
- 5a8:	c4 32 04 d4 	stfsu   f0,12996(r4)
- 5ac:	32 e0 32 04 	.long 0x432e032
+ 5a4:	04 ec 33 b4 	sthu    r1,-5116(r19)
+ 5a8:	35 00 04 c0 	lfs     f0,53(r4)
+ 5ac:	32 c4 32 04 	.long 0x432c432
 {
- 5b0:	e4 32 ec 32 	addic   r23,r12,13028
- 5b4:	04 f0 32 f8 	std     r1,-4092(r18)
+ 5b0:	d4 32 e0 32 	addic   r23,r0,13012
+ 5b4:	04 e4 32 ec 	dsub    f1,f18,f28
 	vc->dpdes = hr->dpdes;
- 5b8:	32 04 80 33 	addic   r28,r0,1074
+ 5b8:	32 04 f0 32 	addic   r23,r16,1074
 	struct kvmppc_vcore *vc = vcpu->arch.vcore;
- 5bc:	84 33 04 8c 	lbzu    r0,13188(r4)
+ 5bc:	f8 32 04 80 	lwz     r0,13048(r4)
 	vc->dpdes = hr->dpdes;
- 5c0:	33 90 33 04 	.long 0x4339033
+ 5c0:	33 84 33 04 	.long 0x4338433
 	vcpu->arch.hfscr = hr->hfscr;
- 5c4:	94 33 a0 33 	addic   r29,r0,13204
- 5c8:	04 a8 33 e8 	ld      r1,-22524(r19)
+ 5c4:	8c 33 90 33 	addic   r28,r16,13196
+ 5c8:	04 94 33 a0 	lhz     r1,-27644(r19)
 	vcpu->arch.purr = hr->purr;
- 5cc:	33 04 ec 33 	addic   r31,r12,1075
- 5d0:	88 34 04 8c 	lbzu    r0,13448(r4)
+ 5cc:	33 04 a8 33 	addic   r29,r8,1075
+ 5d0:	e8 33 04 ec 	.long 0xec0433e8
 	vcpu->arch.spurr = hr->spurr;
- 5d4:	34 90 34 04 	.long 0x4349034
- 5d8:	94 34 9c 34 	addic.  r4,r28,13460
+ 5d4:	33 88 34 04 	.long 0x4348833
+ 5d8:	8c 34 90 34 	addic.  r4,r16,13452
 	vcpu->arch.ic = hr->ic;
- 5dc:	04 a4 34 b4 	sthu    r1,-23548(r20)
- 5e0:	34 04 b8 34 	addic.  r5,r24,1076
+ 5dc:	04 94 34 9c 	stbu    r1,-27644(r20)
+ 5e0:	34 04 a4 34 	addic.  r5,r4,1076
 	vc->vtb = hr->vtb;
- 5e4:	c0 34 04 c4 	lfsu    f0,13504(r4)
- 5e8:	34 cc 34 00 	.long 0x34cc34
+ 5e4:	b4 34 04 b8 	lm      r0,13492(r4)
+ 5e8:	34 c0 34 04 	.long 0x434c034
 	vcpu->arch.fault_dar = hr->hdar;
- 5ec:	04 f4 35 f8 	std     r1,-3068(r21)
- 5f0:	35 04 fc 35 	addic.  r15,r28,1077
+ 5ec:	c4 34 cc 34 	addic.  r6,r12,13508
+ 5f0:	00 04 f4 35 	addic.  r15,r20,1024
 	vcpu->arch.fault_dsisr = hr->hdsisr;
- 5f4:	80 36 04 8c 	lbzu    r0,13952(r4)
- 5f8:	36 94 36 04 	.long 0x4369436
+ 5f4:	f8 35 04 fc 	fmsub   f0,f4,f23,f6
+ 5f8:	35 80 36 04 	.long 0x4368035
 	vcpu->arch.fault_gpa = hr->asdr;
- 5fc:	98 36 b4 36 	addic.  r21,r20,13976
- 600:	04 bc 36 c4 	lfsu    f1,-17404(r22)
+ 5fc:	8c 36 94 36 	addic.  r20,r20,13964
+ 600:	04 98 36 b4 	sthu    r1,-26620(r22)
 	vcpu->arch.emul_inst = hr->heir;
- 604:	36 04 cc 36 	addic.  r22,r12,1078
- 608:	d4 36 04 d8 	stfd    f0,14036(r4)
+ 604:	36 04 bc 36 	addic.  r21,r28,1078
+ 608:	c4 36 04 cc 	lfdu    f0,14020(r4)
 	vcpu->arch.shregs.srr0 = hr->srr0;
- 60c:	36 b0 37 04 	.long 0x437b036
- 610:	b0 3b d0 3b 	addi    r30,r16,15280
+ 60c:	36 d4 36 04 	.long 0x436d436
+ 610:	d8 36 b0 37 	addic.  r29,r16,14040
 	vcpu->arch.shregs.srr1 = hr->srr1;
- 614:	04 b0 3f dc 	stfdu   f1,-20476(r31)
- 618:	3f 00 04 e4 	lxssp   v0,60(r4)
+ 614:	04 b0 3b d0 	stfs    f1,-20476(r27)
+ 618:	3b 04 b0 3f 	addis   r29,r16,1083
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
- 61c:	37 e8 37 04 	.long 0x437e837
- 620:	f4 37 f8 37 	addic.  r31,r24,14324
+ 61c:	dc 3f 00 04 	.long 0x4003fdc
+ 620:	e4 37 e8 37 	addic.  r31,r8,14308
 	vcpu->arch.shregs.sprg1 = hr->sprg[1];
- 624:	04 fc 37 98 	stb     r1,-1020(r23)
- 628:	38 04 9c 38 	addi    r4,r28,1080
+ 624:	04 f4 37 f8 	std     r1,-3068(r23)
+ 628:	37 04 fc 37 	addic.  r31,r28,1079
 	vcpu->arch.shregs.sprg2 = hr->sprg[2];
- 62c:	a0 38 04 a4 	lhzu    r0,14496(r4)
- 630:	38 b4 38 04 	.long 0x438b438
+ 62c:	98 38 04 9c 	stbu    r0,14488(r4)
+ 630:	38 a0 38 04 	.long 0x438a038
 	vcpu->arch.shregs.sprg3 = hr->sprg[3];
- 634:	b8 38 c4 38 	addi    r6,r4,14520
- 638:	04 c8 38 94 	stwu    r1,-14332(r24)
+ 634:	a4 38 b4 38 	addi    r5,r20,14500
+ 638:	04 b8 38 c4 	lfsu    f1,-18428(r24)
 	vcpu->arch.pid = hr->pidr;
- 63c:	39 04 9c 39 	addi    r12,r28,1081
- 640:	a0 39 04 a4 	lhzu    r0,14752(r4)
+ 63c:	38 04 c8 38 	addi    r6,r8,1080
+ 640:	94 39 04 9c 	stbu    r0,14740(r4)
 	vcpu->arch.cfar = hr->cfar;
- 644:	39 c4 39 04 	.long 0x439c439
- 648:	d0 39 d4 39 	addi    r14,r20,14800
+ 644:	39 a0 39 04 	.long 0x439a039
+ 648:	a4 39 c4 39 	addi    r14,r4,14756
 	vcpu->arch.ppr = hr->ppr;
- 64c:	04 dc 39 e0 	psq_l   f1,-1020(r25),1,5
- 650:	39 04 e4 39 	addi    r15,r4,1081
+ 64c:	04 d0 39 d4 	stfsu   f1,-12284(r25)
+ 650:	39 04 dc 39 	addi    r14,r28,1081
 }
- 654:	ec 39 00 04 	.long 0x40039ec
- 658:	9c 3a ac 3a 	addi    r21,r12,15004
- 65c:	04 b0 3a b8 	lm      r1,-20476(r26)
- 660:	3a 04 b8 3a 	addi    r21,r24,1082
- 664:	bc 3a 00 04 	.long 0x4003abc
-{
- 668:	9c 3a 9c 3a 	addi    r20,r28,15004
- 66c:	04 a0 3a ac 	lhau    r1,-24572(r26)
- 670:	3a 04 b0 3a 	addi    r21,r16,1082
- 674:	b8 3a 00 04 	.long 0x4003ab8
- 678:	ac 3a b0 3a 	addi    r21,r16,15020
+ 654:	e0 39 04 e4 	psq_lu  f0,-1568(r4),0,3
+ 658:	39 ec 39 00 	.long 0x39ec39
+ 65c:	04 9c 3a ac 	lhau    r1,-25596(r26)
+ 660:	3a 04 b0 3a 	addi    r21,r16,1082
+ 664:	b8 3a 04 b8 	lm      r0,15032(r4)
+{
+ 668:	3a bc 3a 00 	.long 0x3abc3a
+ 66c:	04 9c 3a 9c 	stbu    r1,-25596(r26)
+ 670:	3a 04 a0 3a 	li      r21,1082
+ 674:	ac 3a 04 b0 	sth     r0,15020(r4)
+ 678:	3a b8 3a 00 	.long 0x3ab83a
 		return 0;
- 67c:	04 b8 3a b8 	lm      r1,-18428(r26)
- 680:	3a 04 bc 3a 	addi    r21,r28,1082
- 684:	cc 3a 04 d0 	stfs    f0,15052(r4)
- 688:	3b f0 3b 04 	.long 0x43bf03b
- 68c:	90 3d c8 3d 	addis   r14,r8,15760
- 690:	04 d0 3d d4 	stfsu   f1,-12284(r29)
+ 67c:	04 ac 3a b0 	sth     r1,-21500(r26)
+ 680:	3a 04 b8 3a 	addi    r21,r24,1082
+ 684:	b8 3a 04 bc 	stmw    r0,15032(r4)
+ 688:	3a cc 3a 04 	.long 0x43acc3a
+ 68c:	d0 3b f0 3b 	addi    r31,r16,15312
+ 690:	04 90 3d c8 	lfd     f1,-28668(r29)
 {
- 694:	3d 04 dc 3d 	addis   r14,r28,1085
- 698:	e4 3d 04 dc 	stfdu   f0,15844(r4)
+ 694:	3d 04 d0 3d 	addis   r14,r16,1085
+ 698:	d4 3d 04 dc 	stfdu   f0,15828(r4)
 			return kmalloc_large(size, flags);
- 69c:	3f e0 3f 04 	.long 0x43fe03f
- 6a0:	c0 40 c4 40 	bge-    cr1,4760 <kvmhv_nested_next_lpid+0xc88>
- 6a4:	00 04 b8 3a 	addi    r21,r24,1024
- 6a8:	b8 3a 04 bc 	stmw    r0,15032(r4)
- 6ac:	3a cc 3a 04 	.long 0x43acc3a
- 6b0:	d0 3b d4 3b 	addi    r30,r20,15312
+ 69c:	3d e4 3d 04 	.long 0x43de43d
+ 6a0:	dc 3f e0 3f 	lis     r31,16348
+ 6a4:	04 c0 40 c4 	.long 0xc440c004
+ 6a8:	40 00 04 b8 	lm      r0,64(r4)
+ 6ac:	3a b8 3a 04 	.long 0x43ab83a
+ 6b0:	bc 3a cc 3a 	addi    r22,r12,15036
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
- 6b4:	04 90 3d 94 	stwu    r1,-28668(r29)
-	if (unlikely(!pseries_partition_tb)) {
- 6b8:	3d 00 04 a4 	lhzu    r0,61(r4)
+ 6b4:	04 d0 3b d4 	stfsu   f1,-12284(r27)
+	if (!pseries_partition_tb) {
+ 6b8:	3b 04 90 3d 	addis   r12,r16,1083
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
- 6bc:	42 a8 42 04 	.long 0x442a842
- 6c0:	b4 42 b4 42 	.long 0x42b442b4
-	if (unlikely(!pseries_partition_tb)) {
- 6c4:	00 04 b0 43 	.long 0x43b00400
+ 6bc:	94 3d 00 04 	.long 0x4003d94
+ 6c0:	a4 42 a8 42 	.long 0x42a842a4
+	if (!pseries_partition_tb) {
+ 6c4:	04 b4 42 b4 	sthu    r2,-19452(r2)
 	ptcr = __pa(pseries_partition_tb) | (ptb_order - 12);
- 6c8:	c0 43 04 cc 	lfdu    f0,17344(r4)
+ 6c8:	42 00 04 b0 	sth     r0,66(r4)
 	rc = plpar_hcall_norets(H_SET_PARTITION_TABLE, ptcr);
- 6cc:	43 d0 43 04 	.long 0x443d043
- 6d0:	d4 43 d8 43 	.long 0x43d843d4
- 6d4:	00 04 b0 43 	.long 0x43b00400
- 6d8:	b0 43 04 b4 	sthu    r0,17328(r4)
- 6dc:	43 c0 43 04 	.long 0x443c043
+ 6cc:	43 c0 43 04 	.long 0x443c043
+ 6d0:	cc 43 d0 43 	.long 0x43d043cc
+ 6d4:	04 d4 43 d8 	stfd    f2,-11260(r3)
+ 6d8:	43 00 04 b0 	sth     r0,67(r4)
+ 6dc:	43 b0 43 04 	.long 0x443b043
 	if (rc != H_SUCCESS) {
- 6e0:	cc 43 d0 43 	.long 0x43d043cc
- 6e4:	00 04 e0 43 	.long 0x43e00400
+ 6e0:	b4 43 c0 43 	.long 0x43c043b4
+ 6e4:	04 cc 43 d0 	stfs    f2,-13308(r3)
 		return 0;
- 6e8:	e8 43 04 ec 	.long 0xec0443e8
+ 6e8:	43 00 04 e0 	lq      r0,64(r4)
 }
- 6ec:	43 84 44 04 	.long 0x4448443
- 6f0:	f0 46 80 47 	.long 0x478046f0
- 6f4:	04 84 47 84 	lwzu    r2,-31740(r7)
- 6f8:	47 00 04 ec 	drrnd.  f0,f4,f0,0
- 6fc:	43 f0 43 04 	.long 0x443f043
+ 6ec:	43 e8 43 04 	.long 0x443e843
+ 6f0:	ec 43 84 44 	.long 0x448443ec
+ 6f4:	04 d0 46 e0 	lq      r2,-12288(r6)
+ 6f8:	46 04 e4 46 	.long 0x46e40446
+ 6fc:	e4 46 00 04 	.long 0x40046e4
 		return -ENODEV;
- 700:	f4 43 84 44 	.long 0x448443f4
+ 700:	ec 43 f0 43 	.long 0x43f043ec
 }
- 704:	04 f0 46 80 	lwz     r2,-4092(r6)
+ 704:	04 f4 43 84 	lwzu    r2,-3068(r3)
 		pr_err("kvm-hv: Parent hypervisor does not support nesting (rc=%ld)\n",
- 708:	47 04 84 47 	.long 0x47840447
- 70c:	84 47 00 04 	.long 0x4004784
- 710:	ec 43 f0 43 	.long 0x43f043ec
- 714:	04 f4 43 f8 	std     r2,-3068(r3)
+ 708:	44 04 d0 46 	.long 0x46d00444
+ 70c:	e0 46 04 e4 	psq_lu  f0,1760(r4),0,4
+ 710:	46 e4 46 00 	.long 0x46e446
+ 714:	04 ec 43 f0 	xsmaxcdp vs2,vs35,vs29
 		kfree(pseries_partition_tb);
- 718:	43 04 f0 46 	.long 0x46f00443
- 71c:	80 47 04 84 	lwzu    r0,18304(r4)
- 720:	47 84 47 00 	.long 0x478447
+ 718:	43 04 f4 43 	.long 0x43f40443
+ 71c:	f8 43 04 d0 	stfs    f0,17400(r4)
+ 720:	46 e0 46 04 	.long 0x446e046
 		pseries_partition_tb = NULL;
- 724:	04 98 45 a8 	lha     r2,-26620(r5)
+ 724:	e4 46 e4 46 	.long 0x46e446e4
 		return -ENODEV;
- 728:	45 04 b4 45 	.long 0x45b40445
+ 728:	00 04 98 45 	.long 0x45980400
 		pseries_partition_tb = NULL;
- 72c:	b8 45 04 bc 	stmw    r0,17848(r4)
+ 72c:	a8 45 04 b4 	sthu    r0,17832(r4)
 		return -ENODEV;
- 730:	45 c0 45 00 	.long 0x45c045
+ 730:	45 b8 45 04 	.long 0x445b845
 		pr_err("kvm-hv: failed to allocated nested partition table\n");
- 734:	04 98 45 98 	stb     r2,-26620(r5)
- 738:	45 04 9c 45 	.long 0x459c0445
- 73c:	a8 45 04 b4 	sthu    r0,17832(r4)
- 740:	45 b8 45 00 	.long 0x45b845
+ 734:	bc 45 c0 45 	.long 0x45c045bc
+ 738:	00 04 98 45 	.long 0x45980400
+ 73c:	98 45 04 9c 	stbu    r0,17816(r4)
+ 740:	45 a8 45 04 	.long 0x445a845
 		return -ENOMEM;
- 744:	04 c8 45 d0 	stfs    f2,-14332(r5)
- 748:	45 04 d4 45 	.long 0x45d40445
- 74c:	ec 45 04 80 	lwz     r0,17900(r4)
- 750:	47 84 47 00 	.long 0x478447
- 754:	04 d4 45 d8 	stfd    f2,-11260(r5)
-{
- 758:	45 04 dc 45 	.long 0x45dc0445
- 75c:	ec 45 04 80 	lwz     r0,17900(r4)
- 760:	47 84 47 00 	.long 0x478447
- 764:	04 d4 45 d8 	stfd    f2,-11260(r5)
- 768:	45 04 dc 45 	.long 0x45dc0445
- 76c:	e0 45 04 80 	lwz     r0,17888(r4)
+ 744:	b4 45 b8 45 	.long 0x45b845b4
+ 748:	00 04 c8 45 	.long 0x45c80400
+ 74c:	d0 45 04 d4 	stfsu   f0,17872(r4)
+ 750:	45 ec 45 04 	.long 0x445ec45
+ 754:	e0 46 e4 46 	.long 0x46e446e0
+{
+ 758:	00 04 d4 45 	.long 0x45d40400
+ 75c:	d8 45 04 dc 	stfdu   f0,17880(r4)
+ 760:	45 ec 45 04 	.long 0x445ec45
+ 764:	e0 46 e4 46 	.long 0x46e446e0
+ 768:	00 04 d4 45 	.long 0x45d40400
+ 76c:	d8 45 04 dc 	stfdu   f0,17880(r4)
 	if (kvmhv_on_pseries() && pseries_partition_tb) {
- 770:	47 84 47 00 	.long 0x478447
+ 770:	45 e0 45 04 	.long 0x445e045
 {
- 774:	04 b8 47 bc 	stmw    r2,-18428(r7)
- 778:	47 04 dc 47 	.long 0x47dc0447
+ 774:	e0 46 e4 46 	.long 0x46e446e0
+ 778:	00 04 a8 47 	.long 0x47a80400
 	if (kvmhv_on_pseries() && pseries_partition_tb) {
- 77c:	e4 47 04 f8 	std     r0,18404(r4)
- 780:	47 b0 48 00 	.long 0x48b047
- 784:	04 d8 4a d8 	stfd    f2,-10236(r10)
- 788:	4a 04 e4 4a 	ba      fee40448 <kvmhv_nested_next_lpid+0xfee3c970>
+ 77c:	ac 47 04 cc 	lfdu    f0,18348(r4)
+ 780:	47 d4 47 04 	.long 0x447d447
+ 784:	e8 47 a0 48 	b       a04f6c <kvmhv_nested_next_lpid+0xa014a4>
+ 788:	00 04 c8 4a 	b       fffffffffec80b88 <kvmhv_nested_next_lpid+0xfffffffffec7d0c0>
 		plpar_hcall_norets(H_SET_PARTITION_TABLE, 0);
- 78c:	ec 4a 04 fc 	.long 0xfc044aec
- 790:	4a 84 4b 00 	.long 0x4b844a
- 794:	04 98 4c 9c 	stbu    r2,-26620(r12)
- 798:	4c 04 f8 4c 	.long 0x4cf8044c
- 79c:	fc 4c 04 88 	lbz     r0,19708(r4)
- 7a0:	4d 88 4d 00 	.long 0x4d884d
- 7a4:	04 b4 4c c4 	lfsu    f2,-19452(r12)
+ 78c:	c8 4a 04 d4 	stfsu   f0,19144(r4)
+ 790:	4a dc 4a 04 	.long 0x44adc4a
+ 794:	ec 4a f4 4a 	b       fffffffffef45280 <kvmhv_nested_next_lpid+0xfffffffffef417b8>
+ 798:	00 04 88 4c 	.long 0x4c880400
+ 79c:	8c 4c 04 e8 	ld      r0,19596(r4)
+ 7a0:	4c ec 4c 04 	.long 0x44cec4c
+ 7a4:	f8 4c f8 4c 	.long 0x4cf84cf8
 		kfree(pseries_partition_tb);
- 7a8:	4c 04 a4 4d 	.long 0x4da4044c
- 7ac:	a8 4d 04 ac 	lhau    r0,19880(r4)
- 7b0:	4d bc 4d 00 	.long 0x4dbc4d
+ 7a8:	00 04 a4 4c 	.long 0x4ca40400
+ 7ac:	b4 4c 04 94 	stwu    r0,19636(r4)
+ 7b0:	4d 98 4d 04 	.long 0x44d984d
 		pseries_partition_tb = NULL;
- 7b4:	04 e4 4e a0 	lhz     r2,-7164(r14)
- 7b8:	4f 04 ac 4f 	.long 0x4fac044f
- 7bc:	b4 4f 04 b8 	lm      r0,20404(r4)
- 7c0:	4f c4 50 04 	.long 0x450c44f
-}
- 7c4:	d4 50 fc 50 	rlwimi  r28,r7,10,3,10
- 7c8:	04 e0 51 8c 	lbzu    r2,-8188(r17)
- 7cc:	53 00 04 88 	lbz     r0,83(r4)
- 7d0:	4f a0 4f 04 	.long 0x44fa04f
- 7d4:	b0 4f b4 4f 	.long 0x4fb44fb0
-{
- 7d8:	04 c4 4f cc 	lfdu    f2,-15356(r15)
- 7dc:	4f 04 d0 4f 	.long 0x4fd0044f
- 7e0:	f0 4f 04 d8 	stfd    f0,20464(r4)
- 7e4:	50 dc 50 04 	.long 0x450dc50
- 7e8:	e8 50 f0 50 	rlwimi  r16,r7,10,3,20
- 7ec:	04 f4 50 fc 	dsubq   f2,f16,f30
+ 7b4:	9c 4d ac 4d 	.long 0x4dac4d9c
+ 7b8:	00 04 d4 4e 	.long 0x4ed40400
+ 7bc:	90 4f 04 9c 	stbu    r0,20368(r4)
+ 7c0:	4f a4 4f 04 	.long 0x44fa44f
+}
+ 7c4:	a8 4f b4 50 	rlwimi  r20,r5,9,30,20
+ 7c8:	04 c4 50 ec 	dsub    f2,f16,f24
+ 7cc:	50 04 d0 51 	rlwimi  r16,r14,0,17,8
+ 7d0:	fc 52 00 04 	.long 0x40052fc
+ 7d4:	f8 4e 90 4f 	.long 0x4f904ef8
+{
+ 7d8:	04 a0 4f a4 	lhzu    r2,-24572(r15)
+ 7dc:	4f 04 b4 4f 	.long 0x4fb4044f
+ 7e0:	bc 4f 04 c0 	lfs     f0,20412(r4)
+ 7e4:	4f e0 4f 04 	.long 0x44fe04f
+ 7e8:	c8 50 cc 50 	rlwimi  r12,r6,10,3,4
+ 7ec:	04 d8 50 e0 	lq      r2,-10240(r16)
 		mmu_partition_table_set_entry(lpid, dw0, dw1, true);
- 7f0:	50 00 04 88 	lbz     r0,80(r4)
+ 7f0:	50 04 e4 50 	rlwimi  r4,r7,0,17,8
 {
- 7f4:	4f a0 4f 04 	.long 0x44fa04f
- 7f8:	b0 4f b4 4f 	.long 0x4fb44fb0
+ 7f4:	ec 50 00 04 	.long 0x40050ec
+ 7f8:	f8 4e 90 4f 	.long 0x4f904ef8
 		mmu_partition_table_set_entry(lpid, dw0, dw1, true);
- 7fc:	04 c4 4f cc 	lfdu    f2,-15356(r15)
- 800:	4f 04 d0 4f 	.long 0x4fd0044f
+ 7fc:	04 a0 4f a4 	lhzu    r2,-24572(r15)
+ 800:	4f 04 b4 4f 	.long 0x4fb4044f
 }
- 804:	d0 4f 04 d8 	stfd    f0,20432(r4)
- 808:	50 dc 50 04 	.long 0x450dc50
- 80c:	e8 50 f0 50 	rlwimi  r16,r7,10,3,20
- 810:	04 f4 50 f4 	psq_stu f2,1028(r16),1,7
- 814:	50 00 04 98 	stb     r0,80(r4)
- 818:	54 d0 54 04 	.long 0x454d054
- 81c:	d0 54 d0 54 	rlwinm  r16,r6,10,19,8
+ 804:	bc 4f 04 c0 	lfs     f0,20412(r4)
+ 808:	4f c0 4f 04 	.long 0x44fc04f
+ 80c:	c8 50 cc 50 	rlwimi  r12,r6,10,3,4
+ 810:	04 d8 50 e0 	lq      r2,-10240(r16)
+ 814:	50 04 e4 50 	rlwimi  r4,r7,0,17,8
+ 818:	e4 50 00 04 	.long 0x40050e4
+ 81c:	88 54 c0 54 	rlwinm  r0,r6,10,18,4
 	pseries_partition_tb[lpid].patb0 = cpu_to_be64(dw0);
- 820:	04 dc 54 b8 	lm      r2,-9212(r20)
- 824:	57 00 04 98 	stb     r0,87(r4)
- 828:	54 a8 54 04 	.long 0x454a854
- 82c:	d0 54 d0 54 	rlwinm  r16,r6,10,19,8
- 830:	04 dc 54 f0 	xsmaxcdp vs2,vs52,vs27
- 834:	54 00 04 98 	stb     r0,84(r4)
+ 820:	04 c0 54 c0 	lfs     f2,-16380(r20)
+ 824:	54 04 cc 54 	rlwinm  r12,r6,0,17,10
+ 828:	a8 57 00 04 	.long 0x40057a8
+ 82c:	88 54 98 54 	rlwinm  r24,r4,10,18,4
+ 830:	04 c0 54 c0 	lfs     f2,-16380(r20)
+ 834:	54 04 cc 54 	rlwinm  r12,r6,0,17,10
 	pseries_partition_tb[lpid].patb1 = cpu_to_be64(dw1);
- 838:	54 a8 54 04 	.long 0x454a854
- 83c:	dc 54 f0 54 	rlwinm  r16,r7,10,19,14
+ 838:	e0 54 00 04 	.long 0x40054e0
+ 83c:	88 54 98 54 	rlwinm  r24,r4,10,18,4
 	kvmhv_flush_lpid(lpid);
- 840:	00 04 98 54 	rlwinm  r24,r4,0,16,0
- 844:	a8 54 04 e0 	lq      r0,21664(r4)
- 848:	54 ec 54 00 	.long 0x54ec54
- 84c:	04 a8 54 d0 	stfs    f2,-22524(r20)
- 850:	54 04 8c 55 	rlwinm  r12,r12,0,17,10
- 854:	94 55 04 98 	stb     r0,21908(r4)
-{
- 858:	55 ac 55 04 	.long 0x455ac55
- 85c:	b0 55 b8 55 	rlwinm  r24,r13,10,22,24
- 860:	04 d8 55 f8 	std     r2,-10236(r21)
- 864:	55 04 80 56 	rlwinm. r0,r20,0,17,10
- 868:	b0 57 00 04 	.long 0x40057b0
- 86c:	b0 54 d0 54 	rlwinm  r16,r6,10,18,24
- 870:	04 90 55 94 	stwu    r2,-28668(r21)
+ 840:	04 cc 54 e0 	lq      r2,-13312(r20)
+ 844:	54 00 04 88 	lbz     r0,84(r4)
+ 848:	54 98 54 04 	.long 0x4549854
+ 84c:	d0 54 dc 54 	rlwinm  r28,r6,10,19,8
+ 850:	00 04 98 54 	rlwinm  r24,r4,0,16,0
+ 854:	c0 54 04 fc 	.long 0xfc0454c0
+{
+ 858:	54 84 55 04 	.long 0x4558454
+ 85c:	88 55 9c 55 	rlwinm  r28,r12,10,22,4
+ 860:	04 a0 55 a8 	lha     r2,-24572(r21)
+ 864:	55 04 c8 55 	rlwinm. r8,r14,0,17,10
+ 868:	e8 55 04 f0 	psq_st  f0,1512(r4),0,5
+ 86c:	55 a0 57 00 	.long 0x57a055
+ 870:	04 a0 54 c0 	lfs     f2,-24572(r20)
 	struct patb_entry ptbl_entry;
- 874:	55 04 98 55 	rlwinm. r24,r12,0,17,10
+ 874:	54 04 80 55 	rlwinm  r0,r12,0,17,10
 {
- 878:	98 55 04 a0 	lhz     r0,21912(r4)
- 87c:	55 ac 55 04 	.long 0x455ac55
- 880:	dc 55 e0 55 	rlwinm  r0,r15,10,23,14
- 884:	04 e4 55 f0 	xsmaxcdp vs2,vs53,vs28
- 888:	55 00 04 80 	lwz     r0,85(r4)
+ 878:	84 55 04 88 	lbz     r0,21892(r4)
+ 87c:	55 88 55 04 	.long 0x4558855
+ 880:	90 55 9c 55 	rlwinm  r28,r12,10,22,8
+ 884:	04 cc 55 d0 	stfs    f2,-13308(r21)
+ 888:	55 04 d4 55 	rlwinm. r20,r14,0,17,10
 	struct kvm *kvm = gp->l1_host;
- 88c:	56 98 56 04 	.long 0x4569856
+ 88c:	e0 55 00 04 	.long 0x40055e0
 	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
- 890:	9c 56 a8 56 	rlwinm  r8,r21,10,26,14
+ 890:	f0 55 88 56 	rlwinm  r8,r20,10,23,24
 {
- 894:	04 ac 56 b8 	lm      r2,-21500(r22)
- 898:	56 00 04 b4 	sthu    r0,86(r4)
- 89c:	59 98 5a 04 	.long 0x45a9859
+ 894:	04 8c 56 98 	stb     r2,-29692(r22)
+ 898:	56 04 9c 56 	rlwinm  r28,r20,0,17,11
+ 89c:	a8 56 00 04 	.long 0x40056a8
 	struct patb_entry ptbl_entry;
- 8a0:	d0 5a a0 5c 	rlwnm   r0,r5,r11,11,8
- 8a4:	04 b0 5c e0 	lq      r2,-20480(r28)
+ 8a0:	a4 59 88 5a 	rlmi    r8,r20,r11,6,18
+ 8a4:	04 c0 5a 90 	stw     r2,-16380(r26)
 	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
- 8a8:	5c 04 80 5d 	rlwnm   r0,r12,r0,17,14
+ 8a8:	5c 04 a0 5c 	rlwnm   r0,r5,r0,17,14
 	if (gp->l1_lpid < (1ul << ((kvm->arch.l1_ptcr & PRTS_MASK) + 12 - 4))) {
- 8ac:	94 5d 04 a0 	lhz     r0,23956(r4)
- 8b0:	5d c4 5d 00 	.long 0x5dc45d
- 8b4:	04 b8 59 bc 	stmw    r2,-18428(r25)
- 8b8:	59 04 c0 59 	rlmi.   r0,r14,r0,17,12
- 8bc:	c0 59 00 04 	.long 0x40059c0
+ 8ac:	d0 5c 04 f0 	xxlxor  vs0,vs4,vs11
+ 8b0:	5c 84 5d 04 	.long 0x45d845c
+ 8b4:	90 5d b4 5d 	rlwnm   r20,r13,r11,22,8
+ 8b8:	00 04 a8 59 	rlmi    r8,r13,r0,16,0
+ 8bc:	ac 59 04 b0 	sth     r0,22956(r4)
 		gp->process_table = 0;
- 8c0:	e8 5a f4 5a 	rlmi    r20,r23,r11,11,20
+ 8c0:	59 b0 59 00 	.long 0x59b059
 		gp->l1_gr_to_hr = 0;
- 8c4:	04 f4 5a a0 	lhz     r2,-3068(r26)
+ 8c4:	04 d8 5a e4 	psq_lu  f2,-2044(r26),1,5
 		__pa(gp->shadow_pgtable) | RADIX_PGD_INDEX_SIZE;
- 8c8:	5c 04 80 5d 	rlwnm   r0,r12,r0,17,14
+ 8c8:	5a 04 e4 5a 	rlmi    r4,r23,r0,17,13
 	dw0 = PATB_HR | radix__get_tree_size() |
- 8cc:	94 5d 04 a0 	lhz     r0,23956(r4)
+ 8cc:	90 5c 04 f0 	xxlor   vs0,vs4,vs11
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, dw0, gp->process_table);
- 8d0:	5d c4 5d 00 	.long 0x5dc45d
- 8d4:	04 e8 5a f4 	psq_stu f2,-2044(r26),1,6
- 8d8:	5a 04 84 5b 	rlmi    r4,r28,r0,17,13
+ 8d0:	5c 84 5d 04 	.long 0x45d845c
+ 8d4:	90 5d b4 5d 	rlwnm   r20,r13,r11,22,8
+ 8d8:	00 04 d8 5a 	rlmi    r24,r22,r0,16,0
 	dw0 = PATB_HR | radix__get_tree_size() |
- 8dc:	8c 5b 00 04 	.long 0x4005b8c
+ 8dc:	e4 5a 04 f4 	psq_stu f0,-1308(r4),0,5
 		__pa(gp->shadow_pgtable) | RADIX_PGD_INDEX_SIZE;
- 8e0:	fc 5a 80 5b 	rlmi    r0,r28,r11,11,30
+ 8e0:	5a fc 5a 00 	.long 0x5afc5a
 	dw0 = PATB_HR | radix__get_tree_size() |
- 8e4:	04 a0 5b bc 	stmw    r2,-24572(r27)
+ 8e4:	04 ec 5a f0 	xsmaxcdp vs2,vs58,vs29
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, dw0, gp->process_table);
- 8e8:	5b 04 f4 5b 	rlmi.   r20,r31,r0,17,13
- 8ec:	fc 5b 04 80 	lwz     r0,23548(r4)
+ 8e8:	5a 04 90 5b 	rlmi    r16,r28,r0,17,13
+ 8ec:	ac 5b 04 e4 	psq_lu  f0,-1108(r4),0,5
 }
- 8f0:	5d 94 5d 00 	.long 0x5d945d
- 8f4:	04 fc 5a 80 	lwz     r2,-1020(r26)
- 8f8:	5b 04 a0 5b 	rlmi.   r0,r29,r0,17,13
- 8fc:	bc 5b 04 f4 	psq_stu f0,-1092(r4),0,5
- 900:	5b fc 5b 04 	.long 0x45bfc5b
- 904:	80 5d 94 5d 	rlwnm   r20,r12,r11,22,0
- 908:	00 04 fc 5a 	rlmi    r28,r23,r0,16,0
- 90c:	80 5b 04 b4 	sthu    r0,23424(r4)
- 910:	5b bc 5b 00 	.long 0x5bbc5b
- 914:	04 a0 5b b4 	sthu    r2,-24572(r27)
- 918:	5b 04 f4 5b 	rlmi.   r20,r31,r0,17,13
- 91c:	fc 5b 04 80 	lwz     r0,23548(r4)
- 920:	5d 94 5d 00 	.long 0x5d945d
- 924:	04 80 5c a0 	lhz     r2,-32764(r28)
- 928:	5c 04 a0 5d 	rlwnm   r0,r13,r0,17,14
- 92c:	c4 5d 00 04 	.long 0x4005dc4
+ 8f0:	5b ec 5b 04 	.long 0x45bec5b
+ 8f4:	f0 5c 84 5d 	rlwnm   r4,r12,r11,19,24
+ 8f8:	00 04 ec 5a 	rlmi    r12,r23,r0,16,0
+ 8fc:	f0 5a 04 90 	stw     r0,23280(r4)
+ 900:	5b ac 5b 04 	.long 0x45bac5b
+ 904:	e4 5b ec 5b 	rlmi    r12,r31,r11,15,18
+ 908:	04 f0 5c 84 	lwzu    r2,-4092(r28)
+ 90c:	5d 00 04 ec 	.long 0xec04005d
+ 910:	5a f0 5a 04 	.long 0x45af05a
+ 914:	a4 5b ac 5b 	rlmi    r12,r29,r11,14,18
+ 918:	00 04 90 5b 	rlmi    r16,r28,r0,16,0
+ 91c:	a4 5b 04 e4 	psq_lu  f0,-1116(r4),0,5
+ 920:	5b ec 5b 04 	.long 0x45bec5b
+ 924:	f0 5c 84 5d 	rlwnm   r4,r12,r11,19,24
+ 928:	00 04 f0 5b 	rlmi    r16,r31,r0,16,0
+ 92c:	90 5c 04 90 	stw     r0,23696(r4)
 		int srcu_idx = srcu_read_lock(&kvm->srcu);
- 930:	80 5c a0 5c 	rlwnm   r0,r5,r11,18,0
- 934:	04 a0 5d c4 	lfsu    f2,-24572(r29)
+ 930:	5d b4 5d 00 	.long 0x5db45d
+ 934:	04 f0 5b 90 	stw     r2,-4092(r27)
 	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
- 938:	5d 00 04 80 	lwz     r0,93(r4)
- 93c:	5c 94 5c 04 	.long 0x45c945c
+ 938:	5c 04 90 5d 	rlwnm   r16,r12,r0,17,14
+ 93c:	b4 5d 00 04 	.long 0x4005db4
 	retval = __srcu_read_lock(ssp);
- 940:	a0 5d c4 5d 	rlwnm   r4,r14,r11,22,16
- 944:	00 04 84 5e 	rlwnm   r4,r20,r0,16,0
- 948:	88 5e 04 ac 	lhau    r0,24200(r4)
- 94c:	5e b0 5e 04 	.long 0x45eb05e
- 950:	c0 5e d0 5e 	rlwnm   r16,r22,r11,27,0
+ 940:	f0 5b 84 5c 	rlwnm   r4,r4,r11,15,24
+ 944:	04 90 5d b4 	sthu    r2,-28668(r29)
+ 948:	5d 00 04 f4 	stxv    vs32,80(r4)
+ 94c:	5d f8 5d 04 	.long 0x45df85d
+ 950:	9c 5e a0 5e 	rlwnm   r0,r21,r11,26,14
 		ret = kvm_read_guest(kvm, ptbl_addr,
- 954:	00 04 c0 5f 	rlwnm   r0,r30,r0,16,0
- 958:	84 61 04 a4 	lhzu    r0,24964(r4)
- 95c:	62 f0 62 00 	.long 0x62f062
- 960:	04 dc 63 a8 	lha     r3,-9212(r3)
- 964:	69 04 80 6a 	xori    r0,r20,1129
- 968:	a0 75 04 a8 	lha     r0,30112(r4)
- 96c:	75 c8 75 00 	.long 0x75c875
- 970:	04 c8 64 88 	lbz     r3,-14332(r4)
-	WARN_ON_ONCE(idx & ~0x1);
- 974:	65 04 a8 65 	oris    r8,r13,1125
- 978:	b8 65 04 c8 	lfd     f0,26040(r4)
- 97c:	65 d8 65 04 	.long 0x465d865
+ 954:	04 b0 5e c0 	lfs     f2,-20476(r30)
+ 958:	5e 00 04 b0 	sth     r0,94(r4)
+ 95c:	5f f4 60 04 	.long 0x460f45f
+ 960:	94 62 e0 62 	ori     r0,r23,25236
+ 964:	00 04 cc 63 	ori     r12,r30,1024
+ 968:	98 69 04 f0 	psq_st  f0,-1640(r4),0,6
+ 96c:	69 90 75 04 	.long 0x4759069
+ 970:	98 75 b8 75 	andis.  r24,r13,30104
+	WARN_ON_ONCE(idx & ~0x1);
+ 974:	00 04 b8 64 	oris    r24,r5,1024
+ 978:	f8 64 04 98 	stb     r0,25848(r4)
+ 97c:	65 a8 65 04 	.long 0x465a865
 	__srcu_read_unlock(ssp, idx);
- 980:	d0 68 94 69 	xori    r20,r12,26832
- 984:	04 f0 6a 90 	stw     r3,-4092(r10)
- 988:	6b 04 c0 6d 	xoris   r0,r14,1131
- 98c:	f0 6d 04 d0 	stfs    f0,28144(r4)
+ 980:	b8 65 c8 65 	oris    r8,r14,26040
+ 984:	04 c0 68 84 	lwzu    r3,-16380(r8)
+ 988:	69 04 e0 6a 	xori    r0,r23,1129
+ 98c:	80 6b 04 b0 	sth     r0,27520(r4)
 	if (ret) {
- 990:	71 f0 71 04 	.long 0x471f071
- 994:	b0 72 d0 72 	andi.   r16,r22,29360
- 998:	04 90 74 b0 	sth     r3,-28668(r20)
- 99c:	74 00 04 bc 	stmw    r0,116(r4)
+ 990:	6d e0 6d 04 	.long 0x46de06d
+ 994:	c0 71 e0 71 	andi.   r0,r15,29120
+ 998:	04 a0 72 c0 	lfs     f3,-24572(r18)
+ 99c:	72 04 80 74 	andis.  r0,r4,1138
 		gp->l1_gr_to_hr = be64_to_cpu(ptbl_entry.patb0);
- 9a0:	66 c0 66 04 	.long 0x466c066
+ 9a0:	a0 74 00 04 	.long 0x40074a0
 		gp->process_table = be64_to_cpu(ptbl_entry.patb1);
- 9a4:	c4 66 cc 66 	oris    r12,r22,26308
+ 9a4:	ac 66 b0 66 	oris    r16,r21,26284
 		gp->l1_gr_to_hr = be64_to_cpu(ptbl_entry.patb0);
- 9a8:	00 04 cc 66 	oris    r12,r22,1024
+ 9a8:	04 b4 66 bc 	stmw    r3,-19452(r6)
 		gp->process_table = be64_to_cpu(ptbl_entry.patb1);
- 9ac:	e4 66 04 e8 	ld      r0,26340(r4)
- 9b0:	66 e8 66 00 	.long 0x66e866
- 9b4:	04 88 67 b0 	sth     r3,-30716(r7)
- 9b8:	67 04 b0 74 	andis.  r16,r5,1127
- 9bc:	c0 74 00 04 	.long 0x40074c0
-	WARN_ON_ONCE(idx & ~0x1);
- 9c0:	88 67 b0 67 	oris    r16,r29,26504
- 9c4:	04 b0 74 c0 	lfs     f3,-20476(r20)
-}
- 9c8:	74 00 04 88 	lbz     r0,116(r4)
- 9cc:	67 a4 67 04 	.long 0x467a467
- 9d0:	b0 74 c0 74 	andis.  r0,r6,29872
- 9d4:	00 04 84 68 	xori    r4,r4,1024
-{
- 9d8:	88 68 04 8c 	lbzu    r0,26760(r4)
- 9dc:	68 b4 68 04 	.long 0x468b468
- 9e0:	b8 68 bc 68 	xori    r28,r5,26808
- 9e4:	04 80 74 90 	stw     r3,-32764(r20)
- 9e8:	74 04 c0 74 	andis.  r0,r6,1140
- 9ec:	c4 74 04 d0 	stfs    f0,29892(r4)
- 9f0:	74 e0 74 00 	.long 0x74e074
- 9f4:	04 a0 6b b4 	sthu    r3,-24572(r11)
- 9f8:	6c 04 a8 6d 	xoris   r8,r13,1132
+ 9ac:	66 00 04 bc 	stmw    r0,102(r4)
+ 9b0:	66 d4 66 04 	.long 0x466d466
+ 9b4:	d8 66 d8 66 	oris    r24,r22,26328
+ 9b8:	00 04 f8 66 	oris    r24,r23,1024
+ 9bc:	a0 67 04 a0 	lhz     r0,26528(r4)
+	WARN_ON_ONCE(idx & ~0x1);
+ 9c0:	74 b0 74 00 	.long 0x74b074
+ 9c4:	04 f8 66 a0 	lhz     r3,-2044(r6)
+}
+ 9c8:	67 04 a0 74 	andis.  r0,r5,1127
+ 9cc:	b0 74 00 04 	.long 0x40074b0
+ 9d0:	f8 66 94 67 	oris    r20,r28,26360
+ 9d4:	04 a0 74 b0 	sth     r3,-24572(r20)
+{
+ 9d8:	74 00 04 f4 	psq_stu f0,116(r4),0,0
+ 9dc:	67 f8 67 04 	.long 0x467f867
+ 9e0:	fc 67 a4 68 	xori    r4,r5,26620
+ 9e4:	04 a8 68 ac 	lhau    r3,-22524(r8)
+ 9e8:	68 04 f0 73 	andi.   r16,r31,1128
+ 9ec:	80 74 04 b0 	sth     r0,29824(r4)
+ 9f0:	74 b4 74 04 	.long 0x474b474
+ 9f4:	c0 74 d0 74 	andis.  r16,r6,29888
+ 9f8:	00 04 90 6b 	xori    r16,r28,1024
 	if (gp->shadow_pgtable) {
- 9fc:	c0 6d 04 c0 	lfs     f0,28096(r4)
- a00:	73 d0 73 04 	.long 0x473d073
- a04:	f0 74 a0 75 	andis.  r0,r13,29936
+ 9fc:	a4 6c 04 98 	stb     r0,27812(r4)
+ a00:	6d b0 6d 04 	.long 0x46db06d
+ a04:	b0 73 c0 73 	andi.   r0,r30,29616
 		kvmppc_free_pgtable_radix(kvm, gp->shadow_pgtable,
- a08:	00 04 a0 6b 	xori    r0,r29,1024
- a0c:	a8 6b 04 a8 	lha     r0,27560(r4)
- a10:	6b b4 6c 04 	.long 0x46cb46b
- a14:	a8 6d b0 6d 	xoris   r16,r13,28072
+ a08:	04 e0 74 90 	stw     r3,-8188(r20)
+ a0c:	75 00 04 90 	stw     r0,117(r4)
+ a10:	6b 98 6b 04 	.long 0x46b986b
+ a14:	98 6b a4 6c 	xoris   r4,r5,27544
 		pgd_free(kvm->mm, gp->shadow_pgtable);
- a18:	04 b0 6d c0 	lfs     f3,-20476(r13)
- a1c:	6d 04 c0 73 	andi.   r0,r30,1133
+ a18:	04 98 6d a0 	lhz     r3,-26620(r13)
+ a1c:	6d 04 a0 6d 	xoris   r0,r13,1133
 	free_page((unsigned long)pgd);
- a20:	d0 73 04 f0 	psq_st  f0,976(r4),0,7
- a24:	74 a0 75 00 	.long 0x75a074
- a28:	04 b0 6b b4 	sthu    r3,-20476(r11)
+ a20:	b0 6d 04 b0 	sth     r0,28080(r4)
+ a24:	73 c0 73 04 	.long 0x473c073
+ a28:	e0 74 90 75 	andis.  r16,r12,29920
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, 0, 0);
- a2c:	6b 04 b8 6b 	xori    r24,r29,1131
- a30:	c0 6b 00 04 	.long 0x4006bc0
- a34:	8c 6c b4 6c 	xoris   r20,r5,27788
- a38:	04 f0 74 a0 	lhz     r3,-4092(r20)
+ a2c:	00 04 a0 6b 	xori    r0,r29,1024
+ a30:	a4 6b 04 a8 	lha     r0,27556(r4)
+ a34:	6b b0 6b 00 	.long 0x6bb06b
+ a38:	04 fc 6b a4 	lhzu    r3,-1020(r11)
 	kvmppc_free_lpid(gp->shadow_lpid);
- a3c:	75 00 04 8c 	lbzu    r0,117(r4)
- a40:	6c b4 6c 04 	.long 0x46cb46c
- a44:	f0 74 a0 75 	andis.  r0,r13,29936
+ a3c:	6c 04 e0 74 	andis.  r0,r7,1132
+ a40:	90 75 00 04 	.long 0x4007590
+ a44:	fc 6b a4 6c 	xoris   r4,r5,27644
 	kfree(gp);
- a48:	00 04 8c 6c 	xoris   r12,r4,1024
- a4c:	a8 6c 04 f0 	xststdcsp cr0,vs13,4
- a50:	74 a0 75 00 	.long 0x75a074
-}
- a54:	04 f0 6d 80 	lwz     r3,-4092(r13)
- a58:	6e 04 84 70 	andi.   r4,r4,1134
- a5c:	8c 70 04 98 	stb     r0,28812(r4)
- a60:	70 9c 70 04 	.long 0x4709c70
- a64:	a0 71 a4 71 	andi.   r4,r13,29088
- a68:	04 a8 71 d0 	stfs    f3,-22524(r17)
- a6c:	71 04 f0 72 	andi.   r16,r23,1137
+ a48:	04 e0 74 90 	stw     r3,-8188(r20)
+ a4c:	75 00 04 fc 	.long 0xfc040075
+ a50:	6b 98 6c 04 	.long 0x46c986b
+}
+ a54:	e0 74 90 75 	andis.  r16,r12,29920
+ a58:	00 04 e0 6d 	xoris   r0,r15,1024
+ a5c:	f0 6d 04 f4 	psq_stu f0,-528(r4),0,6
+ a60:	6f fc 6f 04 	.long 0x46ffc6f
+ a64:	88 70 8c 70 	andi.   r12,r4,28808
+ a68:	04 90 71 94 	stwu    r3,-28668(r17)
+ a6c:	71 04 98 71 	andi.   r24,r12,1137
 	kmem_cache_free(PGT_CACHE(PGD_INDEX_SIZE), pgd);
- a70:	f4 72 04 e0 	lq      r0,29424(r4)
- a74:	74 f0 74 00 	.long 0x74f074
- a78:	04 80 6e 84 	lwzu    r3,-32764(r14)
- a7c:	6e 04 88 6e 	xoris   r8,r20,1134
- a80:	90 6e 04 94 	stwu    r0,28304(r4)
- a84:	6e 98 6e 04 	.long 0x46e986e
- a88:	a0 6e ac 6e 	xoris   r12,r21,28320
- a8c:	04 b0 6e b4 	sthu    r3,-20476(r14)
- a90:	6e 00 04 f4 	stxsd   v0,108(r4)
- a94:	6f f8 6f 04 	.long 0x46ff86f
+ a70:	c0 71 04 e0 	lq      r0,29120(r4)
+ a74:	72 e4 72 04 	.long 0x472e472
+ a78:	d0 74 e0 74 	andis.  r0,r7,29904
+ a7c:	00 04 f0 6d 	xoris   r16,r15,1024
+ a80:	f4 6d 04 f8 	std     r0,28148(r4)
+ a84:	6d 80 6e 04 	.long 0x46e806d
+ a88:	84 6e 88 6e 	xoris   r8,r20,28292
+ a8c:	04 90 6e 9c 	stbu    r3,-28668(r14)
+ a90:	6e 04 a0 6e 	xoris   r0,r21,1134
+ a94:	a4 6e 00 04 	.long 0x4006ea4
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, 0, 0);
- a98:	80 70 84 70 	andi.   r4,r4,28800
- a9c:	04 90 70 94 	stwu    r3,-28668(r16)
- aa0:	70 04 d0 72 	andi.   r16,r22,1136
- aa4:	e8 72 04 ec 	.long 0xec0472e8
+ a98:	e4 6f e8 6f 	xoris   r8,r31,28644
+ a9c:	04 f0 6f f4 	psq_stu f3,4(r15),1,7
+ aa0:	6f 04 80 70 	andi.   r0,r4,1135
+ aa4:	84 70 04 c0 	lfs     f0,28804(r4)
 	kvmppc_free_lpid(gp->shadow_lpid);
- aa8:	72 f0 72 04 	.long 0x472f072
- aac:	f4 72 b0 73 	andi.   r16,r29,29428
- ab0:	04 e0 73 80 	lwz     r3,-8188(r19)
+ aa8:	72 d8 72 04 	.long 0x472d872
+ aac:	dc 72 e0 72 	andi.   r0,r23,29404
+ ab0:	04 e4 72 a0 	lhz     r3,-7164(r18)
 	kfree(gp);
- ab4:	74 00 04 b0 	sth     r0,116(r4)
- ab8:	76 d8 76 04 	.long 0x476d876
- abc:	90 77 94 77 	andis.  r20,r28,30608
-}
- ac0:	04 9c 77 b8 	lm      r3,-25596(r23)
- ac4:	77 00 04 b0 	sth     r0,119(r4)
- ac8:	76 d8 76 04 	.long 0x476d876
- acc:	90 77 94 77 	andis.  r20,r28,30608
- ad0:	04 9c 77 b8 	lm      r3,-25596(r23)
- ad4:	77 00 04 b0 	sth     r0,119(r4)
- ad8:	76 cc 76 04 	.long 0x476cc76
- adc:	90 77 94 77 	andis.  r20,r28,30608
- ae0:	04 9c 77 b8 	lm      r3,-25596(r23)
- ae4:	Address 0x0000000000000ae4 is out of bounds.
+ ab4:	73 04 d0 73 	andi.   r16,r30,1139
+ ab8:	f0 73 00 04 	.long 0x40073f0
+ abc:	a0 76 c8 76 	andis.  r8,r22,30368
+}
+ ac0:	04 80 77 84 	lwzu    r3,-32764(r23)
+ ac4:	77 04 8c 77 	andis.  r12,r28,1143
+ ac8:	a8 77 00 04 	.long 0x40077a8
+ acc:	a0 76 c8 76 	andis.  r8,r22,30368
+ ad0:	04 80 77 84 	lwzu    r3,-32764(r23)
+ ad4:	77 04 8c 77 	andis.  r12,r28,1143
+ ad8:	a8 77 00 04 	.long 0x40077a8
+ adc:	a0 76 bc 76 	andis.  r28,r21,30368
+ ae0:	04 80 77 84 	lwzu    r3,-32764(r23)
+ ae4:	77 04 8c 77 	andis.  r12,r28,1143
+static void kvmhv_emulate_tlbie_lpid(struct kvm_vcpu *vcpu,
+ ae8:	Address 0x0000000000000ae8 is out of bounds.
 
 
 Disassembly of section .debug_line:
 
 0000000000000000 <.debug_line>:
 {
-       0:	2c 49 00 00 	.long 0x492c
+       0:	31 49 00 00 	.long 0x4931
        4:	03 00 d9 0b 	tdi     30,r25,3
 	for (; addr < ((unsigned long *) (regs + 1)); addr++)
        8:	00 00 04 01 	.long 0x1040000
@@ -41158,12 +41162,12 @@ static bool kvmhv_invalidate_shadow_pte(
      6b0:	03 00 00 73 	andi.   r0,r24,3
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
      6b4:	79 73 63 61 	ori     r3,r11,29561
-	if (unlikely(!pseries_partition_tb)) {
+	if (!pseries_partition_tb) {
      6b8:	6c 6c 5f 75 	andis.  r31,r10,27756
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
      6bc:	73 65 72 5f 	rlwnm.  r18,r27,r12,21,25
      6c0:	64 69 73 70 	andi.   r19,r3,26980
-	if (unlikely(!pseries_partition_tb)) {
+	if (!pseries_partition_tb) {
      6c4:	61 74 63 68 	xori    r3,r3,29793
 	ptcr = __pa(pseries_partition_tb) | (ptb_order - 12);
      6c8:	2e 68 00 03 	.long 0x300682e
@@ -41873,7 +41877,7 @@ static void kvmhv_emulate_tlbie_lpid(str
      f4c:	31 01 20 01 	.long 0x1200131
      f50:	01 01 04 01 	.long 0x1040101
      f54:	05 0d 03 89 	lbz     r8,3333(r3)
-     f58:	05 2e 06 4a 	bl      fffffffffe063d5c <kvmhv_nested_next_lpid+0xfffffffffe060284>
+     f58:	05 2e 06 4a 	bl      fffffffffe063d5c <kvmhv_nested_next_lpid+0xfffffffffe060294>
      f5c:	05 06 43 05 	.long 0x5430605
      f60:	0d 03 79 20 	subfic  r3,r25,781
 	idr_destroy(&kvm->arch.kvm_nested_guest_idr);
@@ -42118,7 +42122,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1270:	05 02 06 21 	subfic  r8,r6,517
     1274:	05 17 06 01 	.long 0x1061705
     1278:	05 13 20 05 	.long 0x5201305
-	if (unlikely(!gp))
+	if (!gp)
     127c:	02 06 21 05 	.long 0x5210602
     1280:	14 06 01 05 	.long 0x5010614
     1284:	10 20 05 02 	.long 0x2052010
@@ -42222,13 +42226,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     13a4:	7e 01 05 02 	.long 0x205017e
     13a8:	14 06 20 04 	.long 0x4200614
     13ac:	0c 05 09 06 	.long 0x609050c
-		ms->mmiowb_pending = 0;
+	pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
     13b0:	03 fc 01 01 	.long 0x101fc03
     13b4:	06 01 04 01 	.long 0x1040106
-		mmiowb();
     13b8:	05 02 06 03 	.long 0x3060205
     13bc:	ab 01 01 14 	.long 0x140101ab
-	pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
     13c0:	14 04 0d 05 	.long 0x50d0414
     13c4:	2e 03 fc 00 	.long 0xfc032e
     13c8:	01 05 02 14 	.long 0x14020501
@@ -42236,11 +42238,13 @@ static void kvmhv_emulate_tlbie_lpid(str
     13d0:	05 04 13 04 	.long 0x4130405
     13d4:	01 05 01 06 	.long 0x6010501
     13d8:	03 ef 7e 01 	.long 0x17eef03
+	if (unlikely(!pgd))
     13dc:	04 0d 05 0b 	tdnei   r5,3332
+		ms->mmiowb_pending = 0;
     13e0:	03 91 01 2e 	cmpwi   cr4,r1,-28413
     13e4:	04 01 05 01 	.long 0x1050104
+		mmiowb();
     13e8:	03 ef 7e 2e 	cmpdi   cr4,r30,-4349
-	if (unlikely(!pgd))
     13ec:	04 0d 05 0b 	tdnei   r5,3332
 	pgd_free(kvm->mm, gp->shadow_pgtable);
     13f0:	03 91 01 2e 	cmpwi   cr4,r1,-28413
@@ -42810,7 +42814,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1a5c:	01 05 0d 03 	.long 0x30d0501
     1a60:	be 7f 01 05 	.long 0x5017fbe
 	vcpu->arch.hfscr = l2_hv->hfscr & (HFSCR_INTR_CAUSE | vcpu->arch.hfscr_permitted);
-    1a64:	02 14 06 4a 	ba      fe061400 <kvmhv_nested_next_lpid+0xfe05d928>
+    1a64:	02 14 06 4a 	ba      fe061400 <kvmhv_nested_next_lpid+0xfe05d938>
     1a68:	05 03 06 03 	.long 0x3060305
 	vcpu->arch.dawrx0 = l2_hv->dawrx0 & ~DAWRX_HYP;
     1a6c:	c1 00 01 04 	.long 0x40100c1
@@ -42827,7 +42831,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	vcpu->arch.hfscr = l2_hv->hfscr & (HFSCR_INTR_CAUSE | vcpu->arch.hfscr_permitted);
     1a84:	01 03 dc 03 	.long 0x3dc0301
 	if ((l2_hv->ciabr & CIABR_PRIV) == CIABR_PRIV_HYPER)
-    1a88:	4a 05 02 4b 	ba      ff020548 <kvmhv_nested_next_lpid+0xff01ca70>
+    1a88:	4a 05 02 4b 	ba      ff020548 <kvmhv_nested_next_lpid+0xff01ca80>
 	vcpu->arch.hfscr = l2_hv->hfscr & (HFSCR_INTR_CAUSE | vcpu->arch.hfscr_permitted);
     1a8c:	05 01 06 11 	vslq    v8,v6,v0
 	vcpu->arch.dawrx0 = l2_hv->dawrx0 & ~DAWRX_HYP;
@@ -42885,7 +42889,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1b0c:	15 01 01 2e 	cmpwi   cr4,r1,277
     1b10:	01 13 13 01 	.long 0x1131301
 	l2_regs.msr = vcpu->arch.shregs.msr;
-    1b14:	01 13 06 4a 	bl      fffffffffe062e14 <kvmhv_nested_next_lpid+0xfffffffffe05f33c>
+    1b14:	01 13 06 4a 	bl      fffffffffe062e14 <kvmhv_nested_next_lpid+0xfffffffffe05f34c>
 	hr->srr0 = vcpu->arch.shregs.srr0;
     1b18:	04 01 06 03 	.long 0x3060104
 	hr->dpdes = vc->dpdes;
@@ -42990,7 +42994,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	vc->pcr = hr->pcr | PCR_MASK;
     1bfc:	2e 06 03 e7 	lxsd    v24,1580(r3)
 	vcpu->arch.dawrx0 = hr->dawrx0;
-    1c00:	00 58 06 4a 	b       fffffffffe067400 <kvmhv_nested_next_lpid+0xfffffffffe063928>
+    1c00:	00 58 06 4a 	b       fffffffffe067400 <kvmhv_nested_next_lpid+0xfffffffffe063938>
 	vc->pcr = hr->pcr | PCR_MASK;
     1c04:	05 06 3d 05 	.long 0x53d0605
 	vcpu->arch.ciabr = hr->ciabr;
@@ -43465,7 +43469,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     216c:	58 2e 04 01 	.long 0x1042e58
     2170:	05 02 06 03 	.long 0x3060205
     2174:	f0 00 01 05 	.long 0x50100f0
-	if (unlikely(!buf))
+	if (!buf)
     2178:	05 06 01 05 	.long 0x5010605
     217c:	02 06 3e 06 	.long 0x63e0602
 	gp = kvmhv_get_nested(vcpu->kvm, l1_lpid, false);
@@ -43603,2926 +43607,2929 @@ static void kvmhv_emulate_tlbie_lpid(str
     231c:	01 05 05 06 	.long 0x6050501
     2320:	01 05 03 06 	.long 0x6030501
     2324:	21 06 2e 04 	.long 0x42e0621
-    2328:	0a 06 03 ea 	lwa     r16,1544(r3)
-    232c:	79 3c 05 16 	.long 0x16053c79
+    2328:	04 05 02 06 	.long 0x6020504
+    232c:	03 d2 79 3c 	addis   r3,r25,-11773
 		if (rc)
-    2330:	06 01 05 03 	.long 0x3050106
-    2334:	06 2f 01 01 	.long 0x1012f06
+    2330:	06 01 04 0c 	twi     0,r4,262
+    2334:	05 09 06 03 	.long 0x3060905
 		rc = kvm_vcpu_write_guest(vcpu, gp_to, buf, n);
-    2338:	01 01 06 2e 	cmpwi   cr4,r6,257
-    233c:	04 04 05 02 	.long 0x2050404
-		return H_NO_MEM;
-    2340:	06 03 67 01 	.long 0x1670306
-    2344:	06 01 04 0c 	twi     0,r4,262
-    2348:	05 09 06 03 	.long 0x3060905
-    234c:	f2 01 01 06 	.long 0x60101f2
-    2350:	01 04 0f 05 	.long 0x50f0401
-    2354:	02 06 03 a7 	lhzu    r24,1538(r3)
-    2358:	7e 01 05 08 	tdi     0,r5,382
-    235c:	06 01 05 02 	.long 0x2050106
+    2338:	f2 01 01 06 	.long 0x60101f2
+    233c:	01 04 0f 05 	.long 0x50f0401
 		return H_PARAMETER;
-    2360:	06 ae 06 20 	subfic  r0,r6,-20986
-    2364:	04 01 05 03 	.long 0x3050104
-    2368:	06 03 85 05 	.long 0x5850306
-    236c:	01 05 02 03 	.long 0x3020501
-	WARN_ON_ONCE(idx & ~0x1);
-    2370:	09 01 04 0f 	twnei   r4,265
-    2374:	05 14 03 8a 	lbz     r16,5125(r3)
-    2378:	7b 20 05 02 	.long 0x205207b
-    237c:	14 04 0c 05 	.long 0x50c0414
-    2380:	1d 03 f5 01 	.long 0x1f5031d
-    2384:	01 05 02 14 	.long 0x14020501
-    2388:	05 1d 03 af 	lhau    r24,7429(r3)
-    238c:	7f 01 05 02 	.long 0x205017f
-    2390:	14 15 01 01 	.long 0x1011514
-    2394:	01 03 0b 01 	.long 0x10b0301
-{
-    2398:	15 15 13 05 	.long 0x5131515
-    239c:	09 01 01 01 	.long 0x1010109
-    23a0:	04 04 05 1d 	mulli   r8,r5,1028
-    23a4:	03 82 7e 01 	.long 0x17e8203
-    23a8:	05 02 14 06 	.long 0x6140205
-    23ac:	20 04 0c 05 	.long 0x50c0420
-    23b0:	09 06 03 fc 	.long 0xfc030609
-    23b4:	01 01 06 01 	.long 0x1060101
+    2340:	02 06 03 a7 	lhzu    r24,1538(r3)
+    2344:	7e 01 05 08 	tdi     0,r5,382
+    2348:	06 01 05 02 	.long 0x2050106
+    234c:	06 ae 06 20 	subfic  r0,r6,-20986
+	WARN_ON_ONCE(idx & ~0x1);
+    2350:	04 0a 05 03 	.long 0x3050a04
+    2354:	06 0f 05 16 	.long 0x16050f06
+    2358:	06 01 05 03 	.long 0x3050106
+    235c:	06 2f 01 01 	.long 0x1012f06
+    2360:	01 01 06 2e 	cmpwi   cr4,r6,257
+		return H_NO_MEM;
+    2364:	04 01 06 03 	.long 0x3060104
+    2368:	87 05 01 05 	.long 0x5010587
+    236c:	02 03 09 01 	.long 0x1090302
+    2370:	04 0f 05 14 	.long 0x14050f04
+    2374:	03 8a 7b 20 	subfic  r3,r27,-30205
+    2378:	05 02 14 04 	.long 0x4140205
+    237c:	0c 05 1d 03 	.long 0x31d050c
+    2380:	f5 01 01 05 	.long 0x50101f5
+    2384:	02 14 05 1d 	mulli   r8,r5,5122
+{
+    2388:	03 af 7f 01 	.long 0x17faf03
+    238c:	05 02 14 15 	.long 0x15140205
+    2390:	01 01 01 03 	.long 0x3010101
+    2394:	0b 01 15 15 	.long 0x1515010b
+    2398:	13 05 09 01 	.long 0x1090513
+    239c:	01 01 04 04 	.long 0x4040101
+    23a0:	05 1d 03 82 	lwz     r16,7429(r3)
+    23a4:	7e 01 05 02 	.long 0x205017e
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    23b8:	04 0f 05 03 	.long 0x3050f04
+    23a8:	14 06 20 04 	.long 0x4200614
 	int shift, shadow_shift;
-    23bc:	06 03 c4 7e 	mtdcrx  r4,r22
+    23ac:	0c 05 09 06 	.long 0x609050c
 {
-    23c0:	01 05 14 03 	.long 0x3140501
-    23c4:	53 01 05 02 	.long 0x2050153
-    23c8:	15 06 3c 04 	.long 0x43c0615
-    23cc:	01 06 03 9f 	stbu    r24,1537(r3)
-    23d0:	05 01 3d 06 	.long 0x63d0105
-    23d4:	01 06 03 ee 	.long 0xee030601
-    23d8:	00 01 05 03 	.long 0x3050100
-    23dc:	03 0b 4a 05 	.long 0x54a0b03
-    23e0:	0d 03 e0 7e 	.long 0x7ee0030d
-    23e4:	01 05 02 14 	.long 0x14020501
-    23e8:	05 06 06 01 	.long 0x1060605
-    23ec:	2e 05 05 3c 	addis   r0,r5,1326
+    23b0:	03 fc 01 01 	.long 0x101fc03
+    23b4:	06 01 04 0f 	twnei   r4,262
+    23b8:	05 03 06 03 	.long 0x3060305
+    23bc:	c4 7e 01 05 	.long 0x5017ec4
+    23c0:	14 03 53 01 	.long 0x1530314
+    23c4:	05 02 15 06 	.long 0x6150205
+    23c8:	3c 04 01 06 	.long 0x601043c
+    23cc:	03 9f 05 01 	.long 0x1059f03
+    23d0:	3d 06 01 06 	.long 0x601063d
+    23d4:	03 ee 00 01 	.long 0x100ee03
+    23d8:	05 03 03 0b 	tdnei   r3,773
+    23dc:	4a 05 0d 03 	.long 0x30d054a
 	struct kvm *kvm = vcpu->kvm;
-    23f0:	05 03 06 2f 	cmpwi   cr6,r6,773
+    23e0:	e0 7e 01 05 	.long 0x5017ee0
 	int shift, shadow_shift;
-    23f4:	01 01 01 01 	.long 0x1010101
-    23f8:	01 01 20 01 	.long 0x1200101
-    23fc:	06 01 06 03 	.long 0x3060106
+    23e4:	02 14 05 06 	.long 0x6051402
+    23e8:	06 01 2e 05 	.long 0x52e0106
+    23ec:	05 3c 05 03 	.long 0x3053c05
 		if (mmu_psize_defs[psize].ap == ap)
-    2400:	9e 01 01 06 	.long 0x601019e
+    23f0:	06 2f 01 01 	.long 0x1012f06
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    2404:	2e 06 2f 13 	vmaddfp v25,v15,v24,v0
+    23f4:	01 01 01 01 	.long 0x1010101
 		if (mmu_psize_defs[psize].ap == ap)
-    2408:	05 09 06 01 	.long 0x1060905
-    240c:	04 0a 05 03 	.long 0x3050a04
+    23f8:	20 01 06 01 	.long 0x1060120
+    23fc:	06 03 9e 01 	.long 0x19e0306
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    2410:	06 03 f0 79 	rldicr  r16,r15,32,12
-    2414:	4a 05 16 06 	.long 0x616054a
-    2418:	01 05 03 06 	.long 0x6030501
+    2400:	01 06 2e 06 	.long 0x62e0601
+    2404:	2f 13 05 09 	tdgti   r5,4911
+    2408:	06 01 04 0a 	tdlti   r4,262
 		if (mmu_psize_defs[psize].ap == ap)
-    241c:	2f 01 01 01 	.long 0x101012f
-    2420:	01 06 2e 04 	.long 0x42e0601
-    2424:	04 05 02 06 	.long 0x6020504
+    240c:	05 03 06 03 	.long 0x3060305
+    2410:	f0 79 4a 05 	.long 0x54a79f0
+    2414:	16 06 01 05 	.long 0x5010616
 			return mmu_psize_defs[psize].shift;
-    2428:	03 67 01 06 	.long 0x6016703
-    242c:	01 04 0c 05 	.long 0x50c0401
+    2418:	03 06 2f 01 	.long 0x12f0603
+    241c:	01 01 01 06 	.long 0x6010101
 	shift = ap_to_shift(ap);
-    2430:	09 06 03 f2 	xvnmaddasp vs48,vs3,vs0
+    2420:	2e 04 04 05 	.long 0x504042e
 	if (shift < 0)
-    2434:	01 01 06 01 	.long 0x1060101
-    2438:	04 0f 05 14 	.long 0x14050f04
+    2424:	02 06 03 67 	oris    r3,r24,1538
+    2428:	01 06 01 04 	.long 0x4010601
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    243c:	06 03 c1 7e 	mtdcrx  r1,r22
-    2440:	01 05 02 16 	.long 0x16020501
+    242c:	0c 05 09 06 	.long 0x609050c
+    2430:	03 f2 01 01 	.long 0x101f203
 	if (!gp) /* No such guest -> nothing to do */
-    2444:	06 20 74 2e 	cmpdi   cr4,r20,8198
-    2448:	04 01 05 01 	.long 0x1050104
-    244c:	06 03 fd 05 	.long 0x5fd0306
+    2434:	06 01 04 0f 	twnei   r4,262
+    2438:	05 14 06 03 	.long 0x3061405
+    243c:	c1 7e 01 05 	.long 0x5017ec1
 	addr &= ~((1UL << shift) - 1);
-    2450:	4a 05 02 4b 	ba      ff020548 <kvmhv_nested_next_lpid+0xff01ca70>
+    2440:	02 16 06 20 	subfic  r0,r6,5634
 	npages = 1UL << (shift - PAGE_SHIFT);
-    2454:	05 01 06 11 	vslq    v8,v6,v0
-    2458:	05 0e 67 05 	.long 0x5670e05
+    2444:	74 2e 04 01 	.long 0x1042e74
+    2448:	05 01 06 03 	.long 0x3060105
 	mutex_lock(&gp->tlb_lock);
-    245c:	02 06 21 14 	.long 0x14210602
+    244c:	fd 05 4a 05 	.long 0x54a05fd
 	addr = epn << 12;
-    2460:	04 06 05 1d 	mulli   r8,r5,1540
+    2450:	02 4b 05 01 	.long 0x1054b02
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    2464:	03 86 7c 01 	.long 0x17c8603
+    2454:	06 11 05 0e 	twlti   r5,4358
 	addr &= ~((1UL << shift) - 1);
-    2468:	05 02 14 06 	.long 0x6140205
+    2458:	67 05 02 06 	.long 0x6020567
 	mutex_lock(&gp->tlb_lock);
-    246c:	20 2e 04 01 	.long 0x1042e20
+    245c:	21 14 04 06 	.long 0x6041421
 	npages = 1UL << (shift - PAGE_SHIFT);
-    2470:	06 03 f9 03 	.long 0x3f90306
+    2460:	05 1d 03 86 	lwzu    r16,7429(r3)
 	addr &= ~((1UL << shift) - 1);
-    2474:	01 05 08 06 	.long 0x6080501
-    2478:	01 04 0a 05 	.long 0x50a0401
+    2464:	7c 01 05 02 	.long 0x205017c
+    2468:	14 06 20 2e 	cmpdi   cr4,r0,1556
 	mutex_lock(&gp->tlb_lock);
-    247c:	1c 03 dc 79 	.long 0x79dc031c
-    2480:	20 04 01 05 	.long 0x5010420
-    2484:	08 03 a4 06 	.long 0x6a40308
-    2488:	20 05 06 20 	subfic  r0,r6,1312
-    248c:	05 02 06 21 	subfic  r8,r6,517
+    246c:	04 01 06 03 	.long 0x3060104
+    2470:	f9 03 01 05 	.long 0x50103f9
+    2474:	08 06 01 04 	.long 0x4010608
+    2478:	0a 05 1c 03 	.long 0x31c050a
+    247c:	dc 79 20 04 	.long 0x42079dc
 		kvmhv_invalidate_shadow_pte(vcpu, gp, addr, &shadow_shift);
-    2490:	04 06 05 1d 	mulli   r8,r5,1540
-    2494:	03 ac 7c 01 	.long 0x17cac03
-    2498:	05 02 14 04 	.long 0x4140205
-    249c:	09 05 14 03 	.long 0x3140509
-    24a0:	85 7e 01 05 	.long 0x5017e85
+    2480:	01 05 08 03 	.long 0x3080501
+    2484:	a4 06 20 05 	.long 0x52006a4
+    2488:	06 20 05 02 	.long 0x2052006
+    248c:	06 21 04 06 	.long 0x6042106
+    2490:	05 1d 03 ac 	lhau    r0,7429(r3)
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    24a4:	02 14 01 01 	.long 0x1011402
-    24a8:	13 04 06 05 	.long 0x5060413
+    2494:	7c 01 05 02 	.long 0x205017c
+    2498:	14 04 09 05 	.long 0x5090414
 		addr += 1UL << shadow_shift;
-    24ac:	14 03 3a 01 	.long 0x13a0314
+    249c:	14 03 85 7e 	.long 0x7e850314
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    24b0:	05 02 14 04 	.long 0x4140205
+    24a0:	01 05 02 14 	.long 0x14020501
 		addr += 1UL << shadow_shift;
-    24b4:	0a 05 14 03 	.long 0x314050a
+    24a4:	01 01 13 04 	.long 0x4130101
 	} while (npages > 0);
-    24b8:	e7 7e 01 05 	.long 0x5017ee7
-    24bc:	02 14 14 05 	.long 0x5141402
+    24a8:	06 05 14 03 	.long 0x3140506
+    24ac:	3a 01 05 02 	.long 0x205013a
 	mutex_unlock(&gp->tlb_lock);
-    24c0:	05 06 01 05 	.long 0x5010605
-    24c4:	03 06 3e 05 	.long 0x53e0603
-    24c8:	02 15 05 13 	vavgsb  v24,v5,v2
+    24b0:	14 04 0a 05 	.long 0x50a0414
+    24b4:	14 03 e7 7e 	.long 0x7ee70314
+    24b8:	01 05 02 14 	.long 0x14020501
 	kvmhv_put_nested(gp);
-    24cc:	06 01 04 06 	.long 0x6040106
-    24d0:	05 02 06 03 	.long 0x3060205
-    24d4:	91 01 3c 04 	.long 0x43c0191
-    24d8:	0b 05 14 03 	.long 0x314050b
+    24bc:	14 05 05 06 	.long 0x6050514
+    24c0:	01 05 03 06 	.long 0x6030501
+    24c4:	3e 05 02 15 	.long 0x1502053e
+    24c8:	05 13 06 01 	.long 0x1061305
 		return 0;
-    24dc:	4f 01 05 02 	.long 0x205014f
+    24cc:	04 06 05 02 	.long 0x2050604
 }
-    24e0:	14 01 01 01 	.long 0x1010114
+    24d0:	06 03 91 01 	.long 0x1910306
+    24d4:	3c 04 0b 05 	.long 0x50b043c
+    24d8:	14 03 4f 01 	.long 0x14f0314
+    24dc:	05 02 14 01 	.long 0x1140205
+    24e0:	01 01 01 01 	.long 0x1010101
     24e4:	01 01 01 01 	.long 0x1010101
-    24e8:	01 01 20 01 	.long 0x1200101
-    24ec:	01 01 01 01 	.long 0x1010101
-    24f0:	01 06 20 06 	.long 0x6200601
-    24f4:	20 01 01 01 	.long 0x1010120
-    24f8:	13 06 01 04 	.long 0x4010613
-    24fc:	06 06 03 2f 	cmpwi   cr6,r3,1542
-    2500:	01 06 01 04 	.long 0x4010601
-    2504:	09 06 03 43 	bcl-    24,so,2b0c <.debug_line+0x2b0c>
-    2508:	01 06 01 04 	plxv    vs16,4395697665(r3)
-    250c:	01 06 03 ca 
-    2510:	05 01 05 05 	.long 0x5050105
-    2514:	06 01 05 01 	.long 0x1050106
-    2518:	30 3c 20 05 	.long 0x5203c30
-    251c:	03 06 57 05 	.long 0x5570603
+    24e8:	20 01 01 01 	.long 0x1010120
+    24ec:	01 01 01 06 	.long 0x6010101
+    24f0:	20 06 20 01 	.long 0x1200620
+    24f4:	01 01 13 06 	.long 0x6130101
+    24f8:	01 04 06 06 	.long 0x6060401
+    24fc:	03 2f 01 06 	.long 0x6012f03
+    2500:	01 04 09 06 	.long 0x6090401
+    2504:	03 43 01 06 	.long 0x6014303
+    2508:	01 04 01 06 	.long 0x6010401
+    250c:	03 ca 05 01 	.long 0x105ca03
 		return -EINVAL;
-    2520:	01 06 13 05 	.long 0x5130601
-    2524:	03 1f 05 01 	.long 0x1051f03
-    2528:	21 2e 20 05 	.long 0x5202e21
-    252c:	03 1f 04 0a 	tdlti   r4,7939
-}
-    2530:	06 03 dc 79 	rldicr  r28,r14,32,12
-    2534:	2e 05 16 06 	.long 0x616052e
-    2538:	01 05 03 06 	.long 0x6030501
-    253c:	2f 01 01 01 	.long 0x101012f
-    2540:	01 04 01 05 	.long 0x5010401
-    2544:	01 03 eb 01 	.long 0x1eb0301
-{
-    2548:	4a 06 4a 05 	.long 0x54a064a
-    254c:	11 3f 05 01 	.long 0x1053f11
-    2550:	1d 05 11 23 	subfic  r24,r17,1309
-    2554:	05 01 1d 05 	.long 0x51d0105
-    2558:	11 31 05 01 	.long 0x1053111
-    255c:	1d 05 02 06 	.long 0x602051d
-    2560:	3d 13 13 05 	.long 0x513133d
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2564:	11 06 01 05 	.long 0x5010611
-    2568:	1a 2e 05 02 	.long 0x2052e1a
-{
-    256c:	06 59 05 18 	.long 0x18055906
-    2570:	06 01 05 25 	dozi    r8,r5,262
-    2574:	58 05 02 06 	.long 0x6020558
-    2578:	59 05 0a 06 	.long 0x60a0559
+    2510:	05 05 06 01 	.long 0x1060505
+    2514:	05 01 30 3c 	addis   r1,r16,261
+    2518:	20 05 03 06 	.long 0x6030520
+    251c:	57 05 01 06 	.long 0x6010557
+}
+    2520:	13 05 03 1f 	mulli   r24,r3,1299
+    2524:	05 01 21 2e 	cmpdi   cr4,r1,261
+    2528:	20 05 03 1f 	mulli   r24,r3,1312
+    252c:	04 0a 06 03 	.long 0x3060a04
+    2530:	dc 79 2e 05 	.long 0x52e79dc
+    2534:	16 06 01 05 	.long 0x5010616
+{
+    2538:	03 06 2f 01 	.long 0x12f0603
+    253c:	01 01 01 04 	.long 0x4010101
+    2540:	01 05 01 03 	.long 0x3010501
+    2544:	eb 01 4a 06 	.long 0x64a01eb
+    2548:	4a 05 11 3f 	addis   r24,r17,1354
+    254c:	05 01 1d 05 	.long 0x51d0105
+    2550:	11 23 05 01 	.long 0x1052311
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2554:	1d 05 11 31 	addic   r8,r17,1309
+    2558:	05 01 1d 05 	.long 0x51d0105
+{
+    255c:	02 06 3d 13 	vctzh   v25,v0
+    2560:	13 05 11 06 	.long 0x6110513
+    2564:	01 05 1a 2e 	cmpwi   cr4,r26,1281
+    2568:	05 02 06 59 	rlmi.   r6,r8,r0,8,2
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    257c:	17 05 17 1b 	.long 0x1b170517
-    2580:	05 02 06 21 	subfic  r8,r6,517
+    256c:	05 18 06 01 	.long 0x1061805
+    2570:	05 25 58 05 	.long 0x5582505
 	if (!gp)
-    2584:	13 13 14 05 	.long 0x5141313
-    2588:	05 06 01 05 	.long 0x5010605
+    2574:	02 06 59 05 	.long 0x5590602
+    2578:	0a 06 17 05 	.long 0x517060a
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    258c:	02 06 3f 05 	.long 0x53f0602
-    2590:	06 06 01 05 	.long 0x5010606
-    2594:	05 20 05 06 	.long 0x6052005
-    2598:	2e 05 05 2e 	cmpwi   cr4,r5,1326
-    259c:	05 02 06 32 	addic   r16,r6,517
-    25a0:	04 10 05 15 	.long 0x15051004
-}
-    25a4:	03 21 01 05 	.long 0x5012103
-    25a8:	02 14 04 0e 	twlti   r4,5122
-    25ac:	05 0b 06 03 	.long 0x3060b05
-    25b0:	e2 7e 2e 04 	.long 0x42e7ee2
-    25b4:	10 05 1c 03 	.long 0x31c0510
-    25b8:	9e 01 20 20 	subfic  r1,r0,414
-    25bc:	04 01 05 02 	.long 0x2050104
-    25c0:	06 03 5e 01 	.long 0x15e0306
-    25c4:	04 10 05 15 	.long 0x15051004
-{
-    25c8:	03 20 01 05 	.long 0x5012003
-    25cc:	02 14 05 1c 	mulli   r0,r5,5122
-    25d0:	06 01 20 04 	.long 0x4200106
-    25d4:	01 05 02 06 	.long 0x6020501
-    25d8:	03 5f 01 04 	.long 0x4015f03
-    25dc:	14 05 14 03 	.long 0x3140514
-    25e0:	ae 04 01 05 	.long 0x50104ae
+    257c:	17 1b 05 02 	.long 0x2051b17
+    2580:	06 21 13 13 	.long 0x13132106
+    2584:	14 05 05 06 	.long 0x6050514
+    2588:	01 05 02 06 	.long 0x6020501
+    258c:	3f 05 06 06 	.long 0x606053f
+    2590:	01 05 05 20 	subfic  r0,r5,1281
+}
+    2594:	05 06 2e 05 	.long 0x52e0605
+    2598:	05 2e 05 02 	.long 0x2052e05
+    259c:	06 32 04 10 	vcmpgtub v0,v4,v6
+    25a0:	05 15 03 21 	subfic  r8,r3,5381
+    25a4:	01 05 02 14 	.long 0x14020501
+    25a8:	04 0e 05 0b 	tdnei   r5,3588
+    25ac:	06 03 e2 7e 	mtdcrx  r2,r23
+    25b0:	2e 04 10 05 	.long 0x510042e
+    25b4:	1c 03 9e 01 	.long 0x19e031c
+{
+    25b8:	20 20 04 01 	.long 0x1042020
+    25bc:	05 02 06 03 	.long 0x3060205
+    25c0:	5e 01 04 10 	vextddvlx v0,v4,v0,r5
+    25c4:	05 15 03 20 	subfic  r0,r3,5381
+    25c8:	01 05 02 14 	.long 0x14020501
+    25cc:	05 1c 06 01 	.long 0x1061c05
+    25d0:	20 04 01 05 	.long 0x5010420
 	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
-    25e4:	02 18 04 0e 	twlti   r4,6146
+    25d4:	02 06 03 5f 	rlwnm   r3,r24,r0,24,1
 	u64 rmap, new_rmap = (*n_rmap)->rmap;
-    25e8:	05 13 03 ca 	lfd     f16,4869(r3)
+    25d8:	01 04 14 05 	.long 0x5140401
 	if (!(*rmapp)) {
-    25ec:	7a 01 05 02 	.long 0x205017a
+    25dc:	14 03 ae 04 	.long 0x4ae0314
 	u64 rmap, new_rmap = (*n_rmap)->rmap;
-    25f0:	14 14 13 05 	.long 0x5131414
+    25e0:	01 05 02 18 	stxvp   vs0,1280(r2)
 	if (!(*rmapp)) {
-    25f4:	0b 06 01 04 	.long 0x401060b
-    25f8:	01 05 06 03 	.long 0x3060501
-    25fc:	25 2e 04 0e 	twlti   r4,11813
-    2600:	05 0b 03 5b 	rlmi.   r3,r24,r1,12,2
-    2604:	20 05 02 06 	.long 0x6020520
-    2608:	21 01 01 13 	vmhraddshs v24,v1,v0,v4
-    260c:	06 01 04 01 	.long 0x1040106
+    25e4:	04 0e 05 13 	.long 0x13050e04
+    25e8:	03 ca 7a 01 	.long 0x17aca03
+    25ec:	05 02 14 14 	.long 0x14140205
+    25f0:	13 05 0b 06 	.long 0x60b0513
+    25f4:	01 04 01 05 	.long 0x5010401
+    25f8:	06 03 25 2e 	cmpdi   cr4,r5,774
+    25fc:	04 0e 05 0b 	tdnei   r5,3588
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2610:	05 06 03 23 	subfic  r24,r3,1541
-    2614:	01 04 14 05 	.long 0x5140401
+    2600:	03 5b 20 05 	.long 0x5205b03
+    2604:	02 06 21 01 	.long 0x1210602
 	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
-    2618:	15 03 8c 05 	.long 0x58c0315
+    2608:	01 13 06 01 	.long 0x1061301
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    261c:	3c 20 04 01 	.long 0x104203c
-    2620:	05 02 06 03 	.long 0x3060205
+    260c:	04 01 05 06 	.long 0x6050104
+    2610:	03 23 01 04 	.long 0x4012303
 	if (rmap & RMAP_NESTED_IS_SINGLE_ENTRY) /* Not previously a list */
-    2624:	cd 7b 01 05 	.long 0x5017bcd
-    2628:	0c 03 a0 7f 	dcblc   29,0,r0
-    262c:	01 05 02 17 	.long 0x17020501
-    2630:	14 05 06 06 	.long 0x6060514
+    2614:	14 05 15 03 	.long 0x3150514
+    2618:	8c 05 3c 20 	subfic  r1,r28,1420
+    261c:	04 01 05 02 	.long 0x2050104
+    2620:	06 03 cd 7b 	rldicr  r13,r30,32,12
 	return llist_add_batch(new, new, head);
-    2634:	01 05 05 2e 	cmpwi   cr4,r5,1281
-    2638:	05 02 06 32 	addic   r16,r6,517
-    263c:	04 10 05 14 	.long 0x14051004
-    2640:	03 ab 01 01 	.long 0x101ab03
+    2624:	01 05 0c 03 	.long 0x30c0501
+    2628:	a0 7f 01 05 	.long 0x5017fa0
+    262c:	02 17 14 05 	.long 0x5141702
+    2630:	06 06 01 05 	.long 0x5010606
 	*n_rmap = NULL;
-    2644:	05 02 14 04 	.long 0x4140205
-    2648:	02 05 01 03 	.long 0x3010502
-    264c:	b5 04 01 01 	.long 0x10104b5
-    2650:	01 06 01 04 	.long 0x4010601
+    2634:	05 2e 05 02 	.long 0x2052e05
+    2638:	06 32 04 10 	vcmpgtub v0,v4,v6
+    263c:	05 14 03 ab 	lha     r24,5125(r3)
+    2640:	01 01 05 02 	.long 0x2050101
 }
-    2654:	01 05 14 03 	.long 0x3140501
-    2658:	9f 7a 20 04 	.long 0x4207a9f
+    2644:	14 04 02 05 	.long 0x5020414
+    2648:	01 03 b5 04 	.long 0x4b50301
 	*n_rmap = NULL;
-    265c:	10 05 29 03 	.long 0x3290510
+    264c:	01 01 01 06 	.long 0x6010101
 }
-    2660:	ac 01 20 04 	.long 0x42001ac
-    2664:	01 05 05 03 	.long 0x3050501
-    2668:	d3 7e 20 05 	.long 0x5207ed3
-    266c:	03 06 2f 05 	.long 0x52f0603
+    2650:	01 04 01 05 	.long 0x5010401
+    2654:	14 03 9f 7a 	.long 0x7a9f0314
+    2658:	20 04 10 05 	.long 0x5100420
+    265c:	29 03 ac 01 	.long 0x1ac0329
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2670:	14 06 01 05 	.long 0x5010614
-    2674:	12 9e 05 02 	.long 0x2059e12
+    2660:	20 04 01 05 	.long 0x5010420
+    2664:	05 03 d3 7e 	.long 0x7ed30305
 	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
-    2678:	06 22 04 16 	.long 0x16042206
+    2668:	20 05 03 06 	.long 0x6030520
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    267c:	05 13 03 8b 	lbz     r24,4869(r3)
+    266c:	2f 05 14 06 	.long 0x614052f
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2680:	03 01 05 02 	.long 0x2050103
-    2684:	14 06 4a 04 	.long 0x44a0614
+    2670:	01 05 12 9e 	stbu    r16,1281(r18)
+    2674:	05 02 06 22 	subfic  r16,r6,517
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    2688:	01 06 03 c7 	lfsu    f24,1537(r3)
+    2678:	04 16 05 13 	.long 0x13051604
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    268c:	7d 01 04 14 	.long 0x1404017d
-    2690:	05 14 03 b4 	sthu    r0,5125(r3)
-    2694:	04 01 05 02 	.long 0x2050104
-    2698:	14 04 0e 06 	.long 0x60e0414
-    269c:	03 91 7b 2e 	cmpdi   cr4,r27,-28413
+    267c:	03 8b 03 01 	.long 0x1038b03
+    2680:	05 02 14 06 	.long 0x6140205
+    2684:	4a 04 01 06 	.long 0x601044a
+    2688:	03 c7 7d 01 	.long 0x17dc703
+    268c:	04 14 05 14 	.long 0x14051404
 		*rmapp = 0UL;
-    26a0:	04 14 03 ef 	dsub    f24,f3,f2
-    26a4:	04 20 04 0e 	twlti   r4,8196
-    26a8:	05 14 06 03 	.long 0x3061405
-    26ac:	8e 7b 20 05 	.long 0x5207b8e
-    26b0:	02 15 01 01 	.long 0x1011502
-    26b4:	20 01 13 13 	vmhaddshs v24,v19,v0,v4
-    26b8:	01 01 13 06 	.long 0x6130101
+    2690:	03 b4 04 01 	.long 0x104b403
+    2694:	05 02 14 04 	.long 0x4140205
+    2698:	0e 06 03 91 	stw     r8,1550(r3)
+    269c:	7b 2e 04 14 	.long 0x14042e7b
+    26a0:	03 ef 04 20 	subfic  r0,r4,-4349
+    26a4:	04 0e 05 14 	.long 0x14050e04
+    26a8:	06 03 8e 7b 	rldicr  r14,r28,32,12
 		(*n_rmap)->list.next = (struct llist_node *) rmap;
-    26bc:	20 2e 04 01 	.long 0x1042e20
-    26c0:	06 03 37 01 	.long 0x1370306
-    26c4:	06 20 05 0a 	tdlti   r5,8198
-    26c8:	21 05 01 03 	.long 0x3010521
-    26cc:	f3 00 2e 82 	lwz     r17,243(r14)
-    26d0:	20 05 02 06 	.long 0x6020520
-}
-    26d4:	03 bb 7e 3c 	addis   r3,r30,-17661
-    26d8:	04 16 06 03 	.long 0x3061604
-    26dc:	89 03 01 04 	.long 0x4010389
+    26ac:	20 05 02 15 	.long 0x15020520
+    26b0:	01 01 20 01 	.long 0x1200101
+    26b4:	13 13 01 01 	.long 0x1011313
+    26b8:	13 06 20 2e 	cmpdi   cr4,r0,1555
+    26bc:	04 01 06 03 	.long 0x3060104
+    26c0:	37 01 06 20 	subfic  r0,r6,311
+}
+    26c4:	05 0a 21 05 	.long 0x5210a05
+    26c8:	01 03 f3 00 	.long 0xf30301
+    26cc:	2e 82 20 05 	.long 0x520822e
 		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
-    26e0:	01 05 09 03 	.long 0x3090501
+    26d0:	02 06 03 bb 	lmw     r24,1538(r3)
 }
-    26e4:	f7 7c 20 20 	subfic  r1,r0,31991
+    26d4:	7e 3c 04 16 	.long 0x16043c7e
 		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
-    26e8:	05 38 4a 2e 	cmpwi   cr4,r10,14341
+    26d8:	06 03 89 03 	.long 0x3890306
 }
-    26ec:	05 02 06 03 	.long 0x3060205
-    26f0:	d0 00 01 04 	.long 0x40100d0
-    26f4:	14 05 14 03 	.long 0x3140514
-    26f8:	b4 04 01 05 	.long 0x50104b4
-    26fc:	02 14 04 0e 	twlti   r4,5122
-    2700:	06 03 91 7b 	rldicr  r17,r28,32,12
-    2704:	2e 04 14 03 	.long 0x314042e
-{
-    2708:	ef 04 20 04 	.long 0x42004ef
-    270c:	0e 05 14 06 	.long 0x614050e
-    2710:	03 8e 7b 20 	subfic  r3,r27,-29181
-    2714:	05 02 15 01 	.long 0x1150205
+    26dc:	01 04 01 05 	.long 0x5010401
+    26e0:	09 03 f7 7c 	.long 0x7cf70309
+    26e4:	20 20 05 38 	addi    r0,r5,8224
+    26e8:	4a 2e 05 02 	.long 0x2052e4a
+    26ec:	06 03 d0 00 	.long 0xd00306
+    26f0:	01 04 14 05 	.long 0x5140401
+    26f4:	14 03 b4 04 	.long 0x4b40314
+{
+    26f8:	01 05 02 14 	.long 0x14020501
+    26fc:	04 0e 06 03 	.long 0x3060e04
+    2700:	91 7b 2e 04 	.long 0x42e7b91
+    2704:	14 03 ef 04 	.long 0x4ef0314
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
-    2718:	01 04 01 05 	.long 0x5010401
+    2708:	20 04 0e 05 	.long 0x50e0420
 {
-    271c:	38 06 03 69 	xori    r3,r8,1592
-    2720:	2e c8 04 0e 	twlti   r4,-14290
+    270c:	14 06 03 8e 	lbzu    r16,1556(r3)
+    2710:	7b 20 05 02 	.long 0x205207b
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
-    2724:	05 02 06 03 	.long 0x3060205
+    2714:	15 01 01 04 	.long 0x4010115
 	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
-    2728:	17 01 01 06 	.long 0x6010117
+    2718:	01 05 38 06 	.long 0x6380501
 {
-    272c:	20 06 01 01 	.long 0x1010620
-    2730:	06 01 04 01 	.long 0x1040106
-    2734:	05 0a 03 2e 	cmpwi   cr4,r3,2565
+    271c:	03 69 2e c8 	lfd     f1,26883(r14)
+    2720:	04 0e 05 02 	.long 0x2050e04
+    2724:	06 03 17 01 	.long 0x1170306
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
-    2738:	01 04 16 05 	.long 0x5160401
-    273c:	02 03 c4 02 	.long 0x2c40302
+    2728:	01 06 20 06 	.long 0x6200601
+    272c:	01 01 06 01 	.long 0x1060101
 	mask = PTE_RPN_MASK & ~(nbytes - 1);
-    2740:	4a 20 04 01 	.long 0x104204a
+    2730:	04 01 05 0a 	tdlti   r5,260
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    2744:	06 03 f7 7c 	mtdcrx  r23,r7
-    2748:	01 05 09 06 	.long 0x6090501
+    2734:	03 2e 01 04 	.long 0x4012e03
+    2738:	16 05 02 03 	.long 0x3020516
 	mask = PTE_RPN_MASK & ~(nbytes - 1);
-    274c:	01 20 05 38 	addi    r0,r5,8193
-    2750:	4a 05 03 2f 	cmpwi   cr6,r3,1354
+    273c:	c4 02 4a 20 	subfic  r2,r10,708
+    2740:	04 01 06 03 	.long 0x3060104
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    2754:	3c f2 04 14 	.long 0x1404f23c
-    2758:	05 02 03 85 	lwzu    r8,517(r3)
-    275c:	05 01 04 01 	.long 0x1040105
-    2760:	05 38 03 fa 	stdu    r16,14340(r3)
+    2744:	f7 7c 01 05 	.long 0x5017cf7
+    2748:	09 06 01 20 	subfic  r0,r1,1545
+    274c:	05 38 4a 05 	.long 0x54a3805
+    2750:	03 2f 3c f2 	xvmaxdp vs49,vs28,vs37
 	unsigned int shift, lpid;
-    2764:	7a 2e 04 0e 	twlti   r4,11898
-    2768:	05 02 03 17 	.long 0x17030205
-    276c:	20 04 14 03 	.long 0x3140420
-    2770:	ef 04 20 04 	.long 0x42004ef
-    2774:	01 05 38 03 	.long 0x3380501
-    2778:	fa 7a 20 2e 	cmpdi   cr4,r0,31482
-    277c:	05 02 06 03 	.long 0x3060205
-    2780:	d0 00 01 04 	.long 0x40100d0
-    2784:	14 05 14 03 	.long 0x3140514
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2788:	b4 04 01 05 	.long 0x50104b4
-    278c:	02 14 04 0e 	twlti   r4,5122
-    2790:	05 14 03 8e 	lbzu    r16,5125(r3)
-    2794:	7b 01 05 02 	.long 0x205017b
-    2798:	15 01 01 20 	subfic  r0,r1,277
-    279c:	01 13 13 01 	.long 0x1131301
+    2754:	04 14 05 02 	.long 0x2051404
+    2758:	03 85 05 01 	.long 0x1058503
+    275c:	04 01 05 38 	addi    r0,r5,260
+    2760:	03 fa 7a 2e 	cmpdi   cr4,r26,-1533
+    2764:	04 0e 05 02 	.long 0x2050e04
+    2768:	03 17 20 04 	.long 0x4201703
+    276c:	14 03 ef 04 	.long 0x4ef0314
+    2770:	20 04 01 05 	.long 0x5010420
+    2774:	38 03 fa 7a 	.long 0x7afa0338
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2778:	20 2e 05 02 	.long 0x2052e20
+    277c:	06 03 d0 00 	.long 0xd00306
+    2780:	01 04 14 05 	.long 0x5140401
+    2784:	14 03 b4 04 	.long 0x4b40314
+    2788:	01 05 02 14 	.long 0x14020501
+    278c:	04 0e 05 14 	.long 0x14050e04
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    27a0:	01 13 06 20 	subfic  r0,r6,4865
-    27a4:	2e 04 01 06 	.long 0x601042e
-    27a8:	03 37 01 05 	.long 0x5013703
+    2790:	03 8e 7b 01 	.long 0x17b8e03
+    2794:	05 02 15 01 	.long 0x1150205
+    2798:	01 20 01 13 	.long 0x13012001
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    27ac:	05 06 01 05 	.long 0x5010605
+    279c:	13 01 01 13 	.long 0x13010113
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    27b0:	02 06 31 04 	.long 0x4310602
+    27a0:	06 20 2e 04 	.long 0x42e2006
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    27b4:	10 05 14 03 	.long 0x3140510
+    27a4:	01 06 03 37 	addic.  r24,r3,1537
 	unsigned int shift, lpid;
-    27b8:	d0 00 01 05 	.long 0x50100d0
+    27a8:	01 05 05 06 	.long 0x6050501
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    27bc:	02 14 04 02 	.long 0x2041402
+    27ac:	01 05 02 06 	.long 0x6020501
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    27c0:	05 01 03 b5 	sthu    r8,261(r3)
+    27b0:	31 04 10 05 	.long 0x5100431
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    27c4:	04 01 01 01 	.long 0x1010104
-    27c8:	06 20 04 10 	vcmpequb v0,v4,v4
+    27b4:	14 03 d0 00 	.long 0xd00314
+    27b8:	01 05 02 14 	.long 0x14020501
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    27cc:	05 29 03 cb 	lfd     f24,10501(r3)
+    27bc:	04 02 05 01 	.long 0x1050204
 	if (!gp)
-    27d0:	7b 01 04 01 	.long 0x104017b
-    27d4:	05 05 03 ae 	lhau    r16,1285(r3)
+    27c0:	03 b5 04 01 	.long 0x104b503
+    27c4:	01 01 06 20 	subfic  r0,r6,257
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    27d8:	7f 20 05 02 	.long 0x205207f
-    27dc:	06 30 05 05 	.long 0x5053006
-    27e0:	06 01 05 02 	.long 0x2050106
-    27e4:	06 41 05 05 	.long 0x5054106
-    27e8:	06 01 05 02 	.long 0x2050106
-    27ec:	06 03 0a 3c 	addis   r0,r10,774
+    27c8:	04 10 05 29 	cmplwi  cr2,r5,4100
+    27cc:	03 cb 7b 01 	.long 0x17bcb03
+    27d0:	04 01 05 05 	.long 0x5050104
+    27d4:	03 ae 7f 20 	subfic  r3,r31,-20989
+    27d8:	05 02 06 30 	addic   r0,r6,517
+    27dc:	05 05 06 01 	.long 0x1060505
 	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa)) {
-    27f0:	05 06 06 01 	.long 0x1060605
-    27f4:	05 05 20 05 	.long 0x5200505
-    27f8:	08 21 05 05 	.long 0x5052108
+    27e0:	05 02 06 41 	bdnztl  4*cr1+eq,29e4 <.debug_line+0x29e4>
+    27e4:	05 05 06 01 	.long 0x1060505
+    27e8:	05 02 06 03 	.long 0x3060205
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
-    27fc:	1f 05 06 20 	subfic  r0,r6,1311
+    27ec:	0a 3c 05 06 	.long 0x6053c0a
 	if (pte_hw_valid(pte))
-    2800:	05 08 21 05 	.long 0x5210805
-    2804:	06 1f 05 08 	tdi     0,r5,7942
+    27f0:	06 01 05 05 	.long 0x5050106
+    27f4:	20 05 08 21 	subfic  r8,r8,1312
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-    2808:	21 05 05 1f 	mulli   r24,r5,1313
-    280c:	05 03 06 32 	addic   r16,r6,773
-    2810:	05 06 06 01 	.long 0x1060605
-    2814:	05 03 06 30 	addic   r0,r6,773
-    2818:	05 07 01 01 	.long 0x1010705
-    281c:	06 2e 05 02 	.long 0x2052e06
-    2820:	06 17 05 07 	.long 0x7051706
-    2824:	06 01 05 02 	.long 0x2050106
-    2828:	06 4b 05 05 	.long 0x5054b06
-    282c:	06 01 05 02 	.long 0x2050106
-    2830:	06 30 05 05 	.long 0x5053006
-    2834:	06 01 05 02 	.long 0x2050106
-    2838:	06 43 05 29 	cmplwi  cr2,r5,17158
-    283c:	06 01 05 10 	.long 0x10050106
-    2840:	21 05 16 49 	bl      1162d60 <kvmhv_nested_next_lpid+0x115f288>
+    27f8:	05 05 1f 05 	.long 0x51f0505
+    27fc:	06 20 05 08 	tdi     0,r5,8198
+    2800:	21 05 06 1f 	mulli   r24,r6,1313
+    2804:	05 08 21 05 	.long 0x5210805
+    2808:	05 1f 05 03 	.long 0x3051f05
+    280c:	06 32 05 06 	.long 0x6053206
+    2810:	06 01 05 03 	.long 0x3050106
+    2814:	06 30 05 07 	.long 0x7053006
+    2818:	01 01 06 2e 	cmpwi   cr4,r6,257
+    281c:	05 02 06 17 	.long 0x17060205
+    2820:	05 07 06 01 	.long 0x1060705
+    2824:	05 02 06 4b 	bl      ffffffffff062a28 <kvmhv_nested_next_lpid+0xffffffffff05ef60>
+    2828:	05 05 06 01 	.long 0x1060505
+    282c:	05 02 06 30 	addic   r0,r6,517
+    2830:	05 05 06 01 	.long 0x1060505
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    2844:	05 02 06 21 	subfic  r8,r6,517
-    2848:	05 10 06 01 	.long 0x1061005
-    284c:	05 02 06 2f 	cmpwi   cr6,r6,517
-    2850:	3f 05 23 06 	.long 0x623053f
+    2834:	05 02 06 43 	bcl-    24,4*cr1+eq,2a38 <.debug_line+0x2a38>
+    2838:	05 29 06 01 	.long 0x1062905
+    283c:	05 10 21 05 	.long 0x5211005
+    2840:	16 49 05 02 	.long 0x2054916
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2854:	01 05 12 28 	cmplwi  r18,1281
+    2844:	06 21 05 10 	.long 0x10052106
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2858:	05 18 03 79 	rldicr. r3,r8,3,0
+    2848:	06 01 05 02 	.long 0x2050106
 	unsigned int shift, lpid;
-    285c:	2e 05 0b 1f 	mulli   r24,r11,1326
+    284c:	06 2f 3f 05 	.long 0x53f2f06
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2860:	05 12 28 05 	.long 0x5281205
+    2850:	23 06 01 05 	.long 0x5010623
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2864:	1c 1e 05 21 	subfic  r8,r5,7708
+    2854:	12 28 05 18 	.long 0x18052812
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2868:	21 05 10 03 	.long 0x3100521
-    286c:	7a 20 05 0b 	tdnei   r5,8314
+    2858:	03 79 2e 05 	.long 0x52e7903
+    285c:	0b 1f 05 12 	vmodsq  v16,v5,v3
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2870:	1f 05 02 06 	.long 0x602051f
+    2860:	28 05 1c 1e 	mulli   r16,r28,1320
 	if (!gp)
-    2874:	21 05 10 06 	.long 0x6100521
-    2878:	01 05 02 06 	.long 0x6020501
+    2864:	05 21 21 05 	.long 0x5212105
+    2868:	10 03 7a 20 	subfic  r3,r26,784
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
-    287c:	21 05 19 06 	.long 0x6190521
-    2880:	01 05 1c 24 	dozi    r0,r28,1281
-    2884:	05 14 1f 05 	.long 0x51f1405
-    2888:	1a 22 05 19 	.long 0x1905221a
-    288c:	1b 05 02 06 	.long 0x602051b
-    2890:	31 13 13 13 	maddhdu r24,r19,r2,r12
-    2894:	05 12 06 01 	.long 0x1061205
-    2898:	05 02 06 31 	addic   r8,r6,517
-    289c:	05 39 06 01 	.long 0x1063905
-    28a0:	05 14 03 9f 	stbu    r24,5125(r3)
-    28a4:	7e 20 05 39 	addi    r8,r5,8318
-    28a8:	03 e1 01 20 	subfic  r0,r1,-7933
-    28ac:	05 17 03 8f 	lbzu    r24,5893(r3)
-    28b0:	7f 20 05 27 	dozi    r24,r5,8319
-    28b4:	03 0f 20 05 	.long 0x5200f03
-    28b8:	39 03 e2 00 	.long 0xe20339
-}
-    28bc:	20 05 14 03 	.long 0x3140520
-    28c0:	9f 7e 20 05 	.long 0x5207e9f
-    28c4:	0c 2f 05 27 	dozi    r24,r5,12044
-    28c8:	03 fe 00 20 	subfic  r0,r0,-509
-    28cc:	05 12 03 87 	lwzu    r24,4613(r3)
-    28d0:	7f 20 05 13 	vsubecuq v24,v5,v4,v1
-    28d4:	1f 05 39 03 	.long 0x339051f
-    28d8:	dc 01 20 05 	.long 0x52001dc
-    28dc:	14 03 9f 7e 	.long 0x7e9f0314
+    286c:	05 0b 1f 05 	.long 0x51f0b05
+    2870:	02 06 21 05 	.long 0x5210602
+    2874:	10 06 01 05 	.long 0x5010610
+    2878:	02 06 21 05 	.long 0x5210602
+    287c:	19 06 01 05 	.long 0x5010619
+    2880:	1c 24 05 14 	.long 0x1405241c
+    2884:	1f 05 1a 22 	subfic  r16,r26,1311
+    2888:	05 19 1b 05 	.long 0x51b1905
+    288c:	02 06 31 13 	vextsh2w v25,v0
+    2890:	13 13 05 12 	.long 0x12051313
+    2894:	06 01 05 02 	.long 0x2050106
+    2898:	06 31 05 39 	addi    r8,r5,12550
+    289c:	06 01 05 14 	.long 0x14050106
+    28a0:	03 9f 7e 20 	subfic  r3,r30,-24829
+    28a4:	05 39 03 e1 	lq      r8,14592(r3)
+    28a8:	01 20 05 17 	.long 0x17052001
+}
+    28ac:	03 8f 7f 20 	subfic  r3,r31,-28925
+    28b0:	05 27 03 0f 	twnei   r3,9989
+    28b4:	20 05 39 03 	.long 0x3390520
+    28b8:	e2 00 20 05 	.long 0x52000e2
+    28bc:	14 03 9f 7e 	.long 0x7e9f0314
+    28c0:	20 05 0c 2f 	cmpwi   cr6,r12,1312
+    28c4:	05 27 03 fe 	.long 0xfe032705
+    28c8:	00 20 05 12 	vaddubm v16,v5,v4
+    28cc:	03 87 7f 20 	subfic  r3,r31,-30973
 	: "r" (ptep), "r" (cpu_to_be64(set)), "r" (cpu_to_be64(clr))
-    28e0:	20 05 16 26 	dozi    r16,r22,1312
-    28e4:	05 27 03 f9 	stdu    r8,9988(r3)
-    28e8:	00 20 05 39 	addi    r8,r5,8192
-    28ec:	03 e2 00 20 	subfic  r0,r0,-7677
-    28f0:	05 14 03 9f 	stbu    r24,5125(r3)
-    28f4:	7e 20 05 27 	dozi    r24,r5,8318
-    28f8:	03 ff 00 20 	subfic  r0,r0,-253
-    28fc:	05 39 03 e2 	lq      r16,14592(r3)
-    2900:	00 20 05 14 	.long 0x14052000
-    2904:	03 9f 7e 20 	subfic  r3,r30,-24829
-    2908:	05 39 03 e1 	lq      r8,14592(r3)
-    290c:	01 20 05 14 	.long 0x14052001
-    2910:	03 9f 7e 20 	subfic  r3,r30,-24829
-    2914:	05 13 23 05 	.long 0x5231305
-    2918:	14 21 05 39 	addi    r8,r5,8468
-    291c:	03 dd 01 20 	subfic  r0,r1,-8957
-    2920:	05 18 20 05 	.long 0x5201805
-    2924:	02 06 22 05 	.long 0x5220602
+    28d0:	05 13 1f 05 	.long 0x51f1305
+    28d4:	39 03 dc 01 	.long 0x1dc0339
+    28d8:	20 05 14 03 	.long 0x3140520
+    28dc:	9f 7e 20 05 	.long 0x5207e9f
+    28e0:	16 26 05 27 	dozi    r24,r5,9750
+    28e4:	03 f9 00 20 	subfic  r0,r0,-1789
+    28e8:	05 39 03 e2 	lq      r16,14592(r3)
+    28ec:	00 20 05 14 	.long 0x14052000
+    28f0:	03 9f 7e 20 	subfic  r3,r30,-24829
+    28f4:	05 27 03 ff 	.long 0xff032705
+    28f8:	00 20 05 39 	addi    r8,r5,8192
+    28fc:	03 e2 00 20 	subfic  r0,r0,-7677
+    2900:	05 14 03 9f 	stbu    r24,5125(r3)
+    2904:	7e 20 05 39 	addi    r8,r5,8318
+    2908:	03 e1 01 20 	subfic  r0,r1,-7933
+    290c:	05 14 03 9f 	stbu    r24,5125(r3)
+    2910:	7e 20 05 13 	vsubeuqm v24,v5,v4,v1
+    2914:	23 05 14 21 	subfic  r8,r20,1315
 	__asm__ __volatile__(
-    2928:	16 06 03 a3 	lhz     r24,1558(r3)
-    292c:	7e 01 05 0a 	tdlti   r5,382
-    2930:	03 7a 20 05 	.long 0x5207a03
-    2934:	24 03 0c 20 	subfic  r0,r12,804
-    2938:	05 0c 03 75 	andis.  r3,r8,3077
+    2918:	05 39 03 dd 	stfdu   f8,14597(r3)
+    291c:	01 20 05 18 	stxvp   vs0,8192(r5)
+    2920:	20 05 02 06 	.long 0x6020520
+    2924:	22 05 16 06 	.long 0x6160522
+    2928:	03 a3 7e 01 	.long 0x17ea303
 		kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid);
-    293c:	20 05 0a 28 	cmplwi  r10,1312
-    2940:	05 13 03 7a 	rldicr. r3,r16,2,12
-    2944:	20 05 24 03 	.long 0x3240520
-    2948:	09 20 05 14 	.long 0x14052009
-    294c:	03 78 20 05 	.long 0x5207803
-    2950:	24 28 05 13 	vmsumubm v24,v5,v5,v0
-    2954:	03 79 20 05 	.long 0x5207903
-    2958:	12 21 05 1a 	.long 0x1a052112
-    295c:	42 05 13 03 	.long 0x3130542
-    2960:	76 20 05 0a 	tdlti   r5,8310
-    2964:	27 05 0e 03 	.long 0x30e0527
-    2968:	da 01 20 05 	.long 0x52001da
-    296c:	02 06 21 05 	.long 0x5210602
-    2970:	0d 03 88 7f 	.long 0x7f88030d
-    2974:	01 05 02 16 	.long 0x16020501
-    2978:	13 14 05 0d 	twgti   r5,5139
-    297c:	03 89 7f 01 	.long 0x17f8903
-    2980:	05 02 14 14 	.long 0x14140205
+    292c:	05 0a 03 7a 	rldicr. r3,r16,1,8
+    2930:	20 05 24 03 	.long 0x3240520
+    2934:	0c 20 05 0c 	twi     0,r5,8204
+    2938:	03 75 20 05 	.long 0x5207503
+    293c:	0a 28 05 13 	vaddfp  v24,v5,v5
+    2940:	03 7a 20 05 	.long 0x5207a03
+    2944:	24 03 09 20 	subfic  r0,r9,804
+    2948:	05 14 03 78 	rldicr. r3,r0,2,16
+    294c:	20 05 24 28 	cmpldi  r4,1312
+    2950:	05 13 03 79 	rldicr. r3,r8,2,12
+    2954:	20 05 12 21 	subfic  r8,r18,1312
+    2958:	05 1a 42 05 	.long 0x5421a05
+    295c:	13 03 76 20 	subfic  r3,r22,787
+    2960:	05 0a 27 05 	.long 0x5270a05
+    2964:	0e 03 da 01 	.long 0x1da030e
+    2968:	20 05 02 06 	.long 0x6020520
+    296c:	21 05 0d 03 	.long 0x30d0521
+    2970:	88 7f 01 05 	.long 0x5017f88
+    2974:	02 16 13 14 	.long 0x14131602
+    2978:	05 0d 03 89 	lbz     r8,3333(r3)
+}
+    297c:	7f 01 05 02 	.long 0x205017f
+    2980:	14 14 13 13 	mtvsrbmi v24,5158
     2984:	13 13 13 13 	.long 0x13131313
     2988:	13 13 13 13 	.long 0x13131313
-}
     298c:	13 13 13 13 	.long 0x13131313
-    2990:	13 13 13 05 	.long 0x5131313
-    2994:	1a 06 0f 05 	.long 0x50f061a
-    2998:	24 20 05 1a 	.long 0x1a052024
-    299c:	20 05 24 2e 	cmpdi   cr4,r4,1312
-    29a0:	05 1a 20 05 	.long 0x5201a05
-    29a4:	11 24 05 15 	.long 0x15052411
-{
-    29a8:	03 ef 00 20 	subfic  r0,r0,-4349
-    29ac:	05 1a 03 8d 	lbzu    r8,6661(r3)
-    29b0:	7f 20 05 27 	dozi    r24,r5,8319
-    29b4:	03 f3 00 20 	subfic  r0,r0,-3325
-    29b8:	05 12 03 92 	stw     r16,4613(r3)
-    29bc:	7f 20 05 11 	vsubecuq v8,v5,v4,v1
+    2990:	13 05 1a 06 	.long 0x61a0513
+    2994:	0f 05 24 20 	subfic  r1,r4,1295
+{
+    2998:	05 1a 20 05 	.long 0x5201a05
+    299c:	24 2e 05 1a 	.long 0x1a052e24
+    29a0:	20 05 11 24 	dozi    r0,r17,1312
+    29a4:	05 15 03 ef 	.long 0xef031505
+    29a8:	00 20 05 1a 	lxvp    vs16,8192(r5)
+    29ac:	03 8d 7f 20 	subfic  r3,r31,-29437
 	if (!memslot)
-    29c0:	21 05 15 03 	.long 0x3150521
+    29b0:	05 27 03 f3 	xvmaxdp vs56,vs35,vs4
 {
-    29c4:	ed 00 20 05 	.long 0x52000ed
-    29c8:	0a 1f 05 11 	.long 0x11051f0a
-    29cc:	03 92 7f 20 	subfic  r3,r31,-28157
+    29b4:	00 20 05 12 	vaddubm v16,v5,v4
+    29b8:	03 92 7f 20 	subfic  r3,r31,-28157
+    29bc:	05 11 21 05 	.long 0x5211105
 	if (!memslot)
-    29d0:	05 1a 1c 05 	.long 0x51c1a05
+    29c0:	15 03 ed 00 	.long 0xed0315
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
-    29d4:	02 06 24 13 	.long 0x13240602
-    29d8:	05 13 06 14 	.long 0x14061305
-    29dc:	05 14 21 05 	.long 0x5211405
+    29c4:	20 05 0a 1f 	mulli   r24,r10,1312
+    29c8:	05 11 03 92 	stw     r16,4357(r3)
+    29cc:	7f 20 05 1a 	.long 0x1a05207f
 	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
-    29e0:	15 03 eb 00 	.long 0xeb0315
+    29d0:	1c 05 02 06 	.long 0x602051c
 	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
-    29e4:	20 05 12 03 	.long 0x3120520
-    29e8:	92 7f 20 05 	.long 0x5207f92
+    29d4:	24 13 05 13 	vmsumubm v24,v5,v2,v12
+    29d8:	06 14 05 14 	.long 0x14051406
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
-    29ec:	02 06 21 05 	.long 0x5210602
+    29dc:	21 05 15 03 	.long 0x3150521
 	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
-    29f0:	11 06 01 05 	.long 0x5010611
-    29f4:	02 06 21 05 	.long 0x5210602
+    29e0:	eb 00 20 05 	.long 0x52000eb
+    29e4:	12 03 92 7f 	divdeu  r28,r18,r0
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
-    29f8:	15 06 03 ec 	.long 0xec030615
+    29e8:	20 05 02 06 	.long 0x6020520
 	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
-    29fc:	00 01 05 13 	vadduqm v24,v5,v0
+    29ec:	21 05 11 06 	.long 0x6110521
 	for (; gfn < end_gfn; gfn++) {
-    2a00:	03 94 7f 20 	subfic  r3,r31,-27645
-    2a04:	05 02 06 21 	subfic  r8,r6,517
-    2a08:	05 14 06 01 	.long 0x1061405
-    2a0c:	20 05 02 06 	.long 0x6020520
-    2a10:	03 e4 00 01 	.long 0x100e403
-    2a14:	18 05 15 06 	.long 0x6150518
-    2a18:	13 05 0a 3b 	addi    r24,r10,1299
-    2a1c:	05 36 43 05 	.long 0x5433605
-    2a20:	24 31 05 0c 	twi     0,r5,12580
-    2a24:	24 05 22 03 	.long 0x3220524
+    29f0:	01 05 02 06 	.long 0x6020501
+    29f4:	21 05 15 06 	.long 0x6150521
+    29f8:	03 ec 00 01 	.long 0x100ec03
+    29fc:	05 13 03 94 	stwu    r0,4869(r3)
+    2a00:	7f 20 05 02 	.long 0x205207f
+    2a04:	06 21 05 14 	.long 0x14052106
+    2a08:	06 01 20 05 	.long 0x5200106
+    2a0c:	02 06 03 e4 	lxsd    v0,1536(r3)
+    2a10:	00 01 18 05 	.long 0x5180100
+    2a14:	15 06 13 05 	.long 0x5130615
 	unsigned int shift, lpid;
-    2a28:	79 20 05 0a 	tdlti   r5,8313
-    2a2c:	03 79 20 05 	.long 0x5207903
+    2a18:	0a 3b 05 36 	addic.  r16,r5,15114
+    2a1c:	43 05 24 31 	addic   r9,r4,1347
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2a30:	02 06 27 05 	.long 0x5270602
-    2a34:	24 06 15 21 	subfic  r8,r21,1572
-    2a38:	05 36 1c 05 	.long 0x51c3605
-    2a3c:	14 27 05 22 	subfic  r16,r5,10004
-    2a40:	03 79 20 05 	.long 0x5207903
-    2a44:	24 23 21 05 	.long 0x5212324
-    2a48:	05 23 05 13 	vsraq   v24,v5,v4
-    2a4c:	03 79 20 05 	.long 0x5207903
+    2a20:	05 0c 24 05 	.long 0x5240c05
+    2a24:	22 03 79 20 	subfic  r3,r25,802
+    2a28:	05 0a 03 79 	rldicr. r3,r8,1,8
+    2a2c:	20 05 02 06 	.long 0x6020520
+    2a30:	27 05 24 06 	.long 0x6240527
+    2a34:	15 21 05 36 	addic.  r16,r5,8469
+    2a38:	1c 05 14 27 	dozi    r24,r20,1308
+    2a3c:	05 22 03 79 	rldicr. r3,r8,4,8
 		unsigned long *rmap = &memslot->arch.rmap[gfn];
-    2a50:	02 06 23 13 	.long 0x13230602
-    2a54:	05 14 06 11 	.long 0x11061405
-    2a58:	21 05 02 06 	.long 0x6020521
+    2a40:	20 05 24 23 	subfic  r25,r4,1312
+    2a44:	21 05 05 23 	subfic  r24,r5,1313
+    2a48:	05 13 03 79 	rldicr. r3,r8,2,12
 	return xchg(&head->first, NULL);
-    2a5c:	23 05 05 06 	.long 0x6050523
-    2a60:	01 05 03 06 	.long 0x6030501
-    2a64:	21 05 23 06 	.long 0x6230521
-    2a68:	01 05 14 20 	subfic  r0,r20,1281
-    2a6c:	20 05 02 06 	.long 0x6020520
+    2a4c:	20 05 02 06 	.long 0x6020520
+    2a50:	23 13 05 14 	.long 0x14051323
+    2a54:	06 11 21 05 	.long 0x5211106
+    2a58:	02 06 23 05 	.long 0x5230602
+    2a5c:	05 06 01 05 	.long 0x5010605
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2a70:	03 d9 00 01 	.long 0x100d903
-    2a74:	13 05 11 06 	.long 0x6110513
-    2a78:	11 05 02 00 	.long 0x20511
-    2a7c:	02 04 01 06 	.long 0x6010402
-    2a80:	3e 05 03 00 	.long 0x3053e
-    2a84:	02 04 01 13 	vavgub  v24,v1,v0
-    2a88:	05 07 00 02 	.long 0x2000705
+    2a60:	03 06 21 05 	.long 0x5210603
+    2a64:	23 06 01 05 	.long 0x5010623
+    2a68:	14 20 20 05 	.long 0x5202014
+    2a6c:	02 06 03 d9 	stfd    f8,1538(r3)
+    2a70:	00 01 13 05 	.long 0x5130100
+    2a74:	11 06 11 05 	.long 0x5110611
+    2a78:	02 00 02 04 	.long 0x4020002
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2a8c:	04 01 06 01 	.long 0x1060104
+    2a7c:	01 06 3e 05 	.long 0x53e0601
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2a90:	05 0b 00 02 	.long 0x2000b05
+    2a80:	03 00 02 04 	.long 0x4020003
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2a94:	04 01 59 05 	.long 0x5590104
+    2a84:	01 13 05 07 	.long 0x7051301
 	unsigned int shift, lpid;
-    2a98:	07 00 02 04 	.long 0x4020007
-    2a9c:	01 1f 05 0b 	tdnei   r5,7937
+    2a88:	00 02 04 01 	attn
+    2a8c:	06 01 05 0b 	tdnei   r5,262
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2aa0:	00 02 04 01 	attn
-    2aa4:	06 21 04 10 	.long 0x10042106
-    2aa8:	05 14 00 02 	.long 0x2001405
+    2a90:	00 02 04 01 	attn
+    2a94:	59 05 07 00 	.long 0x70559
+    2a98:	02 04 01 1f 	mulli   r24,r1,1026
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2aac:	04 01 03 21 	subfic  r8,r3,260
+    2a9c:	05 0b 00 02 	.long 0x2000b05
 	if (!gp)
-    2ab0:	01 05 02 00 	.long 0x20501
-    2ab4:	02 04 01 14 	.long 0x14010402
+    2aa0:	04 01 06 21 	subfic  r8,r6,260
+    2aa4:	04 10 05 14 	.long 0x14051004
 		kfree(cursor);
-    2ab8:	00 02 04 01 	attn
-    2abc:	06 01 04 01 	.long 0x1040106
-    2ac0:	05 0b 00 02 	.long 0x2000b05
+    2aa8:	00 02 04 01 	attn
+    2aac:	03 21 01 05 	.long 0x5012103
+    2ab0:	02 00 02 04 	.long 0x4020002
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2ac4:	04 01 03 5d 	rlwnm   r3,r8,r0,4,2
-    2ac8:	01 05 02 06 	.long 0x6020501
-    2acc:	23 05 0a 06 	.long 0x60a0523
-    2ad0:	01 3c 05 02 	.long 0x2053c01
-    2ad4:	06 2f 05 17 	.long 0x17052f06
+    2ab4:	01 14 00 02 	.long 0x2001401
+    2ab8:	04 01 06 01 	.long 0x1060104
+    2abc:	04 01 05 0b 	tdnei   r5,260
+    2ac0:	00 02 04 01 	attn
+    2ac4:	03 5d 01 05 	.long 0x5015d03
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
-    2ad8:	06 03 eb 7d 	mtdcrx  r11,r15
+    2ac8:	02 06 23 05 	.long 0x5230602
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2adc:	01 05 21 03 	.long 0x3210501
+    2acc:	0a 06 01 3c 	addis   r0,r1,1546
 	unsigned int shift, lpid;
-    2ae0:	95 02 20 05 	.long 0x5200295
+    2ad0:	05 02 06 2f 	cmpwi   cr6,r6,517
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2ae4:	0b 03 f2 7d 	.long 0x7df2030b
-    2ae8:	20 05 19 03 	.long 0x3190520
-    2aec:	8f 02 20 05 	.long 0x520028f
+    2ad4:	05 17 06 03 	.long 0x3061705
+    2ad8:	eb 7d 01 05 	.long 0x5017deb
+    2adc:	21 03 95 02 	.long 0x2950321
 	if (!gp)
-    2af0:	1a 21 05 17 	.long 0x1705211a
-    2af4:	21 05 1e 03 	.long 0x31e0521
+    2ae0:	20 05 0b 03 	.long 0x30b0520
+    2ae4:	f2 7d 20 05 	.long 0x5207df2
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
-    2af8:	ef 7d 20 05 	.long 0x5207def
-    2afc:	0e 03 8e 02 	.long 0x28e030e
+    2ae8:	19 03 8f 02 	.long 0x28f0319
+    2aec:	20 05 1a 21 	subfic  r8,r26,1312
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2b00:	2e 05 02 06 	.long 0x602052e
-    2b04:	21 05 1e 06 	.long 0x61e0521
-    2b08:	03 f1 7d 01 	.long 0x17df103
-    2b0c:	05 0c 1b 05 	.long 0x51b0c05
+    2af0:	05 17 21 05 	.long 0x5211705
+    2af4:	1e 03 ef 7d 	isel    r15,r15,r0,12
+    2af8:	20 05 0e 03 	.long 0x30e0520
+    2afc:	8e 02 2e 05 	.long 0x52e028e
 	if (!gp)
-    2b10:	0a 24 05 1e 	mulli   r16,r5,9226
-    2b14:	21 05 0b 20 	subfic  r0,r11,1313
+    2b00:	02 06 21 05 	.long 0x5210602
+    2b04:	1e 06 03 f1 	xvcmpeqsp. vs8,vs35,vs32
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2b18:	05 17 26 05 	.long 0x5261705
+    2b08:	7d 01 05 0c 	twi     0,r5,381
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    2b1c:	1e 03 7a 20 	subfic  r3,r26,798
-    2b20:	05 1d 03 92 	stw     r16,7429(r3)
-    2b24:	02 20 05 26 	dozi    r16,r5,8194
+    2b0c:	1b 05 0a 24 	dozi    r0,r10,1307
+    2b10:	05 1e 21 05 	.long 0x5211e05
+    2b14:	0b 20 05 17 	.long 0x1705200b
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
-    2b28:	1d 05 02 06 	.long 0x602051d
+    2b18:	26 05 1e 03 	.long 0x31e0526
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
-    2b2c:	21 05 0b 06 	.long 0x60b0521
-    2b30:	03 f0 7d 01 	.long 0x17df003
-    2b34:	05 28 03 90 	stw     r0,10245(r3)
+    2b1c:	7a 20 05 1d 	mulli   r8,r5,8314
+    2b20:	03 92 02 20 	subfic  r0,r2,-28157
+    2b24:	05 26 1d 05 	.long 0x51d2605
 	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa))
-    2b38:	02 2e 05 02 	.long 0x2052e02
-    2b3c:	06 21 05 22 	subfic  r16,r5,8454
-    2b40:	06 01 05 02 	.long 0x2050106
+    2b28:	02 06 21 05 	.long 0x5210602
+    2b2c:	0b 06 03 f0 	xvnmaddasp vs32,vs3,vs32
+    2b30:	7d 01 05 28 	cmplwi  r5,381
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
-    2b44:	06 21 05 0b 	tdnei   r5,8454
+    2b34:	03 90 02 2e 	cmpwi   cr4,r2,-28669
 	if (pte_hw_valid(pte))
-    2b48:	06 03 ee 7d 	mtdcrx  r14,r15
-    2b4c:	01 05 0c 1b 	stxvp   vs24,1280(r12)
+    2b38:	05 02 06 21 	subfic  r8,r6,517
+    2b3c:	05 22 06 01 	.long 0x1062205
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-    2b50:	05 10 03 97 	stwu    r24,4101(r3)
-    2b54:	02 20 05 02 	.long 0x2052002
-    2b58:	06 21 05 0d 	twgti   r5,8454
-    2b5c:	03 e3 7d 01 	.long 0x17de303
-    2b60:	05 02 15 14 	.long 0x14150205
-    2b64:	13 13 13 05 	.long 0x5131313
-    2b68:	0a 06 13 05 	.long 0x513060a
-    2b6c:	0b 1d 05 17 	.long 0x17051d0b
-    2b70:	03 0a 20 05 	.long 0x5200a03
-    2b74:	0c 03 77 20 	subfic  r3,r23,780
-    2b78:	05 0b 23 05 	.long 0x5230b05
-    2b7c:	09 1e 05 02 	.long 0x2051e09
-    2b80:	06 21 13 13 	.long 0x13132106
-    2b84:	13 13 13 13 	.long 0x13131313
-    2b88:	13 13 05 0b 	tdnei   r5,4883
+    2b40:	05 02 06 21 	subfic  r8,r6,517
+    2b44:	05 0b 06 03 	.long 0x3060b05
+    2b48:	ee 7d 01 05 	.long 0x5017dee
+    2b4c:	0c 1b 05 10 	psq_lx  f0,r5,r3,0,6
+    2b50:	03 97 02 20 	subfic  r0,r2,-26877
+    2b54:	05 02 06 21 	subfic  r8,r6,517
+    2b58:	05 0d 03 e3 	lq      r24,3328(r3)
+    2b5c:	7d 01 05 02 	.long 0x205017d
+    2b60:	15 14 13 13 	mtvsrbmi v24,5159
+    2b64:	13 05 0a 06 	.long 0x60a0513
+    2b68:	13 05 0b 1d 	mulli   r8,r11,1299
+    2b6c:	05 17 03 0a 	tdlti   r3,5893
+    2b70:	20 05 0c 03 	.long 0x30c0520
+    2b74:	77 20 05 0b 	tdnei   r5,8311
+    2b78:	23 05 09 1e 	mulli   r16,r9,1315
 		kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid);
-    2b8c:	06 03 79 01 	.long 0x1790306
-    2b90:	27 05 14 22 	subfic  r16,r20,1319
-    2b94:	05 0a 1f 05 	.long 0x51f0a05
-    2b98:	02 21 05 0b 	tdnei   r5,8450
-    2b9c:	1e 05 02 06 	.long 0x602051e
-    2ba0:	21 05 0a 06 	.long 0x60a0521
-    2ba4:	01 05 02 06 	.long 0x6020501
-    2ba8:	21 05 03 6d 	xoris   r3,r8,1313
-    2bac:	05 0c 06 01 	.long 0x1060c05
+    2b7c:	05 02 06 21 	subfic  r8,r6,517
+    2b80:	13 13 13 13 	.long 0x13131313
+    2b84:	13 13 13 13 	.long 0x13131313
+    2b88:	05 0b 06 03 	.long 0x3060b05
+    2b8c:	79 01 27 05 	.long 0x5270179
+    2b90:	14 22 05 0a 	tdlti   r5,8724
+    2b94:	1f 05 02 21 	subfic  r8,r2,1311
+    2b98:	05 0b 1e 05 	.long 0x51e0b05
+    2b9c:	02 06 21 05 	.long 0x5210602
 		kfree(cursor);
-    2bb0:	05 03 06 2f 	cmpwi   cr6,r6,773
-    2bb4:	06 20 05 02 	.long 0x2052006
+    2ba0:	0a 06 01 05 	.long 0x501060a
+    2ba4:	02 06 21 05 	.long 0x5210602
 	for (; gfn < end_gfn; gfn++) {
-    2bb8:	06 03 85 02 	.long 0x2850306
-    2bbc:	01 13 13 05 	.long 0x5131301
-    2bc0:	05 06 14 05 	.long 0x5140605
-    2bc4:	2c 1e 05 02 	.long 0x2051e2c
-    2bc8:	06 30 05 05 	.long 0x5053006
-    2bcc:	06 01 05 03 	.long 0x3050106
-    2bd0:	06 21 05 19 	.long 0x19052106
-    2bd4:	06 01 05 14 	.long 0x14050106
-    2bd8:	29 05 12 21 	subfic  r8,r18,1321
-    2bdc:	05 14 3b 05 	.long 0x53b1405
-    2be0:	12 21 05 14 	.long 0x14052112
-    2be4:	03 89 7e 2e 	cmpdi   cr4,r30,-30461
-    2be8:	05 02 03 85 	lwzu    r8,517(r3)
-    2bec:	02 20 05 18 	.long 0x18052002
-    2bf0:	03 73 20 05 	.long 0x5207303
-    2bf4:	02 06 24 05 	.long 0x5240602
-    2bf8:	10 06 01 05 	.long 0x5010610
-    2bfc:	14 03 84 7e 	.long 0x7e840314
-    2c00:	20 05 19 03 	.long 0x3190520
-}
-    2c04:	fe 01 20 05 	.long 0x52001fe
-    2c08:	14 03 82 7e 	.long 0x7e820314
-    2c0c:	20 24 1c 05 	.long 0x51c2420
-    2c10:	13 25 05 0c 	twi     0,r5,9491
-    2c14:	1c 05 13 21 	subfic  r8,r19,1308
-    2c18:	21 20 05 10 	vmhraddshs v0,v5,v4,v0
-    2c1c:	03 f9 01 01 	.long 0x101f903
-    2c20:	05 02 06 22 	subfic  r16,r6,517
-    2c24:	05 14 06 03 	.long 0x3061405
-    2c28:	82 7e 01 05 	.long 0x5017e82
-    2c2c:	19 03 fe 01 	.long 0x1fe0319
-    2c30:	20 05 17 03 	.long 0x3170520
-    2c34:	80 7e 20 05 	.long 0x5207e80
-    2c38:	16 28 05 0a 	tdlti   r5,10262
-    2c3c:	23 05 14 03 	.long 0x3140523
-    2c40:	77 20 05 19 	.long 0x19052077
-    2c44:	03 fe 01 20 	subfic  r0,r1,-509
-    2c48:	05 14 03 82 	lwz     r16,5125(r3)
-    2c4c:	7e 20 05 12 	vsubeuqm v16,v5,v4,v1
-    2c50:	26 05 16 20 	subfic  r0,r22,1318
-    2c54:	05 19 03 f8 	stdu    r0,6404(r3)
-    2c58:	01 20 05 02 	.long 0x2052001
-    2c5c:	06 21 05 0d 	twgti   r5,8454
-    2c60:	03 fd 7d 01 	.long 0x17dfd03
-    2c64:	05 02 14 14 	.long 0x14140205
-    2c68:	05 0a 06 01 	.long 0x1060a05
-    2c6c:	05 02 06 21 	subfic  r8,r6,517
-    2c70:	05 24 06 03 	.long 0x3062405
-    2c74:	0b 01 05 0c 	twi     0,r5,267
-    2c78:	03 75 20 05 	.long 0x5207503
-    2c7c:	02 06 21 05 	.long 0x5210602
-    2c80:	14 06 14 05 	.long 0x5140614
-    2c84:	24 28 05 13 	vmsumubm v24,v5,v5,v0
-{
-    2c88:	03 79 20 05 	.long 0x5207903
-    2c8c:	12 21 05 24 	dozi    r0,r5,8466
-    2c90:	26 05 12 03 	.long 0x3120526
-    2c94:	7a 2e 05 24 	dozi    r0,r5,11898
-    2c98:	34 05 13 03 	.long 0x3130534
-    2c9c:	76 20 05 02 	.long 0x2052076
-    2ca0:	06 21 05 13 	.long 0x13052106
-    2ca4:	06 01 05 02 	.long 0x2050106
-    2ca8:	06 21 13 13 	.long 0x13132106
+    2ba8:	03 6d 05 0c 	twi     0,r5,27907
+    2bac:	06 01 05 03 	.long 0x3050106
+    2bb0:	06 2f 06 20 	subfic  r0,r6,12038
+    2bb4:	05 02 06 03 	.long 0x3060205
+    2bb8:	85 02 01 13 	evfsnabs r24,r1
+    2bbc:	13 05 05 06 	.long 0x6050513
+    2bc0:	14 05 2c 1e 	mulli   r17,r12,1300
+    2bc4:	05 02 06 30 	addic   r0,r6,517
+    2bc8:	05 05 06 01 	.long 0x1060505
+    2bcc:	05 03 06 21 	subfic  r8,r6,773
+    2bd0:	05 19 06 01 	.long 0x1061905
+    2bd4:	05 14 29 05 	.long 0x5291405
+    2bd8:	12 21 05 14 	.long 0x14052112
+    2bdc:	3b 05 12 21 	subfic  r8,r18,1339
+    2be0:	05 14 03 89 	lbz     r8,5125(r3)
+    2be4:	7e 2e 05 02 	.long 0x2052e7e
+    2be8:	03 85 02 20 	subfic  r0,r2,-31485
+    2bec:	05 18 03 73 	andi.   r3,r24,6149
+    2bf0:	20 05 02 06 	.long 0x6020520
+}
+    2bf4:	24 05 10 06 	.long 0x6100524
+    2bf8:	01 05 14 03 	.long 0x3140501
+    2bfc:	84 7e 20 05 	.long 0x5207e84
+    2c00:	19 03 fe 01 	.long 0x1fe0319
+    2c04:	20 05 14 03 	.long 0x3140520
+    2c08:	82 7e 20 24 	dozi    r1,r0,32386
+    2c0c:	1c 05 13 25 	dozi    r8,r19,1308
+    2c10:	05 0c 1c 05 	.long 0x51c0c05
+    2c14:	13 21 21 20 	subfic  r1,r1,8467
+    2c18:	05 10 03 f9 	stdu    r8,4100(r3)
+    2c1c:	01 01 05 02 	.long 0x2050101
+    2c20:	06 22 05 14 	.long 0x14052206
+    2c24:	06 03 82 7e 	mtdcrx  r2,r20
+    2c28:	01 05 19 03 	.long 0x3190501
+    2c2c:	fe 01 20 05 	.long 0x52001fe
+    2c30:	17 03 80 7e 	divweu. r20,r0,r0
+    2c34:	20 05 16 28 	cmplwi  r22,1312
+    2c38:	05 0a 23 05 	.long 0x5230a05
+    2c3c:	14 03 77 20 	subfic  r3,r23,788
+    2c40:	05 19 03 fe 	.long 0xfe031905
+    2c44:	01 20 05 14 	.long 0x14052001
+    2c48:	03 82 7e 20 	subfic  r3,r30,-32253
+    2c4c:	05 12 26 05 	.long 0x5261205
+    2c50:	16 20 05 19 	.long 0x19052016
+    2c54:	03 f8 01 20 	subfic  r0,r1,-2045
+    2c58:	05 02 06 21 	subfic  r8,r6,517
+    2c5c:	05 0d 03 fd 	.long 0xfd030d05
+    2c60:	7d 01 05 02 	.long 0x205017d
+    2c64:	14 14 05 0a 	tdlti   r5,5140
+    2c68:	06 01 05 02 	.long 0x2050106
+    2c6c:	06 21 05 24 	dozi    r0,r5,8454
+    2c70:	06 03 0b 01 	.long 0x10b0306
+    2c74:	05 0c 03 75 	andis.  r3,r8,3077
+{
+    2c78:	20 05 02 06 	.long 0x6020520
+    2c7c:	21 05 14 06 	.long 0x6140521
+    2c80:	14 05 24 28 	cmpldi  r4,1300
+    2c84:	05 13 03 79 	rldicr. r3,r8,2,12
+    2c88:	20 05 12 21 	subfic  r8,r18,1312
+    2c8c:	05 24 26 05 	.long 0x5262405
+    2c90:	12 03 7a 2e 	cmpdi   cr4,r26,786
+    2c94:	05 24 34 05 	.long 0x5342405
+    2c98:	13 03 76 20 	subfic  r3,r22,787
 	ret = kvmhv_emulate_priv_tlbie(vcpu, kvmppc_get_gpr(vcpu, 4),
-    2cac:	13 13 13 05 	.long 0x5131313
-    2cb0:	0a 06 01 05 	.long 0x501060a
+    2c9c:	05 02 06 21 	subfic  r8,r6,517
+    2ca0:	05 13 06 01 	.long 0x1061305
 	struct kvm *kvm = vcpu->kvm;
-    2cb4:	02 06 21 13 	vctzlsbb r25,v0
+    2ca4:	05 02 06 21 	subfic  r8,r6,517
 	return r_val & 0xffffffff;
-    2cb8:	13 13 13 13 	.long 0x13131313
+    2ca8:	13 13 13 13 	.long 0x13131313
 	if ((!r) || (prs) || (ric == 3) || (is == 1) ||
-    2cbc:	05 1a 06 0f 	twnei   r6,6661
-    2cc0:	05 11 24 05 	.long 0x5241105
-    2cc4:	1a 1c 05 12 	vextduhvlx v16,v5,v3,r16
-    2cc8:	03 f4 01 2e 	cmpwi   cr4,r1,-3069
-    2ccc:	05 13 21 05 	.long 0x5211305
-    2cd0:	1a 03 8b 7e 	stxvl   vs20,r11,r0
-    2cd4:	20 05 02 06 	.long 0x6020520
-    2cd8:	24 05 10 06 	.long 0x6100524
-    2cdc:	03 f2 01 01 	.long 0x101f203
-    2ce0:	05 1a 03 8a 	lbz     r16,6661(r3)
-    2ce4:	7e 20 05 12 	vsubeuqm v16,v5,v4,v1
-    2ce8:	33 05 11 21 	subfic  r8,r17,1331
-    2cec:	1e 05 02 06 	.long 0x602051e
-    2cf0:	21 05 1a 06 	.long 0x61a0521
+    2cac:	13 05 0a 06 	.long 0x60a0513
+    2cb0:	01 05 02 06 	.long 0x6020501
+    2cb4:	21 13 13 13 	vmhraddshs v24,v19,v2,v12
+    2cb8:	13 13 05 1a 	.long 0x1a051313
+    2cbc:	06 0f 05 11 	vcmpgtsb. v8,v5,v1
+    2cc0:	24 05 1a 1c 	mulli   r0,r26,1316
+    2cc4:	05 12 03 f4 	stxv    vs0,4608(r3)
+    2cc8:	01 2e 05 13 	bcdadd. v24,v5,v5,1
+    2ccc:	21 05 1a 03 	.long 0x31a0521
+    2cd0:	8b 7e 20 05 	.long 0x5207e8b
+    2cd4:	02 06 24 05 	.long 0x5240602
+    2cd8:	10 06 03 f2 	psq_st  f16,1552(r3),0,0
+    2cdc:	01 01 05 1a 	stxvp   vs16,256(r5)
+    2ce0:	03 8a 7e 20 	subfic  r3,r30,-30205
 	    ((!is) && (ric == 1 || ric == 2)))
-    2cf4:	0d 05 13 27 	dozi    r24,r19,1293
-    2cf8:	05 14 21 05 	.long 0x5211405
-    2cfc:	12 03 ec 01 	.long 0x1ec0312
+    2ce4:	05 12 33 05 	.long 0x5331205
+    2ce8:	11 21 1e 05 	.long 0x51e2111
+    2cec:	02 06 21 05 	.long 0x5210602
 		ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, epn);
-    2d00:	20 05 13 21 	subfic  r8,r19,1312
-    2d04:	05 10 21 05 	.long 0x5211005
-    2d08:	12 03 8f 7e 	divdeu  r20,r15,r0
-    2d0c:	20 05 02 06 	.long 0x6020520
-    2d10:	21 05 12 06 	.long 0x6120521
-    2d14:	03 ee 01 01 	.long 0x101ee03
+    2cf0:	1a 06 0d 05 	.long 0x50d061a
+    2cf4:	13 27 05 14 	.long 0x14052713
+    2cf8:	21 05 12 03 	.long 0x3120521
+    2cfc:	ec 01 20 05 	.long 0x52001ec
+    2d00:	13 21 05 10 	.long 0x10052113
+    2d04:	21 05 12 03 	.long 0x3120521
 	if (ret)
-    2d18:	05 13 21 05 	.long 0x5211305
-    2d1c:	11 03 91 7e 	.long 0x7e910311
-    2d20:	20 05 02 06 	.long 0x6020520
-    2d24:	21 05 10 06 	.long 0x6100521
+    2d08:	8f 7e 20 05 	.long 0x5207e8f
+    2d0c:	02 06 21 05 	.long 0x5210602
+    2d10:	12 06 03 ee 	.long 0xee030612
+    2d14:	01 01 05 13 	vcmpuq  cr6,v5,v0
 	return H_SUCCESS;
-    2d28:	03 ef 01 01 	.long 0x101ef03
-    2d2c:	05 13 03 91 	stw     r8,4869(r3)
+    2d18:	21 05 11 03 	.long 0x3110521
+    2d1c:	91 7e 20 05 	.long 0x5207e91
 }
-    2d30:	7e 20 05 02 	.long 0x205207e
-    2d34:	06 21 05 14 	.long 0x14052106
-    2d38:	06 01 20 05 	.long 0x5200106
-    2d3c:	02 06 03 ec 	.long 0xec030602
-    2d40:	01 01 05 12 	vcmpuq  cr4,v5,v0
-    2d44:	06 01 05 02 	.long 0x2050106
-    2d48:	06 21 05 13 	.long 0x13052106
-    2d4c:	06 01 05 02 	.long 0x2050106
+    2d20:	02 06 21 05 	.long 0x5210602
+    2d24:	10 06 03 ef 	.long 0xef030610
+    2d28:	01 01 05 13 	vcmpuq  cr6,v5,v0
+    2d2c:	03 91 7e 20 	subfic  r3,r30,-28413
+    2d30:	05 02 06 21 	subfic  r8,r6,517
+    2d34:	05 14 06 01 	.long 0x1061405
+    2d38:	20 05 02 06 	.long 0x6020520
+    2d3c:	03 ec 01 01 	.long 0x101ec03
 	switch (is) {
-    2d50:	06 21 05 10 	.long 0x10052106
-    2d54:	06 01 05 02 	.long 0x2050106
-    2d58:	06 21 05 0a 	tdlti   r5,8454
-    2d5c:	06 01 2e 05 	.long 0x52e0106
-    2d60:	02 06 30 23 	subfic  r25,r16,1538
-    2d64:	04 10 05 14 	.long 0x14051004
-    2d68:	03 73 01 05 	.long 0x5017303
-    2d6c:	02 14 04 02 	.long 0x2041402
-    2d70:	05 01 03 b5 	sthu    r8,261(r3)
+    2d40:	05 12 06 01 	.long 0x1061205
+    2d44:	05 02 06 21 	subfic  r8,r6,517
+    2d48:	05 13 06 01 	.long 0x1061305
+    2d4c:	05 02 06 21 	subfic  r8,r6,517
+    2d50:	05 10 06 01 	.long 0x1061005
+    2d54:	05 02 06 21 	subfic  r8,r6,517
+    2d58:	05 0a 06 01 	.long 0x1060a05
+    2d5c:	2e 05 02 06 	.long 0x602052e
+    2d60:	30 23 04 10 	maddhd  r0,r4,r4,r12
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    2d74:	04 01 01 01 	.long 0x1010104
+    2d64:	05 14 03 73 	andi.   r3,r24,5125
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-    2d78:	06 01 04 10 	.long 0x10040106
-    2d7c:	05 29 03 cb 	lfd     f24,10501(r3)
+    2d68:	01 05 02 14 	.long 0x14020501
+    2d6c:	04 02 05 01 	.long 0x1050204
 	int lpid;
-    2d80:	7b 20 04 01 	.long 0x104207b
-    2d84:	05 05 03 0b 	tdnei   r3,1285
-    2d88:	20 05 02 06 	.long 0x6020520
+    2d70:	03 b5 04 01 	.long 0x104b503
+    2d74:	01 01 06 01 	.long 0x1060101
+    2d78:	04 10 05 29 	cmplwi  cr2,r5,4100
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-    2d8c:	32 04 14 05 	.long 0x5140432
-    2d90:	14 03 c6 03 	.long 0x3c60314
-    2d94:	01 05 02 18 	stxvp   vs0,1280(r2)
-    2d98:	04 0e 05 13 	.long 0x13050e04
-    2d9c:	03 ca 7a 01 	.long 0x17aca03
+    2d7c:	03 cb 7b 20 	subfic  r3,r27,-13565
+    2d80:	04 01 05 05 	.long 0x5050104
+    2d84:	03 0b 20 05 	.long 0x5200b03
+    2d88:	02 06 32 04 	.long 0x4320602
+    2d8c:	14 05 14 03 	.long 0x3140514
 	if (unlikely(ms->mmiowb_pending)) {
-    2da0:	05 02 14 14 	.long 0x14140205
-    2da4:	13 04 14 05 	.long 0x5140413
+    2d90:	c6 03 01 05 	.long 0x50103c6
+    2d94:	02 18 04 0e 	twlti   r4,6146
 	ms->nesting_count--;
-    2da8:	17 06 03 b1 	sth     r8,1559(r3)
-    2dac:	05 01 04 0e 	twlti   r4,261
-    2db0:	05 0b 03 cf 	lfdu    f24,2821(r3)
-    2db4:	7a 20 20 2e 	cmpdi   cr4,r0,8314
-    2db8:	04 01 05 09 	tdgti   r5,260
+    2d98:	05 13 03 ca 	lfd     f16,4869(r3)
+    2d9c:	7a 01 05 02 	.long 0x205017a
+    2da0:	14 14 13 04 	.long 0x4131414
+    2da4:	14 05 17 06 	.long 0x6170514
+    2da8:	03 b1 05 01 	.long 0x105b103
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    2dbc:	03 3c 01 04 	.long 0x4013c03
-    2dc0:	0e 05 0b 03 	.long 0x30b050e
-    2dc4:	44 20 05 02 	.long 0x2052044
-    2dc8:	06 2f 01 01 	.long 0x1012f06
-    2dcc:	13 06 01 04 	pld     r0,4396877313(r3)
-    2dd0:	01 06 03 e4 
+    2dac:	04 0e 05 0b 	tdnei   r5,3588
+    2db0:	03 cf 7a 20 	subfic  r3,r26,-12541
+    2db4:	20 2e 04 01 	.long 0x1042e20
+    2db8:	05 09 03 3c 	addis   r0,r3,2309
+    2dbc:	01 04 0e 05 	.long 0x50e0401
+    2dc0:	0b 03 44 20 	subfic  r2,r4,779
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
-    2dd4:	01 01 05 0c 	twi     0,r5,257
-    2dd8:	03 cf 7e 01 	.long 0x17ecf03
-    2ddc:	05 02 17 14 	.long 0x14170205
-    2de0:	04 16 05 13 	.long 0x13051604
-    2de4:	03 fb 02 01 	.long 0x102fb03
-    2de8:	05 02 14 04 	.long 0x4140205
-    2dec:	14 05 15 06 	.long 0x6150514
-    2df0:	03 f8 01 01 	.long 0x101f803
+    2dc4:	05 02 06 2f 	cmpwi   cr6,r6,517
+    2dc8:	01 01 13 06 	.long 0x6130101
+    2dcc:	01 04 01 06 	.long 0x6010401
+    2dd0:	03 e4 01 01 	.long 0x101e403
+    2dd4:	05 0c 03 cf 	lfdu    f24,3077(r3)
+    2dd8:	7e 01 05 02 	.long 0x205017e
+    2ddc:	17 14 04 16 	.long 0x16041417
+    2de0:	05 13 03 fb 	stdu    r24,4868(r3)
 	if (unlikely(ms->mmiowb_pending)) {
-    2df4:	04 16 05 02 	.long 0x2051604
+    2de4:	02 01 05 02 	.long 0x2050102
 	struct mmiowb_state *ms = __mmiowb_state();
-    2df8:	03 88 7e 20 	subfic  r3,r30,-30717
-    2dfc:	4a 04 01 06 	.long 0x601044a
+    2de8:	14 04 14 05 	.long 0x5140414
+    2dec:	15 06 03 f8 	stdu    r0,1556(r3)
 	if (unlikely(ms->mmiowb_pending)) {
-    2e00:	03 af 7e 01 	.long 0x17eaf03
-    2e04:	04 14 05 14 	.long 0x14051404
+    2df0:	01 01 04 16 	.long 0x16040101
+    2df4:	05 02 03 88 	lbz     r0,517(r3)
 	ms->nesting_count--;
-    2e08:	03 cc 03 01 	.long 0x103cc03
-    2e0c:	05 02 14 04 	.long 0x4140205
-    2e10:	0e 06 03 91 	stw     r8,1550(r3)
-    2e14:	7b 20 04 14 	.long 0x1404207b
-    2e18:	03 ef 04 20 	subfic  r0,r4,-4349
-    2e1c:	04 0e 05 14 	.long 0x14050e04
+    2df8:	7e 20 4a 04 	.long 0x44a207e
+    2dfc:	01 06 03 af 	lhau    r24,1537(r3)
+    2e00:	7e 01 04 14 	.long 0x1404017e
+    2e04:	05 14 03 cc 	lfdu    f0,5125(r3)
+    2e08:	03 01 05 02 	.long 0x2050103
+    2e0c:	14 04 0e 06 	.long 0x60e0414
 	if (ret)
-    2e20:	06 03 8e 7b 	rldicr  r14,r28,32,12
-    2e24:	20 05 02 15 	.long 0x15020520
-    2e28:	01 01 06 20 	subfic  r0,r6,257
-    2e2c:	15 2e 04 01 	.long 0x1042e15
+    2e10:	03 91 7b 20 	subfic  r3,r27,-28413
+    2e14:	04 14 03 ef 	dsub    f24,f3,f2
+    2e18:	04 20 04 0e 	twlti   r4,8196
+    2e1c:	05 14 06 03 	.long 0x3061405
 		gp = kvmhv_get_nested(kvm, lpid, false);
-    2e30:	06 03 9f 01 	.long 0x19f0306
-    2e34:	01 05 0a 06 	.long 0x60a0501
-    2e38:	13 20 90 20 	subfic  r4,r16,8211
-    2e3c:	05 02 03 d8 	stfd    f0,517(r3)
+    2e20:	8e 7b 20 05 	.long 0x5207b8e
+    2e24:	02 15 01 01 	.long 0x1011502
+    2e28:	06 20 15 2e 	cmpwi   cr4,r21,8198
+    2e2c:	04 01 06 03 	.long 0x3060104
 		if (gp) {
-    2e40:	7d 82 05 03 	.long 0x305827d
-    2e44:	06 03 0a 2e 	cmpwi   cr4,r10,774
+    2e30:	9f 01 01 05 	.long 0x501019f
+    2e34:	0a 06 13 20 	subfic  r0,r19,1546
 			kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    2e48:	05 30 06 01 	.long 0x1063005
-    2e4c:	05 0d 20 05 	.long 0x5200d05
-    2e50:	03 06 22 06 	.long 0x6220603
-    2e54:	4a 05 02 06 	.long 0x602054a
+    2e38:	90 20 05 02 	.long 0x2052090
+    2e3c:	03 d8 7d 82 	lwz     r19,-10237(r29)
+    2e40:	05 03 06 03 	.long 0x3060305
+    2e44:	0a 2e 05 30 	addic   r0,r5,11786
 			kvmhv_put_nested(gp);
-    2e58:	03 f2 00 01 	.long 0x100f203
-    2e5c:	04 16 06 03 	.long 0x3061604
+    2e48:	06 01 05 0d 	twgti   r5,262
+    2e4c:	20 05 03 06 	.long 0x6030520
 	if (ret)
-    2e60:	f9 02 01 04 	.long 0x40102f9
-    2e64:	01 05 09 03 	.long 0x3090501
-    2e68:	87 7d 20 20 	subfic  r1,r0,32135
-    2e6c:	05 39 4a 2e 	cmpwi   cr4,r10,14597
-    2e70:	05 02 06 03 	.long 0x3060205
-    2e74:	a8 01 01 04 	.long 0x40101a8
-    2e78:	14 05 14 03 	.long 0x3140514
-    2e7c:	cc 03 01 05 	.long 0x50103cc
+    2e50:	22 06 4a 05 	.long 0x54a0622
+    2e54:	02 06 03 f2 	xvmaxsp vs16,vs3,vs32
+    2e58:	00 01 04 16 	.long 0x16040100
+    2e5c:	06 03 f9 02 	.long 0x2f90306
+    2e60:	01 04 01 05 	.long 0x5010401
+    2e64:	09 03 87 7d 	.long 0x7d870309
+    2e68:	20 20 05 39 	addi    r8,r5,8224
+    2e6c:	4a 2e 05 02 	.long 0x2052e4a
 		ms->mmiowb_pending = 0;
-    2e80:	02 14 04 0e 	twlti   r4,5122
-    2e84:	06 03 91 7b 	rldicr  r17,r28,32,12
+    2e70:	06 03 a8 01 	.long 0x1a80306
+    2e74:	01 04 14 05 	.long 0x5140401
 		mmiowb();
-    2e88:	2e 04 14 03 	.long 0x314042e
-    2e8c:	ef 04 20 04 	.long 0x42004ef
-    2e90:	0e 05 14 06 	.long 0x614050e
+    2e78:	14 03 cc 03 	.long 0x3cc0314
+    2e7c:	01 05 02 14 	.long 0x14020501
+    2e80:	04 0e 06 03 	.long 0x3060e04
 		return H_PARAMETER;
-    2e94:	03 8e 7b 20 	subfic  r3,r27,-29181
-    2e98:	05 02 15 01 	.long 0x1150205
-    2e9c:	01 20 01 13 	.long 0x13012001
+    2e84:	91 7b 2e 04 	.long 0x42e7b91
+    2e88:	14 03 ef 04 	.long 0x4ef0314
+    2e8c:	20 04 0e 05 	.long 0x50e0420
 		ms->mmiowb_pending = 0;
-    2ea0:	13 01 01 13 	.long 0x13010113
+    2e90:	14 06 03 8e 	lbzu    r16,1556(r3)
 		mmiowb();
-    2ea4:	06 3c 04 01 	.long 0x1043c06
-    2ea8:	05 03 06 03 	.long 0x3060305
-    2eac:	cc 00 01 05 	.long 0x50100cc
-    2eb0:	06 06 01 ac 	lhau    r0,1542(r1)
-    2eb4:	20 05 0a 03 	.long 0x30a0520
-    2eb8:	62 58 05 03 	.long 0x3055862
-    2ebc:	06 03 0d 3c 	addis   r0,r13,774
-    2ec0:	05 02 2f 05 	.long 0x52f0205
-}
-    2ec4:	05 06 01 05 	.long 0x5010605
-    2ec8:	02 06 3f 04 	.long 0x43f0602
-    2ecc:	10 05 14 03 	.long 0x3140510
-    2ed0:	cb 00 01 05 	.long 0x50100cb
+    2e94:	7b 20 05 02 	.long 0x205207b
+    2e98:	15 01 01 20 	subfic  r0,r1,277
+    2e9c:	01 13 13 01 	.long 0x1131301
+    2ea0:	01 13 06 3c 	addis   r0,r6,4865
+    2ea4:	04 01 05 03 	.long 0x3050104
+    2ea8:	06 03 cc 00 	.long 0xcc0306
+    2eac:	01 05 06 06 	.long 0x6060501
+    2eb0:	01 ac 20 05 	.long 0x520ac01
+}
+    2eb4:	0a 03 62 58 	rlmi    r2,r3,r0,12,5
+    2eb8:	05 03 06 03 	.long 0x3060305
+    2ebc:	0d 3c 05 02 	.long 0x2053c0d
+    2ec0:	2f 05 05 06 	.long 0x605052f
 		return H_PARAMETER;
-    2ed4:	02 14 04 02 	.long 0x2041402
-    2ed8:	05 01 03 b5 	sthu    r8,261(r3)
-    2edc:	04 01 01 01 	.long 0x1010104
-    2ee0:	06 01 04 10 	.long 0x10040106
-    2ee4:	05 29 03 cb 	lfd     f24,10501(r3)
-{
-    2ee8:	7b 01 04 01 	.long 0x104017b
-    2eec:	05 05 03 b3 	sth     r24,1285(r3)
-    2ef0:	7f 20 05 03 	.long 0x305207f
-    2ef4:	06 2f 04 16 	.long 0x16042f06
-    2ef8:	05 02 06 03 	.long 0x3060205
-    2efc:	af 02 4a 20 	subfic  r2,r10,687
-    2f00:	04 01 06 03 	.long 0x3060104
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2f04:	87 7d 01 05 	.long 0x5017d87
-{
-    2f08:	09 06 01 20 	subfic  r0,r1,1545
-    2f0c:	05 39 4a 05 	.long 0x54a3905
-    2f10:	03 2f 20 58 	rlmi.   r0,r1,r5,28,1
-    2f14:	04 14 05 02 	.long 0x2051404
-    2f18:	03 f5 04 01 	.long 0x104f503
-    2f1c:	04 01 05 39 	addi    r8,r5,260
-    2f20:	03 8a 7b 2e 	cmpdi   cr4,r27,-30205
-    2f24:	04 0e 05 02 	.long 0x2050e04
+    2ec4:	01 05 02 06 	.long 0x6020501
+    2ec8:	3f 04 10 05 	.long 0x510043f
+    2ecc:	14 03 cb 00 	.long 0xcb0314
+    2ed0:	01 05 02 14 	.long 0x14020501
+    2ed4:	04 02 05 01 	.long 0x1050204
+{
+    2ed8:	03 b5 04 01 	.long 0x104b503
+    2edc:	01 01 06 01 	.long 0x1060101
+    2ee0:	04 10 05 29 	cmplwi  cr2,r5,4100
+    2ee4:	03 cb 7b 01 	.long 0x17bcb03
+    2ee8:	04 01 05 05 	.long 0x5050104
+    2eec:	03 b3 7f 20 	subfic  r3,r31,-19709
+    2ef0:	05 03 06 2f 	cmpwi   cr6,r6,773
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2ef4:	04 16 05 02 	.long 0x2051604
+{
+    2ef8:	06 03 af 02 	.long 0x2af0306
+    2efc:	4a 20 04 01 	.long 0x104204a
+    2f00:	06 03 87 7d 	mtdcrx  r7,r12
+    2f04:	01 05 09 06 	.long 0x6090501
+    2f08:	01 20 05 39 	addi    r8,r5,8193
+    2f0c:	4a 05 03 2f 	cmpwi   cr6,r3,1354
+    2f10:	20 58 04 14 	.long 0x14045820
+    2f14:	05 02 03 f5 	stxv    vs8,512(r3)
 	if (!__find_nested(vcpu->kvm, lpid))
-    2f28:	27 04 14 03 	.long 0x3140427
+    2f18:	04 01 04 01 	.long 0x1040104
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2f2c:	ef 04 20 04 	.long 0x42004ef
+    2f1c:	05 39 03 8a 	lbz     r16,14597(r3)
 {
-    2f30:	01 05 39 03 	.long 0x3390501
-    2f34:	8a 7b 20 2e 	cmpdi   cr4,r0,31626
-    2f38:	05 02 06 03 	.long 0x3060205
-    2f3c:	a8 01 01 04 	.long 0x40101a8
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
-    2f40:	14 05 14 03 	.long 0x3140514
-    2f44:	cc 03 01 05 	.long 0x50103cc
-    2f48:	02 14 04 0e 	twlti   r4,5122
-    2f4c:	05 14 03 8e 	lbzu    r16,5125(r3)
+    2f20:	7b 2e 04 0e 	twlti   r4,11899
+    2f24:	05 02 27 04 	.long 0x4270205
+    2f28:	14 03 ef 04 	.long 0x4ef0314
+    2f2c:	20 04 01 05 	.long 0x5010420
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+    2f30:	39 03 8a 7b 	.long 0x7b8a0339
+    2f34:	20 2e 05 02 	.long 0x2052e20
+    2f38:	06 03 a8 01 	.long 0x1a80306
+    2f3c:	01 04 14 05 	.long 0x5140401
 	if (!__find_nested(vcpu->kvm, lpid))
-    2f50:	7b 01 05 02 	.long 0x205017b
-    2f54:	15 01 01 20 	subfic  r0,r1,277
+    2f40:	14 03 cc 03 	.long 0x3cc0314
+    2f44:	01 05 02 14 	.long 0x14020501
 	if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL)
-    2f58:	01 13 13 01 	.long 0x1131301
-    2f5c:	01 13 06 3c 	addis   r0,r6,4865
-    2f60:	04 01 06 03 	.long 0x3060104
+    2f48:	04 0e 05 14 	.long 0x14050e04
+    2f4c:	03 8e 7b 01 	.long 0x17b8e03
+    2f50:	05 02 15 01 	.long 0x1150205
 	if (start == 0 && end == -1)
-    2f64:	9f 01 01 05 	.long 0x501019f
-    2f68:	05 06 01 05 	.long 0x5010605
-    2f6c:	02 06 31 05 	.long 0x5310602
-    2f70:	05 06 01 05 	.long 0x5010605
+    2f54:	01 20 01 13 	.long 0x13012001
+    2f58:	13 01 01 13 	.long 0x13010113
+    2f5c:	06 3c 04 01 	.long 0x1043c06
+    2f60:	06 03 9f 01 	.long 0x19f0306
 	if (type & H_RPTI_TYPE_TLB)
-    2f74:	02 06 31 05 	.long 0x5310602
-    2f78:	05 06 01 05 	.long 0x5010605
+    2f64:	01 05 05 06 	.long 0x6050501
+    2f68:	01 05 02 06 	.long 0x6020501
 }
-    2f7c:	02 06 41 05 	.long 0x5410602
+    2f6c:	31 05 05 06 	.long 0x6050531
 		return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL);
-    2f80:	13 06 01 05 	.long 0x5010613
+    2f70:	01 05 02 06 	.long 0x6020501
 }
-    2f84:	03 06 03 b0 	sth     r0,1539(r3)
-    2f88:	7f 4a 06 2e 	cmpwi   cr4,r6,19071
-    2f8c:	06 2f 2f 03 	.long 0x32f2f06
-    2f90:	3c 66 2f 03 	.long 0x32f663c
-    2f94:	0d 66 05 0d 	twgti   r5,26125
-    2f98:	03 9a 7e 01 	.long 0x17e9a03
-    2f9c:	05 02 15 05 	.long 0x5150205
-    2fa0:	12 06 1a 03 	.long 0x31a0612
-    2fa4:	78 20 05 02 	.long 0x2052078
-    2fa8:	06 28 05 05 	.long 0x5052806
-    2fac:	06 01 05 06 	.long 0x6050106
-    2fb0:	3d 05 03 06 	.long 0x603053d
-    2fb4:	3d 05 2f 06 	.long 0x62f053d
-    2fb8:	01 05 15 23 	subfic  r24,r21,1281
-    2fbc:	05 2f 1d 05 	.long 0x51d2f05
+    2f74:	31 05 05 06 	.long 0x6050531
+    2f78:	01 05 02 06 	.long 0x6020501
+    2f7c:	41 05 13 06 	.long 0x6130541
+    2f80:	01 05 03 06 	.long 0x6030501
+    2f84:	03 b0 7f 4a 	bla     fe7fb000 <kvmhv_nested_next_lpid+0xfe7f7538>
+    2f88:	06 2e 06 2f 	cmpwi   cr6,r6,11782
+    2f8c:	2f 03 3c 66 	oris    r28,r17,815
+    2f90:	2f 03 0d 66 	oris    r13,r16,815
+    2f94:	05 0d 03 9a 	stb     r16,3333(r3)
+    2f98:	7e 01 05 02 	.long 0x205017e
+    2f9c:	15 05 12 06 	.long 0x6120515
+    2fa0:	1a 03 78 20 	subfic  r3,r24,794
+    2fa4:	05 02 06 28 	cmplwi  r6,517
+    2fa8:	05 05 06 01 	.long 0x1060505
+    2fac:	05 06 3d 05 	.long 0x53d0605
 	int ret = H_P4;
-    2fc0:	15 23 05 1c 	mulli   r0,r5,8981
+    2fb0:	03 06 3d 05 	.long 0x53d0603
 		page_size = 1UL << def->shift;
-    2fc4:	1d 05 03 06 	.long 0x603051d
-    2fc8:	23 06 01 05 	.long 0x5010623
-    2fcc:	0a 03 d7 01 	.long 0x1d7030a
+    2fb4:	2f 06 01 05 	.long 0x501062f
+    2fb8:	15 23 05 2f 	cmpwi   cr6,r5,8981
+    2fbc:	1d 05 15 23 	subfic  r24,r21,1309
 		nr_pages = (end - start) >> def->shift;
-    2fd0:	01 05 03 06 	.long 0x6030501
-    2fd4:	03 d3 7d 3c 	addis   r3,r29,-11517
-    2fd8:	05 0c 06 01 	.long 0x1060c05
-    2fdc:	05 1a 21 05 	.long 0x5211a05
-    2fe0:	0c 21 1e 05 	.long 0x51e210c
+    2fc0:	05 1c 1d 05 	.long 0x51d1c05
+    2fc4:	03 06 23 06 	.long 0x6230603
+    2fc8:	01 05 0a 03 	.long 0x30a0501
+    2fcc:	d7 01 01 05 	.long 0x50101d7
+    2fd0:	03 06 03 d3 	stfs    f24,1539(r3)
 		if (!(pg_sizes & def->h_rpt_pgsize))
-    2fe4:	03 06 21 05 	.long 0x5210603
-    2fe8:	1a 06 01 05 	.long 0x501061a
-    2fec:	03 06 21 05 	.long 0x5210603
+    2fd4:	7d 3c 05 0c 	twi     0,r5,15485
+    2fd8:	06 01 05 1a 	.long 0x1a050106
+    2fdc:	21 05 0c 21 	subfic  r8,r12,1313
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
-    2ff0:	0c 06 01 05 	.long 0x501060c
-    2ff4:	03 06 21 03 	.long 0x3210603
-    2ff8:	09 2e 05 18 	.long 0x18052e09
+    2fe0:	1e 05 03 06 	.long 0x603051e
+    2fe4:	21 05 1a 06 	.long 0x61a0521
+    2fe8:	01 05 03 06 	.long 0x6030501
 	return ret;
-    2ffc:	06 01 05 03 	.long 0x3050106
-    3000:	06 2f 06 20 	subfic  r0,r6,12038
-    3004:	05 39 03 ef 	.long 0xef033905
-    3008:	00 01 20 04 	.long 0x4200100
-    300c:	0e 05 02 06 	.long 0x602050e
+    2fec:	21 05 0c 06 	.long 0x60c0521
+    2ff0:	01 05 03 06 	.long 0x6030501
+    2ff4:	21 03 09 2e 	cmpwi   cr4,r9,801
+    2ff8:	05 18 06 01 	.long 0x1061805
+    2ffc:	05 03 06 2f 	cmpwi   cr6,r6,773
 		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
-    3010:	19 01 20 01 	.long 0x1200119
+    3000:	06 20 05 39 	addi    r8,r5,8198
 		nr_pages = (end - start) >> def->shift;
-    3014:	06 3c 04 01 	.long 0x1043c06
+    3004:	03 ef 00 01 	.long 0x100ef03
 		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
-    3018:	05 07 00 02 	.long 0x2000705
+    3008:	20 04 0e 05 	.long 0x50e0420
 		nr_pages = (end - start) >> def->shift;
-    301c:	04 01 06 03 	.long 0x3060104
+    300c:	02 06 19 01 	.long 0x1190602
 		if (flush_lpid)
-    3020:	d4 00 01 00 	.long 0x100d4
-    3024:	02 04 01 01 	.long 0x1010402
-    3028:	04 0e 05 02 	.long 0x2050e04
+    3010:	20 01 06 3c 	addis   r0,r6,288
+    3014:	04 01 05 07 	.long 0x7050104
+    3018:	00 02 04 01 	attn
 		page_size = 1UL << def->shift;
-    302c:	03 ac 7f 20 	subfic  r3,r31,-21501
-    3030:	01 06 3c 04 	.long 0x43c0601
-    3034:	01 05 0a 03 	.long 0x30a0501
-    3038:	60 2e 04 0e 	twlti   r4,11872
-    303c:	05 02 06 03 	.long 0x3060205
+    301c:	06 03 d4 00 	.long 0xd40306
+    3020:	01 00 02 04 	.long 0x4020001
+    3024:	01 01 04 0e 	twlti   r4,257
+    3028:	05 02 03 ac 	lhau    r0,517(r3)
+    302c:	7f 20 01 06 	.long 0x601207f
 		} while (addr < end);
-    3040:	20 20 01 06 	.long 0x6012020
+    3030:	3c 04 01 05 	.long 0x501043c
 			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
-    3044:	c8 04 01 05 	.long 0x50104c8
-    3048:	0a 03 77 01 	.long 0x177030a
-    304c:	04 0e 05 02 	.long 0x2050e04
-    3050:	06 03 09 20 	subfic  r0,r9,774
+    3034:	0a 03 60 2e 	cmpdi   cr4,r0,778
+    3038:	04 0e 05 02 	.long 0x2050e04
+    303c:	06 03 20 20 	subfic  r1,r0,774
+    3040:	01 06 c8 04 	.long 0x4c80601
 			addr += page_size;
-    3054:	01 06 3c d6 	stfsu   f17,1537(r28)
+    3044:	01 05 0a 03 	.long 0x30a0501
 			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
-    3058:	04 01 05 0a 	tdlti   r5,260
+    3048:	77 01 04 0e 	twlti   r4,375
 		} while (addr < end);
-    305c:	03 c0 00 01 	.long 0x100c003
+    304c:	05 02 06 03 	.long 0x3060205
 			if (ret)
-    3060:	03 e6 00 2e 	cmpwi   cr4,r0,-6653
-    3064:	2e 05 01 ec 	.long 0xec01052e
+    3050:	09 20 01 06 	.long 0x6012009
+    3054:	3c d6 04 01 	.long 0x104d63c
 				return H_P4;
-    3068:	06 03 82 01 	.long 0x1820306
-    306c:	58 05 02 4b 	b       ffffffffff0235c4 <kvmhv_nested_next_lpid+0xffffffffff01faec>
-    3070:	13 05 01 06 	.long 0x6010513
-    3074:	10 04 10 05 	.long 0x5100410
-    3078:	15 06 03 a5 	lhzu    r8,1557(r3)
-    307c:	7e 4a 05 02 	.long 0x2054a7e
-    3080:	14 06 01 04 	.long 0x4010614
-}
-    3084:	01 05 01 03 	.long 0x3010501
-    3088:	d9 01 01 04 	.long 0x40101d9
-    308c:	10 05 1c 03 	.long 0x31c0510
-    3090:	a7 7e 74 04 	.long 0x4747ea7
-    3094:	01 05 06 03 	.long 0x3060501
-    3098:	db 01 20 05 	.long 0x52001db
-    309c:	02 06 21 04 	.long 0x4210602
-    30a0:	10 05 15 03 	.long 0x3150510
-    30a4:	a2 7e 01 05 	.long 0x5017ea2
-    30a8:	02 14 05 1c 	mulli   r0,r5,5122
-    30ac:	06 01 20 04 	.long 0x4200106
+    3058:	05 0a 03 c0 	lfs     f0,2565(r3)
+    305c:	00 01 03 e6 	psq_lu  f16,256(r3),0,0
+    3060:	00 2e 2e 05 	.long 0x52e2e00
+    3064:	01 ec 06 03 	.long 0x306ec01
+    3068:	82 01 58 05 	.long 0x5580182
+    306c:	02 4b 13 05 	.long 0x5134b02
+    3070:	01 06 10 04 	.long 0x4100601
+}
+    3074:	10 05 15 06 	.long 0x6150510
+    3078:	03 a5 7e 4a 	bla     fe7ea500 <kvmhv_nested_next_lpid+0xfe7e6a38>
+    307c:	05 02 14 06 	.long 0x6140205
+    3080:	01 04 01 05 	.long 0x5010401
+    3084:	01 03 d9 01 	.long 0x1d90301
+    3088:	01 04 10 05 	.long 0x5100401
+    308c:	1c 03 a7 7e 	dcblce  21,r7,r0
+    3090:	74 04 01 05 	.long 0x5010474
+    3094:	06 03 db 01 	.long 0x1db0306
+    3098:	20 05 02 06 	.long 0x6020520
+    309c:	21 04 10 05 	.long 0x5100421
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    30b0:	01 05 02 06 	.long 0x6020501
-    30b4:	03 dd 01 01 	.long 0x101dd03
-    30b8:	04 10 05 15 	.long 0x15051004
-    30bc:	03 a1 7e 01 	.long 0x17ea103
+    30a0:	15 03 a2 7e 	.long 0x7ea20315
+    30a4:	01 05 02 14 	.long 0x14020501
+    30a8:	05 1c 06 01 	.long 0x1061c05
+    30ac:	20 04 01 05 	.long 0x5010420
 	if (gp) {
-    30c0:	05 02 14 05 	.long 0x5140205
-    30c4:	1c 06 01 20 	subfic  r0,r1,1564
+    30b0:	02 06 03 dd 	stfdu   f8,1538(r3)
+    30b4:	01 01 04 10 	vcmpuq  cr0,v4,v0
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    30c8:	04 01 05 02 	.long 0x2050104
-    30cc:	06 03 de 01 	.long 0x1de0306
-    30d0:	01 04 10 05 	.long 0x5100401
-    30d4:	15 03 a0 7e 	.long 0x7ea00315
+    30b8:	05 15 03 a1 	lhz     r8,5381(r3)
+    30bc:	7e 01 05 02 	.long 0x205017e
+    30c0:	14 05 1c 06 	.long 0x61c0514
+    30c4:	01 20 04 01 	.long 0x1042001
 		kvmhv_put_nested(gp);
-    30d8:	01 05 02 14 	.long 0x14020501
-    30dc:	06 01 04 01 	.long 0x1040106
-    30e0:	06 03 df 01 	.long 0x1df0306
-    30e4:	01 04 10 05 	.long 0x5100401
-    30e8:	15 03 9f 7e 	.long 0x7e9f0315
-    30ec:	01 05 02 14 	.long 0x14020501
+    30c8:	05 02 06 03 	.long 0x3060205
+    30cc:	de 01 01 04 	.long 0x40101de
+    30d0:	10 05 15 03 	.long 0x3150510
+    30d4:	a0 7e 01 05 	.long 0x5017ea0
+    30d8:	02 14 06 01 	.long 0x1061402
+    30dc:	04 01 06 03 	.long 0x3060104
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    30f0:	05 1c 06 01 	.long 0x1061c05
-    30f4:	20 04 01 05 	.long 0x5010420
-    30f8:	02 06 03 e0 	lq      r0,1536(r3)
-    30fc:	01 01 13 04 	.long 0x4130101
+    30e0:	df 01 01 04 	.long 0x40101df
+    30e4:	10 05 15 03 	.long 0x3150510
+    30e8:	9f 7e 01 05 	.long 0x5017e9f
+    30ec:	02 14 05 1c 	mulli   r0,r5,5122
 	if (gp) {
-    3100:	10 05 15 03 	.long 0x3150510
-    3104:	9d 7e 01 05 	.long 0x5017e9d
+    30f0:	06 01 20 04 	.long 0x4200106
+    30f4:	01 05 02 06 	.long 0x6020501
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    3108:	02 14 05 1c 	mulli   r0,r5,5122
-    310c:	06 01 20 04 	.long 0x4200106
-    3110:	01 05 02 06 	.long 0x6020501
-    3114:	03 e2 01 01 	.long 0x101e203
+    30f8:	03 e0 01 01 	.long 0x101e003
+    30fc:	13 04 10 05 	.long 0x5100413
+    3100:	15 03 9d 7e 	.long 0x7e9d0315
+    3104:	01 05 02 14 	.long 0x14020501
 		kvmhv_put_nested(gp);
-    3118:	13 14 05 05 	.long 0x5051413
-    311c:	06 01 05 0c 	twi     0,r5,262
-    3120:	00 02 04 01 	attn
+    3108:	05 1c 06 01 	.long 0x1061c05
+    310c:	20 04 01 05 	.long 0x5010420
+    3110:	02 06 03 e2 	lq      r16,1536(r3)
 	gp = kvmhv_get_nested(kvm, lpid, false);
-    3124:	2e 05 02 06 	.long 0x602052e
-    3128:	31 05 05 06 	.long 0x6050531
-    312c:	01 05 02 06 	.long 0x6020501
-    3130:	4d 04 0d 05 	.long 0x50d044d
+    3114:	01 01 13 14 	.long 0x14130101
+    3118:	05 05 06 01 	.long 0x1060505
+    311c:	05 0c 00 02 	.long 0x2000c05
+    3120:	04 01 2e 05 	.long 0x52e0104
 	if (gp) {
-    3134:	25 03 8d 01 	.long 0x18d0325
-    3138:	01 05 02 14 	.long 0x14020501
+    3124:	02 06 31 05 	.long 0x5310602
+    3128:	05 06 01 05 	.long 0x5010605
 		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
-    313c:	05 2e 03 eb 	ldu     r24,11780(r3)
-    3140:	7e 01 05 02 	.long 0x205017e
-    3144:	14 03 0b 01 	.long 0x10b0314
-    3148:	05 09 06 20 	subfic  r0,r6,2309
+    312c:	02 06 4d 04 	.long 0x44d0602
+    3130:	0d 05 25 03 	.long 0x325050d
+    3134:	8d 01 01 05 	.long 0x501018d
+    3138:	02 14 05 2e 	cmpwi   cr4,r5,5122
 		kvmhv_put_nested(gp);
-    314c:	2e 4a 04 01 	.long 0x1044a2e
-    3150:	05 02 06 03 	.long 0x3060205
-    3154:	7a 01 05 05 	.long 0x505017a
-    3158:	06 01 05 02 	.long 0x2050106
-    315c:	06 31 05 07 	.long 0x7053106
-    3160:	06 01 20 05 	.long 0x5200106
-    3164:	02 06 3d 05 	.long 0x53d0602
-    3168:	05 06 01 20 	subfic  r0,r1,1541
-    316c:	05 02 06 33 	addic   r24,r6,517
-    3170:	06 2e 06 30 	addic   r0,r6,11782
-    3174:	05 05 06 01 	.long 0x1060505
-{
-    3178:	05 03 06 03 	.long 0x3060305
-    317c:	0f 20 04 14 	.long 0x1404200f
-    3180:	05 14 03 87 	lwzu    r24,5125(r3)
-    3184:	02 01 05 02 	.long 0x2050102
-    3188:	18 04 0e 05 	.long 0x50e0418
-    318c:	13 03 ca 7a 	rldcr.  r10,r22,r0,12
-    3190:	01 05 02 14 	.long 0x14020501
-    3194:	14 13 04 14 	.long 0x14041314
-    3198:	05 17 06 03 	.long 0x3061705
-    319c:	b1 05 01 04 	.long 0x40105b1
-    31a0:	0e 05 0b 03 	.long 0x30b050e
-    31a4:	cf 7a 20 20 	subfic  r1,r0,31439
-    31a8:	2e 04 01 05 	.long 0x501042e
-    31ac:	08 03 a5 03 	.long 0x3a50308
-    31b0:	01 04 0e 05 	.long 0x50e0401
-    31b4:	0b 03 db 7c 	.long 0x7cdb030b
-    31b8:	3c 05 02 06 	.long 0x602053c
+    313c:	03 eb 7e 01 	.long 0x17eeb03
+    3140:	05 02 14 03 	.long 0x3140205
+    3144:	0b 01 05 09 	tdgti   r5,267
+    3148:	06 20 2e 4a 	ba      fe2e2004 <kvmhv_nested_next_lpid+0xfe2de53c>
+    314c:	04 01 05 02 	.long 0x2050104
+    3150:	06 03 7a 01 	.long 0x17a0306
+    3154:	05 05 06 01 	.long 0x1060505
+    3158:	05 02 06 31 	addic   r8,r6,517
+    315c:	05 07 06 01 	.long 0x1060705
+    3160:	20 05 02 06 	.long 0x6020520
+    3164:	3d 05 05 06 	.long 0x605053d
+{
+    3168:	01 20 05 02 	.long 0x2052001
+    316c:	06 33 06 2e 	cmpwi   cr4,r6,13062
+    3170:	06 30 05 05 	.long 0x5053006
+    3174:	06 01 05 03 	.long 0x3050106
+    3178:	06 03 0f 20 	subfic  r0,r15,774
+    317c:	04 14 05 14 	.long 0x14051404
+    3180:	03 87 02 01 	.long 0x1028703
+    3184:	05 02 18 04 	.long 0x4180205
+    3188:	0e 05 13 03 	.long 0x313050e
+    318c:	ca 7a 01 05 	.long 0x5017aca
+    3190:	02 14 14 13 	vavgub  v24,v20,v2
+    3194:	04 14 05 17 	.long 0x17051404
+    3198:	06 03 b1 05 	.long 0x5b10306
+    319c:	01 04 0e 05 	.long 0x50e0401
+    31a0:	0b 03 cf 7a 	rldic.  r15,r22,32,12
+    31a4:	20 20 2e 04 	.long 0x42e2020
+    31a8:	01 05 08 03 	.long 0x3080501
 	struct kvm_nested_guest *gp = vcpu->arch.nested;
-    31bc:	21 01 01 13 	vmhraddshs v24,v1,v0,v4
+    31ac:	a5 03 01 04 	.long 0x40103a5
 {
-    31c0:	06 01 04 01 	.long 0x1040106
-    31c4:	05 08 03 a3 	lhz     r24,2053(r3)
-    31c8:	03 01 04 14 	.long 0x14040103
+    31b0:	0e 05 0b 03 	.long 0x30b050e
+    31b4:	db 7c 3c 05 	.long 0x53c7cdb
+    31b8:	02 06 21 01 	.long 0x1210602
 	mutex_lock(&gp->tlb_lock);
-    31cc:	05 15 03 8c 	lbzu    r0,5381(r3)
-    31d0:	02 20 20 04 	.long 0x4202002
-    31d4:	01 05 03 06 	.long 0x6030501
-    31d8:	03 f4 7d 01 	.long 0x17df403
+    31bc:	01 13 06 01 	.long 0x1061301
+    31c0:	04 01 05 08 	tdi     0,r5,260
+    31c4:	03 a3 03 01 	.long 0x103a303
+    31c8:	04 14 05 15 	.long 0x15051404
 	struct rmap_nested *n_rmap;
-    31dc:	05 08 06 01 	.long 0x1060805
+    31cc:	03 8c 02 20 	subfic  r0,r2,-29693
 	unsigned long dsisr = vcpu->arch.fault_dsisr;
-    31e0:	04 14 05 02 	.long 0x2051404
+    31d0:	20 04 01 05 	.long 0x5010420
 	struct kvm *kvm = vcpu->kvm;
-    31e4:	03 91 02 2e 	cmpwi   cr4,r2,-28413
+    31d4:	03 06 03 f4 	stxssp  v0,1536(r3)
 	unsigned long ea = vcpu->arch.fault_dar;
-    31e8:	04 01 05 08 	tdi     0,r5,260
+    31d8:	7d 01 05 08 	tdi     0,r5,381
 	struct kvmppc_pte gpte;
-    31ec:	03 ef 7d 2e 	cmpdi   cr4,r29,-4349
-    31f0:	05 03 06 21 	subfic  r8,r6,773
-    31f4:	04 14 05 14 	.long 0x14051404
-    31f8:	03 8e 02 01 	.long 0x1028e03
-    31fc:	05 02 14 04 	.long 0x4140205
-    3200:	0e 06 03 91 	stw     r8,1550(r3)
-    3204:	7b 01 04 14 	.long 0x1404017b
-    3208:	03 ef 04 20 	subfic  r0,r4,-4349
+    31dc:	06 01 04 14 	.long 0x14040106
+    31e0:	05 02 03 91 	stw     r8,517(r3)
+    31e4:	02 2e 04 01 	.long 0x1042e02
+    31e8:	05 08 03 ef 	dadd.   f24,f3,f1
+    31ec:	7d 2e 05 03 	.long 0x3052e7d
+    31f0:	06 21 04 14 	.long 0x14042106
+    31f4:	05 14 03 8e 	lbzu    r16,5125(r3)
+    31f8:	02 01 05 02 	.long 0x2050102
 	if (!gp->l1_gr_to_hr) {
-    320c:	04 0e 05 14 	.long 0x14050e04
+    31fc:	14 04 0e 06 	.long 0x60e0414
 	struct rmap_nested *n_rmap;
-    3210:	06 03 8e 7b 	rldicr  r14,r28,32,12
+    3200:	03 91 7b 01 	.long 0x17b9103
 	pte_t pte, *pte_p;
-    3214:	20 05 02 15 	.long 0x15020520
+    3204:	04 14 03 ef 	dsub    f24,f3,f2
 	unsigned int shift, l1_shift, level;
-    3218:	01 01 20 01 	.long 0x1200101
-    321c:	13 13 01 01 	.long 0x1011313
+    3208:	04 20 04 0e 	twlti   r4,8196
+    320c:	05 14 06 03 	.long 0x3061405
 	if (!gp->l1_gr_to_hr) {
-    3220:	13 06 20 2e 	cmpdi   cr4,r0,1555
-    3224:	04 01 05 03 	.long 0x3050104
+    3210:	8e 7b 20 05 	.long 0x5207b8e
+    3214:	02 15 01 01 	.long 0x1011502
 	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
-    3228:	06 03 dd 02 	.long 0x2dd0306
-    322c:	01 05 06 06 	.long 0x6060501
+    3218:	20 01 13 13 	vmhaddshs v24,v19,v0,v4
+    321c:	01 01 13 06 	.long 0x6130101
 	if (!(dsisr & DSISR_PRTABLE_FAULT))
-    3230:	01 05 05 03 	.long 0x3050501
+    3220:	20 2e 04 01 	.long 0x1042e20
 	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
-    3234:	11 2e 05 02 	.long 0x2052e11
-    3238:	06 03 7a 20 	subfic  r3,r26,774
+    3224:	05 03 06 03 	.long 0x3060305
+    3228:	dd 02 01 05 	.long 0x50102dd
 	if (!(dsisr & DSISR_PRTABLE_FAULT))
-    323c:	3d 3e 3d 05 	.long 0x53d3e3d
+    322c:	06 06 01 05 	.long 0x5010606
 		n_gpa |= ea & 0xFFF;
-    3240:	09 06 01 2e 	cmpwi   cr4,r1,1545
-    3244:	05 01 24 4a 	bl      fffffffffe243348 <kvmhv_nested_next_lpid+0xfffffffffe23f870>
+    3230:	05 03 11 2e 	cmpwi   cr4,r17,773
+    3234:	05 02 06 03 	.long 0x3060205
 	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
-    3248:	20 20 20 20 	subfic  r1,r0,8224
+    3238:	7a 20 3d 3e 	addis   r17,r29,8314
 	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
-    324c:	05 03 06 03 	.long 0x3060305
-    3250:	5d 4a 05 08 	tdi     0,r5,19037
-    3254:	06 01 05 03 	.long 0x3050106
-    3258:	06 84 05 06 	.long 0x6058406
+    323c:	3d 05 09 06 	.long 0x609053d
+    3240:	01 2e 05 01 	.long 0x1052e01
+    3244:	24 4a 20 20 	subfic  r1,r0,18980
+    3248:	20 20 05 03 	.long 0x3052020
 	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
-    325c:	06 01 05 03 	.long 0x3050106
+    324c:	06 03 5d 4a 	ba      fe5d0304 <kvmhv_nested_next_lpid+0xfe5cc83c>
 	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
-    3260:	06 32 04 14 	.long 0x14043206
-    3264:	05 14 03 8e 	lbzu    r16,5125(r3)
+    3250:	05 08 06 01 	.long 0x1060805
+    3254:	05 03 06 84 	lwzu    r0,773(r6)
 	if (ret) {
-    3268:	02 01 05 02 	.long 0x2050102
-    326c:	18 04 0e 05 	.long 0x50e0418
+    3258:	05 06 06 01 	.long 0x1060605
+    325c:	05 03 06 32 	addic   r16,r6,773
 		if (ret == -EINVAL) {
-    3270:	13 03 ca 7a 	rldcr.  r10,r22,r0,12
-    3274:	01 05 02 14 	.long 0x14020501
+    3260:	04 14 05 14 	.long 0x14051404
+    3264:	03 8e 02 01 	.long 0x1028e03
 		} else if (ret == -ENOENT) {
-    3278:	14 13 04 14 	.long 0x14041314
-    327c:	05 17 06 03 	.long 0x3061705
+    3268:	05 02 18 04 	.long 0x4180205
+    326c:	0e 05 13 03 	.long 0x313050e
 		} else if (ret == -EFAULT) {
-    3280:	b1 05 01 04 	.long 0x40105b1
-    3284:	0e 05 0b 03 	.long 0x30b050e
+    3270:	ca 7a 01 05 	.long 0x5017aca
+    3274:	02 14 14 13 	vavgub  v24,v20,v2
 	if (ret == RESUME_HOST &&
-    3288:	cf 7a 20 20 	subfic  r1,r0,31439
+    3278:	04 14 05 17 	.long 0x17051404
 	ret = kvmhv_translate_addr_nested(vcpu, gp, n_gpa, dsisr, &gpte);
-    328c:	2e 04 01 05 	.long 0x501042e
+    327c:	06 03 b1 05 	.long 0x5b10306
 	if (ret == RESUME_HOST &&
-    3290:	08 03 9e 03 	.long 0x39e0308
-    3294:	01 04 0e 05 	.long 0x50e0401
-    3298:	0b 03 e2 7c 	.long 0x7ce2030b
-    329c:	3c 05 02 06 	.long 0x602053c
-    32a0:	21 01 01 13 	vmhraddshs v24,v1,v0,v4
+    3280:	01 04 0e 05 	.long 0x50e0401
+    3284:	0b 03 cf 7a 	rldic.  r15,r22,32,12
+    3288:	20 20 2e 04 	.long 0x42e2020
+    328c:	01 05 08 03 	.long 0x3080501
+    3290:	9e 03 01 04 	.long 0x401039e
 	bool writing = !!(dsisr & DSISR_ISSTORE);
-    32a4:	06 01 04 01 	.long 0x1040106
+    3294:	0e 05 0b 03 	.long 0x30b050e
 		if (dsisr & DSISR_ISSTORE) {
-    32a8:	05 08 03 9c 	stbu    r0,2053(r3)
-    32ac:	03 01 04 14 	.long 0x14040103
-    32b0:	05 15 03 93 	stw     r24,5381(r3)
-    32b4:	02 20 20 04 	.long 0x4202002
+    3298:	e2 7c 3c 05 	.long 0x53c7ce2
+    329c:	02 06 21 01 	.long 0x1210602
+    32a0:	01 13 06 01 	.long 0x1061301
+    32a4:	04 01 05 08 	tdi     0,r5,260
 	unsigned long dsisr = vcpu->arch.fault_dsisr;
-    32b8:	01 05 03 06 	.long 0x6030501
-    32bc:	03 ed 7d 01 	.long 0x17ded03
+    32a8:	03 9c 03 01 	.long 0x1039c03
+    32ac:	04 14 05 15 	.long 0x15051404
 	bool writing = !!(dsisr & DSISR_ISSTORE);
-    32c0:	05 08 06 01 	.long 0x1060805
-    32c4:	04 14 05 02 	.long 0x2051404
+    32b0:	03 93 02 20 	subfic  r0,r2,-27901
+    32b4:	20 04 01 05 	.long 0x5010420
 		if (dsisr & DSISR_ISSTORE) {
-    32c8:	03 98 02 2e 	cmpwi   cr4,r2,-26621
+    32b8:	03 06 03 ed 	.long 0xed030603
 			if (!gpte_p->may_write) {
-    32cc:	04 01 05 08 	tdi     0,r5,260
-    32d0:	03 e8 7d 2e 	cmpdi   cr4,r29,-6141
-    32d4:	05 03 06 21 	subfic  r8,r6,773
+    32bc:	7d 01 05 08 	tdi     0,r5,381
+    32c0:	06 01 04 14 	.long 0x14040106
+    32c4:	05 02 03 98 	stb     r0,517(r3)
 	if (dsisr & DSISR_SET_RC) {
-    32d8:	04 14 05 14 	.long 0x14051404
-    32dc:	03 95 02 01 	.long 0x1029503
-    32e0:	05 02 14 04 	.long 0x4140205
+    32c8:	02 2e 04 01 	.long 0x1042e02
+    32cc:	05 08 03 e8 	ldu     r0,2052(r3)
+    32d0:	7d 2e 05 03 	.long 0x3052e7d
 	l1_shift = gpte.page_shift;
-    32e4:	0e 06 03 91 	stw     r8,1550(r3)
-    32e8:	7b 01 04 14 	.long 0x1404017b
+    32d4:	06 21 04 14 	.long 0x14042106
+    32d8:	05 14 03 95 	stwu    r8,5125(r3)
 	if (l1_shift < PAGE_SHIFT) {
-    32ec:	03 ef 04 20 	subfic  r0,r4,-4349
-    32f0:	04 0e 05 14 	.long 0x14050e04
+    32dc:	02 01 05 02 	.long 0x2050102
+    32e0:	14 04 0e 06 	.long 0x60e0414
 	gpa = gpte.raddr;
-    32f4:	06 03 8e 7b 	rldicr  r14,r28,32,12
+    32e4:	03 91 7b 01 	.long 0x17b9103
 	memslot = gfn_to_memslot(kvm, gfn);
-    32f8:	20 05 02 15 	.long 0x15020520
-    32fc:	01 01 20 01 	.long 0x1200101
-    3300:	13 13 01 01 	.long 0x1011313
-    3304:	13 06 20 2e 	cmpdi   cr4,r0,1555
+    32e8:	04 14 03 ef 	dsub    f24,f3,f2
+    32ec:	04 20 04 0e 	twlti   r4,8196
+    32f0:	05 14 06 03 	.long 0x3061405
+    32f4:	8e 7b 20 05 	.long 0x5207b8e
 	if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) {
-    3308:	04 01 05 03 	.long 0x3050104
-    330c:	06 03 d6 02 	.long 0x2d60306
-    3310:	01 05 06 06 	.long 0x6060501
-    3314:	01 2c 20 03 	.long 0x3202c01
-    3318:	71 2e 20 05 	.long 0x5202e71
-    331c:	03 06 03 1c 	mulli   r0,r3,1539
+    32f8:	02 15 01 01 	.long 0x1011502
+    32fc:	20 01 13 13 	vmhaddshs v24,v19,v0,v4
+    3300:	01 01 13 06 	.long 0x6130101
+    3304:	20 2e 04 01 	.long 0x1042e20
+    3308:	05 03 06 03 	.long 0x3060305
+    330c:	d6 02 01 05 	.long 0x50102d6
 	if (memslot->flags & KVM_MEM_READONLY) {
-    3320:	3c 05 08 06 	.long 0x608053c
-    3324:	01 05 03 06 	.long 0x6030501
+    3310:	06 06 01 2c 	cmpwi   r1,1542
+    3314:	20 03 71 2e 	cmpdi   cr4,r17,800
 		if (writing) {
-    3328:	84 05 06 06 	.long 0x6060584
+    3318:	20 05 03 06 	.long 0x6030520
 		kvm_ro = true;
-    332c:	01 03 71 2e 	cmpdi   cr4,r17,769
+    331c:	03 1c 3c 05 	.long 0x53c1c03
 	mmu_seq = kvm->mmu_invalidate_seq;
-    3330:	05 0a 03 6d 	xoris   r3,r8,2565
+    3320:	08 06 01 05 	.long 0x5010608
 	smp_rmb();
-    3334:	2e 3c 03 79 	rldimi  r3,r8,39,48
+    3324:	03 06 84 05 	.long 0x5840603
 	pte = __pte(0);
-    3338:	58 04 0e 05 	.long 0x50e0458
-    333c:	02 06 03 c3 	lfs     f24,1538(r3)
-    3340:	7d 4a 01 20 	subfic  r0,r1,19069
-    3344:	01 06 3c 06 	.long 0x63c0601
-    3348:	01 01 20 01 	.long 0x1200101
-    334c:	04 01 05 01 	.long 0x1050104
-    3350:	03 c9 06 58 	rlmi.   r6,r0,r25,4,1
-    3354:	06 4a 04 17 	.long 0x17044a06
-    3358:	05 0d 03 86 	lwzu    r16,3333(r3)
-    335c:	79 4a 04 01 	.long 0x1044a79
-    3360:	03 fe 06 20 	subfic  r0,r6,-509
+    3328:	06 06 01 03 	.long 0x3010606
+    332c:	71 2e 05 0a 	tdlti   r5,11889
+    3330:	03 66 2e 04 	.long 0x42e6603
+    3334:	0e 05 02 06 	.long 0x602050e
+    3338:	03 c3 7d 4a 	bla     fe7dc300 <kvmhv_nested_next_lpid+0xfe7d8838>
+    333c:	01 20 01 06 	.long 0x6012001
+    3340:	3c 06 01 01 	.long 0x101063c
+    3344:	20 01 06 01 	.long 0x1060120
+    3348:	04 01 05 0a 	tdlti   r5,260
+    334c:	03 c4 02 01 	.long 0x102c403
+    3350:	3c 05 01 06 	.long 0x601053c
 	if (!shift)
-    3364:	05 01 1c 04 	.long 0x41c0105
-    3368:	17 05 0d 03 	.long 0x30d0517
-    336c:	86 79 74 04 	.long 0x4747986
+    3354:	03 85 04 66 	oris    r4,r16,34051
+    3358:	06 4a 04 17 	.long 0x17044a06
+    335c:	05 0d 03 86 	lwzu    r16,3333(r3)
 		shift = PAGE_SHIFT;
-    3370:	01 05 01 03 	.long 0x3010501
-    3374:	fa 06 2e 05 	.long 0x52e06fa
+    3360:	79 4a 04 01 	.long 0x1044a79
+    3364:	03 fe 06 20 	subfic  r0,r6,-509
 	if (pte_p)
-    3378:	02 06 3d 05 	.long 0x53d0602
-    337c:	0e 06 01 05 	.long 0x501060e
+    3368:	05 01 1c 04 	.long 0x41c0105
+    336c:	17 05 0d 03 	.long 0x30d0517
 		pte = *pte_p;
-    3380:	02 06 21 13 	vctzlsbb r25,v0
-    3384:	13 05 0d 06 	.long 0x60d0513
+    3370:	86 79 74 04 	.long 0x4747986
+    3374:	01 05 01 03 	.long 0x3010501
 	if (unlikely(ms->mmiowb_pending)) {
-    3388:	01 05 02 06 	.long 0x6020501
+    3378:	fa 06 2e 05 	.long 0x52e06fa
 	struct mmiowb_state *ms = __mmiowb_state();
-    338c:	21 14 04 17 	.long 0x17041421
+    337c:	02 06 3d 05 	.long 0x53d0602
 	if (unlikely(ms->mmiowb_pending)) {
-    3390:	05 1c 03 fb 	stdu    r24,7172(r3)
-    3394:	78 01 05 02 	.long 0x2050178
+    3380:	0e 06 01 05 	.long 0x501060e
+    3384:	02 06 21 13 	vctzlsbb r25,v0
 	ms->nesting_count--;
-    3398:	14 14 05 18 	.long 0x18051414
-    339c:	01 05 2f 2e 	cmpdi   cr4,r15,1281
-    33a0:	05 06 06 13 	.long 0x13060605
-    33a4:	05 2f 1f 05 	.long 0x51f2f05
-    33a8:	18 06 20 05 	.long 0x5200618
-    33ac:	03 13 05 06 	.long 0x6051303
+    3388:	13 05 0d 06 	.long 0x60d0513
+    338c:	01 05 02 06 	.long 0x6020501
+    3390:	21 14 04 17 	.long 0x17041421
+    3394:	05 1c 03 fb 	stdu    r24,7172(r3)
+    3398:	78 01 05 02 	.long 0x2050178
+    339c:	14 14 05 18 	.long 0x18051414
 	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    33b0:	06 01 05 2f 	cmpwi   cr6,r5,262
+    33a0:	01 05 2f 2e 	cmpdi   cr4,r15,1281
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
-    33b4:	06 2d 05 18 	.long 0x18052d06
+    33a4:	05 06 06 13 	.long 0x13060605
 	if (pte_hw_valid(pte))
-    33b8:	20 05 03 2f 	cmpwi   cr6,r3,1312
-    33bc:	05 06 06 01 	.long 0x1060605
+    33a8:	05 2f 1f 05 	.long 0x51f2f05
+    33ac:	18 06 20 05 	.long 0x5200618
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
-    33c0:	05 04 06 3d 	addis   r8,r6,1029
-    33c4:	05 20 06 01 	.long 0x1062005
-    33c8:	04 01 05 08 	tdi     0,r5,260
+    33b0:	03 13 05 06 	.long 0x6051303
+    33b4:	06 01 05 2f 	cmpwi   cr6,r5,262
+    33b8:	06 2d 05 18 	.long 0x18052d06
 		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
-    33cc:	03 ff 06 2e 	cmpwi   cr4,r6,-253
-    33d0:	05 02 06 21 	subfic  r8,r6,517
-    33d4:	13 05 05 06 	.long 0x6050513
-    33d8:	01 05 02 06 	.long 0x6020501
-    33dc:	32 13 14 05 	.long 0x5141332
-    33e0:	07 06 01 20 	subfic  r0,r1,1543
-    33e4:	05 02 06 21 	subfic  r8,r6,517
-    33e8:	05 05 06 01 	.long 0x1060505
-    33ec:	05 11 38 05 	.long 0x5381105
+    33bc:	20 05 03 2f 	cmpwi   cr6,r3,1312
+    33c0:	05 06 06 01 	.long 0x1060605
+    33c4:	05 04 06 3d 	addis   r8,r6,1029
+    33c8:	05 20 06 01 	.long 0x1062005
+    33cc:	04 01 05 08 	tdi     0,r5,260
+    33d0:	03 ff 06 2e 	cmpwi   cr4,r6,-253
+    33d4:	05 02 06 21 	subfic  r8,r6,517
+    33d8:	13 05 05 06 	.long 0x6050513
+    33dc:	01 05 02 06 	.long 0x6020501
 		if (ret == -EAGAIN)
-    33f0:	19 21 20 05 	.long 0x5202119
+    33e0:	32 13 14 05 	.long 0x5141332
 		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
-    33f4:	02 25 05 0d 	twgti   r5,9474
+    33e4:	07 06 01 20 	subfic  r0,r1,1543
 		if (ret == -EAGAIN)
-    33f8:	03 75 20 05 	.long 0x5207503
+    33e8:	05 02 06 21 	subfic  r8,r6,517
 		else if (ret)
-    33fc:	11 03 11 20 	subfic  r0,r17,785
-    3400:	03 74 20 05 	.long 0x5207403
+    33ec:	05 05 06 01 	.long 0x1060505
+    33f0:	05 11 38 05 	.long 0x5381105
 		return PUD_SHIFT;
-    3404:	02 26 05 0f 	twnei   r5,9730
+    33f4:	19 21 20 05 	.long 0x5202119
 		shift = kvmppc_radix_level_to_shift(level);
-    3408:	1b 05 02 06 	.long 0x602051b
+    33f8:	02 25 05 0d 	twgti   r5,9474
 		return PUD_SHIFT;
-    340c:	25 05 0a 06 	.long 0x60a0525
-    3410:	03 7a 01 05 	.long 0x5017a03
+    33fc:	03 75 20 05 	.long 0x5207503
+    3400:	11 03 11 20 	subfic  r0,r17,785
 	switch (level) {
-    3414:	07 20 05 02 	.long 0x2052007
+    3404:	03 74 20 05 	.long 0x5207403
 		return PUD_SHIFT;
-    3418:	26 00 02 04 	.long 0x4020026
-    341c:	01 06 5b 05 	.long 0x55b0601
-    3420:	03 00 02 04 	.long 0x4020003
+    3408:	02 26 05 0f 	twnei   r5,9730
+    340c:	1b 05 02 06 	.long 0x602051b
+    3410:	25 05 0a 06 	.long 0x60a0525
 	switch (level) {
-    3424:	01 13 00 02 	.long 0x2001301
-    3428:	04 01 5a 05 	.long 0x55a0104
-    342c:	22 00 02 04 	.long 0x4020022
+    3414:	03 7a 01 05 	.long 0x5017a03
+    3418:	07 20 05 02 	.long 0x2052007
+    341c:	26 00 02 04 	.long 0x4020026
 		return PUD_SHIFT;
-    3430:	01 06 01 05 	.long 0x5010601
+    3420:	01 06 5b 05 	.long 0x55b0601
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3434:	0f 00 02 04 	.long 0x402000f
+    3424:	03 00 02 04 	.long 0x4020003
 		return PUD_SHIFT;
-    3438:	01 2f 05 11 	bcdtrunc. v8,v5,v5,1
+    3428:	01 13 00 02 	.long 0x2001301
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    343c:	00 02 04 01 	attn
-    3440:	1f 05 03 00 	.long 0x3051f
-    3444:	02 04 01 06 	.long 0x6010402
+    342c:	04 01 5a 05 	.long 0x55a0104
+    3430:	22 00 02 04 	.long 0x4020022
+    3434:	01 06 01 05 	.long 0x5010601
 		shift = kvmppc_radix_level_to_shift(level);
-    3448:	21 05 08 00 	.long 0x80521
-    344c:	02 04 01 06 	.long 0x6010402
+    3438:	0f 00 02 04 	.long 0x402000f
+    343c:	01 2f 05 11 	bcdtrunc. v8,v5,v5,1
 				flags |= DSISR_PROTFAULT;
-    3450:	01 05 12 00 	.long 0x120501
+    3440:	00 02 04 01 	attn
 				goto forward_to_l1;
-    3454:	02 04 01 06 	.long 0x6010402
-    3458:	21 00 02 04 	.long 0x4020021
-    345c:	01 06 20 05 	.long 0x5200601
-    3460:	02 06 22 3d 	addis   r9,r2,1538
-    3464:	2f 06 11 05 	.long 0x511062f
+    3444:	1f 05 03 00 	.long 0x3051f
+    3448:	02 04 01 06 	.long 0x6010402
+    344c:	21 05 08 00 	.long 0x80521
+    3450:	02 04 01 06 	.long 0x6010402
+    3454:	01 05 12 00 	.long 0x120501
 				flags |= DSISR_PROTFAULT;
-    3468:	0a 03 74 2e 	cmpdi   cr4,r20,778
+    3458:	02 04 01 06 	.long 0x6010402
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    346c:	05 01 03 0e 	twlti   r3,261
+    345c:	21 00 02 04 	.long 0x4020021
 	vcpu->arch.fault_dsisr = flags;
-    3470:	20 9e 05 0a 	tdlti   r5,-25056
+    3460:	01 06 20 05 	.long 0x5200601
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    3474:	03 6b 66 20 	subfic  r3,r6,27395
-    3478:	20 05 01 03 	.long 0x3010520
+    3464:	02 06 22 3d 	addis   r9,r2,1538
+    3468:	2f 06 11 05 	.long 0x511062f
 		vcpu->arch.shregs.msr &= SRR1_MSR_BITS;
-    347c:	15 2e 06 03 	.long 0x3062e15
-    3480:	f7 7d 66 05 	.long 0x5667df7
-    3484:	02 4b 13 14 	.long 0x14134b02
-    3488:	05 21 03 b3 	sth     r24,8453(r3)
+    346c:	0a 03 74 2e 	cmpdi   cr4,r20,778
+    3470:	05 01 03 0e 	twlti   r3,261
+    3474:	20 9e 05 0a 	tdlti   r5,-25056
+    3478:	03 6b 66 20 	subfic  r3,r6,27395
 		vcpu->arch.shregs.msr |= flags;
-    348c:	7e 01 05 02 	.long 0x205017e
-    3490:	14 05 01 06 	.long 0x6010514
+    347c:	20 05 01 03 	.long 0x3010520
+    3480:	15 2e 06 03 	.long 0x3062e15
 	if (ret == RESUME_HOST &&
-    3494:	03 c7 01 01 	.long 0x101c703
-    3498:	05 09 03 b9 	lmw     r8,2309(r3)
-    349c:	7e 3c 20 20 	subfic  r1,r0,15486
-    34a0:	05 01 03 c7 	lfsu    f24,261(r3)
+    3484:	f7 7d 66 05 	.long 0x5667df7
+    3488:	02 4b 13 14 	.long 0x14134b02
+    348c:	05 21 03 b3 	sth     r24,8453(r3)
+    3490:	7e 01 05 02 	.long 0x205017e
 			return RESUME_HOST;
-    34a4:	01 01 05 09 	tdgti   r5,257
+    3494:	14 05 01 06 	.long 0x6010514
 	mutex_unlock(&gp->tlb_lock);
-    34a8:	03 b9 7e 4a 	bla     fe7eb900 <kvmhv_nested_next_lpid+0xfe7e7e28>
-    34ac:	2e 05 02 06 	.long 0x602052e
-    34b0:	03 cc 01 01 	.long 0x101cc03
-}
-    34b4:	05 05 06 01 	.long 0x1060505
-    34b8:	20 05 02 06 	.long 0x6020520
-    34bc:	23 14 05 08 	tdi     0,r5,5155
-    34c0:	06 01 20 05 	.long 0x5200106
-    34c4:	02 06 5a 05 	.long 0x55a0602
-    34c8:	01 06 13 3c 	addis   r0,r19,1537
-    34cc:	20 06 03 0a 	tdlti   r3,1568
-    34d0:	58 05 02 4b 	b       ffffffffff023a28 <kvmhv_nested_next_lpid+0xffffffffff01ff50>
-    34d4:	05 01 06 11 	vslq    v8,v6,v0
-    34d8:	05 15 3d 05 	.long 0x53d1505
-    34dc:	02 06 21 13 	vctzlsbb r25,v0
-    34e0:	05 18 06 01 	.long 0x1061805
-    34e4:	05 05 23 05 	.long 0x5230505
-    34e8:	0c 1d 05 02 	.long 0x2051d0c
-    34ec:	06 23 05 05 	.long 0x5052306
-    34f0:	06 01 05 02 	.long 0x2050106
-    34f4:	00 02 04 03 	attn
-    34f8:	7b 05 03 06 	.long 0x603057b
-    34fc:	2f 05 14 03 	.long 0x314052f
+    3498:	03 c7 01 01 	.long 0x101c703
+    349c:	05 09 03 b9 	lmw     r8,2309(r3)
+    34a0:	7e 3c 20 20 	subfic  r1,r0,15486
+}
+    34a4:	05 01 03 c7 	lfsu    f24,261(r3)
+    34a8:	01 01 05 09 	tdgti   r5,257
+    34ac:	03 b9 7e 4a 	bla     fe7eb900 <kvmhv_nested_next_lpid+0xfe7e7e38>
+    34b0:	2e 05 02 06 	.long 0x602052e
+    34b4:	03 cc 01 01 	.long 0x101cc03
+    34b8:	05 05 06 01 	.long 0x1060505
+    34bc:	20 05 02 06 	.long 0x6020520
+    34c0:	23 14 05 08 	tdi     0,r5,5155
+    34c4:	06 01 20 05 	.long 0x5200106
+    34c8:	02 06 5a 05 	.long 0x55a0602
+    34cc:	01 06 13 3c 	addis   r0,r19,1537
+    34d0:	20 06 03 0a 	tdlti   r3,1568
+    34d4:	58 05 02 4b 	b       ffffffffff023a2c <kvmhv_nested_next_lpid+0xffffffffff01ff64>
+    34d8:	05 01 06 11 	vslq    v8,v6,v0
+    34dc:	05 15 3d 05 	.long 0x53d1505
+    34e0:	02 06 21 13 	vctzlsbb r25,v0
+    34e4:	05 18 06 01 	.long 0x1061805
+    34e8:	05 05 23 05 	.long 0x5230505
+    34ec:	0c 1d 05 02 	.long 0x2051d0c
 		kvmhv_update_ptbl_cache(gp);
-    3500:	6a 01 05 02 	.long 0x205016a
-    3504:	14 05 13 06 	.long 0x6130514
+    34f0:	06 23 05 05 	.long 0x5052306
+    34f4:	06 01 05 02 	.long 0x2050106
 		if (!gp->l1_gr_to_hr)
-    3508:	01 05 06 03 	.long 0x3060501
-    350c:	14 20 05 02 	.long 0x2052014
-    3510:	06 33 13 05 	.long 0x5133306
-    3514:	05 06 20 2e 	cmpdi   cr4,r0,1541
-    3518:	05 02 06 22 	subfic  r16,r6,517
-    351c:	04 15 05 14 	.long 0x14051504
-    3520:	03 cf 7a 01 	.long 0x17acf03
+    34f8:	00 02 04 03 	attn
+    34fc:	7b 05 03 06 	.long 0x603057b
+    3500:	2f 05 14 03 	.long 0x314052f
+    3504:	6a 01 05 02 	.long 0x205016a
+    3508:	14 05 13 06 	.long 0x6130514
+    350c:	01 05 06 03 	.long 0x3060501
+    3510:	14 20 05 02 	.long 0x2052014
 		if (dsisr & (DSISR_PRTABLE_FAULT | DSISR_BADACCESS)) {
-    3524:	05 02 14 05 	.long 0x5140205
-    3528:	09 06 01 20 	subfic  r0,r1,1545
+    3514:	06 33 13 05 	.long 0x5133306
+    3518:	05 06 20 2e 	cmpdi   cr4,r0,1541
 		return kvmppc_hv_emulate_mmio(vcpu, gpa, ea, writing);
-    352c:	20 2e 04 01 	.long 0x1042e20
-    3530:	05 02 06 03 	.long 0x3060205
-    3534:	b0 05 01 16 	.long 0x160105b0
-    3538:	05 0a 06 01 	.long 0x1060a05
-    353c:	05 01 4b 05 	.long 0x54b0105
-    3540:	0a 2d 05 01 	.long 0x1052d0a
-    3544:	21 05 02 00 	.long 0x20521
-    3548:	02 04 04 03 	.long 0x3040402
-    354c:	71 4a 00 02 	.long 0x2004a71
-    3550:	04 04 20 05 	.long 0x5200404
-    3554:	13 00 02 04 	.long 0x4020013
-    3558:	04 03 6d 20 	subfic  r3,r13,772
-    355c:	05 06 00 02 	.long 0x2000605
-    3560:	04 04 03 14 	.long 0x14030404
-    3564:	20 05 02 00 	.long 0x20520
-    3568:	02 04 04 1f 	mulli   r24,r4,1026
-    356c:	00 02 04 0a 	tdlti   r4,512
+    351c:	05 02 06 22 	subfic  r16,r6,517
+    3520:	04 15 05 14 	.long 0x14051504
+    3524:	03 cf 7a 01 	.long 0x17acf03
+    3528:	05 02 14 05 	.long 0x5140205
+    352c:	09 06 01 20 	subfic  r0,r1,1545
+    3530:	20 2e 04 01 	.long 0x1042e20
+    3534:	05 02 06 03 	.long 0x3060205
+    3538:	b0 05 01 16 	.long 0x160105b0
+    353c:	05 0a 06 01 	.long 0x1060a05
+    3540:	05 01 4b 05 	.long 0x54b0105
+    3544:	0a 2d 05 01 	.long 0x1052d0a
+    3548:	21 05 02 00 	.long 0x20521
+    354c:	02 04 04 03 	.long 0x3040402
+    3550:	71 4a 00 02 	.long 0x2004a71
+    3554:	04 04 20 05 	.long 0x5200404
+    3558:	13 00 02 04 	.long 0x4020013
+    355c:	04 03 6d 20 	subfic  r3,r13,772
 		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    3570:	20 00 02 04 	.long 0x4020020
-    3574:	0a 06 20 05 	.long 0x520060a
+    3560:	05 06 00 02 	.long 0x2000605
+    3564:	04 04 03 14 	.long 0x14030404
 			if (!gpte_p->may_execute) {
-    3578:	03 00 02 04 	.long 0x4020003
+    3568:	20 05 02 00 	.long 0x20520
 		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    357c:	0a 13 05 14 	.long 0x1405130a
+    356c:	02 04 04 1f 	mulli   r24,r4,1026
 			if (!gpte_p->may_read && !gpte_p->may_write) {
-    3580:	00 02 04 0a 	tdlti   r4,512
-    3584:	03 6a 01 05 	.long 0x5016a03
-    3588:	02 00 02 04 	.long 0x4020002
-    358c:	0a 14 00 02 	.long 0x200140a
+    3570:	00 02 04 0a 	tdlti   r4,512
+    3574:	20 00 02 04 	.long 0x4020020
+    3578:	0a 06 20 05 	.long 0x520060a
+    357c:	03 00 02 04 	.long 0x4020003
 	if (dsisr & DSISR_SET_RC) {
-    3590:	04 0a 06 01 	.long 0x1060a04
-    3594:	05 06 00 02 	.long 0x2000605
+    3580:	0a 13 05 14 	.long 0x1405130a
+    3584:	00 02 04 0a 	tdlti   r4,512
 		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
-    3598:	04 0a 03 14 	.long 0x14030a04
-    359c:	01 05 02 00 	.long 0x20501
+    3588:	03 6a 01 05 	.long 0x5016a03
+    358c:	02 00 02 04 	.long 0x4020002
 	pgflags = _PAGE_ACCESSED;
-    35a0:	02 04 01 1f 	mulli   r24,r1,1026
-    35a4:	05 03 06 60 	ori     r6,r0,773
+    3590:	0a 14 00 02 	.long 0x200140a
+    3594:	04 0a 06 01 	.long 0x1060a04
 	if (pgflags & ~gpte.rc)
-    35a8:	05 0a 06 01 	.long 0x1060a05
-    35ac:	04 15 05 09 	tdgti   r5,5380
-    35b0:	03 d2 7a 20 	subfic  r3,r26,-11773
+    3598:	05 06 00 02 	.long 0x2000605
+    359c:	04 0a 03 14 	.long 0x14030a04
+    35a0:	01 05 02 00 	.long 0x20501
 	ret = kvmppc_hv_handle_set_rc(kvm, false, writing,
-    35b4:	20 04 01 05 	.long 0x5010420
-    35b8:	0a 03 ae 05 	.long 0x5ae030a
-    35bc:	01 05 02 06 	.long 0x6020501
-    35c0:	21 04 15 05 	.long 0x5150421
-    35c4:	14 03 cf 7a 	.long 0x7acf0314
-    35c8:	01 05 02 14 	.long 0x14020501
-    35cc:	05 09 06 01 	.long 0x1060905
-    35d0:	2e 2e 04 01 	.long 0x1042e2e
-    35d4:	05 02 06 03 	.long 0x3060205
-    35d8:	b0 05 01 05 	.long 0x50105b0
+    35a4:	02 04 01 1f 	mulli   r24,r1,1026
+    35a8:	05 03 06 60 	ori     r6,r0,773
+    35ac:	05 0a 06 01 	.long 0x1060a05
+    35b0:	04 15 05 09 	tdgti   r5,5380
+    35b4:	03 d2 7a 20 	subfic  r3,r26,-11773
+    35b8:	20 04 01 05 	.long 0x5010420
+    35bc:	0a 03 ae 05 	.long 0x5ae030a
+    35c0:	01 05 02 06 	.long 0x6020501
+    35c4:	21 04 15 05 	.long 0x5150421
+    35c8:	14 03 cf 7a 	.long 0x7acf0314
 	if (!ret) {
-    35dc:	03 13 05 04 	.long 0x4051303
-    35e0:	06 01 05 18 	.long 0x18050106
+    35cc:	01 05 02 14 	.long 0x14020501
+    35d0:	05 09 06 01 	.long 0x1060905
 	ret = kvmppc_hv_handle_set_rc(kvm, true, writing,
-    35e4:	20 4a 05 01 	.long 0x1054a20
-    35e8:	24 05 03 06 	.long 0x6030524
-    35ec:	03 6c 3c 05 	.long 0x53c6c03
-    35f0:	15 06 01 05 	.long 0x5010615
-    35f4:	01 03 14 20 	subfic  r0,r20,769
-    35f8:	05 0a 03 6c 	xoris   r3,r0,2565
-    35fc:	20 05 03 06 	.long 0x6030520
+    35d4:	2e 2e 04 01 	.long 0x1042e2e
+    35d8:	05 02 06 03 	.long 0x3060205
+    35dc:	b0 05 01 05 	.long 0x50105b0
+    35e0:	03 13 05 04 	.long 0x4051303
+    35e4:	06 01 05 18 	.long 0x18050106
+    35e8:	20 4a 05 01 	.long 0x1054a20
+    35ec:	24 05 03 06 	.long 0x6030524
 	if (!ret)
-    3600:	21 05 01 06 	.long 0x6010521
-    3604:	03 13 01 20 	subfic  r0,r1,4867
+    35f0:	03 6c 3c 05 	.long 0x53c6c03
+    35f4:	15 06 01 05 	.long 0x5010615
 		ret = -EINVAL;
-    3608:	06 03 22 66 	oris    r2,r17,774
+    35f8:	01 03 14 20 	subfic  r0,r20,769
 	if (unlikely(ms->mmiowb_pending)) {
-    360c:	05 0b 06 4f 	addpcis r24,2829
+    35fc:	05 0a 03 6c 	xoris   r3,r0,2565
 	struct mmiowb_state *ms = __mmiowb_state();
-    3610:	05 01 1b 05 	.long 0x51b0105
+    3600:	20 05 03 06 	.long 0x6030520
 	if (unlikely(ms->mmiowb_pending)) {
-    3614:	05 33 05 15 	.long 0x15053305
-    3618:	1c 05 01 1f 	mulli   r24,r1,1308
+    3604:	21 05 01 06 	.long 0x6010521
+    3608:	03 13 01 20 	subfic  r0,r1,4867
 	ms->nesting_count--;
-    361c:	05 02 06 3d 	addis   r8,r6,517
-    3620:	13 13 14 05 	.long 0x5141313
-    3624:	05 06 01 05 	.long 0x5010605
-    3628:	02 06 31 05 	.long 0x5310602
-    362c:	18 06 01 05 	.long 0x5010618
-    3630:	02 23 05 07 	.long 0x7052302
+    360c:	06 03 22 66 	oris    r2,r17,774
+    3610:	05 0b 06 4f 	addpcis r24,2829
+    3614:	05 01 1b 05 	.long 0x51b0105
+    3618:	05 33 05 15 	.long 0x15053305
+    361c:	1c 05 01 1f 	mulli   r24,r1,1308
+    3620:	05 02 06 3d 	addis   r8,r6,517
 		if (ret)
-    3634:	2b 05 02 06 	.long 0x602052b
-    3638:	2f 14 01 01 	.long 0x101142f
+    3624:	13 13 14 05 	.long 0x5141313
+    3628:	05 06 01 05 	.long 0x5010605
 		if (!(dsisr & (DSISR_BAD_FAULT_64S | DSISR_NOHPTE |
-    363c:	01 01 05 0f 	twnei   r5,257
-    3640:	06 03 5a 4a 	ba      fe5a0304 <kvmhv_nested_next_lpid+0xfe59c82c>
-    3644:	05 12 03 ff 	dctqpq. f24,f2
-    3648:	7d 90 66 05 	.long 0x566907d
-    364c:	02 00 02 04 	.long 0x4020002
+    362c:	02 06 31 05 	.long 0x5310602
+    3630:	18 06 01 05 	.long 0x5010618
+    3634:	02 23 05 07 	.long 0x7052302
+    3638:	2b 05 02 06 	.long 0x602052b
+    363c:	2f 14 01 01 	.long 0x101142f
 		dsisr &= ~DSISR_SET_RC;
-    3650:	04 03 a7 02 	.long 0x2a70304
-    3654:	01 00 02 04 	.long 0x4020001
-    3658:	04 20 05 2a 	cmplwi  cr4,r5,8196
-    365c:	00 02 04 0a 	tdlti   r4,512
+    3640:	01 01 05 0f 	twnei   r5,257
+    3644:	06 03 5a 4a 	ba      fe5a0304 <kvmhv_nested_next_lpid+0xfe59c83c>
+    3648:	05 12 03 ff 	dctqpq. f24,f2
+    364c:	7d 90 66 05 	.long 0x566907d
 			kvmppc_core_queue_data_storage(vcpu, ea, dsisr);
-    3660:	03 5e 2e 05 	.long 0x52e5e03
-    3664:	09 00 02 04 	.long 0x4020009
-    3668:	0a 03 fb 7d 	stvexbx v15,r27,r0
-    366c:	20 05 02 00 	.long 0x20520
-    3670:	02 04 0a 03 	.long 0x30a0402
+    3650:	02 00 02 04 	.long 0x4020002
+    3654:	04 03 a7 02 	.long 0x2a70304
+    3658:	01 00 02 04 	.long 0x4020001
+    365c:	04 20 05 2a 	cmplwi  cr4,r5,8196
+    3660:	00 02 04 0a 	tdlti   r4,512
 			return RESUME_GUEST;
-    3674:	a7 02 20 05 	.long 0x52002a7
-    3678:	03 00 02 04 	.long 0x4020003
-    367c:	0a 06 21 05 	.long 0x521060a
-    3680:	0d 00 02 04 	.long 0x402000d
-    3684:	0a 03 54 01 	.long 0x154030a
-    3688:	05 02 00 02 	.long 0x2000205
-    368c:	04 0a 16 00 	.long 0x160a04
+    3664:	03 5e 2e 05 	.long 0x52e5e03
+    3668:	09 00 02 04 	.long 0x4020009
+    366c:	0a 03 fb 7d 	stvexbx v15,r27,r0
+    3670:	20 05 02 00 	.long 0x20520
+    3674:	02 04 0a 03 	.long 0x30a0402
+    3678:	a7 02 20 05 	.long 0x52002a7
+    367c:	03 00 02 04 	.long 0x4020003
 			return RESUME_GUEST;
-    3690:	02 04 0a 13 	vavgub  v24,v10,v0
-    3694:	05 0f 00 02 	.long 0x2000f05
-    3698:	04 0a 06 01 	.long 0x1060a04
-    369c:	05 02 00 02 	.long 0x2000205
+    3680:	0a 06 21 05 	.long 0x521060a
+    3684:	0d 00 02 04 	.long 0x402000d
+    3688:	0a 03 54 01 	.long 0x154030a
+    368c:	05 02 00 02 	.long 0x2000205
 		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
-    36a0:	04 0a 06 21 	subfic  r8,r6,2564
-    36a4:	00 02 04 0a 	tdlti   r4,512
+    3690:	04 0a 16 00 	.long 0x160a04
+    3694:	02 04 0a 13 	vavgub  v24,v10,v0
 		pgflags |= _PAGE_DIRTY;
-    36a8:	14 05 06 00 	.long 0x60514
-    36ac:	02 04 0a 06 	.long 0x60a0402
+    3698:	05 0f 00 02 	.long 0x2000f05
+    369c:	04 0a 06 01 	.long 0x1060a04
 	if (writing)
-    36b0:	01 05 07 00 	.long 0x70501
-    36b4:	02 04 0a 21 	subfic  r8,r10,1026
-    36b8:	05 09 00 02 	.long 0x2000905
-    36bc:	04 0a 03 fb 	std     r24,2564(r3)
+    36a0:	05 02 00 02 	.long 0x2000205
+    36a4:	04 0a 06 21 	subfic  r8,r6,2564
+    36a8:	00 02 04 0a 	tdlti   r4,512
+    36ac:	14 05 06 00 	.long 0x60514
 			if (!gpte_p->may_execute) {
-    36c0:	7d 20 00 02 	.long 0x200207d
-    36c4:	04 0a 2e 05 	.long 0x52e0a04
+    36b0:	02 04 0a 06 	.long 0x60a0402
+    36b4:	01 05 07 00 	.long 0x70501
 	vcpu->arch.fault_dsisr = flags;
-    36c8:	06 00 02 04 	.long 0x4020006
+    36b8:	02 04 0a 21 	subfic  r8,r10,1026
 				flags |= SRR1_ISI_N_G_OR_CIP;
-    36cc:	0a 03 84 02 	.long 0x284030a
+    36bc:	05 09 00 02 	.long 0x2000905
 	vcpu->arch.fault_dsisr = flags;
-    36d0:	01 05 02 00 	.long 0x20501
+    36c0:	04 0a 03 fb 	std     r24,2564(r3)
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    36d4:	02 04 0a 06 	.long 0x60a0402
-    36d8:	21 00 02 04 	.long 0x4020021
-    36dc:	0a 15 05 08 	tdi     0,r5,5386
-    36e0:	00 02 04 0a 	tdlti   r4,512
-    36e4:	03 bd 7f 01 	.long 0x17fbd03
-    36e8:	05 02 00 02 	.long 0x2000205
-    36ec:	04 0a 15 00 	.long 0x150a04
-    36f0:	02 04 0a 13 	vavgub  v24,v10,v0
-    36f4:	00 02 04 0a 	tdlti   r4,512
-    36f8:	14 05 21 00 	.long 0x210514
-    36fc:	02 04 0a 03 	.long 0x30a0402
+    36c4:	7d 20 00 02 	.long 0x200207d
+    36c8:	04 0a 2e 05 	.long 0x52e0a04
+    36cc:	06 00 02 04 	.long 0x4020006
+    36d0:	0a 03 84 02 	.long 0x284030a
+    36d4:	01 05 02 00 	.long 0x20501
+    36d8:	02 04 0a 06 	.long 0x60a0402
+    36dc:	21 00 02 04 	.long 0x4020021
+    36e0:	0a 15 05 08 	tdi     0,r5,5386
+    36e4:	00 02 04 0a 	tdlti   r4,512
+    36e8:	03 bd 7f 01 	.long 0x17fbd03
+    36ec:	05 02 00 02 	.long 0x2000205
 		return kmalloc_trace(
-    3700:	b3 7e 01 05 	.long 0x5017eb3
+    36f0:	04 0a 15 00 	.long 0x150a04
 	n_gpa &= ~((1UL << shift) - 1);
-    3704:	02 00 02 04 	.long 0x4020002
-    3708:	0a 14 00 02 	.long 0x200140a
-    370c:	04 0a 06 01 	.long 0x1060a04
+    36f4:	02 04 0a 13 	vavgub  v24,v10,v0
+    36f8:	00 02 04 0a 	tdlti   r4,512
+    36fc:	14 05 21 00 	.long 0x210514
 	level = kvmppc_radix_shift_to_level(shift);
-    3710:	00 02 04 0a 	tdlti   r4,512
-    3714:	06 03 cc 01 	.long 0x1cc0306
+    3700:	02 04 0a 03 	.long 0x30a0402
+    3704:	b3 7e 01 05 	.long 0x5017eb3
 	n_gpa &= ~((1UL << shift) - 1);
-    3718:	01 05 05 00 	.long 0x50501
-    371c:	02 04 0a 06 	.long 0x60a0402
-    3720:	01 00 02 04 	.long 0x4020001
-    3724:	0a 20 05 02 	.long 0x205200a
-    3728:	06 23 14 05 	.long 0x5142306
-	if (unlikely(!n_rmap))
-    372c:	08 06 01 20 	subfic  r0,r1,1544
-    3730:	05 02 06 5a 	rlmi.   r6,r16,r0,8,2
+    3708:	02 00 02 04 	.long 0x4020002
+    370c:	0a 14 00 02 	.long 0x200140a
+    3710:	04 0a 06 01 	.long 0x1060a04
+    3714:	00 02 04 0a 	tdlti   r4,512
+    3718:	06 03 cc 01 	.long 0x1cc0306
+	if (!n_rmap)
+    371c:	01 05 05 00 	.long 0x50501
+    3720:	02 04 0a 06 	.long 0x60a0402
 	n_rmap = kzalloc(sizeof(*n_rmap), GFP_KERNEL);
-    3734:	06 01 06 03 	.long 0x3060106
-	if (unlikely(!n_rmap))
-    3738:	3c 01 05 05 	.long 0x505013c
+    3724:	01 00 02 04 	.long 0x4020001
+	if (!n_rmap)
+    3728:	0a 20 05 02 	.long 0x205200a
 		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
-    373c:	06 01 20 20 	subfic  r1,r0,262
+    372c:	06 23 14 05 	.long 0x5142306
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
-    3740:	04 07 05 13 	vsrv    v24,v5,v0
+    3730:	08 06 01 20 	subfic  r0,r1,1544
 	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
-    3744:	06 03 d9 7c 	mtdcrx  r25,r6
-    3748:	20 05 02 03 	.long 0x3020520
-    374c:	09 01 05 14 	.long 0x14050109
-    3750:	03 71 01 05 	.long 0x5017103
-    3754:	02 14 04 08 	tdi     0,r4,5122
-    3758:	05 16 03 94 	stwu    r0,5637(r3)
+    3734:	05 02 06 5a 	rlmi.   r6,r16,r0,8,2
+    3738:	06 01 06 03 	.long 0x3060106
+    373c:	3c 01 05 05 	.long 0x505013c
+    3740:	06 01 20 20 	subfic  r1,r0,262
+    3744:	04 07 05 13 	vsrv    v24,v5,v0
+    3748:	06 03 d9 7c 	mtdcrx  r25,r6
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
-    375c:	7c 01 05 02 	.long 0x205017c
+    374c:	20 05 02 03 	.long 0x3020520
 		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
-    3760:	14 06 01 04 	.long 0x4010614
+    3750:	09 01 05 14 	.long 0x14050109
 	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
-    3764:	07 05 17 03 	.long 0x3170507
-    3768:	ea 03 01 05 	.long 0x50103ea
+    3754:	03 71 01 05 	.long 0x5017103
+    3758:	02 14 04 08 	tdi     0,r4,5122
 	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
-    376c:	05 03 0d 20 	subfic  r0,r13,773
-    3770:	05 02 06 30 	addic   r0,r6,517
+    375c:	05 16 03 94 	stwu    r0,5637(r3)
+    3760:	7c 01 05 02 	.long 0x205017c
 	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
-    3774:	05 17 06 01 	.long 0x1061705
-    3778:	04 01 05 0b 	tdnei   r5,260
-    377c:	03 9c 03 20 	subfic  r0,r3,-25597
+    3764:	14 06 01 04 	.long 0x4010614
+    3768:	07 05 17 03 	.long 0x3170507
+    376c:	ea 03 01 05 	.long 0x50103ea
 	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
-    3780:	04 08 05 1d 	mulli   r8,r5,2052
-    3784:	06 03 e4 78 	rldicr  r4,r7,32,12
+    3770:	05 03 0d 20 	subfic  r0,r13,773
+    3774:	05 02 06 30 	addic   r0,r6,517
 	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
-    3788:	2e 05 02 14 	.long 0x1402052e
-    378c:	05 09 06 01 	.long 0x1060905
-    3790:	90 04 01 05 	.long 0x5010490
-    3794:	21 03 9a 07 	.long 0x79a0321
+    3778:	05 17 06 01 	.long 0x1061705
+    377c:	04 01 05 0b 	tdnei   r5,260
+    3780:	03 9c 03 20 	subfic  r0,r3,-25597
+    3784:	04 08 05 1d 	mulli   r8,r5,2052
 	kfree(n_rmap);
-    3798:	01 3c 05 02 	.long 0x2053c01
-    379c:	06 03 18 01 	.long 0x1180306
-    37a0:	00 02 04 03 	attn
+    3788:	06 03 e4 78 	rldicr  r4,r7,32,12
+    378c:	2e 05 02 14 	.long 0x1402052e
+    3790:	05 09 06 01 	.long 0x1060905
 	if (ret == -EAGAIN)
-    37a4:	06 2e 05 03 	.long 0x3052e06
-    37a8:	06 2f 05 0d 	twgti   r5,12038
-    37ac:	03 54 01 05 	.long 0x5015403
-    37b0:	02 16 13 05 	.long 0x5131602
-    37b4:	2a 06 16 05 	.long 0x516062a
-    37b8:	09 03 fb 7d 	.long 0x7dfb0309
-    37bc:	20 05 0f 03 	.long 0x30f0520
-    37c0:	81 02 20 05 	.long 0x5200281
-    37c4:	02 06 21 14 	.long 0x14210602
-    37c8:	05 06 06 01 	.long 0x1060605
-    37cc:	05 07 21 05 	.long 0x5210705
-    37d0:	09 03 fb 7d 	.long 0x7dfb0309
+    3794:	90 04 01 05 	.long 0x5010490
+    3798:	21 03 9a 07 	.long 0x79a0321
+    379c:	01 3c 05 02 	.long 0x2053c01
+    37a0:	06 03 18 01 	.long 0x1180306
+    37a4:	00 02 04 03 	attn
+    37a8:	06 2e 05 03 	.long 0x3052e06
+    37ac:	06 2f 05 0d 	twgti   r5,12038
+    37b0:	03 54 01 05 	.long 0x5015403
+    37b4:	02 16 13 05 	.long 0x5131602
+    37b8:	2a 06 16 05 	.long 0x516062a
+    37bc:	09 03 fb 7d 	.long 0x7dfb0309
+    37c0:	20 05 0f 03 	.long 0x30f0520
 	kvmhv_invalidate_shadow_pte(vcpu, gp, n_gpa, NULL);
-    37d4:	20 05 06 03 	.long 0x3060520
-    37d8:	84 02 2e 05 	.long 0x52e0284
-    37dc:	02 06 21 15 	.long 0x15210602
-    37e0:	05 08 03 bd 	stmw    r8,2053(r3)
-    37e4:	7f 01 05 02 	.long 0x205017f
+    37c4:	81 02 20 05 	.long 0x5200281
+    37c8:	02 06 21 14 	.long 0x14210602
+    37cc:	05 06 06 01 	.long 0x1060605
+    37d0:	05 07 21 05 	.long 0x5210705
+    37d4:	09 03 fb 7d 	.long 0x7dfb0309
 	return RESUME_GUEST;
-    37e8:	15 13 14 05 	.long 0x5141315
-    37ec:	21 03 b3 7e 	.long 0x7eb30321
+    37d8:	20 05 06 03 	.long 0x3060520
+    37dc:	84 02 2e 05 	.long 0x52e0284
 	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    37f0:	01 05 02 14 	.long 0x14020501
+    37e0:	02 06 21 15 	.long 0x15210602
 		if (PMD_SHIFT < l1_shift)
-    37f4:	06 01 06 03 	.long 0x3060106
+    37e4:	05 08 03 bd 	stmw    r8,2053(r3)
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    37f8:	cc 01 01 05 	.long 0x50101cc
-    37fc:	05 06 01 20 	subfic  r0,r1,1541
+    37e8:	7f 01 05 02 	.long 0x205017f
+    37ec:	15 13 14 05 	.long 0x5141315
 		if (PMD_SHIFT < l1_shift)
-    3800:	05 02 03 db 	stfd    f24,517(r3)
+    37f0:	21 03 b3 7e 	.long 0x7eb30321
 	if (shift == PUD_SHIFT)
-    3804:	00 20 20 4a 	b       fffffffffe205804 <kvmhv_nested_next_lpid+0xfffffffffe201d2c>
-    3808:	3c 20 20 20 	subfic  r1,r0,8252
+    37f4:	01 05 02 14 	.long 0x14020501
+    37f8:	06 01 06 03 	.long 0x3060106
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    380c:	20 20 05 01 	.long 0x1052020
+    37fc:	cc 01 01 05 	.long 0x50101cc
 		if (PMD_SHIFT < l1_shift)
-    3810:	3e 05 03 06 	.long 0x603053e
+    3800:	05 06 01 20 	subfic  r0,r1,1541
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3814:	03 67 90 04 	.long 0x4906703
+    3804:	05 02 03 db 	stfd    f24,517(r3)
 	if (shift == PUD_SHIFT)
-    3818:	18 05 1d 03 	.long 0x31d0518
+    3808:	00 20 20 4a 	b       fffffffffe205808 <kvmhv_nested_next_lpid+0xfffffffffe201d40>
 	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    381c:	f2 79 01 05 	.long 0x50179f2
+    380c:	3c 20 20 20 	subfic  r1,r0,8252
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    3820:	02 15 14 05 	.long 0x5141502
+    3810:	20 20 05 01 	.long 0x1052020
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3824:	15 06 19 05 	.long 0x5190615
+    3814:	3e 05 03 06 	.long 0x603053e
 	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
-    3828:	2d 82 05 15 	.long 0x1505822d
+    3818:	03 67 90 04 	.long 0x4906703
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    382c:	20 05 2d 20 	subfic  r1,r13,1312
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    3830:	05 02 03 79 	rldicr. r3,r8,0,8
+    381c:	18 05 1d 03 	.long 0x31d0518
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3834:	82 06 03 0a 	tdlti   r3,1666
+    3820:	f2 79 01 05 	.long 0x50179f2
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
+    3824:	02 15 14 05 	.long 0x5141502
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    3838:	58 06 01 04 	.long 0x4010658
+    3828:	15 06 19 05 	.long 0x5190615
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    383c:	01 05 03 06 	.long 0x6030501
+    382c:	2d 82 05 15 	.long 0x1505822d
 	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
-    3840:	03 80 06 01 	.long 0x1068003
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    3844:	06 4a 3c 20 	subfic  r1,r28,18950
+    3830:	20 05 2d 20 	subfic  r1,r13,1312
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3848:	20 05 01 03 	.long 0x3010520
+    3834:	05 02 03 79 	rldicr. r3,r8,0,8
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
+    3838:	82 06 03 0a 	tdlti   r3,1666
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    384c:	18 ac 06 03 	.long 0x306ac18
+    383c:	58 06 01 04 	.long 0x4010658
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    3850:	29 74 06 4a 	bl      fffffffffe06ac78 <kvmhv_nested_next_lpid+0xfffffffffe0671a0>
+    3840:	01 05 03 06 	.long 0x6030501
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3854:	05 05 32 05 	.long 0x5320505
+    3844:	03 80 06 01 	.long 0x1068003
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    3858:	01 1c 05 02 	.long 0x2051c01
+    3848:	06 4a 3c 20 	subfic  r1,r28,18950
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
-    385c:	06 3d 13 14 	.long 0x14133d06
+    384c:	20 05 01 03 	.long 0x3010520
 	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
-    3860:	05 05 06 01 	.long 0x1060505
-    3864:	05 02 06 22 	subfic  r16,r6,517
+    3850:	18 ac 06 03 	.long 0x306ac18
+    3854:	29 74 06 4a 	bl      fffffffffe06ac7c <kvmhv_nested_next_lpid+0xfffffffffe0671b4>
 	pte = __pte(pte_val(pte) & ~perm);
-    3868:	05 0d 06 2e 	cmpwi   cr4,r6,3333
+    3858:	05 05 32 05 	.long 0x5320505
 	if (shift > l1_shift) {
-    386c:	05 1a 21 05 	.long 0x5211a05
+    385c:	01 1c 05 02 	.long 0x2051c01
 	pte = __pte(pte_val(pte) & ~perm);
-    3870:	1d 22 20 05 	.long 0x520221d
-    3874:	06 1d 05 0c 	twi     0,r5,7430
-    3878:	23 05 06 2b 	cmplwi  cr6,r6,1315
-    387c:	05 02 06 21 	subfic  r8,r6,517
-    3880:	05 0a 06 01 	.long 0x1060a05
-    3884:	05 02 06 22 	subfic  r16,r6,517
-    3888:	13 14 05 0d 	twgti   r5,5139
-    388c:	01 04 13 05 	.long 0x5130401
-    3890:	02 06 03 d7 	stfsu   f24,1538(r3)
-    3894:	79 66 04 01 	.long 0x1046679
+    3860:	06 3d 13 14 	.long 0x14133d06
+    3864:	05 05 06 01 	.long 0x1060505
+    3868:	05 02 06 22 	subfic  r16,r6,517
+    386c:	05 0d 06 2e 	cmpwi   cr4,r6,3333
+    3870:	05 1a 21 05 	.long 0x5211a05
+    3874:	1d 22 20 05 	.long 0x520221d
+    3878:	06 1d 05 0c 	twi     0,r5,7430
+    387c:	23 05 06 2b 	cmplwi  cr6,r6,1315
+    3880:	05 02 06 21 	subfic  r8,r6,517
+    3884:	05 0a 06 01 	.long 0x1060a05
 	if (shift > l1_shift) {
-    3898:	05 0f 03 fb 	stdu    r24,3844(r3)
+    3888:	05 02 06 22 	subfic  r16,r6,517
 	level = kvmppc_radix_shift_to_level(shift);
-    389c:	05 4a 05 12 	vsrq    v16,v5,v9
+    388c:	13 14 05 0d 	twgti   r5,5139
 	if (shift == PUD_SHIFT)
-    38a0:	03 d0 7d 2e 	cmpdi   cr4,r29,-12285
+    3890:	01 04 13 05 	.long 0x5130401
 	pte = __pte(pte_val(pte) & ~perm);
-    38a4:	82 05 03 00 	.long 0x30582
+    3894:	02 06 03 d7 	stfsu   f24,1538(r3)
 	if (shift == PUD_SHIFT)
-    38a8:	02 04 02 06 	.long 0x6020402
-    38ac:	03 df 02 01 	.long 0x102df03
-    38b0:	00 02 04 02 	attn
-    38b4:	13 05 0d 00 	.long 0xd0513
+    3898:	79 66 04 01 	.long 0x1046679
+    389c:	05 0f 03 fb 	stdu    r24,3844(r3)
+    38a0:	05 4a 05 12 	vsrq    v16,v5,v9
+    38a4:	03 d0 7d 2e 	cmpdi   cr4,r29,-12285
 	if (shift == PMD_SHIFT)
-    38b8:	02 04 02 03 	.long 0x3020402
-    38bc:	60 01 05 02 	.long 0x2050160
-    38c0:	00 02 04 02 	attn
+    38a8:	82 05 03 00 	.long 0x30582
+    38ac:	02 04 02 06 	.long 0x6020402
+    38b0:	03 df 02 01 	.long 0x102df03
 	if (shift == PAGE_SHIFT)
-    38c4:	15 04 15 05 	.long 0x5150415
-    38c8:	22 00 02 04 	.long 0x4020022
+    38b4:	00 02 04 02 	attn
+    38b8:	13 05 0d 00 	.long 0xd0513
 	WARN_ON_ONCE(1);
-    38cc:	02 03 92 7a 	rldicl  r18,r20,32,12
+    38bc:	02 04 02 03 	.long 0x3020402
 			vcpu->arch.fault_gpa = fault_addr;
-    38d0:	01 05 02 00 	.long 0x20501
-    38d4:	02 04 02 14 	.long 0x14020402
+    38c0:	60 01 05 02 	.long 0x2050160
+    38c4:	00 02 04 02 	attn
 			flags |= DSISR_PRTABLE_FAULT;
-    38d8:	05 09 00 02 	.long 0x2000905
+    38c8:	15 04 15 05 	.long 0x5150415
 			vcpu->arch.fault_gpa = fault_addr;
-    38dc:	04 02 01 04 	.long 0x4010204
-    38e0:	01 05 12 00 	.long 0x120501
-    38e4:	02 04 02 06 	.long 0x6020402
-    38e8:	03 88 06 01 	.long 0x1068803
-    38ec:	04 15 05 09 	tdgti   r5,5380
+    38cc:	22 00 02 04 	.long 0x4020022
+    38d0:	02 03 92 7a 	rldicl  r18,r20,32,12
+    38d4:	01 05 02 00 	.long 0x20501
+    38d8:	02 04 02 14 	.long 0x14020402
+    38dc:	05 09 00 02 	.long 0x2000905
 			kvmppc_core_queue_data_storage(vcpu, ea,
-    38f0:	00 02 04 02 	attn
-    38f4:	06 03 f8 79 	rldicr  r24,r15,32,12
-    38f8:	3c 00 02 04 	.long 0x402003c
-    38fc:	02 01 00 02 	.long 0x2000102
-    3900:	04 02 01 00 	.long 0x10204
+    38e0:	04 02 01 04 	.long 0x4010204
+    38e4:	01 05 12 00 	.long 0x120501
+    38e8:	02 04 02 06 	.long 0x6020402
+    38ec:	03 88 06 01 	.long 0x1068803
+    38f0:	04 15 05 09 	tdgti   r5,5380
 			return RESUME_GUEST;
-    3904:	02 04 02 01 	.long 0x1020402
-    3908:	00 02 04 02 	attn
-    390c:	01 00 02 04 	.long 0x4020001
-    3910:	02 01 00 02 	.long 0x2000102
-    3914:	04 02 01 00 	.long 0x10204
-    3918:	02 04 02 01 	.long 0x1020402
-    391c:	00 02 04 02 	attn
-    3920:	01 00 02 04 	.long 0x4020001
-    3924:	02 01 00 02 	.long 0x2000102
-    3928:	04 02 01 00 	.long 0x10204
-    392c:	02 04 02 20 	subfic  r0,r2,1026
+    38f4:	00 02 04 02 	attn
+    38f8:	06 03 f8 79 	rldicr  r24,r15,32,12
+    38fc:	3c 00 02 04 	.long 0x402003c
+    3900:	02 01 00 02 	.long 0x2000102
+    3904:	04 02 01 00 	.long 0x10204
+    3908:	02 04 02 01 	.long 0x1020402
+    390c:	00 02 04 02 	attn
+    3910:	01 00 02 04 	.long 0x4020001
+    3914:	02 01 00 02 	.long 0x2000102
+    3918:	04 02 01 00 	.long 0x10204
+    391c:	02 04 02 01 	.long 0x1020402
 			flags |= DSISR_UNSUPP_MMU;
-    3930:	00 02 04 02 	attn
-    3934:	01 00 02 04 	.long 0x4020001
-    3938:	02 01 00 02 	.long 0x2000102
-    393c:	04 02 01 04 	.long 0x4010204
+    3920:	00 02 04 02 	attn
+    3924:	01 00 02 04 	.long 0x4020001
+    3928:	02 01 00 02 	.long 0x2000102
+    392c:	04 02 01 00 	.long 0x10204
 			flags |= DSISR_NOHPTE;
-    3940:	13 05 01 00 	.long 0x10513
-    3944:	02 04 02 10 	vavgub  v0,v2,v0
-    3948:	05 02 00 02 	.long 0x2000205
-    394c:	04 02 14 05 	.long 0x5140204
+    3930:	02 04 02 20 	subfic  r0,r2,1026
+    3934:	00 02 04 02 	attn
+    3938:	01 00 02 04 	.long 0x4020001
+    393c:	02 01 00 02 	.long 0x2000102
 		if (PMD_SHIFT < l1_shift)
-    3950:	03 00 02 04 	.long 0x4020003
-    3954:	02 03 09 01 	.long 0x1090302
-    3958:	05 01 00 02 	.long 0x2000105
-    395c:	04 02 03 51 	rlwimi  r3,r8,0,8,2
+    3940:	04 02 01 04 	.long 0x4010204
+    3944:	13 05 01 00 	.long 0x10513
+    3948:	02 04 02 10 	vavgub  v0,v2,v0
+    394c:	05 02 00 02 	.long 0x2000205
 			actual_shift = PMD_SHIFT;
-    3960:	01 05 02 00 	.long 0x20501
+    3950:	04 02 14 05 	.long 0x5140204
 		mask = (1UL << shift) - (1UL << actual_shift);
-    3964:	02 04 02 14 	.long 0x14020402
+    3954:	03 00 02 04 	.long 0x4020003
 	level = kvmppc_radix_shift_to_level(shift);
-    3968:	00 02 04 02 	attn
+    3958:	02 03 09 01 	.long 0x1090302
 		mask = (1UL << shift) - (1UL << actual_shift);
-    396c:	14 00 02 04 	.long 0x4020014
+    395c:	05 01 00 02 	.long 0x2000105
 	if (shift == PUD_SHIFT)
-    3970:	02 44 00 02 	.long 0x2004402
+    3960:	04 02 03 51 	rlwimi  r3,r8,0,8,2
 		mask = (1UL << shift) - (1UL << actual_shift);
-    3974:	04 02 06 01 	.long 0x1060204
+    3964:	01 05 02 00 	.long 0x20501
 		shift = actual_shift;
-    3978:	04 15 05 09 	tdgti   r5,5380
+    3968:	02 04 02 14 	.long 0x14020402
 		pte = __pte(pte_val(pte) | (gpa & mask));
-    397c:	00 02 04 02 	attn
-    3980:	06 03 1a 01 	.long 0x11a0306
-    3984:	00 02 04 02 	attn
-    3988:	01 00 02 04 	.long 0x4020001
-    398c:	02 01 00 02 	.long 0x2000102
-    3990:	04 02 01 00 	.long 0x10204
-    3994:	02 04 02 01 	.long 0x1020402
-    3998:	00 02 04 02 	attn
-    399c:	20 00 02 04 	.long 0x4020020
-    39a0:	02 01 00 02 	.long 0x2000102
-    39a4:	04 02 06 01 	.long 0x1060204
-    39a8:	04 01 05 02 	.long 0x2050104
+    396c:	00 02 04 02 	attn
+    3970:	14 00 02 04 	.long 0x4020014
+    3974:	02 44 00 02 	.long 0x2004402
+    3978:	04 02 06 01 	.long 0x1060204
+    397c:	04 15 05 09 	tdgti   r5,5380
+    3980:	00 02 04 02 	attn
+    3984:	06 03 1a 01 	.long 0x11a0306
+    3988:	00 02 04 02 	attn
+    398c:	01 00 02 04 	.long 0x4020001
+    3990:	02 01 00 02 	.long 0x2000102
+    3994:	04 02 01 00 	.long 0x10204
+    3998:	02 04 02 01 	.long 0x1020402
 		shift = actual_shift;
-    39ac:	00 02 04 02 	attn
+    399c:	00 02 04 02 	attn
 	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    39b0:	06 03 ed 05 	.long 0x5ed0306
-    39b4:	01 00 02 04 	.long 0x4020001
-    39b8:	02 13 00 02 	.long 0x2001302
-    39bc:	04 02 14 00 	.long 0x140204
+    39a0:	20 00 02 04 	.long 0x4020020
+    39a4:	02 01 00 02 	.long 0x2000102
+    39a8:	04 02 06 01 	.long 0x1060204
+    39ac:	04 01 05 02 	.long 0x2050104
 		ret = 0;
-    39c0:	02 04 02 01 	.long 0x1020402
-    39c4:	00 02 04 02 	attn
-    39c8:	06 2e 2e 20 	subfic  r1,r14,11782
-    39cc:	05 2a 03 6d 	xoris   r3,r8,10757
+    39b0:	00 02 04 02 	attn
+    39b4:	06 03 ed 05 	.long 0x5ed0306
+    39b8:	01 00 02 04 	.long 0x4020001
+    39bc:	02 13 00 02 	.long 0x2001302
 	bool kvm_ro = false;
-    39d0:	2e 05 09 03 	.long 0x309052e
-    39d4:	cc 7d 20 05 	.long 0x5207dcc
-    39d8:	02 03 c7 02 	.long 0x2c70302
-    39dc:	20 05 03 06 	.long 0x6030520
-    39e0:	21 05 0d 03 	.long 0x30d0521
-    39e4:	63 01 05 02 	.long 0x2050163
-    39e8:	15 13 13 13 	mtvsrbmi v24,4903
+    39c0:	04 02 14 00 	.long 0x140204
+    39c4:	02 04 02 01 	.long 0x1020402
+    39c8:	00 02 04 02 	attn
+    39cc:	06 2e 2e 20 	subfic  r1,r14,11782
+    39d0:	05 2a 03 6d 	xoris   r3,r8,10757
+    39d4:	2e 05 09 03 	.long 0x309052e
+    39d8:	cc 7d 20 05 	.long 0x5207dcc
 		unsigned int actual_shift = PAGE_SHIFT;
-    39ec:	14 13 13 05 	.long 0x5131314
-    39f0:	21 03 c9 7d 	.long 0x7dc90321
-    39f4:	01 05 02 14 	.long 0x14020501
-    39f8:	05 0f 06 03 	.long 0x3060f05
-    39fc:	b0 02 01 05 	.long 0x50102b0
+    39dc:	02 03 c7 02 	.long 0x2c70302
+    39e0:	20 05 03 06 	.long 0x6030520
+    39e4:	21 05 0d 03 	.long 0x30d0521
+    39e8:	63 01 05 02 	.long 0x2050163
+    39ec:	15 13 13 13 	mtvsrbmi v24,4903
 	switch (level) {
-    3a00:	09 03 d0 7d 	.long 0x7dd00309
-    3a04:	2e 3c 05 02 	.long 0x2053c2e
-    3a08:	06 03 b6 02 	.long 0x2b60306
-    3a0c:	01 06 03 11 	bcdadd. v8,v3,v0,1
+    39f0:	14 13 13 05 	.long 0x5131314
+    39f4:	21 03 c9 7d 	.long 0x7dc90321
+    39f8:	01 05 02 14 	.long 0x14020501
+    39fc:	05 0f 06 03 	.long 0x3060f05
 	vcpu->arch.fault_dsisr = flags;
-    3a10:	01 05 05 03 	.long 0x3050501
-    3a14:	6f 20 05 03 	.long 0x305206f
+    3a00:	b0 02 01 05 	.long 0x50102b0
+    3a04:	09 03 d0 7d 	.long 0x7dd00309
 	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
-    3a18:	06 2f 06 01 	.long 0x1062f06
-    3a1c:	06 03 12 01 	.long 0x1120306
-    3a20:	05 02 3a 01 	.long 0x13a0205
-    3a24:	06 2e 05 03 	.long 0x3052e06
-    3a28:	06 3d 05 0d 	twgti   r5,15622
-    3a2c:	03 63 01 05 	.long 0x5016303
+    3a08:	2e 3c 05 02 	.long 0x2053c2e
+    3a0c:	06 03 b6 02 	.long 0x2b60306
+    3a10:	01 06 03 11 	bcdadd. v8,v3,v0,1
+    3a14:	01 05 05 03 	.long 0x3050501
+    3a18:	6f 20 05 03 	.long 0x305206f
+    3a1c:	06 2f 06 01 	.long 0x1062f06
 		ms->mmiowb_pending = 0;
-    3a30:	02 15 13 13 	vavgsb  v24,v19,v2
-    3a34:	05 2a 06 16 	.long 0x16062a05
+    3a20:	06 03 12 01 	.long 0x1120306
+    3a24:	05 02 3a 01 	.long 0x13a0205
 		mmiowb();
-    3a38:	05 09 03 cc 	lfdu    f0,2309(r3)
-    3a3c:	7d 20 05 0f 	twnei   r5,8317
+    3a28:	06 2e 05 03 	.long 0x3052e06
+    3a2c:	06 3d 05 0d 	twgti   r5,15622
 		return PMD_SHIFT;
-    3a40:	03 b0 02 20 	subfic  r0,r2,-20477
+    3a30:	03 63 01 05 	.long 0x5016303
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
-    3a44:	05 02 06 21 	subfic  r8,r6,517
-    3a48:	14 13 13 05 	.long 0x5131314
-    3a4c:	21 03 c9 7d 	.long 0x7dc90321
+    3a34:	02 15 13 13 	vavgsb  v24,v19,v2
+    3a38:	05 2a 06 16 	.long 0x16062a05
+    3a3c:	05 09 03 cc 	lfdu    f0,2309(r3)
 		return PMD_SHIFT;
-    3a50:	01 05 02 14 	.long 0x14020501
-    3a54:	05 09 06 01 	.long 0x1060905
-    3a58:	3c 05 02 06 	.long 0x602053c
-    3a5c:	03 b6 02 01 	.long 0x102b603
-    3a60:	05 05 06 01 	.long 0x1060505
-    3a64:	05 02 03 11 	vsrq    v8,v3,v0
-    3a68:	2e 06 03 73 	andi.   r3,r24,1582
-    3a6c:	2e 05 08 03 	.long 0x308052e
+    3a40:	7d 20 05 0f 	twnei   r5,8317
+    3a44:	03 b0 02 20 	subfic  r0,r2,-20477
+    3a48:	05 02 06 21 	subfic  r8,r6,517
+    3a4c:	14 13 13 05 	.long 0x5131314
+    3a50:	21 03 c9 7d 	.long 0x7dc90321
+    3a54:	01 05 02 14 	.long 0x14020501
+    3a58:	05 09 06 01 	.long 0x1060905
+    3a5c:	3c 05 02 06 	.long 0x602053c
 		ms->mmiowb_pending = 0;
-    3a70:	8b 7f 01 05 	.long 0x5017f8b
-    3a74:	02 15 13 14 	.long 0x14131502
+    3a60:	03 b6 02 01 	.long 0x102b603
+    3a64:	05 05 06 01 	.long 0x1060505
 		mmiowb();
-    3a78:	05 21 03 b3 	sth     r24,8453(r3)
-    3a7c:	7e 01 05 02 	.long 0x205017e
-    3a80:	14 05 09 06 	.long 0x6090514
-    3a84:	01 2e 2e 05 	.long 0x52e2e01
-    3a88:	02 06 03 cc 	lfdu    f0,1538(r3)
-    3a8c:	01 01 05 05 	.long 0x5050101
-    3a90:	06 01 20 20 	subfic  r1,r0,262
-    3a94:	05 06 03 e7 	psq_lu  f24,1541(r3),0,0
-    3a98:	00 01 05 08 	tdi     0,r5,256
-    3a9c:	03 9e 7f 20 	subfic  r3,r31,-25085
+    3a68:	05 02 03 11 	vsrq    v8,v3,v0
+    3a6c:	2e 06 03 73 	andi.   r3,r24,1582
+    3a70:	2e 05 08 03 	.long 0x308052e
+    3a74:	8b 7f 01 05 	.long 0x5017f8b
+    3a78:	02 15 13 14 	.long 0x14131502
+    3a7c:	05 21 03 b3 	sth     r24,8453(r3)
+    3a80:	7e 01 05 02 	.long 0x205017e
+    3a84:	14 05 09 06 	.long 0x6090514
+    3a88:	01 2e 2e 05 	.long 0x52e2e01
+    3a8c:	02 06 03 cc 	lfdu    f0,1538(r3)
 }
-    3aa0:	20 20 05 06 	.long 0x6052020
-    3aa4:	03 e2 00 20 	subfic  r0,r0,-7677
+    3a90:	01 01 05 05 	.long 0x5050101
+    3a94:	06 01 20 20 	subfic  r1,r0,262
 		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
-    3aa8:	05 02 06 03 	.long 0x3060205
-    3aac:	9c 7f 20 14 	.long 0x14207f9c
-    3ab0:	05 08 06 01 	.long 0x1060805
+    3a98:	05 06 03 e7 	psq_lu  f24,1541(r3),0,0
+    3a9c:	00 01 05 08 	tdi     0,r5,256
+    3aa0:	03 9e 7f 20 	subfic  r3,r31,-25085
 		return -EINVAL;
-    3ab4:	05 02 06 3e 	addis   r16,r6,517
+    3aa4:	20 20 05 06 	.long 0x6052020
 		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
-    3ab8:	06 01 06 03 	.long 0x3060106
-    3abc:	e9 00 01 05 	.long 0x50100e9
-    3ac0:	05 06 01 04 	.long 0x4010605
+    3aa8:	03 e2 00 20 	subfic  r0,r0,-7677
+    3aac:	05 02 06 03 	.long 0x3060205
+    3ab0:	9c 7f 20 14 	.long 0x14207f9c
 		return -EINVAL;
-    3ac4:	07 05 13 06 	.long 0x6130507
-    3ac8:	03 ac 7c 3c 	addis   r3,r28,-21501
-    3acc:	05 02 03 09 	tdgti   r3,517
-    3ad0:	01 05 14 03 	.long 0x3140501
-    3ad4:	71 01 05 02 	.long 0x2050171
-{
-    3ad8:	14 04 08 05 	.long 0x5080414
-    3adc:	16 03 94 7c 	divweu  r4,r20,r0
-    3ae0:	01 05 02 14 	.long 0x14020501
-    3ae4:	06 01 04 07 	.long 0x7040106
-    3ae8:	05 17 03 ea 	ldu     r16,5892(r3)
-    3aec:	03 01 05 05 	.long 0x5050103
+    3ab4:	05 08 06 01 	.long 0x1060805
+    3ab8:	05 02 06 3e 	addis   r16,r6,517
+    3abc:	06 01 06 03 	.long 0x3060106
+    3ac0:	e9 00 01 05 	.long 0x50100e9
+    3ac4:	05 06 01 04 	.long 0x4010605
+{
+    3ac8:	07 05 13 06 	.long 0x6130507
+    3acc:	03 ac 7c 3c 	addis   r3,r28,-21501
+    3ad0:	05 02 03 09 	tdgti   r3,517
+    3ad4:	01 05 14 03 	.long 0x3140501
+    3ad8:	71 01 05 02 	.long 0x2050171
+    3adc:	14 04 08 05 	.long 0x5080414
 	int ret = lpid + 1;
-    3af0:	03 0d 20 05 	.long 0x5200d03
+    3ae0:	16 03 94 7c 	divweu  r4,r20,r0
 {
-    3af4:	02 06 30 05 	.long 0x5300602
-    3af8:	17 06 01 04 	.long 0x4010617
-    3afc:	01 05 0b 03 	.long 0x30b0501
-    3b00:	c9 03 20 04 	.long 0x42003c9
-    3b04:	08 05 1d 06 	.long 0x61d0508
-    3b08:	03 b7 78 2e 	cmpdi   cr4,r24,-18685
+    3ae4:	01 05 02 14 	.long 0x14020501
+    3ae8:	06 01 04 07 	.long 0x7040106
+    3aec:	05 17 03 ea 	ldu     r16,5892(r3)
+    3af0:	03 01 05 05 	.long 0x5050103
+    3af4:	03 0d 20 05 	.long 0x5200d03
+    3af8:	02 06 30 05 	.long 0x5300602
 	int ret = lpid + 1;
-    3b0c:	05 02 14 05 	.long 0x5140205
-    3b10:	09 06 01 90 	stw     r0,1545(r1)
-    3b14:	04 01 05 21 	subfic  r8,r5,260
+    3afc:	17 06 01 04 	.long 0x4010617
+    3b00:	01 05 0b 03 	.long 0x30b0501
+    3b04:	c9 03 20 04 	.long 0x42003c9
 	if (!idr_get_next(&kvm->arch.kvm_nested_guest_idr, &ret))
-    3b18:	03 c7 07 01 	.long 0x107c703
-    3b1c:	05 03 06 3d 	addis   r8,r6,773
-    3b20:	06 58 2e 06 	.long 0x62e5806
-    3b24:	03 7a 2e 06 	.long 0x62e7a03
-    3b28:	01 06 03 12 	bcdadd. v16,v3,v0,1
-    3b2c:	01 05 02 2c 	cmpwi   r2,1281
+    3b08:	08 05 1d 06 	.long 0x61d0508
+    3b0c:	03 b7 78 2e 	cmpdi   cr4,r24,-18685
+    3b10:	05 02 14 05 	.long 0x5140205
+    3b14:	09 06 01 90 	stw     r0,1545(r1)
+    3b18:	04 01 05 21 	subfic  r8,r5,260
+    3b1c:	03 c7 07 01 	.long 0x107c703
 	if (unlikely(ms->mmiowb_pending)) {
-    3b30:	01 06 01 05 	.long 0x5010601
+    3b20:	05 03 06 3d 	addis   r8,r6,773
 	struct mmiowb_state *ms = __mmiowb_state();
-    3b34:	1b 06 03 17 	.long 0x1703061b
+    3b24:	06 58 2e 06 	.long 0x62e5806
 	if (unlikely(ms->mmiowb_pending)) {
-    3b38:	01 05 0d 20 	subfic  r0,r13,1281
-    3b3c:	06 58 20 2e 	cmpdi   cr4,r0,22534
+    3b28:	03 7a 2e 06 	.long 0x62e7a03
+    3b2c:	01 06 03 12 	bcdadd. v16,v3,v0,1
 	ms->nesting_count--;
-    3b40:	20 2e 20 05 	.long 0x5202e20
-    3b44:	01 6a 74 20 	subfic  r3,r20,27137
-    3b48:	20 20 20 20 	subfic  r1,r0,8224
-    3b4c:	f2 06 03 de 	stfdu   f16,1778(r3)
-    3b50:	01 58 06 4a 	bl      fffffffffe069350 <kvmhv_nested_next_lpid+0xfffffffffe065878>
-    3b54:	05 02 06 59 	rlmi.   r6,r8,r0,8,2
-}
-    3b58:	14 04 10 05 	.long 0x5100414
-    3b5c:	15 03 f9 78 	.long 0x78f90315
-    3b60:	01 05 02 14 	.long 0x14020501
-    3b64:	06 01 04 01 	.long 0x1040106
+    3b30:	01 05 02 2c 	cmpwi   r2,1281
+    3b34:	01 06 01 05 	.long 0x5010601
+    3b38:	1b 06 03 17 	.long 0x1703061b
+    3b3c:	01 05 0d 20 	subfic  r0,r13,1281
+    3b40:	06 58 20 2e 	cmpdi   cr4,r0,22534
+    3b44:	20 2e 20 05 	.long 0x5202e20
+}
+    3b48:	01 6a 74 20 	subfic  r3,r20,27137
+    3b4c:	20 20 20 20 	subfic  r1,r0,8224
+    3b50:	f2 06 03 de 	stfdu   f16,1778(r3)
+    3b54:	01 58 06 4a 	bl      fffffffffe069354 <kvmhv_nested_next_lpid+0xfffffffffe06588c>
 	return ret;
-    3b68:	05 08 03 85 	lwzu    r8,2053(r3)
+    3b58:	05 02 06 59 	rlmi.   r6,r8,r0,8,2
 }
-    3b6c:	07 01 04 10 	vcmpnezb v0,v4,v0
-    3b70:	05 15 06 03 	.long 0x3061505
-    3b74:	f9 78 20 05 	.long 0x52078f9
-    3b78:	02 14 06 01 	.long 0x1061402
-    3b7c:	05 15 06 10 	evmhossiaaw r0,r6,r2
-    3b80:	05 02 14 05 	.long 0x5140205
-    3b84:	1c 06 01 20 	subfic  r0,r1,1564
-    3b88:	04 01 05 0c 	twi     0,r5,260
-    3b8c:	06 03 c2 06 	.long 0x6c20306
+    3b5c:	14 04 10 05 	.long 0x5100414
+    3b60:	15 03 f9 78 	.long 0x78f90315
+    3b64:	01 05 02 14 	.long 0x14020501
+    3b68:	06 01 04 01 	.long 0x1040106
+    3b6c:	05 08 03 85 	lwzu    r8,2053(r3)
+    3b70:	07 01 04 10 	vcmpnezb v0,v4,v0
+    3b74:	05 15 06 03 	.long 0x3061505
+    3b78:	f9 78 20 05 	.long 0x52078f9
+    3b7c:	02 14 06 01 	.long 0x1061402
 	if (unlikely(ms->mmiowb_pending)) {
-    3b90:	01 05 02 15 	.long 0x15020501
+    3b80:	05 15 06 10 	evmhossiaaw r0,r6,r2
 		ret = -1;
-    3b94:	05 0e 06 01 	.long 0x1060e05
-    3b98:	05 02 06 21 	subfic  r8,r6,517
+    3b84:	05 02 14 05 	.long 0x5140205
+    3b88:	1c 06 01 20 	subfic  r0,r1,1564
 	struct mmiowb_state *ms = __mmiowb_state();
-    3b9c:	13 13 13 13 	.long 0x13131313
+    3b8c:	04 01 05 0c 	twi     0,r5,260
 	if (unlikely(ms->mmiowb_pending)) {
-    3ba0:	14 05 13 03 	.long 0x3130514
-    3ba4:	81 7f 01 05 	.long 0x5017f81
+    3b90:	06 03 c2 06 	.long 0x6c20306
+    3b94:	01 05 02 15 	.long 0x15020501
 		ms->mmiowb_pending = 0;
-    3ba8:	02 14 05 0f 	twnei   r5,5122
-    3bac:	06 03 0f 01 	.long 0x10f0306
+    3b98:	05 0e 06 01 	.long 0x1060e05
+    3b9c:	05 02 06 21 	subfic  r8,r6,517
 		mmiowb();
-    3bb0:	05 05 03 fc 	.long 0xfc030505
-    3bb4:	00 20 05 02 	.long 0x2052000
+    3ba0:	13 13 13 13 	.long 0x13131313
+    3ba4:	14 05 13 03 	.long 0x3130514
 }
-    3bb8:	06 03 73 20 	subfic  r3,r19,774
-    3bbc:	05 13 03 85 	lwzu    r8,4869(r3)
-    3bc0:	7f 01 05 02 	.long 0x205017f
-    3bc4:	14 06 01 06 	.long 0x6010614
-    3bc8:	03 fa 00 01 	.long 0x100fa03
-    3bcc:	05 13 03 89 	lbz     r8,4869(r3)
-    3bd0:	7f 01 05 02 	.long 0x205017f
-    3bd4:	14 06 01 06 	.long 0x6010614
-    3bd8:	03 f6 00 01 	.long 0x100f603
-    3bdc:	05 13 03 8d 	lbzu    r8,4869(r3)
-    3be0:	7f 01 05 02 	.long 0x205017f
-    3be4:	14 06 01 06 	.long 0x6010614
-    3be8:	03 f2 00 01 	.long 0x100f203
-    3bec:	05 13 03 91 	stw     r8,4869(r3)
-    3bf0:	7f 01 05 02 	.long 0x205017f
-    3bf4:	14 06 01 06 	.long 0x6010614
-    3bf8:	03 f7 00 01 	.long 0x100f703
-    3bfc:	05 05 06 01 	.long 0x1060505
-    3c00:	2e 20 05 0b 	tdnei   r5,8238
-    3c04:	20 05 14 2e 	cmpwi   cr4,r20,1312
-    3c08:	05 22 3c 05 	.long 0x53c2205
-    3c0c:	2f 2e 05 1a 	.long 0x1a052e2f
-    3c10:	2f 05 0d 20 	subfic  r0,r13,1327
-    3c14:	05 03 06 03 	.long 0x3060305
-    3c18:	09 2e 05 14 	.long 0x14052e09
-    3c1c:	03 87 7f 01 	.long 0x17f8703
-    3c20:	05 02 14 06 	.long 0x6140205
-    3c24:	01 05 03 06 	.long 0x6030501
-    3c28:	03 f8 00 01 	.long 0x100f803
-    3c2c:	05 13 03 81 	lwz     r8,4869(r3)
-    3c30:	7f 01 05 02 	.long 0x205017f
-    3c34:	14 06 01 05 	.long 0x5010614
-    3c38:	03 06 03 fe 	.long 0xfe030603
-    3c3c:	00 01 05 09 	tdgti   r5,256
-    3c40:	06 20 20 20 	subfic  r1,r0,8198
-    3c44:	20 05 03 06 	.long 0x6030520
-    3c48:	2f 06 01 05 	.long 0x501062f
-    3c4c:	02 06 03 20 	subfic  r0,r3,1538
-    3c50:	01 05 05 06 	.long 0x6050501
-    3c54:	01 2e 05 09 	tdgti   r5,11777
-    3c58:	30 05 01 2f 	cmpwi   cr6,r1,1328
-    3c5c:	05 02 03 54 	rlwinm. r3,r0,0,8,2
-    3c60:	82 06 4a 04 	.long 0x44a0682
-    3c64:	06 06 03 aa 	lha     r16,1542(r3)
-    3c68:	79 2e 20 04 	.long 0x4202e79
-    3c6c:	01 05 03 06 	.long 0x6030501
-    3c70:	03 ea 06 2e 	cmpwi   cr4,r6,-5629
-    3c74:	05 0d 03 41 	bdnztl  so,4978 <kvmhv_nested_next_lpid+0xea0>
-    3c78:	01 05 02 14 	.long 0x14020501
-    3c7c:	13 13 05 03 	.long 0x3051313
-    3c80:	06 17 05 02 	.long 0x2051706
-    3c84:	1e 04 0b 03 	.long 0x30b041e
-    3c88:	8c 78 20 04 	.long 0x420788c
-    3c8c:	01 05 06 03 	.long 0x3060501
-    3c90:	f1 07 20 05 	.long 0x52007f1
-    3c94:	02 06 22 04 	.long 0x4220602
-    3c98:	06 05 1d 03 	.long 0x31d0506
-    3c9c:	cd 79 01 05 	.long 0x50179cd
-    3ca0:	02 14 06 2e 	cmpwi   cr4,r6,5122
-    3ca4:	04 01 06 03 	.long 0x3060104
-    3ca8:	b2 06 01 05 	.long 0x50106b2
-    3cac:	03 59 04 06 	.long 0x6045903
-    3cb0:	05 1d 03 f3 	xsmaxdp vs56,vs35,vs3
-    3cb4:	79 01 05 02 	.long 0x2050179
-    3cb8:	14 04 09 05 	.long 0x5090414
-    3cbc:	14 03 85 7e 	.long 0x7e850314
-    3cc0:	01 05 02 14 	.long 0x14020501
-    3cc4:	01 01 13 04 	.long 0x4130101
-    3cc8:	06 05 14 03 	.long 0x3140506
-    3ccc:	3a 01 05 02 	.long 0x205013a
-    3cd0:	14 04 0a 05 	.long 0x50a0414
-    3cd4:	14 03 e7 7e 	.long 0x7ee70314
-    3cd8:	01 05 02 14 	.long 0x14020501
-    3cdc:	05 05 06 14 	.long 0x14060505
-    3ce0:	05 03 06 30 	addic   r0,r6,773
-    3ce4:	05 02 15 05 	.long 0x5150205
-    3ce8:	13 06 01 04 	.long 0x4010613
-    3cec:	06 05 02 06 	.long 0x6020506
-    3cf0:	03 91 01 3c 	addis   r0,r1,-28413
-    3cf4:	04 0b 05 14 	.long 0x14050b04
-    3cf8:	03 4f 01 05 	.long 0x5014f03
-    3cfc:	02 14 01 01 	.long 0x1011402
-    3d00:	01 01 01 01 	.long 0x1010101
-    3d04:	01 01 01 20 	subfic  r0,r1,257
-    3d08:	01 01 01 01 	.long 0x1010101
-    3d0c:	01 01 20 01 	.long 0x1200101
-    3d10:	01 01 13 06 	.long 0x6130101
-    3d14:	01 04 06 06 	.long 0x6060401
-    3d18:	03 2f 01 06 	.long 0x6012f03
-    3d1c:	01 04 09 06 	.long 0x6090401
-    3d20:	03 43 01 06 	.long 0x6014303
-    3d24:	01 04 01 05 	.long 0x5010401
-    3d28:	03 06 03 83 	lwz     r24,1539(r3)
-    3d2c:	08 01 06 20 	subfic  r0,r6,264
-    3d30:	06 2f 04 06 	.long 0x6042f06
-    3d34:	05 1d 03 c9 	lfd     f8,7429(r3)
-    3d38:	79 01 05 02 	.long 0x2050179
-    3d3c:	14 06 3c 04 	.long 0x43c0614
-    3d40:	01 06 03 b2 	sth     r16,1537(r3)
-    3d44:	06 01 06 2e 	cmpwi   cr4,r6,262
-    3d48:	06 3c 06 2e 	cmpwi   cr4,r6,15366
-    3d4c:	04 0a 05 05 	.long 0x5050a04
-    3d50:	03 a5 77 20 	subfic  r3,r23,-23293
-    3d54:	05 1c 1e 05 	.long 0x51e1c05
-    3d58:	02 06 22 04 	.long 0x4220602
-    3d5c:	01 06 03 db 	stfd    f24,1537(r3)
-    3d60:	08 01 06 25 	dozi    r8,r6,264
-    3d64:	04 06 05 1d 	mulli   r8,r5,1540
-    3d68:	03 ef 79 01 	.long 0x179ef03
-    3d6c:	05 02 14 04 	.long 0x4140205
-    3d70:	09 05 14 03 	.long 0x3140509
-    3d74:	85 7e 01 05 	.long 0x5017e85
-    3d78:	02 14 01 01 	.long 0x1011402
-    3d7c:	13 04 06 05 	.long 0x5060413
-    3d80:	14 03 3a 01 	.long 0x13a0314
-    3d84:	05 02 14 04 	.long 0x4140205
-    3d88:	0a 05 14 03 	.long 0x314050a
-    3d8c:	e7 7e 01 05 	.long 0x5017ee7
-    3d90:	02 14 05 05 	.long 0x5051402
-    3d94:	06 14 05 03 	.long 0x3051406
-    3d98:	06 30 05 02 	.long 0x2053006
-    3d9c:	15 05 13 06 	.long 0x6130515
-    3da0:	01 04 06 05 	.long 0x5060401
-    3da4:	02 06 03 91 	stw     r8,1538(r3)
-    3da8:	01 3c 04 0b 	tdnei   r4,15361
-    3dac:	05 14 03 4f 	addpcis r24,5127
-    3db0:	01 05 02 14 	.long 0x14020501
-    3db4:	01 01 01 01 	.long 0x1010101
+    3ba8:	81 7f 01 05 	.long 0x5017f81
+    3bac:	02 14 05 0f 	twnei   r5,5122
+    3bb0:	06 03 0f 01 	.long 0x10f0306
+    3bb4:	05 05 03 fc 	.long 0xfc030505
+    3bb8:	00 20 05 02 	.long 0x2052000
+    3bbc:	06 03 73 20 	subfic  r3,r19,774
+    3bc0:	05 13 03 85 	lwzu    r8,4869(r3)
+    3bc4:	7f 01 05 02 	.long 0x205017f
+    3bc8:	14 06 01 06 	.long 0x6010614
+    3bcc:	03 fa 00 01 	.long 0x100fa03
+    3bd0:	05 13 03 89 	lbz     r8,4869(r3)
+    3bd4:	7f 01 05 02 	.long 0x205017f
+    3bd8:	14 06 01 06 	.long 0x6010614
+    3bdc:	03 f6 00 01 	.long 0x100f603
+    3be0:	05 13 03 8d 	lbzu    r8,4869(r3)
+    3be4:	7f 01 05 02 	.long 0x205017f
+    3be8:	14 06 01 06 	.long 0x6010614
+    3bec:	03 f2 00 01 	.long 0x100f203
+    3bf0:	05 13 03 91 	stw     r8,4869(r3)
+    3bf4:	7f 01 05 02 	.long 0x205017f
+    3bf8:	14 06 01 06 	.long 0x6010614
+    3bfc:	03 f7 00 01 	.long 0x100f703
+    3c00:	05 05 06 01 	.long 0x1060505
+    3c04:	2e 20 05 0b 	tdnei   r5,8238
+    3c08:	20 05 14 2e 	cmpwi   cr4,r20,1312
+    3c0c:	05 22 3c 05 	.long 0x53c2205
+    3c10:	2f 2e 05 1a 	.long 0x1a052e2f
+    3c14:	2f 05 0d 20 	subfic  r0,r13,1327
+    3c18:	05 03 06 03 	.long 0x3060305
+    3c1c:	09 2e 05 14 	.long 0x14052e09
+    3c20:	03 87 7f 01 	.long 0x17f8703
+    3c24:	05 02 14 06 	.long 0x6140205
+    3c28:	01 05 03 06 	.long 0x6030501
+    3c2c:	03 f8 00 01 	.long 0x100f803
+    3c30:	05 13 03 81 	lwz     r8,4869(r3)
+    3c34:	7f 01 05 02 	.long 0x205017f
+    3c38:	14 06 01 05 	.long 0x5010614
+    3c3c:	03 06 03 fe 	.long 0xfe030603
+    3c40:	00 01 05 09 	tdgti   r5,256
+    3c44:	06 20 20 20 	subfic  r1,r0,8198
+    3c48:	20 05 03 06 	.long 0x6030520
+    3c4c:	2f 06 01 05 	.long 0x501062f
+    3c50:	02 06 03 20 	subfic  r0,r3,1538
+    3c54:	01 05 05 06 	.long 0x6050501
+    3c58:	01 2e 05 09 	tdgti   r5,11777
+    3c5c:	30 05 01 2f 	cmpwi   cr6,r1,1328
+    3c60:	05 02 03 54 	rlwinm. r3,r0,0,8,2
+    3c64:	82 06 4a 04 	.long 0x44a0682
+    3c68:	06 06 03 aa 	lha     r16,1542(r3)
+    3c6c:	79 2e 20 04 	.long 0x4202e79
+    3c70:	01 05 03 06 	.long 0x6030501
+    3c74:	03 ea 06 2e 	cmpwi   cr4,r6,-5629
+    3c78:	05 0d 03 41 	bdnztl  so,497c <kvmhv_nested_next_lpid+0xeb4>
+    3c7c:	01 05 02 14 	.long 0x14020501
+    3c80:	13 13 05 03 	.long 0x3051313
+    3c84:	06 17 05 02 	.long 0x2051706
+    3c88:	1e 04 0b 03 	.long 0x30b041e
+    3c8c:	8c 78 20 04 	.long 0x420788c
+    3c90:	01 05 06 03 	.long 0x3060501
+    3c94:	f1 07 20 05 	.long 0x52007f1
+    3c98:	02 06 22 04 	.long 0x4220602
+    3c9c:	06 05 1d 03 	.long 0x31d0506
+    3ca0:	cd 79 01 05 	.long 0x50179cd
+    3ca4:	02 14 06 2e 	cmpwi   cr4,r6,5122
+    3ca8:	04 01 06 03 	.long 0x3060104
+    3cac:	b2 06 01 05 	.long 0x50106b2
+    3cb0:	03 59 04 06 	.long 0x6045903
+    3cb4:	05 1d 03 f3 	xsmaxdp vs56,vs35,vs3
+    3cb8:	79 01 05 02 	.long 0x2050179
+    3cbc:	14 04 09 05 	.long 0x5090414
+    3cc0:	14 03 85 7e 	.long 0x7e850314
+    3cc4:	01 05 02 14 	.long 0x14020501
+    3cc8:	01 01 13 04 	.long 0x4130101
+    3ccc:	06 05 14 03 	.long 0x3140506
+    3cd0:	3a 01 05 02 	.long 0x205013a
+    3cd4:	14 04 0a 05 	.long 0x50a0414
+    3cd8:	14 03 e7 7e 	.long 0x7ee70314
+    3cdc:	01 05 02 14 	.long 0x14020501
+    3ce0:	05 05 06 14 	.long 0x14060505
+    3ce4:	05 03 06 30 	addic   r0,r6,773
+    3ce8:	05 02 15 05 	.long 0x5150205
+    3cec:	13 06 01 04 	.long 0x4010613
+    3cf0:	06 05 02 06 	.long 0x6020506
+    3cf4:	03 91 01 3c 	addis   r0,r1,-28413
+    3cf8:	04 0b 05 14 	.long 0x14050b04
+    3cfc:	03 4f 01 05 	.long 0x5014f03
+    3d00:	02 14 01 01 	.long 0x1011402
+    3d04:	01 01 01 01 	.long 0x1010101
+    3d08:	01 01 01 20 	subfic  r0,r1,257
+    3d0c:	01 01 01 01 	.long 0x1010101
+    3d10:	01 01 20 01 	.long 0x1200101
+    3d14:	01 01 13 06 	.long 0x6130101
+    3d18:	01 04 06 06 	.long 0x6060401
+    3d1c:	03 2f 01 06 	.long 0x6012f03
+    3d20:	01 04 09 06 	.long 0x6090401
+    3d24:	03 43 01 06 	.long 0x6014303
+    3d28:	01 04 01 05 	.long 0x5010401
+    3d2c:	03 06 03 83 	lwz     r24,1539(r3)
+    3d30:	08 01 06 20 	subfic  r0,r6,264
+    3d34:	06 2f 04 06 	.long 0x6042f06
+    3d38:	05 1d 03 c9 	lfd     f8,7429(r3)
+    3d3c:	79 01 05 02 	.long 0x2050179
+    3d40:	14 06 3c 04 	.long 0x43c0614
+    3d44:	01 06 03 b2 	sth     r16,1537(r3)
+    3d48:	06 01 06 2e 	cmpwi   cr4,r6,262
+    3d4c:	06 3c 06 2e 	cmpwi   cr4,r6,15366
+    3d50:	04 0a 05 05 	.long 0x5050a04
+    3d54:	03 a5 77 20 	subfic  r3,r23,-23293
+    3d58:	05 1c 1e 05 	.long 0x51e1c05
+    3d5c:	02 06 22 04 	.long 0x4220602
+    3d60:	01 06 03 db 	stfd    f24,1537(r3)
+    3d64:	08 01 06 25 	dozi    r8,r6,264
+    3d68:	04 06 05 1d 	mulli   r8,r5,1540
+    3d6c:	03 ef 79 01 	.long 0x179ef03
+    3d70:	05 02 14 04 	.long 0x4140205
+    3d74:	09 05 14 03 	.long 0x3140509
+    3d78:	85 7e 01 05 	.long 0x5017e85
+    3d7c:	02 14 01 01 	.long 0x1011402
+    3d80:	13 04 06 05 	.long 0x5060413
+    3d84:	14 03 3a 01 	.long 0x13a0314
+    3d88:	05 02 14 04 	.long 0x4140205
+    3d8c:	0a 05 14 03 	.long 0x314050a
+    3d90:	e7 7e 01 05 	.long 0x5017ee7
+    3d94:	02 14 05 05 	.long 0x5051402
+    3d98:	06 14 05 03 	.long 0x3051406
+    3d9c:	06 30 05 02 	.long 0x2053006
+    3da0:	15 05 13 06 	.long 0x6130515
+    3da4:	01 04 06 05 	.long 0x5060401
+    3da8:	02 06 03 91 	stw     r8,1538(r3)
+    3dac:	01 3c 04 0b 	tdnei   r4,15361
+    3db0:	05 14 03 4f 	addpcis r24,5127
+    3db4:	01 05 02 14 	.long 0x14020501
     3db8:	01 01 01 01 	.long 0x1010101
-    3dbc:	01 20 01 01 	.long 0x1012001
-    3dc0:	01 01 01 01 	.long 0x1010101
-    3dc4:	06 20 06 20 	subfic  r0,r6,8198
-    3dc8:	01 01 01 13 	vcmpuq  cr6,v1,v0
-    3dcc:	06 01 04 06 	.long 0x6040106
-    3dd0:	06 03 2f 01 	.long 0x12f0306
-    3dd4:	06 01 04 09 	tdgti   r4,262
-    3dd8:	06 03 43 01 	.long 0x1430306
-    3ddc:	06 01 04 01 	.long 0x1040106
-    3de0:	06 03 ce 08 	tdllei  r14,774
-    3de4:	01 06 3c 05 	.long 0x53c0601
-    3de8:	03 06 03 63 	ori     r3,r24,1539
-    3dec:	20 05 08 06 	.long 0x6080520
-    3df0:	01 20 20 20 	subfic  r1,r0,8193
-    3df4:	05 03 06 21 	subfic  r8,r6,773
-    3df8:	05 06 06 01 	.long 0x1060605
-    3dfc:	20 05 04 06 	.long 0x6040520
-    3e00:	21 06 20 06 	.long 0x6200621
-    3e04:	3d 06 2e 05 	.long 0x52e063d
-    3e08:	02 06 03 1a 	.long 0x1a030602
-    3e0c:	01 06 20 3c 	lis     r1,1537
-    3e10:	20 04 0a 05 	.long 0x50a0420
-    3e14:	03 06 03 d9 	stfd    f8,1539(r3)
-    3e18:	76 3c 05 16 	.long 0x16053c76
-    3e1c:	06 01 05 03 	.long 0x3050106
-    3e20:	06 2f 01 01 	.long 0x1012f06
-    3e24:	01 01 06 2e 	cmpwi   cr4,r6,257
-    3e28:	20 04 01 05 	.long 0x5010420
-    3e2c:	0a 03 a7 09 	tdi     13,r7,778
-    3e30:	01 20 04 0a 	tdlti   r4,8193
-    3e34:	05 03 06 03 	.long 0x3060305
-    3e38:	d8 76 2e 05 	.long 0x52e76d8
-    3e3c:	16 06 01 05 	.long 0x5010616
-    3e40:	03 06 21 01 	.long 0x1210603
-    3e44:	01 01 01 06 	.long 0x6010101
-    3e48:	2e 04 01 05 	.long 0x501042e
-    3e4c:	01 03 a9 09 	tdi     13,r9,769
-    3e50:	66 2e 05 0a 	tdlti   r5,11878
-    3e54:	2c 20 05 01 	.long 0x105202c
-    3e58:	06 03 c3 00 	.long 0xc30306
-    3e5c:	4a 06 4a 05 	.long 0x54a064a
-    3e60:	09 03 f7 7a 	rldic.  r23,r23,0,12
-    3e64:	3c 05 01 03 	.long 0x301053c
-    3e68:	89 05 20 05 	.long 0x5200589
-    3e6c:	02 06 03 0a 	tdlti   r3,1538
-    3e70:	82 05 07 06 	.long 0x6070582
-    3e74:	01 05 21 06 	.long 0x6210501
-    3e78:	03 eb 7a 20 	subfic  r3,r26,-5373
-    3e7c:	05 02 14 05 	.long 0x5140205
-    3e80:	09 06 01 20 	subfic  r0,r1,1545
-    3e84:	05 01 03 89 	lbz     r8,261(r3)
-    3e88:	05 01 20 05 	.long 0x5200105
-    3e8c:	12 03 f7 7a 	rldcr   r23,r23,r0,12
-    3e90:	3c 05 09 20 	subfic  r0,r9,1340
-    3e94:	3c 05 05 03 	.long 0x305053c
-    3e98:	93 05 01 05 	.long 0x5010593
-    3e9c:	02 06 34 05 	.long 0x5340602
-    3ea0:	0c 06 01 05 	.long 0x501060c
-    3ea4:	05 20 05 02 	.long 0x2052005
-    3ea8:	06 03 13 2e 	cmpwi   cr4,r19,774
-    3eac:	05 05 06 01 	.long 0x1060505
-    3eb0:	05 11 00 02 	.long 0x2001105
-    3eb4:	04 01 2e 05 	.long 0x52e0104
-    3eb8:	02 06 31 05 	.long 0x5310602
-    3ebc:	05 06 01 20 	subfic  r0,r1,1541
-    3ec0:	05 01 24 05 	.long 0x5240105
-    3ec4:	0a 03 67 20 	subfic  r3,r7,778
-    3ec8:	05 01 03 19 	.long 0x19030105
-    3ecc:	20 3c 20 20 	subfic  r1,r0,15392
-    3ed0:	20 58 05 06 	.long 0x6055820
-    3ed4:	03 b1 7f 4a 	bla     fe7fb100 <kvmhv_nested_next_lpid+0xfe7f7628>
-    3ed8:	05 0d 03 12 	evmhossiaaw r16,r3,r1
-    3edc:	20 05 13 03 	.long 0x3130520
-    3ee0:	79 3c 05 03 	.long 0x3053c79
-    3ee4:	06 54 13 05 	.long 0x5135406
-    3ee8:	12 06 01 05 	.long 0x5010612
-    3eec:	06 20 05 2f 	cmpwi   cr6,r5,8198
-    3ef0:	06 2c 05 18 	.long 0x18052c06
-    3ef4:	01 05 02 03 	.long 0x3020501
-    3ef8:	15 3c 05 09 	tdgti   r5,15381
-    3efc:	06 01 05 03 	.long 0x3050106
-    3f00:	06 03 70 58 	rlmi    r16,r3,r0,12,3
-    3f04:	05 19 06 13 	vslq    v24,v6,v3
-    3f08:	05 22 1f 05 	.long 0x51f2205
-    3f0c:	03 06 21 13 	.long 0x13210603
-    3f10:	05 19 06 11 	vslq    v8,v6,v3
-    3f14:	05 0c 1f 05 	.long 0x51f0c05
-    3f18:	06 22 05 03 	.long 0x3052206
-    3f1c:	06 3f 13 04 	.long 0x4133f06
-    3f20:	19 05 13 03 	.long 0x3130519
-    3f24:	8f 76 01 05 	.long 0x501768f
-    3f28:	02 14 06 01 	.long 0x1061402
-    3f2c:	04 01 05 03 	.long 0x3050104
-    3f30:	06 03 f0 09 	tdi     15,r16,774
-    3f34:	01 05 0d 06 	.long 0x60d0501
-    3f38:	20 20 05 11 	vmhaddshs v8,v5,v4,v0
-    3f3c:	43 05 03 06 	.long 0x6030543
-    3f40:	03 7a 20 05 	.long 0x5207a03
-    3f44:	04 13 05 14 	.long 0x14051304
-    3f48:	03 b1 7e 01 	.long 0x17eb103
-    3f4c:	05 02 14 06 	.long 0x6140205
-    3f50:	01 05 0a 03 	.long 0x30a0501
-    3f54:	cd 01 01 05 	.long 0x50101cd
-    3f58:	09 4e 05 0a 	tdlti   r5,19977
-    3f5c:	1c 05 04 06 	.long 0x604051c
-    3f60:	24 05 11 13 	vmsumubm v24,v17,v0,v20
-    3f64:	05 07 06 1d 	mulli   r8,r6,1797
-    3f68:	05 04 06 20 	subfic  r0,r6,1029
-    3f6c:	05 07 06 01 	.long 0x1060705
-    3f70:	05 0c 21 20 	subfic  r1,r1,3077
-    3f74:	05 01 03 38 	addi    r0,r3,261
-    3f78:	66 4a 20 20 	subfic  r1,r0,19046
-    3f7c:	20 05 03 06 	.long 0x6030520
-    3f80:	03 67 4a 05 	.long 0x54a6703
-    3f84:	0d 03 b0 7f 	.long 0x7fb0030d
-    3f88:	01 05 02 15 	.long 0x15020501
-    3f8c:	13 14 05 07 	.long 0x7051413
-    3f90:	06 01 05 02 	.long 0x2050106
-    3f94:	06 4b 05 05 	.long 0x5054b06
-    3f98:	06 01 20 05 	.long 0x5200106
-    3f9c:	03 06 21 06 	.long 0x6210603
-    3fa0:	20 06 3d 06 	.long 0x63d0620
-    3fa4:	66 06 03 da 	stfd    f16,1638(r3)
-    3fa8:	00 01 05 0d 	twgti   r5,256
-    3fac:	03 9d 7f 01 	.long 0x17f9d03
-    3fb0:	05 02 15 13 	vsrq    v24,v21,v0
-    3fb4:	14 05 07 06 	.long 0x6070514
-    3fb8:	01 05 02 06 	.long 0x6020501
-    3fbc:	4b 05 05 06 	.long 0x605054b
-    3fc0:	01 20 05 03 	.long 0x3052001
-    3fc4:	06 21 06 20 	subfic  r0,r6,8454
-    3fc8:	06 3d 06 3c 	addis   r0,r6,15622
-    3fcc:	05 04 06 03 	.long 0x3060405
-    3fd0:	1f 01 05 0d 	twgti   r5,287
-    3fd4:	03 58 01 05 	.long 0x5015803
-    3fd8:	02 15 13 14 	.long 0x14131502
-    3fdc:	05 07 06 01 	.long 0x1060705
-    3fe0:	05 02 06 4b 	bl      ffffffffff0641e4 <kvmhv_nested_next_lpid+0xffffffffff06070c>
-    3fe4:	05 05 06 01 	.long 0x1060505
-    3fe8:	05 03 06 2f 	cmpwi   cr6,r6,773
-    3fec:	06 20 06 3d 	addis   r8,r6,8198
-    3ff0:	06 2e 05 01 	.long 0x1052e06
-    3ff4:	06 03 8c 03 	.long 0x38c0306
-    3ff8:	90 06 4a 05 	.long 0x54a0690
-    3ffc:	1b c9 05 01 	.long 0x105c91b
-    4000:	1f 05 02 06 	.long 0x602051f
-    4004:	3d 13 14 06 	.long 0x614133d
-    4008:	2e 06 2f 05 	.long 0x52f062e
-    400c:	11 03 d1 7e 	.long 0x7ed10311
-    4010:	01 05 02 15 	.long 0x15020501
-    4014:	05 16 06 14 	.long 0x14061605
-    4018:	05 22 24 05 	.long 0x5242205
-    401c:	0e 03 7a 20 	subfic  r3,r26,782
-    4020:	05 02 06 21 	subfic  r8,r6,517
-    4024:	13 05 10 06 	.long 0x6100513
-    4028:	17 05 14 1c 	mulli   r0,r20,1303
-    402c:	05 09 03 0c 	twi     0,r3,2309
-    4030:	82 05 16 03 	.long 0x3160582
-    4034:	73 20 05 02 	.long 0x2052073
-    4038:	06 21 13 05 	.long 0x5132106
-    403c:	08 06 01 05 	.long 0x5010608
-    4040:	02 06 21 13 	vctzlsbb r25,v0
-    4044:	13 13 13 13 	.long 0x13131313
-    4048:	05 0f 06 01 	.long 0x1060f05
-    404c:	05 20 20 05 	.long 0x5202005
-    4050:	02 06 21 13 	vctzlsbb r25,v0
-    4054:	13 14 05 05 	.long 0x5051413
-    4058:	06 01 05 02 	.long 0x2050106
-    405c:	06 36 05 08 	tdi     0,r5,13830
-    4060:	06 20 05 05 	.long 0x5052006
-    4064:	21 05 08 1f 	mulli   r24,r8,1313
-    4068:	05 02 06 2f 	cmpwi   cr6,r6,517
-    406c:	05 05 06 01 	.long 0x1060505
-    4070:	05 03 06 21 	subfic  r8,r6,773
-    4074:	05 0f 06 01 	.long 0x1060f05
-    4078:	05 09 20 05 	.long 0x5200905
-    407c:	02 06 21 05 	.long 0x5210602
-    4080:	0c 03 e4 7e 	dcblc   23,r4,r0
-    4084:	01 05 02 17 	.long 0x17020501
-    4088:	05 06 06 01 	.long 0x1060605
-    408c:	05 08 23 20 	subfic  r1,r3,2053
-    4090:	05 06 39 05 	.long 0x5390605
-    4094:	02 06 21 14 	.long 0x14210602
-    4098:	05 08 06 01 	.long 0x1060805
-    409c:	05 02 06 31 	addic   r8,r6,517
-    40a0:	05 05 06 01 	.long 0x1060505
-    40a4:	05 03 06 30 	addic   r0,r6,773
-    40a8:	05 06 06 01 	.long 0x1060605
-    40ac:	05 0a 06 31 	addic   r8,r6,2565
-    40b0:	05 0d 06 01 	.long 0x1060d05
-    40b4:	05 0a 06 31 	addic   r8,r6,2565
-    40b8:	05 0d 06 01 	.long 0x1060d05
-    40bc:	2e 05 05 03 	.long 0x305052e
-    40c0:	90 01 01 05 	.long 0x5010190
-    40c4:	06 03 79 20 	subfic  r3,r25,774
-    40c8:	05 02 06 27 	dozi    r24,r6,517
-    40cc:	05 05 06 01 	.long 0x1060505
-    40d0:	2e 2e 05 07 	.long 0x7052e2e
-    40d4:	03 6a 20 05 	.long 0x5206a03
-    40d8:	06 03 91 7f 	mtdcrx  r17,r28
-    40dc:	20 05 10 03 	.long 0x3100520
-    40e0:	ea 00 4a 05 	.long 0x54a00ea
-    40e4:	07 33 05 03 	.long 0x3053307
-    40e8:	06 03 91 7f 	mtdcrx  r17,r28
-    40ec:	2e 05 06 06 	.long 0x606052e
-    40f0:	01 05 04 06 	.long 0x6040501
-    40f4:	22 05 0f 06 	.long 0x60f0522
-    40f8:	01 05 07 20 	subfic  r0,r7,1281
-    40fc:	2e 05 02 06 	.long 0x602052e
-    4100:	03 83 01 01 	.long 0x1018303
-    4104:	16 16 05 05 	.long 0x5051616
-    4108:	06 01 05 02 	.long 0x2050106
-    410c:	06 03 12 3c 	addis   r0,r18,774
-    4110:	05 11 06 01 	.long 0x1061105
-    4114:	05 0b 20 05 	.long 0x5200b05
-    4118:	02 06 21 05 	.long 0x5210602
-    411c:	05 06 01 05 	.long 0x5010605
-    4120:	02 06 34 05 	.long 0x5340602
-    4124:	06 06 01 05 	.long 0x5010606
-    4128:	02 06 21 16 	.long 0x16210602
-    412c:	05 0c 06 01 	.long 0x1060c05
-    4130:	2e 05 02 06 	.long 0x602052e
-    4134:	2f 05 05 06 	.long 0x605052f
-    4138:	01 20 05 1a 	stxvp   vs16,8192(r5)
-    413c:	2e 05 0f 20 	subfic  r0,r15,1326
-    4140:	05 02 06 03 	.long 0x3060205
-    4144:	0a 2e 05 05 	.long 0x5052e0a
-    4148:	06 01 05 03 	.long 0x3050106
-    414c:	06 2f 05 06 	.long 0x6052f06
-    4150:	06 01 05 0a 	tdlti   r5,262
-    4154:	26 05 02 06 	.long 0x6020526
-    4158:	26 05 0a 06 	.long 0x60a0526
-    415c:	01 05 02 06 	.long 0x6020501
-    4160:	21 01 01 01 	.long 0x1010121
-    4164:	01 20 15 05 	.long 0x5152001
-    4168:	06 06 01 04 	.long 0x4010606
-    416c:	06 05 02 03 	.long 0x3020506
-    4170:	ab 76 20 20 	subfic  r1,r0,30379
-    4174:	04 01 05 06 	.long 0x6050104
-    4178:	03 d5 09 01 	.long 0x109d503
-    417c:	05 02 06 21 	subfic  r8,r6,517
-    4180:	04 06 05 1d 	mulli   r8,r5,1540
-    4184:	03 a8 76 01 	.long 0x176a803
-    4188:	05 02 14 06 	.long 0x6140205
-    418c:	2e 04 01 06 	.long 0x601042e
-    4190:	03 d7 09 01 	.long 0x109d703
-    4194:	04 1a 05 16 	.long 0x16051a04
-    4198:	03 d4 78 01 	.long 0x178d403
-    419c:	05 02 15 14 	.long 0x14150205
-    41a0:	14 05 08 06 	.long 0x6080514
-    41a4:	01 4a 2e 04 	.long 0x42e4a01
-    41a8:	01 05 05 03 	.long 0x3050501
-    41ac:	a6 07 01 04 	.long 0x40107a6
-    41b0:	1a 05 02 06 	.long 0x602051a
-    41b4:	03 dc 78 20 	subfic  r3,r24,-9213
-    41b8:	06 01 04 01 	.long 0x1040106
-    41bc:	06 03 a4 07 	.long 0x7a40306
-    41c0:	01 05 05 06 	.long 0x6050501
-    41c4:	01 05 03 06 	.long 0x6030501
-    41c8:	2f 05 09 06 	.long 0x609052f
-    41cc:	01 05 02 06 	.long 0x6020501
-    41d0:	2f 05 05 06 	.long 0x605052f
-    41d4:	01 05 03 06 	.long 0x6030501
-    41d8:	2f 05 07 06 	.long 0x607052f
-    41dc:	01 05 02 06 	.long 0x6020501
-    41e0:	2f 04 06 05 	.long 0x506042f
-    41e4:	1d 03 ca 76 	andis.  r10,r22,797
-    41e8:	01 05 02 14 	.long 0x14020501
-    41ec:	04 09 05 14 	.long 0x14050904
-    41f0:	03 85 7e 01 	.long 0x17e8503
-    41f4:	05 02 14 01 	.long 0x1140205
-    41f8:	01 13 04 06 	.long 0x6041301
-    41fc:	05 14 03 3a 	addi    r16,r3,5125
-    4200:	01 05 02 14 	.long 0x14020501
-    4204:	04 0a 05 14 	.long 0x14050a04
-    4208:	03 e7 7e 01 	.long 0x17ee703
-    420c:	05 02 14 05 	.long 0x5140205
-    4210:	05 06 14 05 	.long 0x5140605
-    4214:	1c 1e 05 02 	.long 0x2051e1c
-    4218:	06 22 05 05 	.long 0x5052206
-    421c:	06 01 05 03 	.long 0x3050106
-    4220:	06 30 05 02 	.long 0x2053006
-    4224:	15 05 13 06 	.long 0x6130515
-    4228:	01 04 06 05 	.long 0x5060401
-    422c:	02 06 03 91 	stw     r8,1538(r3)
-    4230:	01 3c 04 0b 	tdnei   r4,15361
-    4234:	05 14 03 4f 	addpcis r24,5127
-    4238:	01 05 02 14 	.long 0x14020501
-    423c:	01 01 01 01 	.long 0x1010101
+    3dbc:	01 01 01 01 	.long 0x1010101
+    3dc0:	01 20 01 01 	.long 0x1012001
+    3dc4:	01 01 01 01 	.long 0x1010101
+    3dc8:	06 20 06 20 	subfic  r0,r6,8198
+    3dcc:	01 01 01 13 	vcmpuq  cr6,v1,v0
+    3dd0:	06 01 04 06 	.long 0x6040106
+    3dd4:	06 03 2f 01 	.long 0x12f0306
+    3dd8:	06 01 04 09 	tdgti   r4,262
+    3ddc:	06 03 43 01 	.long 0x1430306
+    3de0:	06 01 04 01 	.long 0x1040106
+    3de4:	06 03 ce 08 	tdllei  r14,774
+    3de8:	01 06 3c 05 	.long 0x53c0601
+    3dec:	03 06 03 63 	ori     r3,r24,1539
+    3df0:	20 05 08 06 	.long 0x6080520
+    3df4:	01 20 20 20 	subfic  r1,r0,8193
+    3df8:	05 03 06 21 	subfic  r8,r6,773
+    3dfc:	05 06 06 01 	.long 0x1060605
+    3e00:	20 05 04 06 	.long 0x6040520
+    3e04:	21 06 20 06 	.long 0x6200621
+    3e08:	3d 06 2e 05 	.long 0x52e063d
+    3e0c:	02 06 03 1a 	.long 0x1a030602
+    3e10:	01 06 20 3c 	lis     r1,1537
+    3e14:	20 04 0a 05 	.long 0x50a0420
+    3e18:	03 06 03 d9 	stfd    f8,1539(r3)
+    3e1c:	76 3c 05 16 	.long 0x16053c76
+    3e20:	06 01 05 03 	.long 0x3050106
+    3e24:	06 2f 01 01 	.long 0x1012f06
+    3e28:	01 01 06 2e 	cmpwi   cr4,r6,257
+    3e2c:	20 04 01 05 	.long 0x5010420
+    3e30:	0a 03 a7 09 	tdi     13,r7,778
+    3e34:	01 20 04 0a 	tdlti   r4,8193
+    3e38:	05 03 06 03 	.long 0x3060305
+    3e3c:	d8 76 2e 05 	.long 0x52e76d8
+    3e40:	16 06 01 05 	.long 0x5010616
+    3e44:	03 06 21 01 	.long 0x1210603
+    3e48:	01 01 01 06 	.long 0x6010101
+    3e4c:	2e 04 01 05 	.long 0x501042e
+    3e50:	01 03 a9 09 	tdi     13,r9,769
+    3e54:	66 2e 05 0a 	tdlti   r5,11878
+    3e58:	2c 20 05 01 	.long 0x105202c
+    3e5c:	06 03 c3 00 	.long 0xc30306
+    3e60:	4a 06 4a 05 	.long 0x54a064a
+    3e64:	09 03 f7 7a 	rldic.  r23,r23,0,12
+    3e68:	3c 05 01 03 	.long 0x301053c
+    3e6c:	89 05 20 05 	.long 0x5200589
+    3e70:	02 06 03 0a 	tdlti   r3,1538
+    3e74:	82 05 07 06 	.long 0x6070582
+    3e78:	01 05 21 06 	.long 0x6210501
+    3e7c:	03 eb 7a 20 	subfic  r3,r26,-5373
+    3e80:	05 02 14 05 	.long 0x5140205
+    3e84:	09 06 01 20 	subfic  r0,r1,1545
+    3e88:	05 01 03 89 	lbz     r8,261(r3)
+    3e8c:	05 01 20 05 	.long 0x5200105
+    3e90:	12 03 f7 7a 	rldcr   r23,r23,r0,12
+    3e94:	3c 05 09 20 	subfic  r0,r9,1340
+    3e98:	3c 05 05 03 	.long 0x305053c
+    3e9c:	93 05 01 05 	.long 0x5010593
+    3ea0:	02 06 34 05 	.long 0x5340602
+    3ea4:	0c 06 01 05 	.long 0x501060c
+    3ea8:	05 20 05 02 	.long 0x2052005
+    3eac:	06 03 13 2e 	cmpwi   cr4,r19,774
+    3eb0:	05 05 06 01 	.long 0x1060505
+    3eb4:	05 11 00 02 	.long 0x2001105
+    3eb8:	04 01 2e 05 	.long 0x52e0104
+    3ebc:	02 06 31 05 	.long 0x5310602
+    3ec0:	05 06 01 20 	subfic  r0,r1,1541
+    3ec4:	05 01 24 05 	.long 0x5240105
+    3ec8:	0a 03 67 20 	subfic  r3,r7,778
+    3ecc:	05 01 03 19 	.long 0x19030105
+    3ed0:	20 3c 20 20 	subfic  r1,r0,15392
+    3ed4:	20 58 05 06 	.long 0x6055820
+    3ed8:	03 b1 7f 4a 	bla     fe7fb100 <kvmhv_nested_next_lpid+0xfe7f7638>
+    3edc:	05 0d 03 12 	evmhossiaaw r16,r3,r1
+    3ee0:	20 05 13 03 	.long 0x3130520
+    3ee4:	79 3c 05 03 	.long 0x3053c79
+    3ee8:	06 54 13 05 	.long 0x5135406
+    3eec:	12 06 01 05 	.long 0x5010612
+    3ef0:	06 20 05 2f 	cmpwi   cr6,r5,8198
+    3ef4:	06 2c 05 18 	.long 0x18052c06
+    3ef8:	01 05 02 03 	.long 0x3020501
+    3efc:	15 3c 05 09 	tdgti   r5,15381
+    3f00:	06 01 05 03 	.long 0x3050106
+    3f04:	06 03 70 58 	rlmi    r16,r3,r0,12,3
+    3f08:	05 19 06 13 	vslq    v24,v6,v3
+    3f0c:	05 22 1f 05 	.long 0x51f2205
+    3f10:	03 06 21 13 	.long 0x13210603
+    3f14:	05 19 06 11 	vslq    v8,v6,v3
+    3f18:	05 0c 1f 05 	.long 0x51f0c05
+    3f1c:	06 22 05 03 	.long 0x3052206
+    3f20:	06 3f 13 04 	.long 0x4133f06
+    3f24:	19 05 13 03 	.long 0x3130519
+    3f28:	8f 76 01 05 	.long 0x501768f
+    3f2c:	02 14 06 01 	.long 0x1061402
+    3f30:	04 01 05 03 	.long 0x3050104
+    3f34:	06 03 f0 09 	tdi     15,r16,774
+    3f38:	01 05 0d 06 	.long 0x60d0501
+    3f3c:	20 20 05 11 	vmhaddshs v8,v5,v4,v0
+    3f40:	43 05 03 06 	.long 0x6030543
+    3f44:	03 7a 20 05 	.long 0x5207a03
+    3f48:	04 13 05 14 	.long 0x14051304
+    3f4c:	03 b1 7e 01 	.long 0x17eb103
+    3f50:	05 02 14 06 	.long 0x6140205
+    3f54:	01 05 0a 03 	.long 0x30a0501
+    3f58:	cd 01 01 05 	.long 0x50101cd
+    3f5c:	09 4e 05 0a 	tdlti   r5,19977
+    3f60:	1c 05 04 06 	.long 0x604051c
+    3f64:	24 05 11 13 	vmsumubm v24,v17,v0,v20
+    3f68:	05 07 06 1d 	mulli   r8,r6,1797
+    3f6c:	05 04 06 20 	subfic  r0,r6,1029
+    3f70:	05 07 06 01 	.long 0x1060705
+    3f74:	05 0c 21 20 	subfic  r1,r1,3077
+    3f78:	05 01 03 38 	addi    r0,r3,261
+    3f7c:	66 4a 20 20 	subfic  r1,r0,19046
+    3f80:	20 05 03 06 	.long 0x6030520
+    3f84:	03 67 4a 05 	.long 0x54a6703
+    3f88:	0d 03 b0 7f 	.long 0x7fb0030d
+    3f8c:	01 05 02 15 	.long 0x15020501
+    3f90:	13 14 05 07 	.long 0x7051413
+    3f94:	06 01 05 02 	.long 0x2050106
+    3f98:	06 4b 05 05 	.long 0x5054b06
+    3f9c:	06 01 20 05 	.long 0x5200106
+    3fa0:	03 06 21 06 	.long 0x6210603
+    3fa4:	20 06 3d 06 	.long 0x63d0620
+    3fa8:	66 06 03 da 	stfd    f16,1638(r3)
+    3fac:	00 01 05 0d 	twgti   r5,256
+    3fb0:	03 9d 7f 01 	.long 0x17f9d03
+    3fb4:	05 02 15 13 	vsrq    v24,v21,v0
+    3fb8:	14 05 07 06 	.long 0x6070514
+    3fbc:	01 05 02 06 	.long 0x6020501
+    3fc0:	4b 05 05 06 	.long 0x605054b
+    3fc4:	01 20 05 03 	.long 0x3052001
+    3fc8:	06 21 06 20 	subfic  r0,r6,8454
+    3fcc:	06 3d 06 3c 	addis   r0,r6,15622
+    3fd0:	05 04 06 03 	.long 0x3060405
+    3fd4:	1f 01 05 0d 	twgti   r5,287
+    3fd8:	03 58 01 05 	.long 0x5015803
+    3fdc:	02 15 13 14 	.long 0x14131502
+    3fe0:	05 07 06 01 	.long 0x1060705
+    3fe4:	05 02 06 4b 	bl      ffffffffff0641e8 <kvmhv_nested_next_lpid+0xffffffffff060720>
+    3fe8:	05 05 06 01 	.long 0x1060505
+    3fec:	05 03 06 2f 	cmpwi   cr6,r6,773
+    3ff0:	06 20 06 3d 	addis   r8,r6,8198
+    3ff4:	06 2e 05 01 	.long 0x1052e06
+    3ff8:	06 03 8c 03 	.long 0x38c0306
+    3ffc:	90 06 4a 05 	.long 0x54a0690
+    4000:	1b c9 05 01 	.long 0x105c91b
+    4004:	1f 05 02 06 	.long 0x602051f
+    4008:	3d 13 14 06 	.long 0x614133d
+    400c:	2e 06 2f 05 	.long 0x52f062e
+    4010:	11 03 d1 7e 	.long 0x7ed10311
+    4014:	01 05 02 15 	.long 0x15020501
+    4018:	05 16 06 14 	.long 0x14061605
+    401c:	05 22 24 05 	.long 0x5242205
+    4020:	0e 03 7a 20 	subfic  r3,r26,782
+    4024:	05 02 06 21 	subfic  r8,r6,517
+    4028:	13 05 10 06 	.long 0x6100513
+    402c:	17 05 14 1c 	mulli   r0,r20,1303
+    4030:	05 09 03 0c 	twi     0,r3,2309
+    4034:	82 05 16 03 	.long 0x3160582
+    4038:	73 20 05 02 	.long 0x2052073
+    403c:	06 21 13 05 	.long 0x5132106
+    4040:	08 06 01 05 	.long 0x5010608
+    4044:	02 06 21 13 	vctzlsbb r25,v0
+    4048:	13 13 13 13 	.long 0x13131313
+    404c:	05 0f 06 01 	.long 0x1060f05
+    4050:	05 20 20 05 	.long 0x5202005
+    4054:	02 06 21 13 	vctzlsbb r25,v0
+    4058:	13 14 05 05 	.long 0x5051413
+    405c:	06 01 05 02 	.long 0x2050106
+    4060:	06 36 05 08 	tdi     0,r5,13830
+    4064:	06 20 05 05 	.long 0x5052006
+    4068:	21 05 08 1f 	mulli   r24,r8,1313
+    406c:	05 02 06 2f 	cmpwi   cr6,r6,517
+    4070:	05 05 06 01 	.long 0x1060505
+    4074:	05 03 06 21 	subfic  r8,r6,773
+    4078:	05 0f 06 01 	.long 0x1060f05
+    407c:	05 09 20 05 	.long 0x5200905
+    4080:	02 06 21 05 	.long 0x5210602
+    4084:	0c 03 e4 7e 	dcblc   23,r4,r0
+    4088:	01 05 02 17 	.long 0x17020501
+    408c:	05 06 06 01 	.long 0x1060605
+    4090:	05 08 23 20 	subfic  r1,r3,2053
+    4094:	05 06 39 05 	.long 0x5390605
+    4098:	02 06 21 14 	.long 0x14210602
+    409c:	05 08 06 01 	.long 0x1060805
+    40a0:	05 02 06 31 	addic   r8,r6,517
+    40a4:	05 05 06 01 	.long 0x1060505
+    40a8:	05 03 06 30 	addic   r0,r6,773
+    40ac:	05 06 06 01 	.long 0x1060605
+    40b0:	05 0a 06 31 	addic   r8,r6,2565
+    40b4:	05 0d 06 01 	.long 0x1060d05
+    40b8:	05 0a 06 31 	addic   r8,r6,2565
+    40bc:	05 0d 06 01 	.long 0x1060d05
+    40c0:	2e 05 05 03 	.long 0x305052e
+    40c4:	90 01 01 05 	.long 0x5010190
+    40c8:	06 03 79 20 	subfic  r3,r25,774
+    40cc:	05 02 06 27 	dozi    r24,r6,517
+    40d0:	05 05 06 01 	.long 0x1060505
+    40d4:	2e 2e 05 07 	.long 0x7052e2e
+    40d8:	03 6a 20 05 	.long 0x5206a03
+    40dc:	06 03 91 7f 	mtdcrx  r17,r28
+    40e0:	20 05 10 03 	.long 0x3100520
+    40e4:	ea 00 4a 05 	.long 0x54a00ea
+    40e8:	07 33 05 03 	.long 0x3053307
+    40ec:	06 03 91 7f 	mtdcrx  r17,r28
+    40f0:	2e 05 06 06 	.long 0x606052e
+    40f4:	01 05 04 06 	.long 0x6040501
+    40f8:	22 05 0f 06 	.long 0x60f0522
+    40fc:	01 05 07 20 	subfic  r0,r7,1281
+    4100:	2e 05 02 06 	.long 0x602052e
+    4104:	03 83 01 01 	.long 0x1018303
+    4108:	16 16 05 05 	.long 0x5051616
+    410c:	06 01 05 02 	.long 0x2050106
+    4110:	06 03 12 3c 	addis   r0,r18,774
+    4114:	05 11 06 01 	.long 0x1061105
+    4118:	05 0b 20 05 	.long 0x5200b05
+    411c:	02 06 21 05 	.long 0x5210602
+    4120:	05 06 01 05 	.long 0x5010605
+    4124:	02 06 34 05 	.long 0x5340602
+    4128:	06 06 01 05 	.long 0x5010606
+    412c:	02 06 21 16 	.long 0x16210602
+    4130:	05 0c 06 01 	.long 0x1060c05
+    4134:	2e 05 02 06 	.long 0x602052e
+    4138:	2f 05 05 06 	.long 0x605052f
+    413c:	01 20 05 1a 	stxvp   vs16,8192(r5)
+    4140:	2e 05 0f 20 	subfic  r0,r15,1326
+    4144:	05 02 06 03 	.long 0x3060205
+    4148:	0a 2e 05 05 	.long 0x5052e0a
+    414c:	06 01 05 03 	.long 0x3050106
+    4150:	06 2f 05 06 	.long 0x6052f06
+    4154:	06 01 05 0a 	tdlti   r5,262
+    4158:	26 05 02 06 	.long 0x6020526
+    415c:	26 05 0a 06 	.long 0x60a0526
+    4160:	01 05 02 06 	.long 0x6020501
+    4164:	21 01 01 01 	.long 0x1010121
+    4168:	01 20 15 05 	.long 0x5152001
+    416c:	06 06 01 04 	.long 0x4010606
+    4170:	06 05 02 03 	.long 0x3020506
+    4174:	ab 76 20 20 	subfic  r1,r0,30379
+    4178:	04 01 05 06 	.long 0x6050104
+    417c:	03 d5 09 01 	.long 0x109d503
+    4180:	05 02 06 21 	subfic  r8,r6,517
+    4184:	04 06 05 1d 	mulli   r8,r5,1540
+    4188:	03 a8 76 01 	.long 0x176a803
+    418c:	05 02 14 06 	.long 0x6140205
+    4190:	2e 04 01 06 	.long 0x601042e
+    4194:	03 d7 09 01 	.long 0x109d703
+    4198:	04 1a 05 16 	.long 0x16051a04
+    419c:	03 d4 78 01 	.long 0x178d403
+    41a0:	05 02 15 14 	.long 0x14150205
+    41a4:	14 05 08 06 	.long 0x6080514
+    41a8:	01 4a 2e 04 	.long 0x42e4a01
+    41ac:	01 05 05 03 	.long 0x3050501
+    41b0:	a6 07 01 04 	.long 0x40107a6
+    41b4:	1a 05 02 06 	.long 0x602051a
+    41b8:	03 dc 78 20 	subfic  r3,r24,-9213
+    41bc:	06 01 04 01 	.long 0x1040106
+    41c0:	06 03 a4 07 	.long 0x7a40306
+    41c4:	01 05 05 06 	.long 0x6050501
+    41c8:	01 05 03 06 	.long 0x6030501
+    41cc:	2f 05 09 06 	.long 0x609052f
+    41d0:	01 05 02 06 	.long 0x6020501
+    41d4:	2f 05 05 06 	.long 0x605052f
+    41d8:	01 05 03 06 	.long 0x6030501
+    41dc:	2f 05 07 06 	.long 0x607052f
+    41e0:	01 05 02 06 	.long 0x6020501
+    41e4:	2f 04 06 05 	.long 0x506042f
+    41e8:	1d 03 ca 76 	andis.  r10,r22,797
+    41ec:	01 05 02 14 	.long 0x14020501
+    41f0:	04 09 05 14 	.long 0x14050904
+    41f4:	03 85 7e 01 	.long 0x17e8503
+    41f8:	05 02 14 01 	.long 0x1140205
+    41fc:	01 13 04 06 	.long 0x6041301
+    4200:	05 14 03 3a 	addi    r16,r3,5125
+    4204:	01 05 02 14 	.long 0x14020501
+    4208:	04 0a 05 14 	.long 0x14050a04
+    420c:	03 e7 7e 01 	.long 0x17ee703
+    4210:	05 02 14 05 	.long 0x5140205
+    4214:	05 06 14 05 	.long 0x5140605
+    4218:	1c 1e 05 02 	.long 0x2051e1c
+    421c:	06 22 05 05 	.long 0x5052206
+    4220:	06 01 05 03 	.long 0x3050106
+    4224:	06 30 05 02 	.long 0x2053006
+    4228:	15 05 13 06 	.long 0x6130515
+    422c:	01 04 06 05 	.long 0x5060401
+    4230:	02 06 03 91 	stw     r8,1538(r3)
+    4234:	01 3c 04 0b 	tdnei   r4,15361
+    4238:	05 14 03 4f 	addpcis r24,5127
+    423c:	01 05 02 14 	.long 0x14020501
     4240:	01 01 01 01 	.long 0x1010101
-    4244:	01 20 01 01 	.long 0x1012001
-    4248:	01 01 01 01 	.long 0x1010101
-    424c:	06 20 06 20 	subfic  r0,r6,8198
-    4250:	01 01 01 13 	vcmpuq  cr6,v1,v0
-    4254:	06 01 04 06 	.long 0x6040106
-    4258:	06 03 2f 01 	.long 0x12f0306
-    425c:	06 01 04 09 	tdgti   r4,262
-    4260:	06 03 43 01 	.long 0x1430306
-    4264:	06 01 04 01 	.long 0x1040106
-    4268:	06 03 ad 0b 	tdi     29,r13,774
-    426c:	01 04 07 05 	.long 0x5070401
-    4270:	13 03 c4 77 	andis.  r4,r30,787
-    4274:	20 05 02 03 	.long 0x3020520
-    4278:	09 01 05 14 	.long 0x14050109
-    427c:	03 71 01 05 	.long 0x5017103
-    4280:	02 14 04 08 	tdi     0,r4,5122
-    4284:	05 16 03 94 	stwu    r0,5637(r3)
-    4288:	7c 01 05 02 	.long 0x205017c
-    428c:	14 06 01 04 	.long 0x4010614
-    4290:	07 05 17 03 	.long 0x3170507
-    4294:	ea 03 01 05 	.long 0x50103ea
-    4298:	05 03 0d 20 	subfic  r0,r13,773
-    429c:	05 02 06 30 	addic   r0,r6,517
-    42a0:	05 17 06 01 	.long 0x1061705
-    42a4:	04 01 05 05 	.long 0x5050104
-    42a8:	03 b1 08 20 	subfic  r0,r8,-20221
-    42ac:	05 03 06 30 	addic   r0,r6,773
-    42b0:	05 09 06 01 	.long 0x1060905
-    42b4:	3c 05 06 68 	xori    r6,r0,1340
-    42b8:	05 07 1e 05 	.long 0x51e0705
-    42bc:	03 06 22 05 	.long 0x5220603
-    42c0:	06 06 01 05 	.long 0x5010606
-    42c4:	08 06 22 05 	.long 0x5220608
-    42c8:	0b 06 01 05 	.long 0x501060b
-    42cc:	03 06 30 05 	.long 0x5300603
-    42d0:	0a 06 03 f4 	stxsd   v0,1544(r3)
-    42d4:	7e 01 05 0b 	tdnei   r5,382
-    42d8:	03 8c 01 20 	subfic  r0,r1,-29693
-    42dc:	05 13 06 03 	.long 0x3061305
-    42e0:	f0 7e 20 05 	.long 0x5207ef0
-    42e4:	02 14 05 0a 	tdlti   r5,5122
-    42e8:	06 14 05 02 	.long 0x2051406
-    42ec:	2c 05 0a 22 	subfic  r16,r10,1324
-    42f0:	05 02 3a 05 	.long 0x53a0205
-    42f4:	03 06 3e 05 	.long 0x53e0603
-    42f8:	0a 06 01 05 	.long 0x501060a
-    42fc:	16 03 8f 01 	.long 0x18f0316
-    4300:	20 05 0a 03 	.long 0x30a0520
-    4304:	f1 7e 20 05 	.long 0x5207ef1
-    4308:	16 03 8f 01 	.long 0x18f0316
-    430c:	20 05 0f 20 	subfic  r0,r15,1312
-    4310:	20 05 09 1d 	mulli   r8,r9,1312
-    4314:	05 05 06 03 	.long 0x3060505
-    4318:	ab 7e 2e 06 	.long 0x62e7eab
-    431c:	21 05 0b 57 	rlwinm. r11,r24,0,20,16
-    4320:	05 05 06 21 	subfic  r8,r6,1285
-    4324:	05 02 03 14 	.long 0x14030205
-    4328:	01 05 05 06 	.long 0x6050501
-    432c:	13 05 19 1f 	mulli   r24,r25,1299
-    4330:	05 02 06 21 	subfic  r8,r6,517
-    4334:	05 05 06 01 	.long 0x1060505
-    4338:	05 03 06 2f 	cmpwi   cr6,r6,773
-    433c:	13 05 19 06 	.long 0x6190513
-    4340:	11 4b 2e 05 	.long 0x52e4b11
-    4344:	02 06 03 ea 	lwa     r16,1536(r3)
-    4348:	00 01 05 19 	lxvp    vs8,256(r5)
-    434c:	06 01 20 05 	.long 0x5200106
-    4350:	0b 03 71 3c 	addis   r3,r17,779
-    4354:	20 05 02 06 	.long 0x6020520
-    4358:	03 9b 01 01 	.long 0x1019b03
-    435c:	3d 05 01 06 	.long 0x601053d
-    4360:	13 c8 2e 05 	.long 0x52ec813
-    4364:	03 06 03 e1 	lq      r8,1536(r3)
-    4368:	7e 4a 2f 05 	.long 0x52f4a7e
-    436c:	0a 06 01 05 	.long 0x501060a
-    4370:	06 20 58 05 	.long 0x5582006
-    4374:	03 06 03 38 	addi    r0,r3,1539
-    4378:	20 05 06 06 	.long 0x6060520
-    437c:	01 05 03 06 	.long 0x6030501
-    4380:	35 05 0a 06 	.long 0x60a0535
-    4384:	01 4a 3c 20 	subfic  r1,r28,18945
-    4388:	3c 06 03 d2 	stfs    f16,1596(r3)
-    438c:	7e 66 05 0d 	twgti   r5,26238
-    4390:	06 01 05 0f 	twnei   r5,262
-    4394:	30 05 0d 1e 	mulli   r16,r13,1328
-    4398:	05 04 06 28 	cmplwi  r6,1029
-    439c:	05 07 06 01 	.long 0x1060705
-    43a0:	05 1a 2e 2e 	cmpdi   cr4,r14,6661
-    43a4:	05 02 06 03 	.long 0x3060205
-    43a8:	f7 00 01 1a 	.long 0x1a0100f7
-    43ac:	05 05 06 01 	.long 0x1060505
-    43b0:	05 03 06 2f 	cmpwi   cr6,r6,773
-    43b4:	06 20 05 0a 	tdlti   r5,8198
-    43b8:	03 9e 7f 20 	subfic  r3,r31,-25085
-    43bc:	2e 05 0d 06 	.long 0x60d052e
-    43c0:	03 74 01 05 	.long 0x5017403
-    43c4:	02 18 13 13 	vmaxub  v24,v19,v3
-    43c8:	13 15 13 14 	.long 0x14131513
-    43cc:	05 05 06 01 	.long 0x1060505
-    43d0:	20 05 02 06 	.long 0x6020520
-    43d4:	23 04 06 05 	.long 0x5060423
-    43d8:	1d 03 be 77 	andis.  r30,r29,797
-    43dc:	01 05 02 14 	.long 0x14020501
-    43e0:	04 01 05 08 	tdi     0,r5,260
-    43e4:	06 03 c2 08 	tdllei  r2,774
-    43e8:	20 04 06 05 	.long 0x5060420
-    43ec:	02 03 be 77 	andis.  r30,r29,770
-    43f0:	20 2e 04 01 	.long 0x1042e20
-    43f4:	06 03 c2 08 	tdllei  r2,774
-    43f8:	01 05 08 06 	.long 0x6080501
-    43fc:	01 05 02 06 	.long 0x6020501
-    4400:	76 05 05 06 	.long 0x6050576
-    4404:	01 05 02 06 	.long 0x6020501
-    4408:	34 05 08 06 	.long 0x6080534
-    440c:	01 58 05 02 	.long 0x2055801
-    4410:	06 30 05 05 	.long 0x5053006
-    4414:	06 01 05 07 	.long 0x7050106
-    4418:	03 79 2e 05 	.long 0x52e7903
-    441c:	02 06 03 0d 	twgti   r3,1538
-    4420:	20 04 06 05 	.long 0x5060420
-    4424:	1d 03 d4 77 	andis.  r20,r30,797
-    4428:	01 05 02 14 	.long 0x14020501
-    442c:	04 09 05 14 	.long 0x14050904
-    4430:	03 85 7e 01 	.long 0x17e8503
-    4434:	05 02 14 01 	.long 0x1140205
-    4438:	01 13 04 06 	.long 0x6041301
-    443c:	05 14 03 3a 	addi    r16,r3,5125
-    4440:	01 05 02 14 	.long 0x14020501
-    4444:	04 0a 05 14 	.long 0x14050a04
-    4448:	03 e7 7e 01 	.long 0x17ee703
-    444c:	05 02 14 05 	.long 0x5140205
-    4450:	05 06 14 05 	.long 0x5140605
-    4454:	1c 1e 05 02 	.long 0x2051e1c
-    4458:	06 22 05 05 	.long 0x5052206
-    445c:	06 01 05 03 	.long 0x3050106
-    4460:	06 30 05 02 	.long 0x2053006
-    4464:	15 05 13 06 	.long 0x6130515
-    4468:	01 04 06 05 	.long 0x5060401
-    446c:	02 06 03 91 	stw     r8,1538(r3)
-    4470:	01 3c 04 0b 	tdnei   r4,15361
-    4474:	05 14 03 4f 	addpcis r24,5127
-    4478:	01 05 02 14 	.long 0x14020501
-    447c:	01 01 01 01 	.long 0x1010101
+    4244:	01 01 01 01 	.long 0x1010101
+    4248:	01 20 01 01 	.long 0x1012001
+    424c:	01 01 01 01 	.long 0x1010101
+    4250:	06 20 06 20 	subfic  r0,r6,8198
+    4254:	01 01 01 13 	vcmpuq  cr6,v1,v0
+    4258:	06 01 04 06 	.long 0x6040106
+    425c:	06 03 2f 01 	.long 0x12f0306
+    4260:	06 01 04 09 	tdgti   r4,262
+    4264:	06 03 43 01 	.long 0x1430306
+    4268:	06 01 04 01 	.long 0x1040106
+    426c:	06 03 ad 0b 	tdi     29,r13,774
+    4270:	01 04 07 05 	.long 0x5070401
+    4274:	13 03 c4 77 	andis.  r4,r30,787
+    4278:	20 05 02 03 	.long 0x3020520
+    427c:	09 01 05 14 	.long 0x14050109
+    4280:	03 71 01 05 	.long 0x5017103
+    4284:	02 14 04 08 	tdi     0,r4,5122
+    4288:	05 16 03 94 	stwu    r0,5637(r3)
+    428c:	7c 01 05 02 	.long 0x205017c
+    4290:	14 06 01 04 	.long 0x4010614
+    4294:	07 05 17 03 	.long 0x3170507
+    4298:	ea 03 01 05 	.long 0x50103ea
+    429c:	05 03 0d 20 	subfic  r0,r13,773
+    42a0:	05 02 06 30 	addic   r0,r6,517
+    42a4:	05 17 06 01 	.long 0x1061705
+    42a8:	04 01 05 05 	.long 0x5050104
+    42ac:	03 b1 08 20 	subfic  r0,r8,-20221
+    42b0:	05 03 06 30 	addic   r0,r6,773
+    42b4:	05 09 06 01 	.long 0x1060905
+    42b8:	3c 05 06 68 	xori    r6,r0,1340
+    42bc:	05 07 1e 05 	.long 0x51e0705
+    42c0:	03 06 22 05 	.long 0x5220603
+    42c4:	06 06 01 05 	.long 0x5010606
+    42c8:	08 06 22 05 	.long 0x5220608
+    42cc:	0b 06 01 05 	.long 0x501060b
+    42d0:	03 06 30 05 	.long 0x5300603
+    42d4:	0a 06 03 f4 	stxsd   v0,1544(r3)
+    42d8:	7e 01 05 0b 	tdnei   r5,382
+    42dc:	03 8c 01 20 	subfic  r0,r1,-29693
+    42e0:	05 13 06 03 	.long 0x3061305
+    42e4:	f0 7e 20 05 	.long 0x5207ef0
+    42e8:	02 14 05 0a 	tdlti   r5,5122
+    42ec:	06 14 05 02 	.long 0x2051406
+    42f0:	2c 05 0a 22 	subfic  r16,r10,1324
+    42f4:	05 02 3a 05 	.long 0x53a0205
+    42f8:	03 06 3e 05 	.long 0x53e0603
+    42fc:	0a 06 01 05 	.long 0x501060a
+    4300:	16 03 8f 01 	.long 0x18f0316
+    4304:	20 05 0a 03 	.long 0x30a0520
+    4308:	f1 7e 20 05 	.long 0x5207ef1
+    430c:	16 03 8f 01 	.long 0x18f0316
+    4310:	20 05 0f 20 	subfic  r0,r15,1312
+    4314:	20 05 09 1d 	mulli   r8,r9,1312
+    4318:	05 05 06 03 	.long 0x3060505
+    431c:	ab 7e 2e 06 	.long 0x62e7eab
+    4320:	21 05 0b 57 	rlwinm. r11,r24,0,20,16
+    4324:	05 05 06 21 	subfic  r8,r6,1285
+    4328:	05 02 03 14 	.long 0x14030205
+    432c:	01 05 05 06 	.long 0x6050501
+    4330:	13 05 19 1f 	mulli   r24,r25,1299
+    4334:	05 02 06 21 	subfic  r8,r6,517
+    4338:	05 05 06 01 	.long 0x1060505
+    433c:	05 03 06 2f 	cmpwi   cr6,r6,773
+    4340:	13 05 19 06 	.long 0x6190513
+    4344:	11 4b 2e 05 	.long 0x52e4b11
+    4348:	02 06 03 ea 	lwa     r16,1536(r3)
+    434c:	00 01 05 19 	lxvp    vs8,256(r5)
+    4350:	06 01 20 05 	.long 0x5200106
+    4354:	0b 03 71 3c 	addis   r3,r17,779
+    4358:	20 05 02 06 	.long 0x6020520
+    435c:	03 9b 01 01 	.long 0x1019b03
+    4360:	3d 05 01 06 	.long 0x601053d
+    4364:	13 c8 2e 05 	.long 0x52ec813
+    4368:	03 06 03 e1 	lq      r8,1536(r3)
+    436c:	7e 4a 2f 05 	.long 0x52f4a7e
+    4370:	0a 06 01 05 	.long 0x501060a
+    4374:	06 20 58 05 	.long 0x5582006
+    4378:	03 06 03 38 	addi    r0,r3,1539
+    437c:	20 05 06 06 	.long 0x6060520
+    4380:	01 05 03 06 	.long 0x6030501
+    4384:	35 05 0a 06 	.long 0x60a0535
+    4388:	01 4a 3c 20 	subfic  r1,r28,18945
+    438c:	3c 06 03 d2 	stfs    f16,1596(r3)
+    4390:	7e 66 05 0d 	twgti   r5,26238
+    4394:	06 01 05 0f 	twnei   r5,262
+    4398:	30 05 0d 1e 	mulli   r16,r13,1328
+    439c:	05 04 06 28 	cmplwi  r6,1029
+    43a0:	05 07 06 01 	.long 0x1060705
+    43a4:	05 1a 2e 2e 	cmpdi   cr4,r14,6661
+    43a8:	05 02 06 03 	.long 0x3060205
+    43ac:	f7 00 01 1a 	.long 0x1a0100f7
+    43b0:	05 05 06 01 	.long 0x1060505
+    43b4:	05 03 06 2f 	cmpwi   cr6,r6,773
+    43b8:	06 20 05 0a 	tdlti   r5,8198
+    43bc:	03 9e 7f 20 	subfic  r3,r31,-25085
+    43c0:	2e 05 0d 06 	.long 0x60d052e
+    43c4:	03 74 01 05 	.long 0x5017403
+    43c8:	02 18 13 13 	vmaxub  v24,v19,v3
+    43cc:	13 15 13 14 	.long 0x14131513
+    43d0:	05 05 06 01 	.long 0x1060505
+    43d4:	20 05 02 06 	.long 0x6020520
+    43d8:	23 04 06 05 	.long 0x5060423
+    43dc:	1d 03 be 77 	andis.  r30,r29,797
+    43e0:	01 05 02 14 	.long 0x14020501
+    43e4:	04 01 05 08 	tdi     0,r5,260
+    43e8:	06 03 c2 08 	tdllei  r2,774
+    43ec:	20 04 06 05 	.long 0x5060420
+    43f0:	02 03 be 77 	andis.  r30,r29,770
+    43f4:	20 2e 04 01 	.long 0x1042e20
+    43f8:	06 03 c2 08 	tdllei  r2,774
+    43fc:	01 05 08 06 	.long 0x6080501
+    4400:	01 05 02 06 	.long 0x6020501
+    4404:	76 05 05 06 	.long 0x6050576
+    4408:	01 05 02 06 	.long 0x6020501
+    440c:	34 05 08 06 	.long 0x6080534
+    4410:	01 58 05 02 	.long 0x2055801
+    4414:	06 30 05 05 	.long 0x5053006
+    4418:	06 01 05 07 	.long 0x7050106
+    441c:	03 79 2e 05 	.long 0x52e7903
+    4420:	02 06 03 0d 	twgti   r3,1538
+    4424:	20 04 06 05 	.long 0x5060420
+    4428:	1d 03 d4 77 	andis.  r20,r30,797
+    442c:	01 05 02 14 	.long 0x14020501
+    4430:	04 09 05 14 	.long 0x14050904
+    4434:	03 85 7e 01 	.long 0x17e8503
+    4438:	05 02 14 01 	.long 0x1140205
+    443c:	01 13 04 06 	.long 0x6041301
+    4440:	05 14 03 3a 	addi    r16,r3,5125
+    4444:	01 05 02 14 	.long 0x14020501
+    4448:	04 0a 05 14 	.long 0x14050a04
+    444c:	03 e7 7e 01 	.long 0x17ee703
+    4450:	05 02 14 05 	.long 0x5140205
+    4454:	05 06 14 05 	.long 0x5140605
+    4458:	1c 1e 05 02 	.long 0x2051e1c
+    445c:	06 22 05 05 	.long 0x5052206
+    4460:	06 01 05 03 	.long 0x3050106
+    4464:	06 30 05 02 	.long 0x2053006
+    4468:	15 05 13 06 	.long 0x6130515
+    446c:	01 04 06 05 	.long 0x5060401
+    4470:	02 06 03 91 	stw     r8,1538(r3)
+    4474:	01 3c 04 0b 	tdnei   r4,15361
+    4478:	05 14 03 4f 	addpcis r24,5127
+    447c:	01 05 02 14 	.long 0x14020501
     4480:	01 01 01 01 	.long 0x1010101
-    4484:	01 20 01 01 	.long 0x1012001
-    4488:	01 01 01 01 	.long 0x1010101
-    448c:	2e 01 01 01 	.long 0x101012e
-    4490:	13 06 01 04 	.long 0x4010613
-    4494:	06 06 03 2f 	cmpwi   cr6,r3,1542
-    4498:	01 06 01 04 	.long 0x4010601
-    449c:	09 06 03 43 	bcl-    24,so,4aa4 <kvmhv_nested_next_lpid+0xfcc>
-    44a0:	01 06 01 04 	.long 0x4010601
-    44a4:	01 06 03 a2 	lhz     r16,1537(r3)
-    44a8:	0a 01 06 01 	.long 0x106010a
-    44ac:	05 03 06 03 	.long 0x3060305
-    44b0:	ca 00 01 14 	.long 0x140100ca
-    44b4:	05 06 06 01 	.long 0x1060605
-    44b8:	05 03 06 30 	addic   r0,r6,773
-    44bc:	13 05 06 06 	.long 0x6060513
-    44c0:	01 05 09 57 	rlwinm. r9,r24,0,20,0
-    44c4:	05 04 06 03 	.long 0x3060405
-    44c8:	1c 4a 06 3c 	addis   r0,r6,18972
-    44cc:	06 2f 06 01 	.long 0x1062f06
-    44d0:	20 58 05 0b 	tdnei   r5,22560
-    44d4:	03 66 20 05 	.long 0x5206603
-    44d8:	03 06 03 78 	rldicl. r3,r0,32,24
-    44dc:	4a 06 20 05 	.long 0x520064a
-    44e0:	0b 03 a0 7f 	.long 0x7fa0030b
-    44e4:	20 2e 05 0d 	twgti   r5,11808
-    44e8:	06 03 72 01 	.long 0x1720306
-    44ec:	05 02 18 13 	vsrq    v24,v24,v0
-    44f0:	13 13 15 13 	.long 0x13151313
-    44f4:	06 4a 05 04 	.long 0x4054a06
-    44f8:	06 03 5b 01 	.long 0x15b0306
-    44fc:	05 07 06 01 	.long 0x1060705
-    4500:	05 02 06 03 	.long 0x3060205
-    4504:	10 2e 05 19 	lxvp    vs8,11792(r5)
-    4508:	06 01 05 0b 	tdnei   r5,262
-    450c:	03 71 20 05 	.long 0x5207103
-    4510:	19 03 0f 20 	subfic  r0,r15,793
-    4514:	05 02 06 21 	subfic  r8,r6,517
-    4518:	06 74 4a 04 	.long 0x44a7406
-    451c:	0d 05 0a 03 	.long 0x30a050d
-    4520:	bf 79 01 04 	.long 0x40179bf
-    4524:	01 05 12 03 	.long 0x3120501
-    4528:	9b 08 20 04 	.long 0x420089b
-    452c:	0d 05 0a 03 	.long 0x30a050d
-    4530:	e5 77 20 04 	.long 0x42077e5
-    4534:	01 05 08 03 	.long 0x3080501
-    4538:	9a 08 2e 05 	.long 0x52e089a
-    453c:	02 06 21 04 	.long 0x4210602
-    4540:	0d 05 0a 06 	.long 0x60a050d
-    4544:	03 e5 77 01 	.long 0x177e503
-    4548:	04 01 05 0b 	tdnei   r5,260
-    454c:	03 9b 08 20 	subfic  r0,r8,-25853
-    4550:	05 08 20 05 	.long 0x5200805
-    4554:	02 06 24 04 	.long 0x4240602
-    4558:	0d 05 25 03 	.long 0x325050d
-    455c:	eb 78 01 05 	.long 0x50178eb
-    4560:	02 14 05 2e 	cmpwi   cr4,r5,5122
-    4564:	03 eb 7e 01 	.long 0x17eeb03
-    4568:	05 02 14 05 	.long 0x5140205
-    456c:	03 13 14 15 	.long 0x15141303
-    4570:	05 25 03 df 	stfdu   f24,9477(r3)
-    4574:	7e 01 05 02 	.long 0x205017e
-    4578:	15 15 15 14 	.long 0x14151515
-    457c:	14 13 06 01 	.long 0x1061314
-    4580:	05 03 06 03 	.long 0x3060305
-    4584:	94 01 01 05 	.long 0x5010194
-    4588:	0a 06 01 3c 	addis   r0,r1,1546
-    458c:	04 01 05 05 	.long 0x5050104
-    4590:	03 a0 08 01 	.long 0x108a003
-    4594:	04 0d 05 0a 	tdlti   r5,3332
-    4598:	03 e0 77 20 	subfic  r3,r23,-8189
-    459c:	20 04 01 05 	.long 0x5010420
-    45a0:	09 03 9f 08 	tdeqi   r31,777
-    45a4:	01 05 02 06 	.long 0x6020501
-    45a8:	21 05 05 06 	.long 0x6050521
-    45ac:	01 05 02 06 	.long 0x6020501
-    45b0:	22 05 05 06 	.long 0x6050522
-    45b4:	13 05 18 1f 	mulli   r24,r24,1299
-    45b8:	05 08 23 05 	.long 0x5230805
-    45bc:	18 63 05 22 	subfic  r16,r5,25368
-    45c0:	21 05 30 1f 	mulli   r25,r16,1313
-    45c4:	05 0f 20 05 	.long 0x5200f05
-    45c8:	02 06 22 13 	.long 0x13220602
-    45cc:	05 22 06 11 	vsrq    v8,v6,v4
-    45d0:	05 08 20 21 	subfic  r9,r0,2053
-    45d4:	05 22 3b 05 	.long 0x53b2205
-    45d8:	1d 20 05 08 	tdi     0,r5,8221
-    45dc:	21 05 02 4c 	.long 0x4c020521
-    45e0:	06 20 2f 05 	.long 0x52f2006
-    45e4:	05 06 01 2e 	cmpwi   cr4,r1,1541
-    45e8:	58 05 02 06 	.long 0x6020558
-    45ec:	5e 59 05 09 	tdgti   r5,22878
-    45f0:	06 01 05 18 	.long 0x18050106
-    45f4:	03 49 2e 05 	.long 0x52e4903
-    45f8:	07 03 1c 20 	subfic  r0,r28,775
-    45fc:	05 16 03 6f 	xoris   r3,r24,5637
-    4600:	20 05 07 03 	.long 0x3070520
-    4604:	11 2e 05 0f 	twnei   r5,11793
-    4608:	03 ea 7e 20 	subfic  r3,r30,-5629
-    460c:	05 16 03 85 	lwzu    r8,5637(r3)
-    4610:	01 2e 05 07 	.long 0x7052e01
-    4614:	03 11 20 05 	.long 0x5201103
-    4618:	0f 03 6f 20 	subfic  r3,r15,783
-    461c:	03 fb 7e 20 	subfic  r3,r30,-1277
-    4620:	20 05 02 06 	.long 0x6020520
-    4624:	03 85 01 01 	.long 0x1018503
-    4628:	05 18 06 17 	.long 0x17061805
-    462c:	05 0f 24 05 	.long 0x5240f05
-    4630:	0d 03 77 20 	subfic  r3,r23,781
-    4634:	05 35 03 0a 	tdlti   r3,13573
-    4638:	20 05 06 03 	.long 0x3060520
-    463c:	76 20 05 02 	.long 0x2052076
-    4640:	06 25 13 05 	.long 0x5132506
-    4644:	1e 06 11 05 	.long 0x511061e
-    4648:	1f 21 05 21 	subfic  r8,r5,8479
-    464c:	21 05 2b 22 	subfic  r17,r11,1313
-    4650:	05 35 21 05 	.long 0x5213505
-    4654:	1e 1b 05 1f 	mulli   r24,r5,6942
-    4658:	21 05 21 21 	subfic  r9,r1,1313
-    465c:	05 2b 22 05 	.long 0x5222b05
-    4660:	07 1d 05 02 	.long 0x2051d07
-    4664:	06 21 05 07 	.long 0x7052106
-    4668:	06 01 05 02 	.long 0x2050106
-    466c:	06 22 05 07 	.long 0x7052206
-    4670:	06 01 05 02 	.long 0x2050106
-    4674:	06 21 05 35 	addic.  r8,r5,8454
-    4678:	06 01 05 23 	subfic  r24,r5,262
-    467c:	20 05 02 06 	.long 0x6020520
-    4680:	21 05 08 06 	.long 0x6080521
-    4684:	01 05 05 23 	subfic  r24,r5,1281
-    4688:	05 08 1d 20 	subfic  r0,r29,2053
-    468c:	20 05 02 06 	.long 0x6020520
-    4690:	85 05 05 06 	.long 0x6050585
-    4694:	01 05 0a 03 	.long 0x30a0501
-    4698:	09 20 05 0c 	twi     0,r5,8201
-    469c:	03 e4 7e 20 	subfic  r3,r30,-7165
-    46a0:	05 06 03 90 	stw     r0,1541(r3)
-    46a4:	01 20 05 02 	.long 0x2052001
-    46a8:	06 03 0c 20 	subfic  r0,r12,774
-    46ac:	05 13 03 e2 	lq      r16,4864(r3)
-    46b0:	7e 01 05 02 	.long 0x205017e
-    46b4:	14 05 0f 06 	.long 0x60f0514
-    46b8:	01 05 05 2e 	cmpwi   cr4,r5,1281
-    46bc:	05 02 06 30 	addic   r0,r6,517
-    46c0:	05 0f 06 01 	.long 0x1060f05
-    46c4:	05 05 20 05 	.long 0x5200505
-    46c8:	02 06 30 05 	.long 0x5300602
-    46cc:	05 06 01 05 	.long 0x5010605
-    46d0:	02 06 30 01 	.long 0x1300602
-    46d4:	01 01 01 20 	subfic  r0,r1,257
-    46d8:	01 06 01 05 	.long 0x5010601
-    46dc:	04 06 03 9b 	stb     r24,1540(r3)
-    46e0:	7f 01 05 19 	.long 0x1905017f
-    46e4:	06 13 05 0a 	tdlti   r5,4870
-    46e8:	2d 05 04 06 	.long 0x604052d
-    46ec:	21 05 19 06 	.long 0x6190521
-    46f0:	01 58 05 04 	.long 0x4055801
-    46f4:	06 03 c1 01 	.long 0x1c10306
-    46f8:	01 06 2e 06 	.long 0x62e0601
-    46fc:	3e 06 01 3c 	addis   r0,r1,1598
-    4700:	58 06 03 b6 	sthu    r16,1624(r3)
-    4704:	7e 3c 05 0a 	tdlti   r5,15486
-    4708:	06 20 20 05 	.long 0x5202006
-    470c:	04 06 31 05 	.long 0x5310604
-    4710:	0a 06 20 20 	subfic  r1,r0,1546
-    4714:	2e 05 03 06 	.long 0x603052e
-    4718:	03 f6 01 01 	.long 0x101f603
-    471c:	13 13 05 11 	.long 0x11051313
-    4720:	06 01 05 07 	.long 0x7050106
-    4724:	20 05 06 20 	subfic  r0,r6,1312
-    4728:	05 04 06 2f 	cmpwi   cr6,r6,1029
-    472c:	05 11 06 01 	.long 0x1061105
-    4730:	05 20 21 05 	.long 0x5212005
-    4734:	0a 24 05 20 	subfic  r0,r5,9226
-    4738:	1c 05 0c 03 	.long 0x30c051c
-    473c:	e8 7e 20 20 	subfic  r1,r0,32488
-    4740:	05 03 06 03 	.long 0x3060305
-    4744:	98 01 01 13 	vextdubvlx v24,v1,v0,r6
-    4748:	05 08 06 11 	vrlq    v8,v6,v1
-    474c:	05 09 22 1f 	mulli   r25,r2,2309
-    4750:	20 2e 05 07 	.long 0x7052e20
-    4754:	82 05 03 06 	.long 0x6030582
-    4758:	21 06 20 05 	.long 0x5200621
-    475c:	24 03 60 01 	.long 0x1600324
-    4760:	05 07 03 f1 	xvmaxdp vs40,vs35,vs0
-    4764:	7e 4a 4a 03 	.long 0x34a4a7e
-    4768:	2f 01 4a 05 	.long 0x54a012f
-    476c:	10 03 fb 00 	.long 0xfb0310
-    4770:	3c 58 05 02 	.long 0x205583c
-    4774:	03 df 7e 01 	.long 0x17edf03
-    4778:	20 20 2e 06 	.long 0x62e2020
-    477c:	03 4e 01 05 	.long 0x5014e03
-    4780:	19 06 01 05 	.long 0x5010619
-    4784:	02 06 2f 06 	.long 0x62f0602
-    4788:	66 04 0a 05 	.long 0x50a0466
-    478c:	03 06 03 b1 	sth     r8,1539(r3)
-    4790:	75 01 05 16 	.long 0x16050175
-    4794:	06 01 05 03 	.long 0x3050106
-    4798:	06 2f 01 01 	.long 0x1012f06
-    479c:	01 01 06 2e 	cmpwi   cr4,r6,257
-    47a0:	04 01 06 03 	.long 0x3060104
-    47a4:	83 0b 01 05 	.long 0x5010b83
-    47a8:	0a 06 01 05 	.long 0x501060a
-    47ac:	16 03 8d 01 	.long 0x18d0316
-    47b0:	20 20 05 0f 	twnei   r5,8224
-    47b4:	20 05 0a 03 	.long 0x30a0520
-    47b8:	f3 7e 20 4a 	bla     fe207ef0 <kvmhv_nested_next_lpid+0xfe204418>
-    47bc:	4a 04 0a 05 	.long 0x50a044a
-    47c0:	03 06 03 fc 	.long 0xfc030603
-    47c4:	74 01 05 16 	.long 0x16050174
-    47c8:	06 01 05 03 	.long 0x3050106
-    47cc:	06 2f 01 01 	.long 0x1012f06
-    47d0:	01 01 06 2e 	cmpwi   cr4,r6,257
-    47d4:	04 01 05 01 	.long 0x1050104
-    47d8:	03 c8 0c 82 	lwz     r16,-14333(r12)
-    47dc:	05 03 06 03 	.long 0x3060305
-    47e0:	8f 7f 2e 01 	.long 0x12e7f8f
-    47e4:	01 01 01 05 	.long 0x5010101
-    47e8:	0a 06 3e 05 	.long 0x53e060a
-    47ec:	03 1e 06 3e 	addis   r16,r6,7683
-    47f0:	05 01 03 f2 	xsadddp vs48,vs35,vs0
-    47f4:	00 58 06 4a 	b       fffffffffe069ff4 <kvmhv_nested_next_lpid+0xfffffffffe06651c>
-    47f8:	05 11 2f 05 	.long 0x52f1105
-    47fc:	01 1f 3c 05 	.long 0x53c1f01
-    4800:	02 06 3d 05 	.long 0x53d0602
-    4804:	06 06 01 05 	.long 0x5010606
-    4808:	02 06 22 04 	.long 0x4220602
-    480c:	06 05 1d 03 	.long 0x31d0506
-    4810:	d7 75 01 05 	.long 0x50175d7
-    4814:	02 14 06 2e 	cmpwi   cr4,r6,5122
-    4818:	04 01 06 03 	.long 0x3060104
-    481c:	a8 0a 01 05 	.long 0x5010aa8
-    4820:	07 06 01 05 	.long 0x5010607
-    4824:	05 4a 05 02 	.long 0x2054a05
-    4828:	06 30 04 06 	.long 0x6043006
-    482c:	05 1d 03 fc 	.long 0xfc031d05
-    4830:	75 01 05 02 	.long 0x2050175
-    4834:	14 04 09 05 	.long 0x5090414
-    4838:	14 03 85 7e 	.long 0x7e850314
-    483c:	01 05 02 14 	.long 0x14020501
-    4840:	01 01 13 04 	.long 0x4130101
-    4844:	06 05 14 03 	.long 0x3140506
-    4848:	3a 01 05 02 	.long 0x205013a
-    484c:	14 04 0a 05 	.long 0x50a0414
-    4850:	14 03 e7 7e 	.long 0x7ee70314
-    4854:	01 05 02 14 	.long 0x14020501
-    4858:	05 05 06 14 	.long 0x14060505
-    485c:	05 1c 1e 05 	.long 0x51e1c05
-    4860:	02 06 22 05 	.long 0x5220602
-    4864:	05 06 01 05 	.long 0x5010605
-    4868:	03 06 30 05 	.long 0x5300603
-    486c:	02 15 05 13 	vavgsb  v24,v5,v2
-    4870:	06 01 04 06 	.long 0x6040106
-    4874:	05 02 06 03 	.long 0x3060205
-    4878:	91 01 3c 04 	.long 0x43c0191
-    487c:	0b 05 14 03 	.long 0x314050b
-    4880:	4f 01 05 02 	.long 0x205014f
-    4884:	14 01 01 01 	.long 0x1010114
-    4888:	01 01 01 01 	.long 0x1010101
-    488c:	01 01 20 01 	.long 0x1200101
-    4890:	01 01 01 01 	.long 0x1010101
-    4894:	01 2e 01 01 	.long 0x1012e01
-    4898:	01 13 06 01 	.long 0x1061301
-    489c:	04 06 06 03 	.long 0x3060604
-    48a0:	2f 01 06 01 	.long 0x106012f
-    48a4:	04 09 06 03 	.long 0x3060904
-    48a8:	43 01 06 01 	.long 0x1060143
-    48ac:	04 01 06 03 	.long 0x3060104
-    48b0:	fb 0b 01 05 	.long 0x5010bfb
-    48b4:	01 06 13 05 	.long 0x5130601
-    48b8:	09 49 05 01 	.long 0x1054909
-    48bc:	21 4a 05 03 	.long 0x3054a21
-    48c0:	06 54 04 0a 	tdlti   r4,21510
-    48c4:	05 05 06 03 	.long 0x3060505
-    48c8:	ae 73 01 04 	.long 0x40173ae
-    48cc:	01 05 07 03 	.long 0x3070501
-    48d0:	d2 0c 20 05 	.long 0x5200cd2
-    48d4:	02 06 2f 04 	.long 0x42f0602
-    48d8:	06 05 1d 03 	.long 0x31d0506
-    48dc:	fc 75 01 05 	.long 0x50175fc
-    48e0:	02 14 04 09 	tdgti   r4,5122
-    48e4:	05 14 03 85 	lwzu    r8,5125(r3)
-    48e8:	7e 01 05 02 	.long 0x205017e
-    48ec:	14 01 01 13 	mtvsrbmi v24,258
-    48f0:	04 06 05 14 	.long 0x14050604
-    48f4:	03 3a 01 05 	.long 0x5013a03
-    48f8:	02 14 04 0a 	tdlti   r4,5122
-    48fc:	05 14 03 e7 	psq_lu  f24,1029(r3),0,1
-    4900:	7e 01 05 02 	.long 0x205017e
-    4904:	14 05 1c 06 	.long 0x61c0514
-    4908:	01 05 02 06 	.long 0x6020501
-    490c:	22 05 05 06 	.long 0x6050522
-    4910:	01 05 03 06 	.long 0x6030501
-    4914:	2f 05 16 06 	.long 0x616052f
-    4918:	01 05 03 06 	.long 0x6030501
-    491c:	2f 01 01 01 	.long 0x101012f
-    4920:	01 06 2e 04 	.long 0x42e0601
-    4924:	01 05 01 03 	.long 0x3010501
-    4928:	d4 0c 01 02 	.long 0x2010cd4
-    492c:	02 00 01 01 	.long 0x1010002
+    4484:	01 01 01 01 	.long 0x1010101
+    4488:	01 20 01 01 	.long 0x1012001
+    448c:	01 01 01 01 	.long 0x1010101
+    4490:	2e 01 01 01 	.long 0x101012e
+    4494:	13 06 01 04 	.long 0x4010613
+    4498:	06 06 03 2f 	cmpwi   cr6,r3,1542
+    449c:	01 06 01 04 	.long 0x4010601
+    44a0:	09 06 03 43 	bcl-    24,so,4aa8 <kvmhv_nested_next_lpid+0xfe0>
+    44a4:	01 06 01 04 	.long 0x4010601
+    44a8:	01 06 03 a2 	lhz     r16,1537(r3)
+    44ac:	0a 01 06 01 	.long 0x106010a
+    44b0:	05 03 06 03 	.long 0x3060305
+    44b4:	ca 00 01 14 	.long 0x140100ca
+    44b8:	05 06 06 01 	.long 0x1060605
+    44bc:	05 03 06 30 	addic   r0,r6,773
+    44c0:	13 05 06 06 	.long 0x6060513
+    44c4:	01 05 09 57 	rlwinm. r9,r24,0,20,0
+    44c8:	05 04 06 03 	.long 0x3060405
+    44cc:	1c 4a 06 3c 	addis   r0,r6,18972
+    44d0:	06 2f 06 01 	.long 0x1062f06
+    44d4:	20 58 05 0b 	tdnei   r5,22560
+    44d8:	03 66 20 05 	.long 0x5206603
+    44dc:	03 06 03 78 	rldicl. r3,r0,32,24
+    44e0:	4a 06 20 05 	.long 0x520064a
+    44e4:	0b 03 a0 7f 	.long 0x7fa0030b
+    44e8:	20 2e 05 0d 	twgti   r5,11808
+    44ec:	06 03 72 01 	.long 0x1720306
+    44f0:	05 02 18 13 	vsrq    v24,v24,v0
+    44f4:	13 13 15 13 	.long 0x13151313
+    44f8:	06 4a 05 04 	.long 0x4054a06
+    44fc:	06 03 5b 01 	.long 0x15b0306
+    4500:	05 07 06 01 	.long 0x1060705
+    4504:	05 02 06 03 	.long 0x3060205
+    4508:	10 2e 05 19 	lxvp    vs8,11792(r5)
+    450c:	06 01 05 0b 	tdnei   r5,262
+    4510:	03 71 20 05 	.long 0x5207103
+    4514:	19 03 0f 20 	subfic  r0,r15,793
+    4518:	05 02 06 21 	subfic  r8,r6,517
+    451c:	06 74 4a 04 	.long 0x44a7406
+    4520:	0d 05 0a 03 	.long 0x30a050d
+    4524:	bf 79 01 04 	.long 0x40179bf
+    4528:	01 05 12 03 	.long 0x3120501
+    452c:	9b 08 20 04 	.long 0x420089b
+    4530:	0d 05 0a 03 	.long 0x30a050d
+    4534:	e5 77 20 04 	.long 0x42077e5
+    4538:	01 05 08 03 	.long 0x3080501
+    453c:	9a 08 2e 05 	.long 0x52e089a
+    4540:	02 06 21 04 	.long 0x4210602
+    4544:	0d 05 0a 06 	.long 0x60a050d
+    4548:	03 e5 77 01 	.long 0x177e503
+    454c:	04 01 05 0b 	tdnei   r5,260
+    4550:	03 9b 08 20 	subfic  r0,r8,-25853
+    4554:	05 08 20 05 	.long 0x5200805
+    4558:	02 06 24 04 	.long 0x4240602
+    455c:	0d 05 25 03 	.long 0x325050d
+    4560:	eb 78 01 05 	.long 0x50178eb
+    4564:	02 14 05 2e 	cmpwi   cr4,r5,5122
+    4568:	03 eb 7e 01 	.long 0x17eeb03
+    456c:	05 02 14 05 	.long 0x5140205
+    4570:	03 13 14 15 	.long 0x15141303
+    4574:	05 25 03 df 	stfdu   f24,9477(r3)
+    4578:	7e 01 05 02 	.long 0x205017e
+    457c:	15 15 15 14 	.long 0x14151515
+    4580:	14 13 06 01 	.long 0x1061314
+    4584:	05 03 06 03 	.long 0x3060305
+    4588:	94 01 01 05 	.long 0x5010194
+    458c:	0a 06 01 3c 	addis   r0,r1,1546
+    4590:	04 01 05 05 	.long 0x5050104
+    4594:	03 a0 08 01 	.long 0x108a003
+    4598:	04 0d 05 0a 	tdlti   r5,3332
+    459c:	03 e0 77 20 	subfic  r3,r23,-8189
+    45a0:	20 04 01 05 	.long 0x5010420
+    45a4:	09 03 9f 08 	tdeqi   r31,777
+    45a8:	01 05 02 06 	.long 0x6020501
+    45ac:	21 05 05 06 	.long 0x6050521
+    45b0:	01 05 02 06 	.long 0x6020501
+    45b4:	22 05 05 06 	.long 0x6050522
+    45b8:	13 05 18 1f 	mulli   r24,r24,1299
+    45bc:	05 08 23 05 	.long 0x5230805
+    45c0:	18 63 05 22 	subfic  r16,r5,25368
+    45c4:	21 05 30 1f 	mulli   r25,r16,1313
+    45c8:	05 0f 20 05 	.long 0x5200f05
+    45cc:	02 06 22 13 	.long 0x13220602
+    45d0:	05 22 06 11 	vsrq    v8,v6,v4
+    45d4:	05 08 20 21 	subfic  r9,r0,2053
+    45d8:	05 22 3b 05 	.long 0x53b2205
+    45dc:	1d 20 05 08 	tdi     0,r5,8221
+    45e0:	21 05 02 4c 	.long 0x4c020521
+    45e4:	06 20 2f 05 	.long 0x52f2006
+    45e8:	05 06 01 2e 	cmpwi   cr4,r1,1541
+    45ec:	58 05 02 06 	.long 0x6020558
+    45f0:	5e 59 05 09 	tdgti   r5,22878
+    45f4:	06 01 05 18 	.long 0x18050106
+    45f8:	03 49 2e 05 	.long 0x52e4903
+    45fc:	07 03 1c 20 	subfic  r0,r28,775
+    4600:	05 16 03 6f 	xoris   r3,r24,5637
+    4604:	20 05 07 03 	.long 0x3070520
+    4608:	11 2e 05 0f 	twnei   r5,11793
+    460c:	03 ea 7e 20 	subfic  r3,r30,-5629
+    4610:	05 16 03 85 	lwzu    r8,5637(r3)
+    4614:	01 2e 05 07 	.long 0x7052e01
+    4618:	03 11 20 05 	.long 0x5201103
+    461c:	0f 03 6f 20 	subfic  r3,r15,783
+    4620:	03 fb 7e 20 	subfic  r3,r30,-1277
+    4624:	20 05 02 06 	.long 0x6020520
+    4628:	03 85 01 01 	.long 0x1018503
+    462c:	05 18 06 17 	.long 0x17061805
+    4630:	05 0f 24 05 	.long 0x5240f05
+    4634:	0d 03 77 20 	subfic  r3,r23,781
+    4638:	05 35 03 0a 	tdlti   r3,13573
+    463c:	20 05 06 03 	.long 0x3060520
+    4640:	76 20 05 02 	.long 0x2052076
+    4644:	06 25 13 05 	.long 0x5132506
+    4648:	1f 06 01 05 	.long 0x501061f
+    464c:	1e 1f 05 21 	subfic  r8,r5,7966
+    4650:	22 05 2b 22 	subfic  r17,r11,1314
+    4654:	05 35 21 05 	.long 0x5213505
+    4658:	1f 1c 05 1e 	mulli   r16,r5,7199
+    465c:	1f 05 21 22 	subfic  r17,r1,1311
+    4660:	05 2b 22 05 	.long 0x5222b05
+    4664:	07 1d 05 02 	.long 0x2051d07
+    4668:	06 21 05 07 	.long 0x7052106
+    466c:	06 01 05 02 	.long 0x2050106
+    4670:	06 22 05 07 	.long 0x7052206
+    4674:	06 01 05 02 	.long 0x2050106
+    4678:	06 21 05 35 	addic.  r8,r5,8454
+    467c:	06 01 05 23 	subfic  r24,r5,262
+    4680:	20 05 02 06 	.long 0x6020520
+    4684:	21 05 08 06 	.long 0x6080521
+    4688:	01 05 05 23 	subfic  r24,r5,1281
+    468c:	05 08 1d 20 	subfic  r0,r29,2053
+    4690:	20 20 05 02 	.long 0x2052020
+    4694:	06 77 05 05 	.long 0x5057706
+    4698:	06 01 05 0a 	tdlti   r5,262
+    469c:	03 09 20 05 	.long 0x5200903
+    46a0:	0c 03 e4 7e 	dcblc   23,r4,r0
+    46a4:	20 05 06 03 	.long 0x3060520
+    46a8:	90 01 20 05 	.long 0x5200190
+    46ac:	02 06 03 0c 	twi     0,r3,1538
+    46b0:	20 05 13 03 	.long 0x3130520
+    46b4:	e2 7e 01 05 	.long 0x5017ee2
+    46b8:	02 14 05 0f 	twnei   r5,5122
+    46bc:	06 01 05 05 	.long 0x5050106
+    46c0:	2e 05 02 06 	.long 0x602052e
+    46c4:	30 05 0f 06 	.long 0x60f0530
+    46c8:	01 05 05 20 	subfic  r0,r5,1281
+    46cc:	05 02 06 30 	addic   r0,r6,517
+    46d0:	05 05 06 01 	.long 0x1060505
+    46d4:	05 02 06 30 	addic   r0,r6,517
+    46d8:	01 01 01 01 	.long 0x1010101
+    46dc:	20 01 06 01 	.long 0x1060120
+    46e0:	05 04 06 03 	.long 0x3060405
+    46e4:	9b 7f 01 05 	.long 0x5017f9b
+    46e8:	19 06 13 05 	.long 0x5130619
+    46ec:	0a 2d 05 04 	.long 0x4052d0a
+    46f0:	06 21 05 19 	.long 0x19052106
+    46f4:	06 01 58 05 	.long 0x5580106
+    46f8:	04 06 03 c1 	lfs     f8,1540(r3)
+    46fc:	01 01 06 2e 	cmpwi   cr4,r6,257
+    4700:	06 3e 06 01 	.long 0x1063e06
+    4704:	3c 58 06 03 	.long 0x306583c
+    4708:	b6 7e 3c 05 	.long 0x53c7eb6
+    470c:	0a 06 20 20 	subfic  r1,r0,1546
+    4710:	05 04 06 31 	addic   r8,r6,1029
+    4714:	05 0a 06 20 	subfic  r0,r6,2565
+    4718:	20 2e 05 03 	.long 0x3052e20
+    471c:	06 03 f6 01 	.long 0x1f60306
+    4720:	01 13 13 05 	.long 0x5131301
+    4724:	11 06 01 05 	.long 0x5010611
+    4728:	07 20 05 06 	.long 0x6052007
+    472c:	20 05 04 06 	.long 0x6040520
+    4730:	2f 05 11 06 	.long 0x611052f
+    4734:	01 05 20 21 	subfic  r9,r0,1281
+    4738:	05 0a 24 05 	.long 0x5240a05
+    473c:	20 1c 05 0c 	twi     0,r5,7200
+    4740:	03 e8 7e 20 	subfic  r3,r30,-6141
+    4744:	20 05 03 06 	.long 0x6030520
+    4748:	03 98 01 01 	.long 0x1019803
+    474c:	13 05 08 06 	.long 0x6080513
+    4750:	11 05 09 22 	subfic  r16,r9,1297
+    4754:	1f 20 2e 05 	.long 0x52e201f
+    4758:	07 82 05 03 	.long 0x3058207
+    475c:	06 21 06 20 	subfic  r0,r6,8454
+    4760:	05 24 03 60 	ori     r3,r0,9221
+    4764:	01 05 07 03 	.long 0x3070501
+    4768:	f1 7e 4a 4a 	bl      fffffffffe4ac658 <kvmhv_nested_next_lpid+0xfffffffffe4a8b90>
+    476c:	03 2f 01 4a 	bla     fe012f00 <kvmhv_nested_next_lpid+0xfe00f438>
+    4770:	05 10 03 fb 	stdu    r24,4100(r3)
+    4774:	00 3c 58 05 	.long 0x5583c00
+    4778:	02 03 df 7e 	.long 0x7edf0302
+    477c:	01 20 20 2e 	cmpdi   cr4,r0,8193
+    4780:	06 03 4e 01 	.long 0x14e0306
+    4784:	05 19 06 01 	.long 0x1061905
+    4788:	05 02 06 2f 	cmpwi   cr6,r6,517
+    478c:	06 66 04 0a 	tdlti   r4,26118
+    4790:	05 03 06 03 	.long 0x3060305
+    4794:	b1 75 01 05 	.long 0x50175b1
+    4798:	16 06 01 05 	.long 0x5010616
+    479c:	03 06 2f 01 	.long 0x12f0603
+    47a0:	01 01 01 06 	.long 0x6010101
+    47a4:	2e 04 01 06 	.long 0x601042e
+    47a8:	03 83 0b 01 	.long 0x10b8303
+    47ac:	05 0a 06 01 	.long 0x1060a05
+    47b0:	05 16 03 8d 	lbzu    r8,5637(r3)
+    47b4:	01 20 20 05 	.long 0x5202001
+    47b8:	0f 20 05 0a 	tdlti   r5,8207
+    47bc:	03 f3 7e 20 	subfic  r3,r30,-3325
+    47c0:	4a 4a 04 0a 	tdlti   r4,19018
+    47c4:	05 03 06 03 	.long 0x3060305
+    47c8:	fc 74 01 05 	.long 0x50174fc
+    47cc:	16 06 01 05 	.long 0x5010616
+    47d0:	03 06 2f 01 	.long 0x12f0603
+    47d4:	01 01 01 06 	.long 0x6010101
+    47d8:	2e 04 01 05 	.long 0x501042e
+    47dc:	01 03 c8 0c 	twllei  r8,769
+    47e0:	82 05 03 06 	.long 0x6030582
+    47e4:	03 8f 7f 2e 	cmpdi   cr4,r31,-28925
+    47e8:	01 01 01 01 	.long 0x1010101
+    47ec:	05 0a 06 3e 	addis   r16,r6,2565
+    47f0:	05 03 1e 06 	.long 0x61e0305
+    47f4:	3e 05 01 03 	.long 0x301053e
+    47f8:	f2 00 58 06 	.long 0x65800f2
+    47fc:	4a 05 11 2f 	cmpwi   cr6,r17,1354
+    4800:	05 01 1f 3c 	addis   r0,r31,261
+    4804:	05 02 06 3d 	addis   r8,r6,517
+    4808:	05 06 06 01 	.long 0x1060605
+    480c:	05 02 06 22 	subfic  r16,r6,517
+    4810:	04 06 05 1d 	mulli   r8,r5,1540
+    4814:	03 d7 75 01 	.long 0x175d703
+    4818:	05 02 14 06 	.long 0x6140205
+    481c:	2e 04 01 06 	.long 0x601042e
+    4820:	03 a8 0a 01 	.long 0x10aa803
+    4824:	05 07 06 01 	.long 0x1060705
+    4828:	05 05 4a 05 	.long 0x54a0505
+    482c:	02 06 30 04 	.long 0x4300602
+    4830:	06 05 1d 03 	.long 0x31d0506
+    4834:	fc 75 01 05 	.long 0x50175fc
+    4838:	02 14 04 09 	tdgti   r4,5122
+    483c:	05 14 03 85 	lwzu    r8,5125(r3)
+    4840:	7e 01 05 02 	.long 0x205017e
+    4844:	14 01 01 13 	mtvsrbmi v24,258
+    4848:	04 06 05 14 	.long 0x14050604
+    484c:	03 3a 01 05 	.long 0x5013a03
+    4850:	02 14 04 0a 	tdlti   r4,5122
+    4854:	05 14 03 e7 	psq_lu  f24,1029(r3),0,1
+    4858:	7e 01 05 02 	.long 0x205017e
+    485c:	14 05 05 06 	.long 0x6050514
+    4860:	14 05 1c 1e 	mulli   r16,r28,1300
+    4864:	05 02 06 22 	subfic  r16,r6,517
+    4868:	05 05 06 01 	.long 0x1060505
+    486c:	05 03 06 30 	addic   r0,r6,773
+    4870:	05 02 15 05 	.long 0x5150205
+    4874:	13 06 01 04 	.long 0x4010613
+    4878:	06 05 02 06 	.long 0x6020506
+    487c:	03 91 01 3c 	addis   r0,r1,-28413
+    4880:	04 0b 05 14 	.long 0x14050b04
+    4884:	03 4f 01 05 	.long 0x5014f03
+    4888:	02 14 01 01 	.long 0x1011402
+    488c:	01 01 01 01 	.long 0x1010101
+    4890:	01 01 01 20 	subfic  r0,r1,257
+    4894:	01 01 01 01 	.long 0x1010101
+    4898:	01 01 2e 01 	.long 0x12e0101
+    489c:	01 01 13 06 	.long 0x6130101
+    48a0:	01 04 06 06 	.long 0x6060401
+    48a4:	03 2f 01 06 	.long 0x6012f03
+    48a8:	01 04 09 06 	.long 0x6090401
+    48ac:	03 43 01 06 	.long 0x6014303
+    48b0:	01 04 01 06 	.long 0x6010401
+    48b4:	03 fb 0b 01 	.long 0x10bfb03
+    48b8:	05 01 06 13 	vslq    v24,v6,v0
+    48bc:	05 09 49 05 	.long 0x5490905
+    48c0:	01 21 4a 05 	.long 0x54a2101
+    48c4:	03 06 54 04 	.long 0x4540603
+    48c8:	0a 05 05 06 	.long 0x605050a
+    48cc:	03 ae 73 01 	.long 0x173ae03
+    48d0:	04 01 05 07 	.long 0x7050104
+    48d4:	03 d2 0c 20 	subfic  r0,r12,-11773
+    48d8:	05 02 06 2f 	cmpwi   cr6,r6,517
+    48dc:	04 06 05 1d 	mulli   r8,r5,1540
+    48e0:	03 fc 75 01 	.long 0x175fc03
+    48e4:	05 02 14 04 	.long 0x4140205
+    48e8:	09 05 14 03 	.long 0x3140509
+    48ec:	85 7e 01 05 	.long 0x5017e85
+    48f0:	02 14 01 01 	.long 0x1011402
+    48f4:	13 04 06 05 	.long 0x5060413
+    48f8:	14 03 3a 01 	.long 0x13a0314
+    48fc:	05 02 14 04 	.long 0x4140205
+    4900:	0a 05 14 03 	.long 0x314050a
+    4904:	e7 7e 01 05 	.long 0x5017ee7
+    4908:	02 14 05 1c 	mulli   r0,r5,5122
+    490c:	06 01 05 02 	.long 0x2050106
+    4910:	06 22 05 05 	.long 0x5052206
+    4914:	06 01 05 03 	.long 0x3050106
+    4918:	06 2f 05 16 	.long 0x16052f06
+    491c:	06 01 05 03 	.long 0x3050106
+    4920:	06 2f 01 01 	.long 0x1012f06
+    4924:	01 01 06 2e 	cmpwi   cr4,r6,257
+    4928:	04 01 05 01 	.long 0x1050104
+    492c:	03 d4 0c 01 	.long 0x10cd403
+    4930:	02 02 00 01 	.long 0x1000202
+    4934:	Address 0x0000000000004934 is out of bounds.
+
 
 Disassembly of section .debug_str:
 
@@ -46564,7 +46571,7 @@ Disassembly of section .debug_str:
 	hr->amor = swab64(hr->amor);
       6c:	50 4d 5f 52 	rlwimi  r31,r18,9,21,8
 	hr->pcr = swab64(hr->pcr) | PCR_MASK;
-      70:	45 51 5f 49 	bl      15f51b4 <kvmhv_nested_next_lpid+0x15f16dc>
+      70:	45 51 5f 49 	bl      15f51b4 <kvmhv_nested_next_lpid+0x15f16ec>
 {
       74:	44 4c 45 00 	.long 0x454c44
 	hr->lpid = swab32(hr->lpid);
@@ -46661,7 +46668,7 @@ Disassembly of section .debug_str:
 	hr->purr = swab64(hr->purr);
      138:	4d 53 43 41 	bdztl   so,5484 <.debug_str+0x5484>
 	hr->spurr = swab64(hr->spurr);
-     13c:	4e 5f 54 48 	ba      545f4c <kvmhv_nested_next_lpid+0x542474>
+     13c:	4e 5f 54 48 	ba      545f4c <kvmhv_nested_next_lpid+0x542484>
 	hr->ic = swab64(hr->ic);
      140:	52 4f 54 54 	rlwinm  r20,r2,9,29,9
 	hr->vtb = swab64(hr->vtb);
@@ -46720,8 +46727,8 @@ Disassembly of section .debug_str:
 	hr->cfar = swab64(hr->cfar);
      1b4:	00 49 52 51 	rlwimi  r18,r10,9,4,0
 	hr->ppr = swab64(hr->ppr);
-     1b8:	5f 57 41 4b 	bla     ff41575c <kvmhv_nested_next_lpid+0xff411c84>
-     1bc:	45 5f 54 48 	bl      546100 <kvmhv_nested_next_lpid+0x542628>
+     1b8:	5f 57 41 4b 	bla     ff41575c <kvmhv_nested_next_lpid+0xff411c94>
+     1bc:	45 5f 54 48 	bl      546100 <kvmhv_nested_next_lpid+0x542638>
 	hr->srr0 = swab64(hr->srr0);
      1c0:	52 45 41 44 	.long 0x44414552
 	hr->dawr1 = swab64(hr->dawr1);
@@ -46809,9 +46816,9 @@ Disassembly of section .debug_str:
      2b0:	49 4e 54 45 	.long 0x45544e49
      2b4:	52 4c 45 41 	bdzta   4*cr1+gt,4c50 <.debug_str+0x4c50>
 		rc = plpar_hcall_norets(H_RPT_INVALIDATE, pid, target, type,
-     2b8:	56 45 5f 48 	ba      5f4554 <kvmhv_nested_next_lpid+0x5f0a7c>
+     2b8:	56 45 5f 48 	ba      5f4554 <kvmhv_nested_next_lpid+0x5f0a8c>
      2bc:	49 54 00 4d 	.long 0x4d005449
-     2c0:	4d 5f 46 49 	bl      146620c <kvmhv_nested_next_lpid+0x1462734>
+     2c0:	4d 5f 46 49 	bl      146620c <kvmhv_nested_next_lpid+0x1462744>
      2c4:	4c 45 50 41 	bdzt    4*cr4+lt,4810 <.debug_str+0x4810>
      2c8:	47 45 53 00 	.long 0x534547
      2cc:	6e 65 65 64 	oris    r5,r3,25966
@@ -47158,12 +47165,12 @@ static bool kvmhv_invalidate_shadow_pte(
      6b0:	64 5f 64 65 	oris    r4,r11,24420
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
      6b4:	6c 61 79 00 	.long 0x79616c
-	if (unlikely(!pseries_partition_tb)) {
+	if (!pseries_partition_tb) {
      6b8:	72 65 73 74 	andis.  r19,r3,25970
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
      6bc:	6f 72 65 5f 	rlwnm.  r5,r27,r14,9,23
      6c0:	68 76 5f 72 	andi.   r31,r18,30312
-	if (unlikely(!pseries_partition_tb)) {
+	if (!pseries_partition_tb) {
      6c4:	65 67 73 00 	.long 0x736765
 	ptcr = __pa(pseries_partition_tb) | (ptb_order - 12);
      6c8:	75 6e 73 69 	xori    r19,r11,28277
@@ -47340,7 +47347,7 @@ static bool kvmhv_invalidate_shadow_pte(
 	dw0 = PATB_HR | radix__get_tree_size() |
      8cc:	4e 56 5f 50 	rlwimi  r31,r2,10,25,7
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, dw0, gp->process_table);
-     8d0:	4f 53 53 49 	bla     153534c <kvmhv_nested_next_lpid+0x1531874>
+     8d0:	4f 53 53 49 	bla     153534c <kvmhv_nested_next_lpid+0x1531884>
      8d4:	42 4c 45 00 	.long 0x454c42
      8d8:	6e 65 73 74 	andis.  r19,r3,25966
 	dw0 = PATB_HR | radix__get_tree_size() |
@@ -47423,7 +47430,7 @@ static bool kvmhv_invalidate_shadow_pte(
      9c8:	6e 73 74 61 	ori     r20,r11,29550
      9cc:	6e 63 65 5f 	rlwnm   r5,r27,r12,13,23
      9d0:	63 6f 6f 6b 	xori    r15,r27,28515
-     9d4:	69 65 00 4b 	bl      ffffffffff006f3c <kvmhv_nested_next_lpid+0xffffffffff003464>
+     9d4:	69 65 00 4b 	bl      ffffffffff006f3c <kvmhv_nested_next_lpid+0xffffffffff003474>
 {
      9d8:	56 4d 5f 53 	rlwimi  r31,r26,9,21,11
      9dc:	54 41 54 5f 	rlwnm   r20,r26,r8,5,10
@@ -47466,7 +47473,7 @@ static bool kvmhv_invalidate_shadow_pte(
 }
      a54:	6f 75 6e 74 	andis.  r14,r3,30063
      a58:	65 72 00 57 	rlwinm. r0,r24,14,9,18
-     a5c:	4d 41 52 4b 	bl      ffffffffff524ba8 <kvmhv_nested_next_lpid+0xffffffffff5210d0>
+     a5c:	4d 41 52 4b 	bl      ffffffffff524ba8 <kvmhv_nested_next_lpid+0xffffffffff5210e0>
      a60:	5f 4c 4f 57 	rlwinm. r15,r26,9,17,15
      a64:	00 64 65 76 	andis.  r5,r19,25600
      a68:	5f 67 72 6f 	xoris   r18,r27,26463
@@ -47537,7 +47544,7 @@ static void kvmhv_emulate_tlbie_lpid(str
      b3c:	6d 61 5f 70 	andi.   r31,r2,24941
 	struct kvm *kvm = gp->l1_host;
      b40:	68 79 73 00 	.long 0x737968
-     b44:	48 52 54 49 	b       1545d8c <kvmhv_nested_next_lpid+0x15422b4>
+     b44:	48 52 54 49 	b       1545d8c <kvmhv_nested_next_lpid+0x15422c4>
      b48:	4d 45 52 5f 	rlwnm.  r18,r26,r8,21,6
      b4c:	42 41 53 45 	.long 0x45534142
 	kvmppc_free_pgtable_radix(kvm, gp->shadow_pgtable, gp->shadow_lpid);
@@ -47627,7 +47634,7 @@ static void kvmhv_emulate_tlbie_lpid(str
      c58:	74 5f 64 65 	oris    r4,r11,24436
      c5c:	70 74 68 00 	.long 0x687470
 	struct kvm *kvm = gp->l1_host;
-     c60:	48 52 54 49 	b       1545ea8 <kvmhv_nested_next_lpid+0x15423d0>
+     c60:	48 52 54 49 	b       1545ea8 <kvmhv_nested_next_lpid+0x15423e0>
      c64:	4d 45 52 5f 	rlwnm.  r18,r26,r8,21,6
 	int lpid = gp->l1_lpid;
      c68:	42 41 53 45 	.long 0x45534142
@@ -47651,7 +47658,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	struct mmiowb_state *ms = __mmiowb_state();
      ca0:	4b 5f 49 46 	.long 0x46495f4b
 	if (unlikely(ms->mmiowb_pending)) {
-     ca4:	45 54 43 48 	bl      4360e8 <kvmhv_nested_next_lpid+0x432610>
+     ca4:	45 54 43 48 	bl      4360e8 <kvmhv_nested_next_lpid+0x432620>
      ca8:	00 73 74 61 	ori     r20,r11,29440
 	ms->nesting_count--;
      cac:	72 74 5f 64 	oris    r31,r2,29810
@@ -47758,7 +47765,7 @@ static void kvmhv_emulate_tlbie_lpid(str
      dec:	5f 4e 4f 54 	rlwinm. r15,r2,9,25,15
      df0:	49 46 59 5f 	rlwnm.  r25,r26,r8,25,4
      df4:	50 52 4f 54 	rlwinm  r15,r2,10,9,8
-     df8:	45 43 54 49 	bl      154513c <kvmhv_nested_next_lpid+0x1541664>
+     df8:	45 43 54 49 	bl      154513c <kvmhv_nested_next_lpid+0x1541674>
      dfc:	4f 4e 5f 50 	rlwimi. r31,r2,9,25,7
      e00:	41 47 45 00 	.long 0x454741
      e04:	69 63 70 74 	andis.  r16,r3,25449
@@ -47776,7 +47783,7 @@ static void kvmhv_emulate_tlbie_lpid(str
      e28:	55 4c 54 5f 	rlwnm.  r20,r26,r9,17,10
      e2c:	46 4c 41 47 	.long 0x47414c46
 	if (ret == H_SUCCESS)
-     e30:	5f 57 52 49 	bla     152575c <kvmhv_nested_next_lpid+0x1521c84>
+     e30:	5f 57 52 49 	bla     152575c <kvmhv_nested_next_lpid+0x1521c94>
      e34:	54 45 00 69 	xori    r0,r8,17748
 	long ret = H_SUCCESS;
      e38:	72 71 5f 73 	andi.   r31,r26,29042
@@ -47866,7 +47873,7 @@ static void kvmhv_emulate_tlbie_lpid(str
      f34:	5f 48 4f 52 	rlwimi. r15,r18,9,1,15
 			gp->next = freelist;
      f38:	49 5f 50 4f 	.long 0x4f505f49
-     f3c:	53 5f 52 49 	bla     1525f50 <kvmhv_nested_next_lpid+0x1522478>
+     f3c:	53 5f 52 49 	bla     1525f50 <kvmhv_nested_next_lpid+0x1522488>
 	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
      f40:	47 48 54 00 	.long 0x544847
      f44:	50 52 4f 42 	bc      18,4*cr3+so,6194 <.debug_str+0x6194>
@@ -47892,7 +47899,7 @@ static void kvmhv_emulate_tlbie_lpid(str
      f80:	65 00 5f 5f 	rlwnm.  r31,r26,r0,1,18
      f84:	73 36 34 00 	.long 0x343673
      f88:	4c 52 55 5f 	rlwnm   r21,r26,r10,9,6
-     f8c:	41 43 54 49 	bl      15452cc <kvmhv_nested_next_lpid+0x15417f4>
+     f8c:	41 43 54 49 	bl      15452cc <kvmhv_nested_next_lpid+0x1541804>
      f90:	56 45 5f 41 	bdzta   4*cr7+so,4554 <.debug_str+0x4554>
      f94:	4e 4f 4e 00 	.long 0x4e4f4e
 	while ((gp = freelist) != NULL) {
@@ -48012,7 +48019,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1110:	52 5f 5a 4f 	.long 0x4f5a5f52
     1114:	4e 45 5f 41 	bdzta   4*cr7+so,454c <.debug_str+0x454c>
     1118:	43 54 49 56 	rlwinm. r9,r18,10,17,1
-    111c:	45 5f 46 49 	bl      1467060 <kvmhv_nested_next_lpid+0x1463588>
+    111c:	45 5f 46 49 	bl      1467060 <kvmhv_nested_next_lpid+0x1463598>
 	kvm_for_each_memslot(memslot, bkt, kvm_memslots(kvm))
     1120:	4c 45 00 46 	.long 0x4600454c
 		ms->mmiowb_pending = 0;
@@ -48103,13 +48110,13 @@ static void kvmhv_emulate_tlbie_lpid(str
     1238:	5f 70 74 65 	oris    r20,r11,28767
     123c:	00 72 65 71 	andi.   r5,r11,29184
     1240:	75 65 73 74 	andis.  r19,r3,25973
-    1244:	73 00 4d 49 	bla     14d0070 <kvmhv_nested_next_lpid+0x14cc598>
+    1244:	73 00 4d 49 	bla     14d0070 <kvmhv_nested_next_lpid+0x14cc5a8>
     1248:	47 52 41 54 	rlwinm. r1,r2,10,9,3
     124c:	45 5f 43 4d 	addpcis r10,24391
 		return NULL;
     1250:	41 00 66 5f 	rlwnm.  r6,r27,r0,1,0
     1254:	6f 70 00 50 	rlwimi. r0,r0,14,1,23
-    1258:	47 50 47 49 	bla     1475044 <kvmhv_nested_next_lpid+0x147156c>
+    1258:	47 50 47 49 	bla     1475044 <kvmhv_nested_next_lpid+0x147157c>
     125c:	4e 00 77 61 	ori     r23,r11,78
 		return kmalloc_trace(
     1260:	69 74 5f 72 	andi.   r31,r18,29801
@@ -48119,7 +48126,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1270:	69 72 6d 5f 	rlwnm.  r13,r27,r14,9,20
     1274:	73 77 69 74 	andis.  r9,r3,30579
     1278:	63 68 00 73 	andi.   r0,r24,26723
-	if (unlikely(!gp))
+	if (!gp)
     127c:	68 61 64 6f 	xoris   r4,r27,24936
     1280:	77 5f 73 68 	xori    r19,r3,24439
     1284:	69 66 74 00 	.long 0x746669
@@ -48223,13 +48230,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     13a4:	6b 76 6d 70 	andi.   r13,r3,30315
     13a8:	70 63 5f 6f 	xoris   r31,r26,25456
     13ac:	70 73 00 6b 	xori    r0,r24,29552
-		ms->mmiowb_pending = 0;
+	pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
     13b0:	6d 65 6d 5f 	rlwnm.  r13,r27,r12,21,22
     13b4:	63 61 63 68 	xori    r3,r3,24931
-		mmiowb();
     13b8:	65 00 4d 43 	bcl-    26,4*cr3+gt,141c <.debug_str+0x141c>
-    13bc:	45 5f 44 49 	bl      1447300 <kvmhv_nested_next_lpid+0x1443828>
-	pgd = kmem_cache_alloc(PGT_CACHE(PGD_INDEX_SIZE),
+    13bc:	45 5f 44 49 	bl      1447300 <kvmhv_nested_next_lpid+0x1443838>
     13c0:	53 50 4f 53 	rlwimi. r15,r26,10,1,9
     13c4:	49 54 49 4f 	.long 0x4f495449
     13c8:	4e 5f 52 45 	.long 0x45525f4e
@@ -48237,11 +48242,13 @@ static void kvmhv_emulate_tlbie_lpid(str
     13d0:	52 45 44 00 	.long 0x444552
     13d4:	69 6e 6f 64 	oris    r15,r3,28265
     13d8:	65 00 64 72 	andi.   r4,r19,101
+	if (unlikely(!pgd))
     13dc:	69 76 65 72 	andi.   r5,r19,30313
+		ms->mmiowb_pending = 0;
     13e0:	73 5f 64 69 	xori    r4,r11,24435
     13e4:	72 00 4e 52 	rlwimi  r14,r18,0,1,25
+		mmiowb();
     13e8:	5f 5a 4f 4e 	.long 0x4e4f5a5f
-	if (unlikely(!pgd))
     13ec:	45 5f 41 43 	bcl-    26,gt,7330 <.debug_str+0x7330>
 	pgd_free(kvm->mm, gp->shadow_pgtable);
     13f0:	54 49 56 45 	.long 0x45564954
@@ -48258,7 +48265,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1410:	5f 50 41 47 	.long 0x4741505f
     1414:	45 5f 54 41 	bdztl   4*cr5+lt,7358 <.debug_str+0x7358>
     1418:	42 4c 45 5f 	rlwnm   r5,r26,r9,17,1
-    141c:	57 41 4c 4b 	bla     ff4c4154 <kvmhv_nested_next_lpid+0xff4c067c>
+    141c:	57 41 4c 4b 	bla     ff4c4154 <kvmhv_nested_next_lpid+0xff4c068c>
 	if (idr_replace(&kvm->arch.kvm_nested_guest_idr, gp, lpid))
     1420:	5f 49 46 45 	.long 0x4546495f
     1424:	54 43 48 00 	.long 0x484354
@@ -48359,7 +48366,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     155c:	79 73 5f 61 	ori     r31,r10,29561
 		ms->mmiowb_pending = 0;
     1560:	64 64 72 00 	.long 0x726464
-    1564:	48 52 54 49 	b       15467ac <kvmhv_nested_next_lpid+0x1542cd4>
+    1564:	48 52 54 49 	b       15467ac <kvmhv_nested_next_lpid+0x1542ce4>
 		mmiowb();
     1568:	4d 45 52 5f 	rlwnm.  r18,r26,r8,21,6
     156c:	52 45 53 54 	rlwinm  r19,r2,8,21,9
@@ -48510,7 +48517,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1744:	61 67 65 00 	.long 0x656761
 	WARN_ON_ONCE(idx & ~0x1);
     1748:	4e 55 4d 41 	bdzta   4*cr3+gt,554c <.debug_str+0x554c>
-    174c:	5f 4f 54 48 	bla     544f5c <kvmhv_nested_next_lpid+0x541484>
+    174c:	5f 4f 54 48 	bla     544f5c <kvmhv_nested_next_lpid+0x541494>
     1750:	45 52 00 73 	andi.   r0,r24,21061
     1754:	6c 62 6d 74 	andis.  r13,r3,25196
     1758:	65 00 6e 75 	andis.  r14,r11,101
@@ -48629,7 +48636,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     18c4:	45 46 45 52 	rlwimi. r5,r18,8,25,2
 	saved_l1_regs = vcpu->arch.regs;
     18c8:	52 45 44 5f 	rlwnm   r4,r26,r8,21,9
-    18cc:	53 50 4c 49 	bla     14c5050 <kvmhv_nested_next_lpid+0x14c1578>
+    18cc:	53 50 4c 49 	bla     14c5050 <kvmhv_nested_next_lpid+0x14c1588>
     18d0:	54 5f 50 41 	bdzt    4*cr4+lt,7824 <.debug_str+0x7824>
     18d4:	47 45 00 6b 	xori    r0,r24,17735
 	vcpu->arch.regs.msr = vcpu->arch.shregs.msr;
@@ -48694,7 +48701,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	vc->dpdes = hr->dpdes;
     195c:	46 41 4c 4c 	.long 0x4c4c4146
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
-    1960:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430668>
+    1960:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430678>
 	vcpu->arch.purr = hr->purr;
     1964:	00 6e 65 73 	andi.   r5,r27,28160
 	vcpu->arch.ciabr = hr->ciabr;
@@ -48788,7 +48795,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
     1a28:	43 48 5f 46 	.long 0x465f4843
 	vcpu->arch.dawr1 = hr->dawr1;
-    1a2c:	4f 52 45 49 	bla     145524c <kvmhv_nested_next_lpid+0x1451774>
+    1a2c:	4f 52 45 49 	bla     145524c <kvmhv_nested_next_lpid+0x1451784>
 	vcpu->arch.dawrx1 = hr->dawrx1;
     1a30:	47 4e 00 62 	ori     r0,r16,20039
 				      (vc->lpcr & ~mask) | (*lpcr & mask));
@@ -48902,7 +48909,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	hr->srr0 = vcpu->arch.shregs.srr0;
     1b30:	00 4d 43 45 	.long 0x45434d00
 	delta_vtb = vc->vtb - l2_hv.vtb;
-    1b34:	5f 49 4e 49 	bla     14e495c <kvmhv_nested_next_lpid+0x14e0e84>
+    1b34:	5f 49 4e 49 	bla     14e495c <kvmhv_nested_next_lpid+0x14e0e94>
 	delta_purr = vcpu->arch.purr - l2_hv.purr;
     1b38:	54 49 41 54 	rlwinm  r1,r2,9,5,10
 	hr->srr0 = vcpu->arch.shregs.srr0;
@@ -49000,7 +49007,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	vc->dpdes = hr->dpdes;
     1c0c:	65 73 00 50 	rlwimi. r0,r0,14,13,18
 	vcpu->arch.hfscr = hr->hfscr;
-    1c10:	45 5f 53 49 	bl      1537b54 <kvmhv_nested_next_lpid+0x153407c>
+    1c10:	45 5f 53 49 	bl      1537b54 <kvmhv_nested_next_lpid+0x153408c>
 	vcpu->arch.dawr0 = hr->dawr0;
     1c14:	5a 45 5f 50 	rlwimi  r31,r2,8,21,13
 	vc->tb_offset = saved_l1_hv.tb_offset;
@@ -49071,7 +49078,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     1ca0:	72 73 00 50 	rlwimi  r0,r0,14,13,25
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
     1ca4:	47 53 43 41 	bdztla  so,5344 <.debug_str+0x5344>
-    1ca8:	4e 5f 44 49 	ba      1445f4c <kvmhv_nested_next_lpid+0x1442474>
+    1ca8:	4e 5f 44 49 	ba      1445f4c <kvmhv_nested_next_lpid+0x1442484>
 	vcpu->arch.cfar = hr->cfar;
     1cac:	52 45 43 54 	rlwinm  r3,r2,8,21,9
 	vcpu->arch.ppr = hr->ppr;
@@ -49107,7 +49114,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	vcpu->arch.purr += delta_purr;
     1cec:	53 54 41 54 	rlwinm. r1,r2,10,17,9
 	vcpu->arch.spurr += delta_spurr;
-    1cf0:	45 5f 4c 49 	bl      14c7c34 <kvmhv_nested_next_lpid+0x14c415c>
+    1cf0:	45 5f 4c 49 	bl      14c7c34 <kvmhv_nested_next_lpid+0x14c416c>
 	vcpu->arch.ic += delta_ic;
     1cf4:	4e 45 5f 4c 	.long 0x4c5f454e
 	vc->vtb += delta_vtb;
@@ -49255,7 +49262,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	return kvm_vcpu_write_guest(vcpu, hv_ptr, l2_hv, size) ||
     1ed0:	39 00 4f 4f 	.long 0x4f4f0039
 	WARN_ON_ONCE(idx & ~0x1);
-    1ed4:	4d 5f 4b 49 	bl      14b7e20 <kvmhv_nested_next_lpid+0x14b4348>
+    1ed4:	4d 5f 4b 49 	bl      14b7e20 <kvmhv_nested_next_lpid+0x14b4358>
     1ed8:	4c 4c 00 69 	xori    r0,r8,19532
     1edc:	5f 68 61 73 	andi.   r1,r27,26719
     1ee0:	68 00 72 65 	oris    r18,r11,104
@@ -49355,7 +49362,7 @@ static void kvmhv_emulate_tlbie_lpid(str
 	WARN_ON_ONCE(idx & ~0x1);
     1fe0:	73 00 43 4f 	.long 0x4f430073
     1fe4:	4d 50 41 43 	bcl-    26,gt,7030 <.debug_str+0x7030>
-    1fe8:	54 46 41 49 	b       141663c <kvmhv_nested_next_lpid+0x1412b64>
+    1fe8:	54 46 41 49 	b       141663c <kvmhv_nested_next_lpid+0x1412b74>
     1fec:	4c 00 62 69 	xori    r2,r11,76
 		if (WARN_ON_ONCE(vcpu->arch.shregs.msr & MSR_TS_MASK))
     1ff0:	6f 5f 6c 69 	xori    r12,r11,24431
@@ -49376,7 +49383,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     2028:	61 63 6b 5f 	rlwnm.  r11,r27,r12,13,16
     202c:	70 6f 69 6e 	xoris   r9,r19,28528
     2030:	74 65 72 00 	.long 0x726574
-    2034:	4e 52 5f 4b 	ba      ff5f524c <kvmhv_nested_next_lpid+0xff5f1774>
+    2034:	4e 52 5f 4b 	ba      ff5f524c <kvmhv_nested_next_lpid+0xff5f1784>
     2038:	4d 41 4c 4c 	.long 0x4c4c414d
     203c:	4f 43 5f 54 	rlwinm. r31,r2,8,13,7
 		return -1;
@@ -49430,7 +49437,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     20ec:	6f 6b 69 65 	oris    r9,r11,27503
     20f0:	00 4d 45 4d 	.long 0x4d454d00
     20f4:	4f 52 59 5f 	rlwnm.  r25,r26,r10,9,7
-    20f8:	44 45 56 49 	b       156663c <kvmhv_nested_next_lpid+0x1562b64>
+    20f8:	44 45 56 49 	b       156663c <kvmhv_nested_next_lpid+0x1562b74>
     20fc:	43 45 5f 50 	rlwimi. r31,r2,8,21,1
     2100:	43 49 5f 50 	rlwimi. r31,r2,9,5,1
     2104:	32 50 44 4d 	.long 0x4d445032
@@ -49467,7 +49474,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     216c:	00 64 65 6c 	xoris   r5,r3,25600
     2170:	61 79 5f 77 	andis.  r31,r26,31073
     2174:	6f 72 6b 00 	.long 0x6b726f
-	if (unlikely(!buf))
+	if (!buf)
     2178:	73 6c 62 6d 	xoris   r2,r11,27763
     217c:	66 65 76 00 	.long 0x766566
 	gp = kvmhv_get_nested(vcpu->kvm, l1_lpid, false);
@@ -49524,7 +49531,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     2218:	54 48 52 4f 	.long 0x4f524854
 	kvmhv_put_nested(gp);
     221c:	54 54 4c 45 	.long 0x454c5454
-    2220:	5f 57 52 49 	bla     152575c <kvmhv_nested_next_lpid+0x1521c84>
+    2220:	5f 57 52 49 	bla     152575c <kvmhv_nested_next_lpid+0x1521c94>
     2224:	54 45 42 41 	bdzt    eq,6778 <.debug_str+0x6778>
 	kfree(buf);
     2228:	43 4b 00 73 	andi.   r0,r24,19267
@@ -49548,7 +49555,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     2268:	69 74 00 50 	rlwimi. r0,r0,14,17,20
     226c:	47 53 43 41 	bdztla  so,5344 <.debug_str+0x5344>
 		rc = __kvmhv_copy_tofrom_guest_radix(gp->shadow_lpid, pid,
-    2270:	4e 5f 44 49 	ba      1445f4c <kvmhv_nested_next_lpid+0x1442474>
+    2270:	4e 5f 44 49 	ba      1445f4c <kvmhv_nested_next_lpid+0x1442484>
     2274:	52 45 43 54 	rlwinm  r3,r2,8,21,9
     2278:	5f 54 48 52 	rlwimi. r8,r18,10,17,15
     227c:	4f 54 54 4c 	.long 0x4c54544f
@@ -49602,7 +49609,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     2310:	73 74 61 72 	andi.   r1,r19,29811
     2314:	74 00 63 72 	andi.   r3,r19,116
     2318:	63 73 00 55 	rlwinm. r0,r8,14,13,17
-    231c:	4e 45 56 49 	ba      156454c <kvmhv_nested_next_lpid+0x1560a74>
+    231c:	4e 45 56 49 	ba      156454c <kvmhv_nested_next_lpid+0x1560a84>
     2320:	43 54 41 42 	bcla    18,gt,5440 <.debug_str+0x5440>
     2324:	4c 45 5f 50 	rlwimi  r31,r2,8,21,6
     2328:	47 4d 4c 4f 	.long 0x4f4c4d47
@@ -49613,45 +49620,45 @@ static void kvmhv_emulate_tlbie_lpid(str
 		rc = kvm_vcpu_write_guest(vcpu, gp_to, buf, n);
     2338:	5a 45 5f 57 	rlwinm  r31,r26,8,21,13
     233c:	52 49 54 45 	.long 0x45544952
-		return H_NO_MEM;
+		return H_PARAMETER;
     2340:	00 4d 49 47 	.long 0x47494d00
     2344:	52 41 54 45 	.long 0x45544152
     2348:	5f 48 49 47 	.long 0x4749485f
     234c:	48 41 54 4f 	.long 0x4f544148
+	WARN_ON_ONCE(idx & ~0x1);
     2350:	4d 49 43 00 	.long 0x43494d
     2354:	73 65 74 61 	ori     r20,r11,25971
     2358:	74 74 72 00 	.long 0x727474
     235c:	74 65 78 61 	ori     r24,r11,25972
-		return H_PARAMETER;
     2360:	73 72 00 66 	oris    r0,r16,29299
+		return H_NO_MEM;
     2364:	5f 6d 61 70 	andi.   r1,r3,27999
     2368:	70 69 6e 67 	oris    r14,r27,26992
     236c:	00 6e 6f 69 	xori    r15,r11,28160
-	WARN_ON_ONCE(idx & ~0x1);
     2370:	6e 73 74 72 	andi.   r20,r19,29550
     2374:	5f 74 65 78 	.long 0x7865745f
     2378:	74 5f 73 74 	andis.  r19,r3,24436
     237c:	61 72 74 00 	.long 0x747261
     2380:	70 72 65 70 	andi.   r5,r3,29296
     2384:	61 72 65 00 	.long 0x657261
+{
     2388:	62 69 6e 5f 	rlwnm   r14,r27,r13,5,17
     238c:	61 74 74 72 	andi.   r20,r19,29793
     2390:	73 00 73 61 	ori     r19,r11,115
     2394:	73 5f 73 73 	andi.   r19,r27,24435
-{
     2398:	5f 66 6c 61 	ori     r12,r11,26207
     239c:	67 73 00 66 	oris    r0,r16,29543
     23a0:	5f 6d 6f 64 	oris    r15,r3,27999
     23a4:	65 00 69 73 	andi.   r9,r27,101
+	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     23a8:	5f 6d 73 69 	xori    r19,r11,27999
+	int shift, shadow_shift;
     23ac:	78 00 61 6c 	xoris   r1,r3,120
+{
     23b0:	69 67 6e 5f 	rlwnm.  r14,r27,r12,29,20
     23b4:	63 74 6c 00 	.long 0x6c7463
-	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     23b8:	6b 69 5f 63 	ori     r31,r26,26987
-	int shift, shadow_shift;
     23bc:	6f 6d 70 6c 	xoris   r16,r3,28015
-{
     23c0:	65 74 65 00 	.long 0x657465
     23c4:	76 74 69 6d 	xoris   r9,r11,29814
     23c8:	65 5f 73 74 	andis.  r19,r3,24421
@@ -49660,102 +49667,102 @@ static void kvmhv_emulate_tlbie_lpid(str
     23d4:	65 5f 66 6c 	xoris   r6,r3,24421
     23d8:	69 70 73 00 	.long 0x737069
     23dc:	73 65 74 5f 	rlwnm.  r20,r27,r12,21,25
+	struct kvm *kvm = vcpu->kvm;
     23e0:	61 63 6c 00 	.long 0x6c6361
+	int shift, shadow_shift;
     23e4:	6d 6d 75 5f 	rlwnm.  r21,r27,r13,21,22
     23e8:	66 65 61 74 	andis.  r1,r3,25958
     23ec:	75 72 65 5f 	rlwnm.  r5,r27,r14,9,26
-	struct kvm *kvm = vcpu->kvm;
+		if (mmu_psize_defs[psize].ap == ap)
     23f0:	6b 65 79 73 	andi.   r25,r27,25963
-	int shift, shadow_shift;
+	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     23f4:	00 72 66 69 	xori    r6,r11,29184
+		if (mmu_psize_defs[psize].ap == ap)
     23f8:	5f 66 6c 75 	andis.  r12,r11,26207
     23fc:	73 68 5f 66 	oris    r31,r18,26739
-		if (mmu_psize_defs[psize].ap == ap)
-    2400:	61 6c 6c 62 	ori     r12,r19,27745
 	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
+    2400:	61 6c 6c 62 	ori     r12,r19,27745
     2404:	61 63 6b 5f 	rlwnm.  r11,r27,r12,13,16
-		if (mmu_psize_defs[psize].ap == ap)
     2408:	61 72 65 61 	ori     r5,r11,29281
+		if (mmu_psize_defs[psize].ap == ap)
     240c:	00 62 75 73 	andi.   r21,r27,25088
-	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     2410:	5f 64 6d 61 	ori     r13,r11,25695
     2414:	5f 72 65 67 	oris    r5,r27,29279
+			return mmu_psize_defs[psize].shift;
     2418:	69 6f 6e 00 	.long 0x6e6f69
-		if (mmu_psize_defs[psize].ap == ap)
     241c:	64 72 69 76 	andis.  r9,r19,29284
+	shift = ap_to_shift(ap);
     2420:	65 72 00 6d 	xoris   r0,r8,29285
+	if (shift < 0)
     2424:	73 69 78 5f 	rlwnm.  r24,r27,r13,5,25
-			return mmu_psize_defs[psize].shift;
     2428:	63 74 72 6c 	xoris   r18,r3,29795
+	gp = kvmhv_get_nested(kvm, lpid, false);
     242c:	00 69 5f 6f 	xoris   r31,r26,26880
-	shift = ap_to_shift(ap);
     2430:	70 00 64 5f 	rlwnm   r4,r27,r0,1,24
-	if (shift < 0)
+	if (!gp) /* No such guest -> nothing to do */
     2434:	72 74 5f 73 	andi.   r31,r26,29810
     2438:	70 63 5f 68 	xori    r31,r2,25456
-	gp = kvmhv_get_nested(kvm, lpid, false);
     243c:	61 72 64 6c 	xoris   r4,r3,29281
+	addr &= ~((1UL << shift) - 1);
     2440:	69 6d 69 74 	andis.  r9,r3,28009
-	if (!gp) /* No such guest -> nothing to do */
+	npages = 1UL << (shift - PAGE_SHIFT);
     2444:	00 6f 72 69 	xori    r18,r11,28416
     2448:	67 5f 67 70 	andi.   r7,r3,24423
+	mutex_lock(&gp->tlb_lock);
     244c:	72 33 00 69 	xori    r0,r8,13170
-	addr &= ~((1UL << shift) - 1);
+	addr = epn << 12;
     2450:	73 5f 6b 76 	andis.  r11,r19,24435
-	npages = 1UL << (shift - PAGE_SHIFT);
+		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
     2454:	6d 70 70 63 	ori     r16,r27,28781
+	addr &= ~((1UL << shift) - 1);
     2458:	5f 72 65 73 	andi.   r5,r27,29279
 	mutex_lock(&gp->tlb_lock);
     245c:	75 6d 65 5f 	rlwnm.  r5,r27,r13,21,26
-	addr = epn << 12;
+	npages = 1UL << (shift - PAGE_SHIFT);
     2460:	67 75 65 73 	andi.   r5,r27,30055
-		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
-    2464:	74 00 6b 6f 	xoris   r11,r27,116
 	addr &= ~((1UL << shift) - 1);
+    2464:	74 00 6b 6f 	xoris   r11,r27,116
     2468:	62 6a 5f 6e 	xoris   r31,r18,27234
 	mutex_lock(&gp->tlb_lock);
     246c:	73 5f 74 79 	rldcr.  r20,r11,r11,61
-	npages = 1UL << (shift - PAGE_SHIFT);
     2470:	70 65 5f 6f 	xoris   r31,r26,25968
-	addr &= ~((1UL << shift) - 1);
     2474:	70 65 72 61 	ori     r18,r11,25968
     2478:	74 69 6f 6e 	xoris   r15,r19,26996
-	mutex_lock(&gp->tlb_lock);
     247c:	73 00 44 51 	rlwimi. r4,r10,0,1,25
+		kvmhv_invalidate_shadow_pte(vcpu, gp, addr, &shadow_shift);
     2480:	53 54 5f 46 	.long 0x465f5453
     2484:	52 45 45 5f 	rlwnm   r5,r26,r8,21,9
     2488:	44 51 55 4f 	addpcis r26,20842
     248c:	54 53 00 74 	andis.  r0,r0,21332
-		kvmhv_invalidate_shadow_pte(vcpu, gp, addr, &shadow_shift);
     2490:	68 72 65 61 	ori     r5,r11,29288
+		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
     2494:	64 5f 63 70 	andi.   r3,r3,24420
     2498:	75 00 73 65 	oris    r19,r11,117
+		addr += 1UL << shadow_shift;
     249c:	71 63 6f 75 	andis.  r15,r11,25457
-    24a0:	6e 74 5f 72 	andi.   r31,r18,29806
 		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
+    24a0:	6e 74 5f 72 	andi.   r31,r18,29806
+		addr += 1UL << shadow_shift;
     24a4:	61 77 5f 73 	andi.   r31,r26,30561
+	} while (npages > 0);
     24a8:	70 69 6e 6c 	xoris   r14,r3,26992
-		addr += 1UL << shadow_shift;
     24ac:	6f 63 6b 5f 	rlwnm.  r11,r27,r12,13,23
-		npages -= 1UL << (shadow_shift - PAGE_SHIFT);
+	mutex_unlock(&gp->tlb_lock);
     24b0:	74 00 70 65 	oris    r16,r11,116
-		addr += 1UL << shadow_shift;
     24b4:	72 63 70 75 	andis.  r16,r11,25458
-	} while (npages > 0);
     24b8:	5f 72 77 5f 	rlwnm.  r23,r27,r14,9,15
+	kvmhv_put_nested(gp);
     24bc:	73 65 6d 61 	ori     r13,r11,25971
-	mutex_unlock(&gp->tlb_lock);
     24c0:	70 68 6f 72 	andi.   r15,r19,26736
     24c4:	65 00 57 4f 	.long 0x4f570065
     24c8:	52 4b 49 4e 	.long 0x4e494b52
-	kvmhv_put_nested(gp);
+		return 0;
     24cc:	47 53 45 54 	rlwinm. r5,r2,10,13,3
+}
     24d0:	5f 41 43 54 	rlwinm. r3,r2,8,5,15
     24d4:	49 56 41 54 	rlwinm. r1,r2,10,25,4
-    24d8:	45 5f 46 49 	bl      146841c <kvmhv_nested_next_lpid+0x1464944>
-		return 0;
+    24d8:	45 5f 46 49 	bl      146841c <kvmhv_nested_next_lpid+0x1464954>
     24dc:	4c 45 00 63 	ori     r0,r24,17740
-}
     24e0:	6f 6e 66 69 	xori    r6,r11,28271
     24e4:	67 75 72 65 	oris    r18,r11,30055
     24e8:	5f 6d 6d 75 	andis.  r13,r11,27999
@@ -49768,261 +49775,261 @@ static void kvmhv_emulate_tlbie_lpid(str
     2504:	41 53 53 5f 	rlwnm.  r19,r26,r10,13,0
     2508:	55 4e 4b 4e 	.long 0x4e4b4e55
     250c:	4f 57 4e 00 	.long 0x4e574f
+		return -EINVAL;
     2510:	6d 61 73 30 	addic   r3,r19,24941
     2514:	00 72 65 73 	andi.   r5,r27,29184
     2518:	65 72 76 65 	oris    r22,r11,29285
     251c:	64 31 30 00 	.long 0x303164
-		return -EINVAL;
+}
     2520:	72 65 73 65 	oris    r19,r11,25970
     2524:	72 76 65 64 	oris    r5,r3,30322
     2528:	31 31 00 72 	andi.   r0,r16,12593
     252c:	65 73 65 72 	andi.   r5,r19,29541
-}
     2530:	76 65 64 31 	addic   r11,r4,25974
     2534:	32 00 72 65 	oris    r18,r11,50
+{
     2538:	73 65 72 76 	andis.  r18,r19,25971
     253c:	65 64 31 33 	addic   r25,r17,25701
     2540:	00 6d 61 73 	andi.   r1,r27,27904
     2544:	36 00 6c 69 	xori    r12,r11,54
-{
     2548:	73 74 5f 6c 	xoris   r31,r2,29811
     254c:	72 75 5f 6e 	xoris   r31,r18,30066
     2550:	6f 64 65 00 	.long 0x65646f
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2554:	73 72 63 75 	andis.  r3,r11,29299
     2558:	5f 67 70 5f 	rlwnm.  r16,r27,r12,29,15
+{
     255c:	73 65 71 5f 	rlwnm.  r17,r27,r12,21,25
     2560:	6e 65 65 64 	oris    r5,r3,25966
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2564:	65 64 5f 65 	oris    r31,r10,25701
     2568:	78 70 00 69 	xori    r0,r8,28792
-{
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     256c:	72 71 5f 63 	ori     r31,r26,29042
     2570:	70 75 5f 69 	xori    r31,r10,30064
+	if (!gp)
     2574:	64 00 68 63 	ori     r8,r27,100
     2578:	61 6c 6c 00 	.long 0x6c6c61
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     257c:	73 70 69 6e 	xoris   r9,r19,28787
     2580:	6c 6f 63 6b 	xori    r3,r27,28524
-	if (!gp)
     2584:	5f 74 00 69 	xori    r0,r8,29791
     2588:	72 71 5f 72 	andi.   r31,r18,29042
-	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     258c:	65 6c 65 61 	ori     r5,r11,27749
     2590:	73 65 5f 72 	andi.   r31,r18,25971
+}
     2594:	65 73 6f 75 	andis.  r15,r11,29541
     2598:	72 63 65 73 	andi.   r5,r27,25458
     259c:	00 73 63 72 	andi.   r3,r19,29440
     25a0:	61 74 63 68 	xori    r3,r3,29793
-}
     25a4:	33 00 6d 61 	ori     r13,r11,51
     25a8:	73 6b 00 74 	andis.  r0,r0,27507
     25ac:	6d 5f 70 70 	andi.   r16,r3,24429
     25b0:	72 00 6f 6c 	xoris   r15,r3,114
     25b4:	64 5f 62 65 	oris    r2,r11,24420
+{
     25b8:	00 77 61 69 	xori    r1,r11,30464
     25bc:	74 5f 71 75 	andis.  r17,r11,24436
     25c0:	65 75 65 5f 	rlwnm.  r5,r27,r14,21,18
     25c4:	68 65 61 64 	oris    r1,r3,25960
-{
     25c8:	00 77 6f 72 	andi.   r15,r19,30464
     25cc:	6b 5f 66 75 	andis.  r6,r11,24427
     25d0:	6e 63 5f 74 	andis.  r31,r2,25454
+	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
     25d4:	00 66 77 6e 	xoris   r23,r19,26112
+	u64 rmap, new_rmap = (*n_rmap)->rmap;
     25d8:	6f 64 65 00 	.long 0x65646f
+	if (!(*rmapp)) {
     25dc:	70 73 70 62 	ori     r16,r19,29552
+	u64 rmap, new_rmap = (*n_rmap)->rmap;
     25e0:	00 69 73 5f 	rlwnm   r19,r27,r13,4,0
-	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
+	if (!(*rmapp)) {
     25e4:	64 69 72 74 	andis.  r18,r3,26980
-	u64 rmap, new_rmap = (*n_rmap)->rmap;
     25e8:	79 5f 77 72 	andi.   r23,r19,24441
-	if (!(*rmapp)) {
     25ec:	69 74 65 62 	ori     r5,r19,29801
-	u64 rmap, new_rmap = (*n_rmap)->rmap;
     25f0:	61 63 6b 00 	.long 0x6b6361
-	if (!(*rmapp)) {
     25f4:	74 72 61 63 	ori     r1,r27,29300
     25f8:	65 5f 62 70 	andi.   r2,r3,24421
     25fc:	72 69 6e 74 	andis.  r14,r3,26994
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2600:	6b 5f 66 6d 	xoris   r6,r11,24427
     2604:	74 5f 73 74 	andis.  r19,r3,24436
+	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
     2608:	61 72 74 00 	.long 0x747261
+		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
     260c:	68 75 67 65 	oris    r7,r11,30056
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2610:	5f 66 61 75 	andis.  r1,r11,26207
+	if (rmap & RMAP_NESTED_IS_SINGLE_ENTRY) /* Not previously a list */
     2614:	6c 74 00 5f 	rlwnm   r0,r24,r14,17,22
-	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
     2618:	5f 76 65 63 	ori     r5,r27,30303
-		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
     261c:	74 6f 72 31 	addic   r11,r18,28532
     2620:	32 38 00 6b 	xori    r0,r24,14386
-	if (rmap & RMAP_NESTED_IS_SINGLE_ENTRY) /* Not previously a list */
+	return llist_add_batch(new, new, head);
     2624:	73 74 61 74 	andis.  r1,r3,29811
     2628:	66 73 00 6d 	xoris   r0,r8,29542
     262c:	63 65 5f 75 	andis.  r31,r10,25955
     2630:	65 5f 63 6f 	xoris   r3,r27,24421
-	return llist_add_batch(new, new, head);
+	*n_rmap = NULL;
     2634:	75 6e 74 00 	.long 0x746e75
-    2638:	44 45 56 49 	b       1566b7c <kvmhv_nested_next_lpid+0x15630a4>
+    2638:	44 45 56 49 	b       1566b7c <kvmhv_nested_next_lpid+0x15630b4>
     263c:	43 45 5f 56 	rlwinm. r31,r18,8,21,1
     2640:	45 52 54 5f 	rlwnm.  r20,r26,r10,9,2
-	*n_rmap = NULL;
+}
     2644:	50 4f 53 5f 	rlwnm   r19,r26,r9,29,8
     2648:	55 50 50 45 	.long 0x45505055
+	*n_rmap = NULL;
     264c:	52 00 70 74 	andis.  r16,r3,82
-    2650:	72 61 63 65 	oris    r3,r11,24946
 }
+    2650:	72 61 63 65 	oris    r3,r11,24946
     2654:	00 6b 70 72 	andi.   r16,r19,27392
     2658:	6f 62 65 5f 	rlwnm.  r5,r27,r12,9,23
-	*n_rmap = NULL;
     265c:	62 6c 61 63 	ori     r1,r27,27746
-}
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2660:	6b 6c 69 73 	andi.   r9,r27,27755
     2664:	74 00 63 70 	andi.   r3,r3,116
+	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
     2668:	75 73 5f 70 	andi.   r31,r2,29557
+		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
     266c:	74 72 00 69 	xori    r0,r8,29300
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2670:	74 65 72 61 	ori     r18,r11,25972
     2674:	74 65 00 69 	xori    r0,r8,25972
-	return !((rmap_1 ^ rmap_2) & (RMAP_NESTED_LPID_MASK |
-    2678:	5f 64 65 6e 	xoris   r5,r19,25695
 		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
-    267c:	74 72 79 00 	.long 0x797274
+    2678:	5f 64 65 6e 	xoris   r5,r19,25695
 	for_each_nest_rmap_safe(cursor, entry, &rmap) {
+    267c:	74 72 79 00 	.long 0x797274
     2680:	65 6e 71 75 	andis.  r17,r11,28261
     2684:	65 75 65 5f 	rlwnm.  r5,r27,r14,21,18
-		if (kvmhv_n_rmap_is_equal(rmap, new_rmap))
     2688:	64 69 73 70 	andi.   r19,r3,26980
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     268c:	61 74 63 68 	xori    r3,r3,29793
+		*rmapp = 0UL;
     2690:	5f 74 62 00 	.long 0x62745f
     2694:	67 72 61 62 	ori     r1,r19,29287
     2698:	5f 63 75 72 	andi.   r21,r19,25439
     269c:	72 65 6e 74 	andis.  r14,r3,25970
-		*rmapp = 0UL;
     26a0:	5f 6e 73 00 	.long 0x736e5f
     26a4:	52 53 45 51 	rlwimi  r5,r10,10,13,9
     26a8:	5f 45 56 45 	.long 0x4556455f
+		(*n_rmap)->list.next = (struct llist_node *) rmap;
     26ac:	4e 54 5f 50 	rlwimi  r31,r2,10,17,7
     26b0:	52 45 45 4d 	.long 0x4d454552
     26b4:	50 54 5f 42 	bc      18,4*cr7+so,7b04 <.debug_str+0x7b04>
     26b8:	49 54 00 61 	ori     r0,r8,21577
-		(*n_rmap)->list.next = (struct llist_node *) rmap;
     26bc:	6c 74 6d 61 	ori     r13,r11,29804
     26c0:	70 00 64 62 	ori     r4,r19,112
+}
     26c4:	65 6c 6c 5f 	rlwnm.  r12,r27,r13,17,18
     26c8:	65 78 69 74 	andis.  r9,r3,30821
     26cc:	73 00 66 73 	andi.   r6,r27,115
+		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
     26d0:	6e 6f 74 69 	xori    r20,r11,28526
 }
     26d4:	66 79 5f 6d 	xoris   r31,r10,31078
+		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
     26d8:	61 72 6b 5f 	rlwnm.  r11,r27,r14,9,16
+}
     26dc:	63 6f 6e 6e 	xoris   r14,r19,28515
-		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
     26e0:	65 63 74 6f 	xoris   r20,r27,25445
-}
     26e4:	72 00 5f 73 	andi.   r31,r26,114
-		*rmapp = new_rmap | RMAP_NESTED_IS_SINGLE_ENTRY;
     26e8:	69 67 73 79 	rldic.  r19,r11,12,61
-}
     26ec:	73 00 65 73 	andi.   r5,r27,115
     26f0:	69 64 00 72 	andi.   r0,r16,25705
     26f4:	70 74 65 00 	.long 0x657470
+{
     26f8:	72 6d 61 70 	andi.   r1,r3,28018
     26fc:	00 73 72 63 	ori     r18,r27,29440
     2700:	75 5f 63 62 	ori     r3,r19,24437
     2704:	5f 6d 75 74 	andis.  r21,r3,27999
-{
+	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
     2708:	65 78 00 4d 	.long 0x4d007865
-    270c:	43 45 5f 49 	bla     15f4540 <kvmhv_nested_next_lpid+0x15f0a68>
+{
+    270c:	43 45 5f 49 	bla     15f4540 <kvmhv_nested_next_lpid+0x15f0a78>
     2710:	6e 69 74 69 	xori    r20,r11,26990
-    2714:	61 74 6f 72 	andi.   r15,r19,29793
 	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
+    2714:	61 74 6f 72 	andi.   r15,r19,29793
+	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
     2718:	00 69 5f 73 	andi.   r31,r26,26880
 {
     271c:	62 00 70 6c 	xoris   r16,r3,98
     2720:	61 74 66 6f 	xoris   r6,r27,29793
-	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
     2724:	72 6d 5f 6d 	xoris   r31,r10,28018
-	struct llist_node *entry = ((struct llist_head *) rmapp)->first;
+	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
     2728:	73 69 5f 70 	andi.   r31,r2,26995
-{
     272c:	72 69 76 5f 	rlwnm   r22,r27,r13,5,25
+	mask = PTE_RPN_MASK & ~(nbytes - 1);
     2730:	64 61 74 61 	ori     r20,r11,24932
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     2734:	00 5f 44 51 	rlwimi  r4,r10,11,28,0
-	if ((clr | set) & ~(_PAGE_DIRTY | _PAGE_ACCESSED))
     2738:	53 54 5f 44 	.long 0x445f5453
-    273c:	51 53 54 41 	bdztl   4*cr5+lt,7a8c <.debug_str+0x7a8c>
 	mask = PTE_RPN_MASK & ~(nbytes - 1);
+    273c:	51 53 54 41 	bdztl   4*cr5+lt,7a8c <.debug_str+0x7a8c>
     2740:	54 5f 4c 41 	bdzt    4*cr3+lt,8694 <.debug_str+0x8694>
 	for_each_nest_rmap_safe(cursor, entry, &rmap)
     2744:	53 54 00 76 	andis.  r0,r16,21587
     2748:	72 5f 74 6d 	xoris   r20,r11,24434
-	mask = PTE_RPN_MASK & ~(nbytes - 1);
     274c:	00 4d 4f 44 	.long 0x444f4d00
     2750:	55 4c 45 5f 	rlwnm.  r5,r26,r9,17,10
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
+	unsigned int shift, lpid;
     2754:	53 54 41 54 	rlwinm. r1,r2,10,17,9
     2758:	45 5f 55 4e 	addpcis r18,24427
     275c:	46 4f 52 4d 	.long 0x4d524f46
     2760:	45 44 00 65 	oris    r0,r8,17477
-	unsigned int shift, lpid;
     2764:	78 70 69 72 	andi.   r9,r19,28792
     2768:	65 73 00 75 	andis.  r0,r8,29541
     276c:	73 65 72 5f 	rlwnm.  r18,r27,r12,21,25
     2770:	65 72 72 6f 	xoris   r18,r27,29285
     2774:	72 5f 74 79 	rldcr   r20,r11,r11,61
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2778:	70 65 00 72 	andi.   r0,r16,25968
     277c:	63 75 77 61 	ori     r23,r11,30051
     2780:	69 74 00 6e 	xoris   r0,r16,29801
     2784:	69 76 63 73 	andi.   r3,r27,30313
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2788:	77 00 74 6d 	xoris   r20,r11,119
     278c:	5f 73 63 72 	andi.   r3,r19,29535
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     2790:	61 74 63 68 	xori    r3,r3,29793
     2794:	00 75 5f 66 	oris    r31,r18,29952
     2798:	6c 61 67 73 	andi.   r7,r27,24940
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     279c:	00 4d 4f 44 	.long 0x444f4d00
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     27a0:	55 4c 45 5f 	rlwnm.  r5,r26,r9,17,10
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     27a4:	53 54 41 54 	rlwinm. r1,r2,10,17,9
+	unsigned int shift, lpid;
     27a8:	45 5f 47 4f 	addpcis r26,24399
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
+	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     27ac:	49 4e 47 00 	.long 0x474e49
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     27b0:	44 4c 5f 44 	.long 0x445f4c44
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     27b4:	45 56 5f 55 	rlwinm. r31,r10,10,25,2
-	unsigned int shift, lpid;
     27b8:	4e 42 49 4e 	.long 0x4e49424e
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     27bc:	44 49 4e 47 	.long 0x474e4944
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
+	if (!gp)
     27c0:	00 6d 75 6c 	xoris   r21,r3,27904
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     27c4:	74 69 5f 63 	ori     r31,r26,26996
+	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     27c8:	61 70 00 74 	andis.  r0,r0,28769
-	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     27cc:	68 72 65 61 	ori     r5,r11,29288
-	if (!gp)
     27d0:	64 00 70 6d 	xoris   r16,r11,100
     27d4:	63 72 65 67 	oris    r5,r27,29283
-	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     27d8:	73 5f 69 6e 	xoris   r9,r19,24435
     27dc:	5f 75 73 65 	oris    r19,r11,30047
+	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa)) {
     27e0:	00 73 75 62 	ori     r21,r19,29440
     27e4:	73 79 73 5f 	rlwnm.  r19,r27,r15,5,25
     27e8:	70 72 69 76 	andis.  r9,r19,29296
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     27ec:	61 74 65 00 	.long 0x657461
-	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa)) {
+	if (pte_hw_valid(pte))
     27f0:	72 65 61 64 	oris    r1,r3,25970
     27f4:	79 5f 66 6f 	xoris   r6,r27,24441
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     27f8:	72 5f 69 6e 	xoris   r9,r19,24434
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     27fc:	74 65 72 72 	andi.   r18,r19,25972
-	if (pte_hw_valid(pte))
     2800:	75 70 74 5f 	rlwnm.  r20,r27,r14,1,26
     2804:	69 6e 6a 65 	oris    r10,r11,28265
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     2808:	63 74 69 6f 	xoris   r9,r27,29795
     280c:	6e 00 73 5f 	rlwnm   r19,r27,r0,1,23
     2810:	74 69 6d 65 	oris    r13,r11,26996
@@ -50034,34 +50041,34 @@ static void kvmhv_emulate_tlbie_lpid(str
     2828:	72 65 6d 6f 	xoris   r13,r27,25970
     282c:	74 65 5f 74 	andis.  r31,r2,25972
     2830:	6c 62 5f 66 	oris    r31,r18,25196
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     2834:	6c 75 73 68 	xori    r19,r3,30060
     2838:	00 68 6f 73 	andi.   r15,r27,26624
     283c:	74 5f 70 75 	andis.  r16,r11,24436
     2840:	72 72 00 73 	andi.   r0,r24,29298
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2844:	5f 64 65 76 	andis.  r5,r19,25695
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2848:	00 67 75 65 	oris    r21,r11,26368
+	unsigned int shift, lpid;
     284c:	73 74 5f 65 	oris    r31,r10,29811
+	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     2850:	73 69 64 00 	.long 0x646973
 	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2854:	67 65 74 5f 	rlwnm.  r20,r27,r12,21,19
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2858:	6e 65 78 74 	andis.  r24,r3,25966
-	unsigned int shift, lpid;
     285c:	5f 69 64 00 	.long 0x64695f
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     2860:	72 77 6c 6f 	xoris   r12,r27,30578
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
+	if (!gp)
     2864:	63 6b 5f 74 	andis.  r31,r2,27491
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2868:	00 63 70 75 	andis.  r16,r11,25344
+	for_each_nest_rmap_safe(cursor, entry, &rmap)
     286c:	5f 66 65 61 	ori     r5,r11,26207
-	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     2870:	74 75 72 65 	oris    r18,r11,30068
-	if (!gp)
     2874:	5f 6b 65 79 	.long 0x79656b5f
     2878:	73 00 70 67 	oris    r16,r27,115
-	for_each_nest_rmap_safe(cursor, entry, &rmap)
     287c:	70 72 6f 74 	andis.  r15,r3,29296
     2880:	00 66 61 6c 	xoris   r1,r3,26112
     2884:	73 65 00 6f 	xoris   r0,r24,25971
@@ -50074,21 +50081,21 @@ static void kvmhv_emulate_tlbie_lpid(str
     28a0:	77 5f 70 61 	ori     r16,r11,24439
     28a4:	74 68 00 67 	oris    r0,r24,26740
     28a8:	70 5f 74 6f 	xoris   r20,r27,24432
+}
     28ac:	00 50 49 44 	.long 0x44495000
     28b0:	54 59 50 45 	.long 0x45505954
-    28b4:	5f 54 47 49 	bla     147545c <kvmhv_nested_next_lpid+0x1471984>
+    28b4:	5f 54 47 49 	bla     147545c <kvmhv_nested_next_lpid+0x1471994>
     28b8:	44 00 6b 76 	andis.  r11,r19,68
-}
     28bc:	6d 5f 69 6f 	xoris   r9,r27,24429
     28c0:	5f 62 75 73 	andi.   r21,r27,25183
     28c4:	00 6d 65 6d 	xoris   r5,r11,27904
     28c8:	66 64 5f 6e 	xoris   r31,r18,25702
     28cc:	6f 65 78 65 	oris    r24,r11,25967
+	: "r" (ptep), "r" (cpu_to_be64(set)), "r" (cpu_to_be64(clr))
     28d0:	63 5f 73 63 	ori     r19,r27,24419
     28d4:	6f 70 65 00 	.long 0x65706f
     28d8:	73 74 65 61 	ori     r5,r11,29811
     28dc:	6c 5f 74 69 	xori    r20,r11,24428
-	: "r" (ptep), "r" (cpu_to_be64(set)), "r" (cpu_to_be64(clr))
     28e0:	6d 65 00 6c 	xoris   r0,r0,25965
     28e4:	31 5f 68 76 	andis.  r8,r19,24369
     28e8:	00 5f 64 75 	andis.  r4,r11,24320
@@ -50103,17 +50110,17 @@ static void kvmhv_emulate_tlbie_lpid(str
     290c:	76 65 6e 74 	andis.  r14,r3,25974
     2910:	5f 69 74 65 	oris    r20,r11,26975
     2914:	6d 00 73 77 	andis.  r19,r27,109
+	__asm__ __volatile__(
     2918:	61 70 5f 69 	xori    r31,r10,28769
     291c:	6e 66 6f 5f 	rlwnm   r15,r27,r12,25,23
     2920:	73 74 72 75 	andis.  r18,r11,29811
     2924:	63 74 00 73 	andi.   r0,r24,29795
-	__asm__ __volatile__(
     2928:	65 71 75 65 	oris    r21,r11,29029
+		kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid);
     292c:	6e 63 65 00 	.long 0x65636e
     2930:	72 74 5f 73 	andi.   r31,r26,29810
     2934:	70 63 5f 77 	andis.  r31,r26,25456
     2938:	61 72 6e 6c 	xoris   r14,r3,29281
-		kvmppc_radix_tlbie_page(kvm, gpa, shift, lpid);
     293c:	69 6d 69 74 	andis.  r9,r3,28009
     2940:	00 75 76 6d 	xoris   r22,r11,29952
     2944:	65 6d 5f 70 	andi.   r31,r2,28005
@@ -50130,142 +50137,144 @@ static void kvmhv_emulate_tlbie_lpid(str
     2970:	79 70 65 00 	.long 0x657079
     2974:	6d 73 69 5f 	rlwnm.  r9,r27,r14,13,22
     2978:	64 6f 6d 61 	ori     r13,r11,28516
+}
     297c:	69 6e 5f 69 	xori    r31,r10,28265
     2980:	64 73 00 5f 	rlwnm   r0,r24,r14,13,18
     2984:	64 61 74 61 	ori     r20,r11,24932
     2988:	00 74 61 73 	andi.   r1,r27,29696
-}
     298c:	6b 73 00 5f 	rlwnm.  r0,r24,r14,13,21
     2990:	70 69 64 00 	.long 0x646970
     2994:	64 65 6c 74 	andis.  r12,r3,25956
+{
     2998:	61 5f 70 75 	andis.  r16,r11,24417
     299c:	72 72 00 6d 	xoris   r0,r8,29298
     29a0:	6d 5f 63 6f 	xoris   r3,r27,24429
     29a4:	6e 74 65 78 	rldimi  r5,r3,46,49
-{
     29a8:	74 5f 74 00 	.long 0x745f74
     29ac:	5f 5f 63 61 	ori     r3,r11,24415
+	if (!memslot)
     29b0:	6c 6c 5f 73 	andi.   r31,r26,27756
+{
     29b4:	69 6e 67 6c 	xoris   r7,r3,28265
     29b8:	65 5f 6e 6f 	xoris   r14,r27,24421
     29bc:	64 65 00 73 	andi.   r0,r24,25956
 	if (!memslot)
     29c0:	74 61 72 74 	andis.  r18,r3,24948
-{
+	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
     29c4:	75 70 00 6d 	xoris   r0,r8,28789
     29c8:	6d 75 5f 70 	andi.   r31,r2,30061
     29cc:	61 72 74 69 	xori    r20,r11,29281
-	if (!memslot)
+	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
     29d0:	74 69 6f 6e 	xoris   r15,r19,26996
-	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
+	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
     29d4:	5f 74 61 62 	ori     r1,r19,29791
     29d8:	6c 65 5f 73 	andi.   r31,r26,25964
+	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
     29dc:	65 74 5f 65 	oris    r31,r10,29797
-	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
-    29e0:	6e 74 72 79 	rldimi  r18,r11,46,49
 	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
+    29e0:	6e 74 72 79 	rldimi  r18,r11,46,49
     29e4:	00 69 72 71 	andi.   r18,r11,26880
-    29e8:	5f 6d 61 73 	andi.   r1,r27,27999
 	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
+    29e8:	5f 6d 61 73 	andi.   r1,r27,27999
+	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
     29ec:	6b 5f 61 63 	ori     r1,r27,24427
-	addr_mask = PTE_RPN_MASK & ~(nbytes - 1);
+	for (; gfn < end_gfn; gfn++) {
     29f0:	6b 00 69 73 	andi.   r9,r27,107
     29f4:	5f 76 69 72 	andi.   r9,r19,30303
-	gfn = (gpa >> PAGE_SHIFT) - memslot->base_gfn;
     29f8:	74 75 61 6c 	xoris   r1,r3,30068
-	end_gfn = gfn + (nbytes >> PAGE_SHIFT);
     29fc:	00 66 70 5f 	rlwnm   r16,r27,r12,24,0
-	for (; gfn < end_gfn; gfn++) {
     2a00:	73 74 61 74 	andis.  r1,r3,29811
     2a04:	65 00 73 65 	oris    r19,r11,101
     2a08:	71 63 6f 75 	andis.  r15,r11,25457
     2a0c:	6e 74 5f 73 	andi.   r31,r26,29806
     2a10:	70 69 6e 6c 	xoris   r14,r3,26992
     2a14:	6f 63 6b 5f 	rlwnm.  r11,r27,r12,13,23
+	unsigned int shift, lpid;
     2a18:	74 00 65 78 	.long 0x78650074
     2a1c:	74 65 72 6e 	xoris   r18,r19,25972
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2a20:	61 6c 5f 6f 	xoris   r31,r26,27745
     2a24:	6e 65 73 68 	xori    r19,r3,25966
-	unsigned int shift, lpid;
     2a28:	6f 74 00 6d 	xoris   r0,r8,29807
     2a2c:	6d 75 63 66 	oris    r3,r19,30061
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2a30:	67 00 70 61 	ori     r16,r11,103
     2a34:	6e 65 6c 00 	.long 0x6c656e
     2a38:	69 6e 61 63 	ori     r1,r27,28265
     2a3c:	74 69 76 65 	oris    r22,r11,26996
+		unsigned long *rmap = &memslot->arch.rmap[gfn];
     2a40:	5f 74 69 6d 	xoris   r9,r11,29791
     2a44:	65 72 00 5f 	rlwnm.  r0,r24,r14,9,18
     2a48:	70 6b 65 79 	rldcl   r5,r11,r13,45
+	return xchg(&head->first, NULL);
     2a4c:	00 73 5f 65 	oris    r31,r10,29440
-		unsigned long *rmap = &memslot->arch.rmap[gfn];
     2a50:	78 70 6f 72 	andi.   r15,r19,28792
     2a54:	74 5f 6f 70 	andi.   r15,r3,24436
     2a58:	00 6e 72 5f 	rlwnm   r18,r27,r13,24,0
-	return xchg(&head->first, NULL);
     2a5c:	64 65 66 65 	oris    r6,r11,25956
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a60:	72 72 65 64 	oris    r5,r3,29298
     2a64:	00 64 61 74 	andis.  r1,r3,25600
     2a68:	61 5f 6f 66 	oris    r15,r19,24417
     2a6c:	66 73 65 74 	andis.  r5,r3,29542
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a70:	00 69 5f 66 	oris    r31,r18,26880
     2a74:	6c 63 74 78 	rldimi  r20,r3,12,45
     2a78:	00 73 74 61 	ori     r20,r11,29440
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2a7c:	73 68 65 64 	oris    r5,r3,26739
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2a80:	00 63 6f 6e 	xoris   r15,r19,25344
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a84:	64 5f 73 75 	andis.  r19,r11,24420
+	unsigned int shift, lpid;
     2a88:	73 70 65 6e 	xoris   r5,r19,28787
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2a8c:	64 5f 64 65 	oris    r4,r11,24420
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2a90:	70 74 68 00 	.long 0x687470
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a94:	64 62 73 72 	andi.   r19,r19,25188
-	unsigned int shift, lpid;
     2a98:	00 76 6d 5f 	rlwnm   r13,r27,r14,24,0
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2a9c:	70 61 67 65 	oris    r7,r11,24944
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	if (!gp)
     2aa0:	5f 70 72 6f 	xoris   r18,r27,28767
     2aa4:	74 00 74 69 	xori    r20,r11,116
+		kfree(cursor);
     2aa8:	6d 65 73 70 	andi.   r19,r3,25965
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2aac:	65 63 36 34 	addic.  r1,r22,25445
-	if (!gp)
     2ab0:	00 50 49 44 	.long 0x44495000
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2ab4:	54 59 50 45 	.long 0x45505954
-		kfree(cursor);
     2ab8:	5f 53 49 44 	.long 0x4449535f
     2abc:	00 62 70 66 	oris    r16,r19,25088
     2ac0:	5f 63 74 78 	.long 0x7874635f
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2ac4:	00 64 5f 70 	andi.   r31,r2,25600
+	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2ac8:	72 75 6e 65 	oris    r14,r11,30066
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2acc:	00 70 72 69 	xori    r18,r11,28672
+	unsigned int shift, lpid;
     2ad0:	6e 74 65 64 	oris    r5,r3,29806
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2ad4:	00 72 65 73 	andi.   r5,r27,29184
-	lpid = (n_rmap & RMAP_NESTED_LPID_MASK) >> RMAP_NESTED_LPID_SHIFT;
     2ad8:	75 6d 65 5f 	rlwnm.  r5,r27,r13,21,26
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2adc:	6e 6f 69 72 	andi.   r9,r19,28526
-	unsigned int shift, lpid;
+	if (!gp)
     2ae0:	71 00 70 61 	ori     r16,r11,113
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2ae4:	67 65 00 6d 	xoris   r0,r8,25959
+	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2ae8:	75 74 65 78 	.long 0x78657475
     2aec:	5f 75 6e 6c 	xoris   r14,r3,30047
-	if (!gp)
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2af0:	6f 63 6b 00 	.long 0x6b636f
     2af4:	77 61 74 63 	ori     r20,r27,24951
-	for_each_nest_rmap_safe(cursor, entry, &rmap) {
     2af8:	68 64 6f 67 	oris    r15,r27,25704
     2afc:	5f 65 6e 61 	ori     r14,r11,25951
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	if (!gp)
     2b00:	62 6c 65 64 	oris    r5,r3,27746
     2b04:	00 74 72 63 	ori     r18,r27,29696
+	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
     2b08:	5f 68 6f 6c 	xoris   r15,r3,26719
+	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     2b0c:	64 6f 75 74 	andis.  r21,r3,28516
-	if (!gp)
     2b10:	5f 6c 69 73 	andi.   r9,r27,27743
     2b14:	74 00 67 65 	oris    r7,r11,116
 	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
@@ -50274,22 +50283,20 @@ static void kvmhv_emulate_tlbie_lpid(str
     2b1c:	6f 64 65 5f 	rlwnm.  r5,r27,r12,17,23
     2b20:	75 73 61 67 	oris    r1,r27,29557
     2b24:	65 00 64 65 	oris    r4,r11,101
-	gpa = n_rmap & RMAP_NESTED_GPA_MASK;
+	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa))
     2b28:	76 69 63 65 	oris    r3,r11,26998
-	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
     2b2c:	5f 6e 6f 64 	oris    r15,r3,28255
     2b30:	65 00 6e 6f 	xoris   r14,r27,101
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     2b34:	72 6d 61 6c 	xoris   r1,r3,28018
-	if (ptep && pte_present(*ptep) && ((pte_val(*ptep) & mask) == hpa))
+	if (pte_hw_valid(pte))
     2b38:	5f 70 72 69 	xori    r18,r11,28767
     2b3c:	6f 00 64 65 	oris    r4,r11,111
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     2b40:	73 74 72 6f 	xoris   r18,r27,29811
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     2b44:	79 5f 69 6e 	xoris   r9,r19,24441
-	if (pte_hw_valid(pte))
     2b48:	6f 64 65 00 	.long 0x65646f
     2b4c:	72 65 6c 65 	oris    r12,r11,25970
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     2b50:	61 73 65 5f 	rlwnm.  r5,r27,r14,13,16
     2b54:	66 6f 6c 69 	xori    r12,r11,28518
     2b58:	6f 00 6c 61 	ori     r12,r11,111
@@ -50301,24 +50308,24 @@ static void kvmhv_emulate_tlbie_lpid(str
     2b70:	68 6f 73 74 	andis.  r19,r3,28520
     2b74:	00 75 61 64 	oris    r1,r3,29952
     2b78:	64 72 00 76 	andis.  r0,r16,29284
+		kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid);
     2b7c:	76 61 6c 00 	.long 0x6c6176
     2b80:	74 6d 5f 74 	andis.  r31,r2,28020
     2b84:	61 72 00 68 	xori    r0,r0,29281
     2b88:	6f 73 74 5f 	rlwnm.  r20,r27,r14,13,23
-		kvmppc_unmap_pte(kvm, ptep, gpa, shift, NULL, gp->shadow_lpid);
     2b8c:	70 69 64 00 	.long 0x646970
     2b90:	73 5f 77 62 	ori     r23,r19,24435
     2b94:	5f 65 72 72 	andi.   r18,r19,25951
     2b98:	00 73 68 6d 	xoris   r8,r11,29440
     2b9c:	5f 63 6c 69 	xori    r12,r11,25439
+		kfree(cursor);
     2ba0:	73 74 00 69 	xori    r0,r8,29811
     2ba4:	73 5f 63 68 	xori    r3,r3,24435
+	for (; gfn < end_gfn; gfn++) {
     2ba8:	69 6c 64 5f 	rlwnm.  r4,r27,r13,17,20
     2bac:	73 75 62 72 	andi.   r2,r19,30067
-		kfree(cursor);
     2bb0:	65 61 70 65 	oris    r16,r11,24933
     2bb4:	72 00 67 72 	andi.   r7,r19,114
-	for (; gfn < end_gfn; gfn++) {
     2bb8:	61 70 68 5f 	rlwnm.  r8,r27,r14,1,16
     2bbc:	67 65 74 5f 	rlwnm.  r20,r27,r12,21,19
     2bc0:	72 65 6d 6f 	xoris   r13,r27,25970
@@ -50328,17 +50335,17 @@ static void kvmhv_emulate_tlbie_lpid(str
     2bd0:	6d 6d 69 6f 	xoris   r9,r27,28013
     2bd4:	5f 69 73 5f 	rlwnm.  r19,r27,r13,5,15
     2bd8:	77 72 69 74 	andis.  r9,r3,29303
-    2bdc:	65 00 54 48 	bl      542c40 <kvmhv_nested_next_lpid+0x53f168>
-    2be0:	50 5f 4d 49 	b       14d8b30 <kvmhv_nested_next_lpid+0x14d5058>
+    2bdc:	65 00 54 48 	bl      542c40 <kvmhv_nested_next_lpid+0x53f178>
+    2be0:	50 5f 4d 49 	b       14d8b30 <kvmhv_nested_next_lpid+0x14d5068>
     2be4:	47 52 41 54 	rlwinm. r1,r2,10,9,3
     2be8:	49 4f 4e 5f 	rlwnm.  r14,r26,r9,29,4
-    2bec:	53 50 4c 49 	bla     14c5050 <kvmhv_nested_next_lpid+0x14c1578>
+    2bec:	53 50 4c 49 	bla     14c5050 <kvmhv_nested_next_lpid+0x14c1588>
     2bf0:	54 00 64 5f 	rlwnm   r4,r27,r0,1,10
+}
     2bf4:	77 61 69 74 	andis.  r9,r3,24951
     2bf8:	00 65 78 65 	oris    r24,r11,25856
     2bfc:	63 5f 76 6d 	xoris   r22,r11,24419
     2c00:	00 6d 6d 75 	andis.  r13,r11,27904
-}
     2c04:	5f 73 65 74 	andis.  r5,r3,29535
     2c08:	75 70 5f 6c 	xoris   r31,r2,28789
     2c0c:	6f 63 6b 00 	.long 0x6b636f
@@ -50368,28 +50375,28 @@ static void kvmhv_emulate_tlbie_lpid(str
     2c6c:	4c 4f 43 5f 	rlwnm   r3,r26,r9,29,6
     2c70:	52 45 43 4c 	.long 0x4c434552
     2c74:	41 49 4d 00 	.long 0x4d4941
+{
     2c78:	64 5f 69 6e 	xoris   r9,r19,24420
     2c7c:	61 6d 65 00 	.long 0x656d61
     2c80:	73 65 63 75 	andis.  r3,r11,25971
     2c84:	72 65 5f 67 	oris    r31,r26,25970
-{
     2c88:	75 65 73 74 	andis.  r19,r3,25973
     2c8c:	00 65 64 65 	oris    r4,r11,25856
     2c90:	76 73 00 48 	ba      7374 <.debug_str+0x7374>
     2c94:	52 54 49 4d 	.long 0x4d495452
     2c98:	45 52 5f 42 	bcl     18,4*cr7+so,7edc <.debug_str+0x7edc>
+	ret = kvmhv_emulate_priv_tlbie(vcpu, kvmppc_get_gpr(vcpu, 4),
     2c9c:	41 53 45 5f 	rlwnm.  r5,r26,r10,13,0
     2ca0:	4d 4f 4e 4f 	.long 0x4f4e4f4d
-    2ca4:	54 4f 4e 49 	b       14e7bf8 <kvmhv_nested_next_lpid+0x14e4120>
+	struct kvm *kvm = vcpu->kvm;
+    2ca4:	54 4f 4e 49 	b       14e7bf8 <kvmhv_nested_next_lpid+0x14e4130>
+	return r_val & 0xffffffff;
     2ca8:	43 5f 53 4f 	.long 0x4f535f43
-	ret = kvmhv_emulate_priv_tlbie(vcpu, kvmppc_get_gpr(vcpu, 4),
+	if ((!r) || (prs) || (ric == 3) || (is == 1) ||
     2cac:	46 54 00 6d 	xoris   r0,r8,21574
     2cb0:	61 73 6b 5f 	rlwnm.  r11,r27,r14,13,16
-	struct kvm *kvm = vcpu->kvm;
     2cb4:	34 6b 00 69 	xori    r0,r8,27444
-	return r_val & 0xffffffff;
     2cb8:	5f 6d 61 70 	andi.   r1,r3,27999
-	if ((!r) || (prs) || (ric == 3) || (is == 1) ||
     2cbc:	70 69 6e 67 	oris    r14,r27,26992
     2cc0:	00 69 6e 62 	ori     r14,r19,26880
     2cc4:	6c 6f 63 6b 	xori    r3,r27,28524
@@ -50400,219 +50407,219 @@ static void kvmhv_emulate_tlbie_lpid(str
     2cd8:	6e 74 00 69 	xori    r0,r8,29806
     2cdc:	5f 72 74 5f 	rlwnm.  r20,r27,r14,9,15
     2ce0:	73 70 63 5f 	rlwnm.  r3,r27,r14,1,25
+	    ((!is) && (ric == 1 || ric == 2)))
     2ce4:	74 69 6d 65 	oris    r13,r11,26996
     2ce8:	6c 69 6d 69 	xori    r13,r11,26988
     2cec:	74 00 76 73 	andi.   r22,r27,116
+		ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, epn);
     2cf0:	78 31 36 76 	andis.  r22,r17,12664
-	    ((!is) && (ric == 1 || ric == 2)))
     2cf4:	61 6c 00 72 	andi.   r0,r16,27745
     2cf8:	73 65 71 5f 	rlwnm.  r17,r27,r12,21,25
     2cfc:	73 69 67 00 	.long 0x676973
-		ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap, epn);
     2d00:	4c 52 55 5f 	rlwnm   r21,r26,r10,9,6
     2d04:	49 4e 41 43 	bcl-    26,gt,7b4c <.debug_str+0x7b4c>
+	if (ret)
     2d08:	54 49 56 45 	.long 0x45564954
     2d0c:	5f 46 49 4c 	.long 0x4c49465f
     2d10:	45 00 64 65 	oris    r4,r11,69
     2d14:	76 5f 70 6d 	xoris   r16,r11,24438
-	if (ret)
+	return H_SUCCESS;
     2d18:	5f 64 6f 6d 	xoris   r15,r11,25695
     2d1c:	61 69 6e 00 	.long 0x6e6961
+}
     2d20:	64 71 69 5f 	rlwnm   r9,r27,r14,5,18
     2d24:	6d 61 78 5f 	rlwnm.  r24,r27,r12,5,22
-	return H_SUCCESS;
     2d28:	69 6e 6f 5f 	rlwnm.  r15,r27,r13,25,20
     2d2c:	6c 69 6d 69 	xori    r13,r11,26988
-}
     2d30:	74 00 74 66 	oris    r20,r19,116
     2d34:	69 61 72 00 	.long 0x726169
-    2d38:	57 4f 52 4b 	bla     ff524f54 <kvmhv_nested_next_lpid+0xff52147c>
+    2d38:	57 4f 52 4b 	bla     ff524f54 <kvmhv_nested_next_lpid+0xff52148c>
     2d3c:	49 4e 47 53 	rlwimi. r7,r26,9,25,4
+	switch (is) {
     2d40:	45 54 5f 41 	bdztl   4*cr7+so,8184 <.debug_str+0x8184>
     2d44:	43 54 49 56 	rlwinm. r9,r18,10,17,1
     2d48:	41 54 45 5f 	rlwnm.  r5,r26,r10,17,0
     2d4c:	42 41 53 45 	.long 0x45534142
-	switch (is) {
     2d50:	00 6b 76 6d 	xoris   r22,r11,27392
     2d54:	70 70 63 5f 	rlwnm   r3,r27,r14,1,24
     2d58:	68 6f 73 74 	andis.  r19,r3,28520
     2d5c:	5f 73 74 61 	ori     r20,r11,29535
     2d60:	74 65 00 6d 	xoris   r0,r8,25972
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2d64:	69 67 72 61 	ori     r18,r11,26473
+	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2d68:	74 65 5f 6d 	xoris   r31,r10,25972
     2d6c:	6f 64 65 00 	.long 0x65646f
+	int lpid;
     2d70:	5f 5f 5f 5f 	rlwnm.  r31,r26,r11,29,15
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2d74:	70 74 72 00 	.long 0x727470
-	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2d78:	53 57 41 50 	rlwimi. r1,r2,10,29,9
+	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2d7c:	5f 52 41 5f 	rlwnm.  r1,r26,r10,9,15
-	int lpid;
     2d80:	48 49 54 00 	.long 0x544948
     2d84:	74 69 6d 65 	oris    r13,r11,26996
     2d88:	72 5f 72 75 	andis.  r18,r11,24434
-	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2d8c:	6e 6e 69 6e 	xoris   r9,r19,28270
+	if (unlikely(ms->mmiowb_pending)) {
     2d90:	67 00 70 6f 	xoris   r16,r27,103
     2d94:	77 65 72 6f 	xoris   r18,r27,25975
+	ms->nesting_count--;
     2d98:	66 66 5f 6c 	xoris   r31,r2,26214
     2d9c:	61 74 65 00 	.long 0x657461
-	if (unlikely(ms->mmiowb_pending)) {
     2da0:	66 74 72 61 	ori     r18,r11,29798
     2da4:	63 65 5f 63 	ori     r31,r26,25955
-	ms->nesting_count--;
     2da8:	61 6c 6c 73 	andi.   r12,r27,27745
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2dac:	69 74 65 73 	andi.   r5,r27,29801
     2db0:	00 64 5f 68 	xori    r31,r2,25600
     2db4:	61 73 68 00 	.long 0x687361
     2db8:	64 6c 5f 62 	ori     r31,r18,27748
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2dbc:	77 00 6b 6f 	xoris   r11,r27,119
     2dc0:	62 6a 00 66 	oris    r0,r16,27234
+	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2dc4:	73 79 6e 63 	ori     r14,r27,31091
     2dc8:	00 6d 74 64 	oris    r20,r3,27904
     2dcc:	5f 69 6e 66 	oris    r14,r19,26975
     2dd0:	6f 00 4d 43 	bcla-   26,4*cr3+gt,6c <.debug_str+0x6c>
-	idr_for_each_entry(&kvm->arch.kvm_nested_guest_idr, gp, lpid) {
     2dd4:	45 5f 45 52 	rlwimi. r5,r18,11,29,2
     2dd8:	41 54 5f 45 	.long 0x455f5441
     2ddc:	52 52 4f 52 	rlwimi  r15,r18,10,9,9
     2de0:	5f 50 41 52 	rlwimi. r1,r18,10,1,15
+	if (unlikely(ms->mmiowb_pending)) {
     2de4:	49 54 59 00 	.long 0x595449
+	struct mmiowb_state *ms = __mmiowb_state();
     2de8:	68 64 65 63 	ori     r5,r27,25704
     2dec:	5f 65 78 70 	andi.   r24,r3,25951
-    2df0:	00 4e 52 5f 	rlwnm   r18,r26,r9,24,0
 	if (unlikely(ms->mmiowb_pending)) {
+    2df0:	00 4e 52 5f 	rlwnm   r18,r26,r9,24,0
     2df4:	49 53 4f 4c 	.long 0x4c4f5349
-	struct mmiowb_state *ms = __mmiowb_state();
+	ms->nesting_count--;
     2df8:	41 54 45 44 	.long 0x44455441
     2dfc:	5f 41 4e 4f 	.long 0x4f4e415f
-	if (unlikely(ms->mmiowb_pending)) {
     2e00:	4e 00 6b 65 	oris    r11,r11,78
     2e04:	72 6e 65 6c 	xoris   r5,r3,28274
-	ms->nesting_count--;
     2e08:	5f 73 69 67 	oris    r9,r27,29535
     2e0c:	69 6e 66 6f 	xoris   r6,r27,28265
+	if (ret)
     2e10:	00 75 70 72 	andi.   r16,r19,29952
     2e14:	6f 62 65 73 	andi.   r5,r27,25199
     2e18:	5f 73 74 61 	ori     r20,r11,29535
     2e1c:	74 65 00 46 	.long 0x46006574
-	if (ret)
+		gp = kvmhv_get_nested(kvm, lpid, false);
     2e20:	41 55 4c 54 	rlwinm. r12,r2,10,21,0
     2e24:	5f 46 4c 41 	bdztla  4*cr3+lt,465c <.debug_str+0x465c>
     2e28:	47 5f 52 45 	.long 0x45525f47
     2e2c:	4d 4f 54 45 	.long 0x45544f4d
-		gp = kvmhv_get_nested(kvm, lpid, false);
+		if (gp) {
     2e30:	00 6b 65 72 	andi.   r5,r19,27392
     2e34:	6e 65 6c 5f 	rlwnm   r12,r27,r12,21,23
+			kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     2e38:	73 69 67 69 	xori    r7,r11,26995
     2e3c:	6e 66 6f 5f 	rlwnm   r15,r27,r12,25,23
-		if (gp) {
     2e40:	74 00 72 62 	ori     r18,r19,116
     2e44:	5f 6e 6f 64 	oris    r15,r3,28255
-			kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
+			kvmhv_put_nested(gp);
     2e48:	65 00 70 75 	andis.  r16,r11,101
     2e4c:	73 68 61 62 	ori     r1,r19,26739
+	if (ret)
     2e50:	6c 65 5f 74 	andis.  r31,r2,25964
     2e54:	61 73 6b 73 	andi.   r11,r27,29537
-			kvmhv_put_nested(gp);
     2e58:	00 70 6c 61 	ori     r12,r11,28672
     2e5c:	74 66 6f 72 	andi.   r15,r19,26228
-	if (ret)
     2e60:	6d 5f 64 61 	ori     r4,r11,24429
     2e64:	74 61 00 73 	andi.   r0,r24,24948
     2e68:	69 67 68 61 	ori     r8,r11,26473
     2e6c:	6e 64 00 69 	xori    r0,r8,25710
+		ms->mmiowb_pending = 0;
     2e70:	74 65 72 61 	ori     r18,r11,25972
     2e74:	74 65 5f 73 	andi.   r31,r26,25972
+		mmiowb();
     2e78:	68 61 72 65 	oris    r18,r11,24936
     2e7c:	64 00 69 73 	andi.   r9,r27,100
-		ms->mmiowb_pending = 0;
     2e80:	5f 76 69 73 	andi.   r9,r27,30303
+		return H_PARAMETER;
     2e84:	69 62 6c 65 	oris    r12,r11,25193
-		mmiowb();
     2e88:	00 73 69 67 	oris    r9,r27,29440
     2e8c:	6e 61 6c 00 	.long 0x6c616e
+		ms->mmiowb_pending = 0;
     2e90:	72 65 6c 65 	oris    r12,r11,25970
-		return H_PARAMETER;
+		mmiowb();
     2e94:	61 73 65 64 	oris    r5,r3,29537
     2e98:	00 74 68 72 	andi.   r8,r19,29696
     2e9c:	65 61 64 5f 	rlwnm.  r4,r27,r12,5,18
-		ms->mmiowb_pending = 0;
     2ea0:	66 6e 00 64 	oris    r0,r0,28262
-		mmiowb();
     2ea4:	65 70 5f 6d 	xoris   r31,r10,28773
     2ea8:	61 70 00 61 	ori     r0,r8,28769
     2eac:	6c 6c 6f 63 	ori     r15,r27,27756
     2eb0:	5f 64 71 75 	andis.  r17,r11,25695
+}
     2eb4:	6f 74 00 70 	andi.   r0,r0,29807
     2eb8:	6d 5f 6d 65 	oris    r13,r11,24429
     2ebc:	73 73 61 67 	oris    r1,r27,29555
     2ec0:	65 00 6d 61 	ori     r13,r11,101
-}
+		return H_PARAMETER;
     2ec4:	79 5f 73 70 	andi.   r19,r3,24441
     2ec8:	6c 69 74 00 	.long 0x74696c
     2ecc:	6d 65 6d 5f 	rlwnm.  r13,r27,r12,21,22
     2ed0:	63 67 72 6f 	xoris   r18,r27,26467
-		return H_PARAMETER;
     2ed4:	75 70 00 6c 	xoris   r0,r0,28789
+{
     2ed8:	61 73 74 5f 	rlwnm.  r20,r27,r14,13,16
     2edc:	75 70 64 61 	ori     r4,r11,28789
     2ee0:	74 65 5f 74 	andis.  r31,r2,25972
     2ee4:	69 6d 65 00 	.long 0x656d69
-{
     2ee8:	73 6c 62 5f 	rlwnm.  r2,r27,r13,17,25
     2eec:	61 64 64 72 	andi.   r4,r19,25697
     2ef0:	5f 6c 69 6d 	xoris   r9,r11,27743
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2ef4:	69 74 00 68 	xori    r0,r0,29801
+{
     2ef8:	6f 73 74 5f 	rlwnm.  r20,r27,r14,13,23
     2efc:	70 6d 63 00 	.long 0x636d70
     2f00:	72 6f 62 75 	andis.  r2,r11,28530
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2f04:	73 74 5f 6c 	xoris   r31,r2,29811
-{
     2f08:	69 73 74 5f 	rlwnm.  r20,r27,r14,13,20
     2f0c:	68 65 61 64 	oris    r1,r3,25960
     2f10:	00 4e 52 5f 	rlwnm   r18,r26,r9,24,0
     2f14:	41 4e 4f 4e 	.long 0x4e4f4e41
+	if (!__find_nested(vcpu->kvm, lpid))
     2f18:	5f 4d 41 50 	rlwimi. r1,r2,9,21,15
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2f1c:	50 45 44 00 	.long 0x444550
+{
     2f20:	63 6f 75 6e 	xoris   r21,r19,28515
     2f24:	74 00 6c 65 	oris    r12,r11,116
-	if (!__find_nested(vcpu->kvm, lpid))
     2f28:	76 65 6c 00 	.long 0x6c6576
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2f2c:	70 61 72 61 	ori     r18,r11,24944
-{
+	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
     2f30:	6d 73 00 73 	andi.   r0,r24,29549
     2f34:	79 73 63 61 	ori     r3,r11,29561
     2f38:	6c 6c 5f 65 	oris    r31,r10,27756
     2f3c:	78 69 74 73 	andi.   r20,r27,27000
-	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
+	if (!__find_nested(vcpu->kvm, lpid))
     2f40:	00 73 5f 75 	andis.  r31,r10,29440
     2f44:	73 65 72 5f 	rlwnm.  r18,r27,r12,21,25
+	if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL)
     2f48:	6e 73 00 73 	andi.   r0,r24,29550
     2f4c:	72 63 76 65 	oris    r22,r11,25458
-	if (!__find_nested(vcpu->kvm, lpid))
     2f50:	72 73 69 6f 	xoris   r9,r27,29554
+	if (start == 0 && end == -1)
     2f54:	6e 00 64 63 	ori     r4,r27,110
-	if ((type & H_RPTI_TYPE_NESTED_ALL) == H_RPTI_TYPE_NESTED_ALL)
     2f58:	6f 6f 6b 69 	xori    r11,r11,28527
     2f5c:	65 00 69 5f 	rlwnm.  r9,r27,r0,1,18
     2f60:	64 61 74 61 	ori     r20,r11,24932
-	if (start == 0 && end == -1)
+	if (type & H_RPTI_TYPE_TLB)
     2f64:	00 75 6c 6f 	xoris   r12,r27,29952
     2f68:	6e 67 00 73 	andi.   r0,r24,26478
+}
     2f6c:	5f 66 73 6e 	xoris   r19,r19,26207
+		return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL);
     2f70:	6f 74 69 66 	oris    r9,r19,29807
-	if (type & H_RPTI_TYPE_TLB)
+}
     2f74:	79 5f 6d 61 	ori     r13,r11,24441
     2f78:	72 6b 73 00 	.long 0x736b72
-}
     2f7c:	6b 76 6d 70 	andi.   r13,r3,30315
-		return do_tlb_invalidate_nested_all(vcpu, lpid, RIC_FLUSH_ALL);
     2f80:	70 63 5f 76 	andis.  r31,r18,25456
-}
     2f84:	70 61 00 68 	xori    r0,r0,24944
     2f88:	6c 69 73 74 	andis.  r19,r3,26988
     2f8c:	5f 68 65 61 	ori     r5,r11,26719
@@ -50624,79 +50631,79 @@ static void kvmhv_emulate_tlbie_lpid(str
     2fa4:	63 72 00 71 	andi.   r0,r8,29283
     2fa8:	66 5f 6f 77 	andis.  r15,r27,24422
     2fac:	6e 65 72 00 	.long 0x72656e
+	int ret = H_P4;
     2fb0:	67 72 61 70 	andi.   r1,r3,29287
+		page_size = 1UL << def->shift;
     2fb4:	68 5f 70 61 	ori     r16,r11,24424
     2fb8:	72 73 65 5f 	rlwnm   r5,r27,r14,13,25
     2fbc:	65 6e 64 70 	andi.   r4,r3,28261
-	int ret = H_P4;
+		nr_pages = (end - start) >> def->shift;
     2fc0:	6f 69 6e 74 	andis.  r14,r3,26991
-		page_size = 1UL << def->shift;
     2fc4:	00 44 51 53 	rlwimi  r17,r26,8,16,0
     2fc8:	54 5f 53 59 	rlmi    r19,r10,r11,29,10
     2fcc:	4e 43 53 00 	.long 0x53434e
-		nr_pages = (end - start) >> def->shift;
     2fd0:	73 74 61 63 	ori     r1,r27,29811
+		if (!(pg_sizes & def->h_rpt_pgsize))
     2fd4:	6b 5f 76 6d 	xoris   r22,r11,24427
     2fd8:	00 75 73 61 	ori     r19,r11,29952
     2fdc:	67 65 5f 63 	ori     r31,r26,25959
+	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     2fe0:	6f 75 6e 74 	andis.  r14,r3,30063
-		if (!(pg_sizes & def->h_rpt_pgsize))
     2fe4:	00 5f 66 6f 	xoris   r6,r27,24320
     2fe8:	6c 69 6f 5f 	rlwnm   r15,r27,r13,5,22
+	return ret;
     2fec:	6e 72 5f 70 	andi.   r31,r2,29294
-	for (psize = 0; psize < MMU_PAGE_COUNT; psize++) {
     2ff0:	61 67 65 73 	andi.   r5,r27,26465
     2ff4:	00 68 61 72 	andi.   r1,r19,26624
     2ff8:	64 69 72 71 	andi.   r18,r11,26980
-	return ret;
     2ffc:	5f 74 69 6d 	xoris   r9,r11,29791
+		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
     3000:	65 00 73 68 	xori    r19,r3,101
+		nr_pages = (end - start) >> def->shift;
     3004:	6f 77 00 75 	andis.  r0,r8,30575
+		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
     3008:	6e 73 69 67 	oris    r9,r27,29550
+		nr_pages = (end - start) >> def->shift;
     300c:	6e 65 64 20 	subfic  r3,r4,25966
-		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
+		if (flush_lpid)
     3010:	63 68 61 72 	andi.   r1,r19,26723
-		nr_pages = (end - start) >> def->shift;
     3014:	00 75 6d 6f 	xoris   r13,r27,29952
-		flush_lpid = nr_pages > tlb_range_flush_page_ceiling;
     3018:	75 6e 74 5f 	rlwnm.  r20,r27,r13,25,26
-		nr_pages = (end - start) >> def->shift;
+		page_size = 1UL << def->shift;
     301c:	62 65 67 69 	xori    r7,r11,25954
-		if (flush_lpid)
     3020:	6e 00 61 66 	oris    r1,r19,110
     3024:	66 69 6e 69 	xori    r14,r11,26982
     3028:	74 79 5f 6e 	xoris   r31,r18,31092
-		page_size = 1UL << def->shift;
     302c:	6f 74 69 66 	oris    r9,r19,29807
+		} while (addr < end);
     3030:	79 00 76 64 	oris    r22,r3,121
+			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
     3034:	73 6f 00 6d 	xoris   r0,r8,28531
     3038:	6d 61 70 5f 	rlwnm.  r16,r27,r12,5,22
     303c:	6c 65 67 61 	ori     r7,r11,25964
-		} while (addr < end);
     3040:	63 79 5f 62 	ori     r31,r18,31075
-			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
+			addr += page_size;
     3044:	61 73 65 00 	.long 0x657361
+			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
     3048:	50 41 47 45 	.long 0x45474150
+		} while (addr < end);
     304c:	4f 55 54 52 	rlwimi. r20,r18,10,21,7
+			if (ret)
     3050:	55 4e 00 73 	andi.   r0,r24,20053
-			addr += page_size;
     3054:	5f 74 79 70 	andi.   r25,r3,29791
-			ret = kvmhv_emulate_tlbie_tlb_addr(vcpu, lpid, ap,
+				return H_P4;
     3058:	65 00 70 69 	xori    r16,r11,101
-		} while (addr < end);
     305c:	70 65 5f 69 	xori    r31,r10,25968
-			if (ret)
     3060:	6e 6f 64 65 	oris    r4,r11,28526
     3064:	5f 69 6e 66 	oris    r14,r19,26975
-				return H_P4;
     3068:	6f 00 73 65 	oris    r19,r11,111
     306c:	63 75 72 65 	oris    r18,r11,30051
     3070:	62 69 74 73 	andi.   r20,r27,26978
+}
     3074:	00 73 74 61 	ori     r20,r11,29440
     3078:	74 65 5f 69 	xori    r31,r10,25972
     307c:	6e 69 74 69 	xori    r20,r11,26990
     3080:	61 6c 69 7a 	rldicl. r9,r19,13,49
-}
     3084:	65 64 00 75 	andis.  r0,r8,25701
     3088:	72 69 6e 67 	oris    r14,r27,26994
     308c:	5f 63 6d 64 	oris    r13,r3,25439
@@ -50704,61 +50711,61 @@ static void kvmhv_emulate_tlbie_lpid(str
     3094:	6f 6c 6c 00 	.long 0x6c6c6f
     3098:	75 65 76 65 	oris    r22,r11,25973
     309c:	6e 74 5f 6f 	xoris   r31,r26,29806
+	gp = kvmhv_get_nested(kvm, lpid, false);
     30a0:	70 73 00 73 	andi.   r0,r24,29552
     30a4:	61 73 5f 73 	andi.   r31,r26,29537
     30a8:	73 5f 73 70 	andi.   r19,r3,24435
     30ac:	00 4e 52 5f 	rlwnm   r18,r26,r9,24,0
-	gp = kvmhv_get_nested(kvm, lpid, false);
+	if (gp) {
     30b0:	5a 4f 4e 45 	.long 0x454e4f5a
     30b4:	5f 49 4e 41 	bdztla  4*cr3+eq,495c <.debug_str+0x495c>
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     30b8:	43 54 49 56 	rlwinm. r9,r18,10,17,1
     30bc:	45 5f 41 4e 	addpcis r18,24387
-	if (gp) {
     30c0:	4f 4e 00 6e 	xoris   r0,r16,20047
     30c4:	72 5f 64 69 	xori    r4,r11,24434
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
+		kvmhv_put_nested(gp);
     30c8:	72 74 69 65 	oris    r9,r11,29810
     30cc:	64 00 6e 75 	andis.  r14,r11,100
     30d0:	6d 5f 6b 70 	andi.   r11,r3,24429
     30d4:	72 6f 62 65 	oris    r2,r11,28530
-		kvmhv_put_nested(gp);
     30d8:	5f 62 6c 61 	ori     r12,r11,25183
     30dc:	63 6b 6c 69 	xori    r12,r11,27491
+	gp = kvmhv_get_nested(kvm, lpid, false);
     30e0:	73 74 00 4e 	.long 0x4e007473
     30e4:	52 5f 46 52 	rlwimi  r6,r18,11,29,9
     30e8:	45 45 5f 50 	rlwimi. r31,r2,8,21,2
     30ec:	41 47 45 53 	rlwimi. r5,r26,8,29,0
-	gp = kvmhv_get_nested(kvm, lpid, false);
+	if (gp) {
     30f0:	00 52 53 45 	.long 0x45535200
     30f4:	51 5f 43 53 	rlwimi. r3,r26,11,29,8
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     30f8:	5f 46 4c 41 	bdztla  4*cr3+lt,465c <.debug_str+0x465c>
     30fc:	47 5f 4e 4f 	.long 0x4f4e5f47
-	if (gp) {
     3100:	5f 52 45 53 	rlwimi. r5,r26,10,9,15
     3104:	54 41 52 54 	rlwinm  r18,r2,8,5,10
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
+		kvmhv_put_nested(gp);
     3108:	5f 4f 4e 5f 	rlwnm.  r14,r26,r9,29,15
     310c:	50 52 45 45 	.long 0x45455250
     3110:	4d 50 54 5f 	rlwnm.  r20,r26,r10,1,6
+	gp = kvmhv_get_nested(kvm, lpid, false);
     3114:	42 49 54 00 	.long 0x544942
-		kvmhv_put_nested(gp);
     3118:	75 73 65 72 	andi.   r5,r19,29557
     311c:	5f 70 74 5f 	rlwnm.  r20,r27,r14,1,15
     3120:	72 65 67 73 	andi.   r7,r27,25970
-	gp = kvmhv_get_nested(kvm, lpid, false);
+	if (gp) {
     3124:	00 70 6d 6d 	xoris   r13,r11,28672
     3128:	61 72 00 73 	andi.   r0,r24,29281
+		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
     312c:	5f 76 66 73 	andi.   r6,r27,30303
     3130:	5f 72 65 6e 	xoris   r5,r19,29279
-	if (gp) {
     3134:	61 6d 65 5f 	rlwnm.  r5,r27,r13,21,16
     3138:	6d 75 74 65 	oris    r20,r11,30061
-		kvmhv_emulate_tlbie_lpid(vcpu, gp, ric);
+		kvmhv_put_nested(gp);
     313c:	78 00 73 75 	andis.  r19,r11,120
     3140:	73 70 65 6e 	xoris   r5,r19,28787
     3144:	64 5f 6c 61 	ori     r12,r11,24420
     3148:	74 65 00 77 	andis.  r0,r24,25972
-		kvmhv_put_nested(gp);
     314c:	61 6b 65 75 	andis.  r5,r11,27489
     3150:	70 00 63 69 	xori    r3,r11,112
     3154:	64 5f 6c 6f 	xoris   r12,r27,24420
@@ -50766,11 +50773,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     315c:	67 5f 6c 69 	xori    r12,r11,24423
     3160:	73 74 00 6d 	xoris   r0,r8,29811
     3164:	63 65 5f 6e 	xoris   r31,r18,25955
+{
     3168:	65 73 74 5f 	rlwnm.  r20,r27,r14,13,18
     316c:	63 6f 75 6e 	xoris   r21,r19,28515
     3170:	74 00 76 70 	andi.   r22,r3,116
     3174:	61 5f 75 70 	andi.   r21,r3,24417
-{
     3178:	64 61 74 65 	oris    r20,r11,24932
     317c:	5f 6c 6f 63 	ori     r15,r27,27743
     3180:	6b 00 73 72 	andi.   r19,r19,107
@@ -50784,152 +50791,152 @@ static void kvmhv_emulate_tlbie_lpid(str
     31a0:	64 78 00 69 	xori    r0,r8,30820
     31a4:	73 5f 77 72 	andi.   r23,r19,24435
     31a8:	69 74 65 00 	.long 0x657469
+	struct kvm_nested_guest *gp = vcpu->arch.nested;
     31ac:	64 72 69 76 	andis.  r9,r19,29284
+{
     31b0:	65 72 5f 66 	oris    r31,r18,29285
     31b4:	6c 61 67 73 	andi.   r7,r27,24940
     31b8:	00 6b 76 6d 	xoris   r22,r11,27392
-	struct kvm_nested_guest *gp = vcpu->arch.nested;
+	mutex_lock(&gp->tlb_lock);
     31bc:	5f 76 63 70 	andi.   r3,r3,30303
-{
     31c0:	75 5f 77 72 	andi.   r23,r19,24437
     31c4:	69 74 65 5f 	rlwnm.  r5,r27,r14,17,20
     31c8:	67 75 65 73 	andi.   r5,r27,30055
-	mutex_lock(&gp->tlb_lock);
+	struct rmap_nested *n_rmap;
     31cc:	74 00 72 77 	andis.  r18,r27,116
+	unsigned long dsisr = vcpu->arch.fault_dsisr;
     31d0:	5f 73 65 6d 	xoris   r5,r11,29535
+	struct kvm *kvm = vcpu->kvm;
     31d4:	61 70 68 6f 	xoris   r8,r27,28769
+	unsigned long ea = vcpu->arch.fault_dar;
     31d8:	72 65 00 72 	andi.   r0,r16,25970
-	struct rmap_nested *n_rmap;
+	struct kvmppc_pte gpte;
     31dc:	65 73 75 6d 	xoris   r21,r11,29541
-	unsigned long dsisr = vcpu->arch.fault_dsisr;
     31e0:	65 5f 65 61 	ori     r5,r11,24421
-	struct kvm *kvm = vcpu->kvm;
     31e4:	72 6c 79 00 	.long 0x796c72
-	unsigned long ea = vcpu->arch.fault_dar;
     31e8:	6d 6e 74 5f 	rlwnm.  r20,r27,r13,25,22
-	struct kvmppc_pte gpte;
     31ec:	73 62 00 6e 	xoris   r0,r16,25203
     31f0:	65 65 64 5f 	rlwnm.  r4,r27,r12,21,18
     31f4:	74 6c 62 5f 	rlwnm   r2,r27,r13,17,26
     31f8:	66 6c 75 73 	andi.   r21,r27,27750
+	if (!gp->l1_gr_to_hr) {
     31fc:	68 00 63 68 	xori    r3,r3,104
+	struct rmap_nested *n_rmap;
     3200:	69 6c 64 5f 	rlwnm.  r4,r27,r13,17,20
+	pte_t pte, *pte_p;
     3204:	72 65 61 70 	andi.   r1,r3,25970
+	unsigned int shift, l1_shift, level;
     3208:	65 72 00 69 	xori    r0,r8,29285
-	if (!gp->l1_gr_to_hr) {
     320c:	6e 66 6f 00 	.long 0x6f666e
-	struct rmap_nested *n_rmap;
+	if (!gp->l1_gr_to_hr) {
     3210:	70 68 79 73 	andi.   r25,r27,26736
-	pte_t pte, *pte_p;
     3214:	69 63 61 6c 	xoris   r1,r3,25449
-	unsigned int shift, l1_shift, level;
+	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
     3218:	5f 6c 6f 63 	ori     r15,r27,27743
     321c:	61 74 69 6f 	xoris   r9,r27,29793
-	if (!gp->l1_gr_to_hr) {
+	if (!(dsisr & DSISR_PRTABLE_FAULT))
     3220:	6e 00 64 6d 	xoris   r4,r11,110
-    3224:	61 5f 72 61 	ori     r18,r11,24417
 	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
+    3224:	61 5f 72 61 	ori     r18,r11,24417
     3228:	6e 67 65 5f 	rlwnm   r5,r27,r12,29,23
-    322c:	6d 61 70 00 	.long 0x70616d
 	if (!(dsisr & DSISR_PRTABLE_FAULT))
+    322c:	6d 61 70 00 	.long 0x70616d
+		n_gpa |= ea & 0xFFF;
     3230:	6d 6d 75 5f 	rlwnm.  r21,r27,r13,21,22
-	n_gpa = vcpu->arch.fault_gpa & ~0xF000000000000FFFULL;
     3234:	6e 6f 74 69 	xori    r20,r11,28526
+	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
     3238:	66 69 65 72 	andi.   r5,r19,26982
-	if (!(dsisr & DSISR_PRTABLE_FAULT))
+	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
     323c:	5f 6f 70 73 	andi.   r16,r27,28511
-		n_gpa |= ea & 0xFFF;
     3240:	00 66 69 65 	oris    r9,r11,26112
     3244:	6d 61 70 00 	.long 0x70616d
-	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
     3248:	77 61 69 74 	andis.  r9,r3,24951
-	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
+	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
     324c:	65 72 73 00 	.long 0x737265
+	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
     3250:	70 63 69 5f 	rlwnm   r9,r27,r12,13,24
     3254:	63 6f 6e 74 	andis.  r14,r3,28515
+	if (ret) {
     3258:	72 6f 6c 6c 	xoris   r12,r3,28530
-	u64 fault_addr, flags = dsisr & DSISR_ISSTORE;
     325c:	65 72 00 6d 	xoris   r0,r8,29285
-	ret = kvmppc_mmu_walk_radix_tree(vcpu, n_gpa, gpte_p, gp->l1_gr_to_hr,
+		if (ret == -EINVAL) {
     3260:	70 69 63 00 	.long 0x636970
     3264:	73 65 73 73 	andi.   r19,r27,25971
-	if (ret) {
+		} else if (ret == -ENOENT) {
     3268:	69 6f 6e 69 	xori    r14,r11,28521
     326c:	64 00 6e 62 	ori     r14,r19,100
-		if (ret == -EINVAL) {
+		} else if (ret == -EFAULT) {
     3270:	79 74 65 73 	andi.   r5,r27,29817
     3274:	00 5f 73 69 	xori    r19,r11,24320
-		} else if (ret == -ENOENT) {
+	if (ret == RESUME_HOST &&
     3278:	66 69 65 6c 	xoris   r5,r3,26982
+	ret = kvmhv_translate_addr_nested(vcpu, gp, n_gpa, dsisr, &gpte);
     327c:	64 73 00 6d 	xoris   r0,r8,29540
-		} else if (ret == -EFAULT) {
+	if (ret == RESUME_HOST &&
     3280:	65 6d 63 67 	oris    r3,r27,28005
     3284:	5f 69 6e 5f 	rlwnm.  r14,r27,r13,5,15
-	if (ret == RESUME_HOST &&
     3288:	6f 6f 6d 00 	.long 0x6d6f6f
-	ret = kvmhv_translate_addr_nested(vcpu, gp, n_gpa, dsisr, &gpte);
     328c:	64 5f 6d 61 	ori     r13,r11,24420
-	if (ret == RESUME_HOST &&
     3290:	6e 61 67 65 	oris    r7,r11,24942
+	bool writing = !!(dsisr & DSISR_ISSTORE);
     3294:	00 68 61 6e 	xoris   r1,r19,26624
+		if (dsisr & DSISR_ISSTORE) {
     3298:	64 6c 65 72 	andi.   r5,r19,27748
     329c:	5f 64 61 74 	andis.  r1,r3,25695
     32a0:	61 00 66 69 	xori    r6,r11,97
-	bool writing = !!(dsisr & DSISR_ISSTORE);
     32a4:	65 6d 61 70 	andi.   r1,r3,28005
-		if (dsisr & DSISR_ISSTORE) {
+	unsigned long dsisr = vcpu->arch.fault_dsisr;
     32a8:	5f 65 78 74 	andis.  r24,r3,25951
     32ac:	65 6e 74 5f 	rlwnm.  r20,r27,r13,25,18
+	bool writing = !!(dsisr & DSISR_ISSTORE);
     32b0:	69 6e 66 6f 	xoris   r6,r27,28265
     32b4:	00 70 61 64 	oris    r1,r3,28672
-	unsigned long dsisr = vcpu->arch.fault_dsisr;
+		if (dsisr & DSISR_ISSTORE) {
     32b8:	64 69 6e 67 	oris    r14,r27,26980
+			if (!gpte_p->may_write) {
     32bc:	31 00 70 61 	ori     r16,r11,49
-	bool writing = !!(dsisr & DSISR_ISSTORE);
     32c0:	64 64 69 6e 	xoris   r9,r19,25700
     32c4:	67 32 00 6c 	xoris   r0,r0,12903
-		if (dsisr & DSISR_ISSTORE) {
+	if (dsisr & DSISR_SET_RC) {
     32c8:	6c 69 73 74 	andis.  r19,r3,26988
-			if (!gpte_p->may_write) {
     32cc:	00 70 72 6f 	xoris   r18,r27,28672
     32d0:	74 6f 5f 76 	andis.  r31,r18,28532
+	l1_shift = gpte.page_shift;
     32d4:	73 69 64 5f 	rlwnm.  r4,r27,r13,5,25
-	if (dsisr & DSISR_SET_RC) {
     32d8:	66 69 72 73 	andi.   r18,r27,26982
+	if (l1_shift < PAGE_SHIFT) {
     32dc:	74 00 69 72 	andi.   r9,r19,116
     32e0:	71 5f 73 72 	andi.   r19,r19,24433
-	l1_shift = gpte.page_shift;
+	gpa = gpte.raddr;
     32e4:	63 75 00 6c 	xoris   r0,r0,30051
+	memslot = gfn_to_memslot(kvm, gfn);
     32e8:	6f 61 64 5f 	rlwnm.  r4,r27,r12,5,23
-	if (l1_shift < PAGE_SHIFT) {
     32ec:	66 72 6f 6d 	xoris   r15,r11,29286
     32f0:	5f 65 61 64 	oris    r1,r3,25951
-	gpa = gpte.raddr;
     32f4:	64 72 00 65 	oris    r0,r8,29284
-	memslot = gfn_to_memslot(kvm, gfn);
+	if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) {
     32f8:	6c 65 6d 00 	.long 0x6d656c
     32fc:	6e 72 5f 72 	andi.   r31,r18,29294
     3300:	65 74 72 69 	xori    r18,r11,29797
-    3304:	65 73 00 49 	bl      100a668 <kvmhv_nested_next_lpid+0x1006b90>
-	if (!memslot || (memslot->flags & KVM_MEMSLOT_INVALID)) {
-    3308:	52 51 43 48 	ba      435150 <kvmhv_nested_next_lpid+0x431678>
+    3304:	65 73 00 49 	bl      100a668 <kvmhv_nested_next_lpid+0x1006ba0>
+    3308:	52 51 43 48 	ba      435150 <kvmhv_nested_next_lpid+0x431688>
     330c:	49 50 5f 53 	rlwimi. r31,r26,10,1,4
+	if (memslot->flags & KVM_MEM_READONLY) {
     3310:	54 41 54 45 	.long 0x45544154
     3314:	5f 50 45 4e 	.long 0x4e45505f
+		if (writing) {
     3318:	44 49 4e 47 	.long 0x474e4944
+		kvm_ro = true;
     331c:	00 73 69 67 	oris    r9,r27,29440
-	if (memslot->flags & KVM_MEM_READONLY) {
+	mmu_seq = kvm->mmu_invalidate_seq;
     3320:	76 61 6c 5f 	rlwnm   r12,r27,r12,5,27
+	smp_rmb();
     3324:	74 00 73 6c 	xoris   r19,r3,116
-		if (writing) {
+	pte = __pte(0);
     3328:	62 5f 6e 72 	andi.   r14,r19,24418
-		kvm_ro = true;
     332c:	00 75 6e 64 	oris    r14,r3,29952
-	mmu_seq = kvm->mmu_invalidate_seq;
     3330:	6f 5f 6c 69 	xori    r12,r11,24431
-	smp_rmb();
     3334:	73 74 00 69 	xori    r0,r8,29811
-	pte = __pte(0);
     3338:	72 71 5f 64 	oris    r31,r2,29042
     333c:	61 74 61 00 	.long 0x617461
     3340:	64 69 72 74 	andis.  r18,r3,26980
@@ -50937,134 +50944,134 @@ static void kvmhv_emulate_tlbie_lpid(str
     3348:	64 65 78 00 	.long 0x786564
     334c:	70 67 74 61 	ori     r20,r11,26480
     3350:	62 6c 65 00 	.long 0x656c62
+	if (!shift)
     3354:	6d 63 5f 65 	oris    r31,r10,25453
     3358:	6d 65 72 67 	oris    r18,r27,25965
     335c:	65 6e 63 79 	rldicr. r3,r11,13,57
+		shift = PAGE_SHIFT;
     3360:	5f 73 70 00 	.long 0x70735f
-	if (!shift)
     3364:	6b 76 6d 70 	andi.   r13,r3,30315
+	if (pte_p)
     3368:	70 63 5f 73 	andi.   r31,r26,25456
     336c:	6c 62 00 6d 	xoris   r0,r8,25196
-		shift = PAGE_SHIFT;
+		pte = *pte_p;
     3370:	69 73 73 65 	oris    r19,r11,29545
     3374:	64 00 69 6e 	xoris   r9,r19,100
-	if (pte_p)
+	if (unlikely(ms->mmiowb_pending)) {
     3378:	6a 65 63 74 	andis.  r3,r3,25962
+	struct mmiowb_state *ms = __mmiowb_state();
     337c:	5f 69 6e 74 	andis.  r14,r3,26975
-		pte = *pte_p;
+	if (unlikely(ms->mmiowb_pending)) {
     3380:	65 72 72 75 	andis.  r18,r11,29285
     3384:	70 74 00 76 	andis.  r0,r16,29808
-	if (unlikely(ms->mmiowb_pending)) {
+	ms->nesting_count--;
     3388:	63 70 75 73 	andi.   r21,r27,28771
-	struct mmiowb_state *ms = __mmiowb_state();
     338c:	5f 72 75 6e 	xoris   r21,r19,29279
-	if (unlikely(ms->mmiowb_pending)) {
     3390:	6e 69 6e 67 	oris    r14,r27,26990
     3394:	00 73 74 5f 	rlwnm   r20,r27,r14,12,0
-	ms->nesting_count--;
     3398:	73 68 6e 64 	oris    r14,r3,26739
     339c:	78 00 66 72 	andi.   r6,r19,120
+	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
     33a0:	65 65 00 50 	rlwimi. r0,r0,12,21,18
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     33a4:	47 53 43 41 	bdztla  so,5344 <.debug_str+0x5344>
+	if (pte_hw_valid(pte))
     33a8:	4e 5f 4b 53 	rlwimi  r11,r26,11,29,7
     33ac:	57 41 50 44 	.long 0x44504157
-	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
+	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     33b0:	00 68 6f 73 	andi.   r15,r27,26624
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
     33b4:	74 5f 64 73 	andi.   r4,r27,24436
-	if (pte_hw_valid(pte))
     33b8:	63 72 00 43 	bdnzla- 7260 <.debug_str+0x7260>
+		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
     33bc:	4d 41 5f 41 	bdztl   4*cr7+so,7508 <.debug_str+0x7508>
-	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
     33c0:	4c 4c 4f 43 	bc-     26,4*cr3+so,800c <.debug_str+0x800c>
     33c4:	5f 53 55 43 	bcla-   26,4*cr5+gt,535c <.debug_str+0x535c>
     33c8:	43 45 53 53 	rlwimi. r19,r26,8,21,1
-		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
     33cc:	00 74 79 70 	andi.   r25,r3,29696
     33d0:	65 00 6d 65 	oris    r13,r11,101
     33d4:	6d 62 61 72 	andi.   r1,r19,25197
     33d8:	72 69 65 72 	andi.   r5,r19,26994
     33dc:	5f 73 74 61 	ori     r20,r11,29535
-    33e0:	74 65 00 49 	b       1009954 <kvmhv_nested_next_lpid+0x1005e7c>
-    33e4:	52 51 5f 48 	ba      5f5150 <kvmhv_nested_next_lpid+0x5f1678>
+		if (ret == -EAGAIN)
+    33e0:	74 65 00 49 	b       1009954 <kvmhv_nested_next_lpid+0x1005e8c>
+		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
+    33e4:	52 51 5f 48 	ba      5f5150 <kvmhv_nested_next_lpid+0x5f1688>
+		if (ret == -EAGAIN)
     33e8:	41 4e 44 4c 	.long 0x4c444e41
+		else if (ret)
     33ec:	45 44 00 73 	andi.   r0,r24,17477
-		if (ret == -EAGAIN)
     33f0:	68 61 64 6f 	xoris   r4,r27,24936
-		ret = kvmppc_book3s_instantiate_page(vcpu, gpa, memslot,
+		return PUD_SHIFT;
     33f4:	77 5f 73 72 	andi.   r19,r19,24439
-		if (ret == -EAGAIN)
+		shift = kvmppc_radix_level_to_shift(level);
     33f8:	72 31 00 70 	andi.   r0,r0,12658
-		else if (ret)
+		return PUD_SHIFT;
     33fc:	61 67 65 5f 	rlwnm.  r5,r27,r12,29,16
     3400:	70 6f 6f 6c 	xoris   r15,r3,28528
-		return PUD_SHIFT;
+	switch (level) {
     3404:	00 73 75 73 	andi.   r21,r27,29440
-		shift = kvmppc_radix_level_to_shift(level);
-    3408:	70 65 6e 64 	oris    r14,r3,25968
 		return PUD_SHIFT;
+    3408:	70 65 6e 64 	oris    r14,r3,25968
     340c:	00 69 6e 69 	xori    r14,r11,26880
     3410:	74 00 66 69 	xori    r6,r11,116
 	switch (level) {
     3414:	6c 65 73 5f 	rlwnm   r19,r27,r12,21,22
-		return PUD_SHIFT;
     3418:	73 74 72 75 	andis.  r18,r11,29811
     341c:	63 74 00 77 	andis.  r0,r24,29795
+		return PUD_SHIFT;
     3420:	72 69 74 65 	oris    r20,r11,26994
-	switch (level) {
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3424:	5f 69 74 65 	oris    r20,r11,26975
+		return PUD_SHIFT;
     3428:	72 00 6c 31 	addic   r11,r12,114
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     342c:	64 5f 66 6c 	xoris   r6,r3,24420
-		return PUD_SHIFT;
     3430:	75 73 68 5f 	rlwnm.  r8,r27,r14,13,26
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3434:	73 69 7a 65 	oris    r26,r11,26995
-		return PUD_SHIFT;
+		shift = kvmppc_radix_level_to_shift(level);
     3438:	00 73 5f 64 	oris    r31,r2,29440
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     343c:	69 6f 5f 64 	oris    r31,r2,28521
+				flags |= DSISR_PROTFAULT;
     3440:	6f 6e 65 5f 	rlwnm.  r5,r27,r13,25,23
+				goto forward_to_l1;
     3444:	77 71 00 44 	svcla   7261
-		shift = kvmppc_radix_level_to_shift(level);
     3448:	52 4f 50 5f 	rlwnm   r16,r26,r9,29,9
     344c:	53 4c 41 42 	bcla    18,gt,4c50 <.debug_str+0x4c50>
-				flags |= DSISR_PROTFAULT;
     3450:	00 5f 64 75 	andis.  r4,r11,24320
-				goto forward_to_l1;
     3454:	6d 6d 79 5f 	rlwnm.  r25,r27,r13,21,22
+				flags |= DSISR_PROTFAULT;
     3458:	62 6e 64 00 	.long 0x646e62
+	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     345c:	73 61 73 5f 	rlwnm.  r19,r27,r12,5,25
+	vcpu->arch.fault_dsisr = flags;
     3460:	73 73 5f 73 	andi.   r31,r26,29555
+	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3464:	69 7a 65 00 	.long 0x657a69
-				flags |= DSISR_PROTFAULT;
     3468:	73 61 76 65 	oris    r22,r11,24947
-	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
+		vcpu->arch.shregs.msr &= SRR1_MSR_BITS;
     346c:	64 5f 78 69 	xori    r24,r11,24420
-	vcpu->arch.fault_dsisr = flags;
     3470:	72 72 00 66 	oris    r0,r16,29298
-	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3474:	69 6c 65 5f 	rlwnm.  r5,r27,r13,17,20
     3478:	73 79 73 74 	andis.  r19,r3,31091
-		vcpu->arch.shregs.msr &= SRR1_MSR_BITS;
+		vcpu->arch.shregs.msr |= flags;
     347c:	65 6d 5f 74 	andis.  r31,r2,28005
     3480:	79 70 65 00 	.long 0x657079
+	if (ret == RESUME_HOST &&
     3484:	63 6f 6e 74 	andis.  r14,r3,28515
     3488:	65 78 74 5f 	rlwnm.  r20,r27,r15,1,18
-		vcpu->arch.shregs.msr |= flags;
     348c:	69 64 00 4d 	.long 0x4d006469
     3490:	53 49 5f 53 	rlwimi. r31,r26,9,5,9
-	if (ret == RESUME_HOST &&
+			return RESUME_HOST;
     3494:	45 43 4f 4e 	addpcis r18,17247
+	mutex_unlock(&gp->tlb_lock);
     3498:	44 41 52 59 	rlmi    r18,r10,r8,5,2
     349c:	5f 44 4f 4d 	.long 0x4d4f445f
     34a0:	41 49 4e 00 	.long 0x4e4941
-			return RESUME_HOST;
+}
     34a4:	6d 74 69 6d 	xoris   r9,r11,29805
-	mutex_unlock(&gp->tlb_lock);
     34a8:	65 00 76 6d 	xoris   r22,r11,101
     34ac:	5f 66 61 75 	andis.  r1,r11,26207
     34b0:	6c 74 00 6f 	xoris   r0,r24,29804
-}
     34b4:	6f 6d 5f 73 	andi.   r31,r26,28015
     34b8:	63 6f 72 65 	oris    r18,r11,28515
     34bc:	5f 61 64 6a 	xori    r4,r19,24927
@@ -51080,162 +51087,162 @@ static void kvmhv_emulate_tlbie_lpid(str
     34e4:	00 78 69 63 	ori     r9,r27,30720
     34e8:	73 00 6b 76 	andis.  r11,r19,115
     34ec:	6d 70 70 63 	ori     r16,r27,28781
+		kvmhv_update_ptbl_cache(gp);
     34f0:	5f 6d 6d 75 	andis.  r13,r11,27999
     34f4:	5f 77 61 6c 	xoris   r1,r3,30559
+		if (!gp->l1_gr_to_hr)
     34f8:	6b 5f 72 61 	ori     r18,r11,24427
     34fc:	64 69 78 5f 	rlwnm   r24,r27,r13,5,18
-		kvmhv_update_ptbl_cache(gp);
     3500:	74 72 65 65 	oris    r5,r11,29300
     3504:	00 69 6e 76 	andis.  r14,r19,26880
-		if (!gp->l1_gr_to_hr)
     3508:	5f 77 65 69 	xori    r5,r11,30559
     350c:	67 68 74 00 	.long 0x746867
     3510:	64 69 72 74 	andis.  r18,r3,26980
+		if (dsisr & (DSISR_PRTABLE_FAULT | DSISR_BADACCESS)) {
     3514:	79 5f 69 6e 	xoris   r9,r19,24441
     3518:	6f 64 65 00 	.long 0x65646f
+		return kvmppc_hv_emulate_mmio(vcpu, gpa, ea, writing);
     351c:	73 72 63 75 	andis.  r3,r11,29299
     3520:	5f 62 61 72 	andi.   r1,r19,25183
-		if (dsisr & (DSISR_PRTABLE_FAULT | DSISR_BADACCESS)) {
     3524:	72 69 65 72 	andi.   r5,r19,26994
     3528:	5f 68 65 61 	ori     r5,r11,26719
-		return kvmppc_hv_emulate_mmio(vcpu, gpa, ea, writing);
     352c:	64 00 5f 5f 	rlwnm   r31,r26,r0,1,18
     3530:	61 69 5f 70 	andi.   r31,r2,26977
     3534:	74 72 00 54 	rlwinm  r0,r0,14,9,26
     3538:	48 50 5f 46 	.long 0x465f5048
     353c:	49 4c 45 5f 	rlwnm.  r5,r26,r9,17,4
     3540:	46 41 4c 4c 	.long 0x4c4c4146
-    3544:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430668>
+    3544:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430678>
     3548:	00 70 63 70 	andi.   r3,r3,28672
     354c:	75 5f 66 63 	ori     r6,r27,24437
     3550:	00 74 6f 63 	ori     r15,r27,29696
     3554:	5f 73 65 63 	ori     r5,r27,29535
     3558:	74 69 6f 6e 	xoris   r15,r19,26996
     355c:	00 73 74 5f 	rlwnm   r20,r27,r14,12,0
+		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3560:	73 69 7a 65 	oris    r26,r11,26995
     3564:	00 76 63 70 	andi.   r3,r3,30208
+			if (!gpte_p->may_execute) {
     3568:	75 5f 74 6f 	xoris   r20,r27,24437
-    356c:	6b 65 6e 00 	.long 0x6e656b
 		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
+    356c:	6b 65 6e 00 	.long 0x6e656b
+			if (!gpte_p->may_read && !gpte_p->may_write) {
     3570:	72 6d 74 70 	andi.   r20,r3,28018
     3574:	00 6b 76 6d 	xoris   r22,r11,27392
-			if (!gpte_p->may_execute) {
     3578:	5f 72 6f 00 	.long 0x6f725f
-		} else if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     357c:	65 6e 61 62 	ori     r1,r19,28261
-			if (!gpte_p->may_read && !gpte_p->may_write) {
+	if (dsisr & DSISR_SET_RC) {
     3580:	6c 65 5f 64 	oris    r31,r2,25964
     3584:	61 77 72 31 	addic   r11,r18,30561
+		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
     3588:	00 69 74 6c 	xoris   r20,r3,26880
     358c:	62 5f 76 69 	xori    r22,r11,24418
-	if (dsisr & DSISR_SET_RC) {
+	pgflags = _PAGE_ACCESSED;
     3590:	72 74 5f 6d 	xoris   r31,r10,29810
     3594:	69 73 73 5f 	rlwnm.  r19,r27,r14,13,20
-		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
+	if (pgflags & ~gpte.rc)
     3598:	65 78 69 74 	andis.  r9,r3,30821
     359c:	73 00 61 73 	andi.   r1,r27,115
-	pgflags = _PAGE_ACCESSED;
     35a0:	5f 69 64 00 	.long 0x64695f
+	ret = kvmppc_hv_handle_set_rc(kvm, false, writing,
     35a4:	69 73 69 5f 	rlwnm.  r9,r27,r14,13,20
-	if (pgflags & ~gpte.rc)
     35a8:	65 78 69 74 	andis.  r9,r3,30821
     35ac:	73 00 6e 75 	andis.  r14,r11,115
     35b0:	6d 5f 74 72 	andi.   r20,r19,24429
-	ret = kvmppc_hv_handle_set_rc(kvm, false, writing,
     35b4:	61 63 65 70 	andi.   r5,r3,25441
     35b8:	6f 69 6e 74 	andis.  r14,r3,26991
     35bc:	73 00 71 75 	andis.  r17,r11,115
     35c0:	65 75 65 5f 	rlwnm.  r5,r27,r14,21,18
     35c4:	69 6e 74 72 	andi.   r20,r19,28265
     35c8:	00 72 6d 76 	andis.  r13,r19,29184
+	if (!ret) {
     35cc:	5f 65 6e 74 	andis.  r14,r3,25951
     35d0:	72 79 00 65 	oris    r0,r8,31090
+	ret = kvmppc_hv_handle_set_rc(kvm, true, writing,
     35d4:	78 69 74 5f 	rlwnm   r20,r27,r13,5,28
     35d8:	63 6f 64 65 	oris    r4,r11,28515
-	if (!ret) {
     35dc:	00 65 78 65 	oris    r24,r11,25856
     35e0:	63 5f 73 74 	andis.  r19,r3,24419
-	ret = kvmppc_hv_handle_set_rc(kvm, true, writing,
     35e4:	61 72 74 00 	.long 0x747261
     35e8:	63 6f 6e 73 	andi.   r14,r27,28515
     35ec:	75 6d 65 72 	andi.   r5,r19,28021
+	if (!ret)
     35f0:	73 00 6b 65 	oris    r11,r11,115
     35f4:	72 6e 66 73 	andi.   r6,r27,28274
+		ret = -EINVAL;
     35f8:	5f 65 6c 65 	oris    r12,r11,25951
+	if (unlikely(ms->mmiowb_pending)) {
     35fc:	6d 5f 73 79 	rldimi. r19,r11,11,61
-	if (!ret)
+	struct mmiowb_state *ms = __mmiowb_state();
     3600:	6d 6c 69 6e 	xoris   r9,r19,27757
+	if (unlikely(ms->mmiowb_pending)) {
     3604:	6b 00 6e 72 	andi.   r14,r19,107
-		ret = -EINVAL;
     3608:	5f 69 74 65 	oris    r20,r11,26975
-	if (unlikely(ms->mmiowb_pending)) {
+	ms->nesting_count--;
     360c:	6d 73 00 63 	ori     r0,r24,29549
-	struct mmiowb_state *ms = __mmiowb_state();
     3610:	6c 6f 63 6b 	xori    r3,r27,28524
-	if (unlikely(ms->mmiowb_pending)) {
     3614:	5f 77 61 73 	andi.   r1,r27,30559
     3618:	5f 73 65 74 	andis.  r5,r3,29535
-	ms->nesting_count--;
     361c:	5f 73 65 71 	andi.   r5,r11,29535
     3620:	00 50 47 53 	rlwimi  r7,r26,10,0,0
+		if (ret)
     3624:	43 41 4e 5f 	rlwnm.  r14,r26,r8,5,1
     3628:	4b 48 55 47 	.long 0x4755484b
+		if (!(dsisr & (DSISR_BAD_FAULT_64S | DSISR_NOHPTE |
     362c:	45 50 41 47 	.long 0x47415045
     3630:	45 44 00 66 	oris    r0,r16,17477
-		if (ret)
     3634:	5f 76 65 72 	andi.   r5,r19,30303
     3638:	73 69 6f 6e 	xoris   r15,r19,26995
-		if (!(dsisr & (DSISR_BAD_FAULT_64S | DSISR_NOHPTE |
     363c:	00 61 72 63 	ori     r18,r27,24832
+		dsisr &= ~DSISR_SET_RC;
     3640:	68 5f 75 70 	andi.   r21,r3,24424
     3644:	72 6f 62 65 	oris    r2,r11,28530
     3648:	5f 74 61 73 	andi.   r1,r27,29791
     364c:	6b 00 73 72 	andi.   r19,r19,107
-		dsisr &= ~DSISR_SET_RC;
+			kvmppc_core_queue_data_storage(vcpu, ea, dsisr);
     3650:	63 75 5f 6e 	xoris   r31,r18,30051
     3654:	5f 6c 6f 63 	ori     r15,r27,27743
     3658:	6b 5f 72 65 	oris    r18,r11,24427
     365c:	74 72 69 65 	oris    r9,r11,29300
-			kvmppc_core_queue_data_storage(vcpu, ea, dsisr);
     3660:	73 00 69 5f 	rlwnm.  r9,r27,r0,1,25
+			return RESUME_GUEST;
     3664:	66 6f 70 00 	.long 0x706f66
     3668:	73 61 5f 68 	xori    r31,r2,24947
     366c:	61 6e 64 6c 	xoris   r4,r3,28257
     3670:	65 72 00 50 	rlwimi. r0,r0,14,9,18
-			return RESUME_GUEST;
     3674:	47 52 45 55 	rlwinm. r5,r10,10,9,3
     3678:	53 45 00 68 	xori    r0,r0,17747
     367c:	69 67 68 5f 	rlwnm.  r8,r27,r12,29,20
+			return RESUME_GUEST;
     3680:	73 6c 69 63 	ori     r9,r27,27763
     3684:	65 73 00 69 	xori    r0,r8,29541
     3688:	6f 6d 6d 75 	andis.  r13,r11,28015
     368c:	5f 67 72 6f 	xoris   r18,r27,26463
-			return RESUME_GUEST;
+		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
     3690:	75 70 00 70 	andi.   r0,r0,28789
     3694:	65 72 69 6f 	xoris   r9,r27,29285
+		pgflags |= _PAGE_DIRTY;
     3698:	64 5f 63 6f 	xoris   r3,r27,24420
     369c:	6e 74 72 69 	xori    r18,r11,29806
-		ret = kvmhv_handle_nested_set_rc(vcpu, gp, n_gpa, gpte, dsisr);
+	if (writing)
     36a0:	62 00 69 67 	oris    r9,r27,98
     36a4:	6e 6f 72 65 	oris    r18,r11,28526
-		pgflags |= _PAGE_DIRTY;
     36a8:	5f 65 76 65 	oris    r22,r11,25951
     36ac:	6e 74 00 66 	oris    r0,r16,29806
-	if (writing)
+			if (!gpte_p->may_execute) {
     36b0:	73 67 69 64 	oris    r9,r3,26483
     36b4:	00 73 77 61 	ori     r23,r11,29440
+	vcpu->arch.fault_dsisr = flags;
     36b8:	70 5f 72 77 	andis.  r18,r27,24432
+				flags |= SRR1_ISI_N_G_OR_CIP;
     36bc:	00 6e 65 65 	oris    r5,r11,28160
-			if (!gpte_p->may_execute) {
+	vcpu->arch.fault_dsisr = flags;
     36c0:	64 5f 70 61 	ori     r16,r11,24420
+	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     36c4:	72 65 6e 74 	andis.  r14,r3,25970
-	vcpu->arch.fault_dsisr = flags;
     36c8:	5f 6c 6f 63 	ori     r15,r27,27743
-				flags |= SRR1_ISI_N_G_OR_CIP;
     36cc:	6b 00 69 73 	andi.   r9,r27,107
-	vcpu->arch.fault_dsisr = flags;
     36d0:	5f 70 72 65 	oris    r18,r11,28767
-	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     36d4:	70 61 72 65 	oris    r18,r11,24944
     36d8:	64 00 70 72 	andi.   r16,r19,100
     36dc:	6f 63 5f 64 	oris    r31,r2,25455
@@ -51243,70 +51250,70 @@ static void kvmhv_emulate_tlbie_lpid(str
     36e4:	6e 74 72 79 	rldimi  r18,r11,46,49
     36e8:	00 6c 6f 77 	andis.  r15,r27,27648
     36ec:	5f 73 6c 69 	xori    r12,r11,29535
+		return kmalloc_trace(
     36f0:	63 65 73 5f 	rlwnm.  r19,r27,r12,21,17
+	n_gpa &= ~((1UL << shift) - 1);
     36f4:	70 73 69 7a 	rldcl   r9,r19,r14,45
     36f8:	65 00 76 6d 	xoris   r22,r11,101
     36fc:	5f 6f 70 73 	andi.   r16,r27,28511
-		return kmalloc_trace(
+	level = kvmppc_radix_shift_to_level(shift);
     3700:	00 69 6f 70 	andi.   r15,r3,26880
-	n_gpa &= ~((1UL << shift) - 1);
     3704:	6f 6c 6c 00 	.long 0x6c6c6f
+	n_gpa &= ~((1UL << shift) - 1);
     3708:	54 48 50 5f 	rlwnm   r16,r26,r9,1,10
     370c:	4d 49 47 52 	rlwimi. r7,r18,9,5,6
-	level = kvmppc_radix_shift_to_level(shift);
     3710:	41 54 49 4f 	.long 0x4f495441
     3714:	4e 5f 46 41 	bdzta   4*cr1+eq,5f4c <.debug_str+0x5f4c>
-	n_gpa &= ~((1UL << shift) - 1);
     3718:	49 4c 00 70 	andi.   r0,r0,19529
+	if (!n_rmap)
     371c:	61 67 65 73 	andi.   r5,r27,26465
     3720:	69 7a 65 00 	.long 0x657a69
+	n_rmap = kzalloc(sizeof(*n_rmap), GFP_KERNEL);
     3724:	65 72 61 74 	andis.  r1,r3,29285
+	if (!n_rmap)
     3728:	5f 65 72 72 	andi.   r18,r19,25951
-	if (unlikely(!n_rmap))
+		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
     372c:	6f 72 00 73 	andi.   r0,r24,29295
+	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
     3730:	5f 62 6c 6f 	xoris   r12,r27,25183
-	n_rmap = kzalloc(sizeof(*n_rmap), GFP_KERNEL);
+	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3734:	63 6b 73 69 	xori    r19,r11,27491
-	if (unlikely(!n_rmap))
     3738:	7a 65 00 76 	andis.  r0,r16,25978
-		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
     373c:	6d 5f 70 67 	oris    r16,r27,24429
-	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
     3740:	6f 66 66 00 	.long 0x66666f
-	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3744:	6b 76 6d 5f 	rlwnm.  r13,r27,r14,25,21
     3748:	69 6f 5f 72 	andi.   r31,r18,28521
+	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
     374c:	61 6e 67 65 	oris    r7,r11,28257
+		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
     3750:	00 6e 75 6d 	xoris   r21,r11,28160
+	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
     3754:	61 5f 77 6f 	xoris   r23,r27,24417
     3758:	72 6b 00 65 	oris    r0,r8,27506
-	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
+	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
     375c:	72 61 74 5f 	rlwnm   r20,r27,r12,5,25
-		(((unsigned long) gp->l1_lpid) << RMAP_NESTED_LPID_SHIFT);
     3760:	65 72 72 6f 	xoris   r18,r27,29285
-	n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
+	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3764:	72 5f 74 79 	rldcr   r20,r11,r11,61
     3768:	70 65 00 5f 	rlwnm   r0,r24,r12,21,24
-	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
     376c:	63 61 6c 6c 	xoris   r12,r3,24931
+	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
     3770:	5f 61 64 64 	oris    r4,r3,24927
-	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3774:	72 00 46 57 	rlwinm  r6,r26,0,1,25
+	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
     3778:	5f 46 45 41 	bdztla  4*cr1+gt,465c <.debug_str+0x465c>
     377c:	54 55 52 45 	.long 0x45525554
-	rmapp = &memslot->arch.rmap[gfn - memslot->base_gfn];
     3780:	5f 4e 41 54 	rlwinm. r1,r2,9,25,15
     3784:	49 56 45 5f 	rlwnm.  r5,r26,r10,25,4
-	ret = kvmppc_create_pte(kvm, gp->shadow_pgtable, pte, n_gpa, level,
+	kfree(n_rmap);
     3788:	41 4c 57 41 	bdztl   4*cr5+so,83c8 <.debug_str+0x83c8>
     378c:	59 53 00 6c 	xoris   r0,r0,21337
     3790:	6f 67 69 6e 	xoris   r9,r19,26479
+	if (ret == -EAGAIN)
     3794:	75 69 64 00 	.long 0x646975
-	kfree(n_rmap);
     3798:	63 68 65 63 	ori     r5,r27,26723
-    379c:	6b 00 54 48 	bla     540068 <kvmhv_nested_next_lpid+0x53c590>
-    37a0:	50 5f 46 49 	b       14696f0 <kvmhv_nested_next_lpid+0x1465c18>
-	if (ret == -EAGAIN)
+    379c:	6b 00 54 48 	bla     540068 <kvmhv_nested_next_lpid+0x53c5a0>
+    37a0:	50 5f 46 49 	b       14696f0 <kvmhv_nested_next_lpid+0x1465c28>
     37a4:	4c 45 5f 4d 	.long 0x4d5f454c
     37a8:	41 50 50 45 	.long 0x45505041
     37ac:	44 00 73 79 	rldicr  r19,r11,0,1
@@ -51315,131 +51322,131 @@ static void kvmhv_emulate_tlbie_lpid(str
     37b8:	00 73 6c 62 	ori     r12,r19,29440
     37bc:	76 00 74 72 	andi.   r20,r19,118
     37c0:	61 70 00 65 	oris    r0,r8,28769
+	kvmhv_invalidate_shadow_pte(vcpu, gp, n_gpa, NULL);
     37c4:	78 70 69 72 	andi.   r9,r19,28792
     37c8:	79 00 6f 70 	andi.   r15,r3,121
     37cc:	74 69 6d 69 	xori    r13,r11,26996
     37d0:	73 74 69 63 	ori     r9,r27,29811
-	kvmhv_invalidate_shadow_pte(vcpu, gp, n_gpa, NULL);
     37d4:	5f 73 70 69 	xori    r16,r11,29535
+	return RESUME_GUEST;
     37d8:	6e 5f 71 75 	andis.  r17,r11,24430
     37dc:	65 75 65 00 	.long 0x657565
+	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
     37e0:	68 61 6c 74 	andis.  r12,r3,24936
+		if (PMD_SHIFT < l1_shift)
     37e4:	5f 70 6f 6c 	xoris   r15,r3,28767
-	return RESUME_GUEST;
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     37e8:	6c 5f 69 6e 	xoris   r9,r19,24428
     37ec:	76 61 6c 69 	xori    r12,r11,24950
-	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
-    37f0:	64 00 64 65 	oris    r4,r11,100
 		if (PMD_SHIFT < l1_shift)
+    37f0:	64 00 64 65 	oris    r4,r11,100
+	if (shift == PUD_SHIFT)
     37f4:	63 5f 65 78 	rldicl. r5,r3,43,61
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     37f8:	70 69 72 65 	oris    r18,r11,26992
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     37fc:	73 00 41 4c 	.long 0x4c410073
 		if (PMD_SHIFT < l1_shift)
     3800:	4c 4f 43 53 	rlwimi  r3,r26,9,29,6
-	if (shift == PUD_SHIFT)
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3804:	54 41 4c 4c 	.long 0x4c4c4154
+	if (shift == PUD_SHIFT)
     3808:	5f 4e 4f 52 	rlwimi. r15,r18,9,25,15
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
     380c:	4d 41 4c 00 	.long 0x4c414d
-		if (PMD_SHIFT < l1_shift)
+	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
     3810:	5f 5f 6c 73 	andi.   r12,r27,24415
 	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3814:	74 61 74 65 	oris    r20,r11,24948
-	if (shift == PUD_SHIFT)
+	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
     3818:	00 70 69 64 	oris    r9,r3,28672
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     381c:	5f 61 6c 6c 	xoris   r12,r3,24927
-	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
+	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
     3820:	6f 63 61 74 	andis.  r1,r3,25455
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
     3824:	65 64 00 76 	andis.  r0,r16,25701
-	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
+	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
     3828:	73 63 72 00 	.long 0x726373
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
+	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
     382c:	6c 6f 63 6b 	xori    r3,r27,28524
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
+	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
     3830:	5f 63 6f 75 	andis.  r15,r11,25439
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
     3834:	6e 74 00 72 	andi.   r0,r16,29806
-	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
+	perm |= gpte.may_read ? 0UL : _PAGE_READ;
     3838:	65 66 63 6f 	xoris   r3,r27,26213
-	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
+	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
     383c:	75 6e 74 5f 	rlwnm.  r20,r27,r13,25,26
-	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
+	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
     3840:	74 00 66 74 	andis.  r6,r3,116
-	perm |= gpte.may_read ? 0UL : _PAGE_READ;
-    3844:	72 61 63 65 	oris    r3,r11,24946
 	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
-    3848:	5f 65 6e 61 	ori     r14,r11,25951
+    3844:	72 61 63 65 	oris    r3,r11,24946
 	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
-    384c:	62 6c 65 64 	oris    r5,r3,27746
+    3848:	5f 65 6e 61 	ori     r14,r11,25951
 	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
+    384c:	62 6c 65 64 	oris    r5,r3,27746
+	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
     3850:	00 70 6c 75 	andis.  r12,r11,28672
-	perm |= gpte.may_write ? 0UL : _PAGE_WRITE;
     3854:	67 00 63 68 	xori    r3,r3,103
-	perm |= gpte.may_execute ? 0UL : _PAGE_EXEC;
+	pte = __pte(pte_val(pte) & ~perm);
     3858:	69 6c 64 5f 	rlwnm.  r4,r27,r13,17,20
-	perm |= (gpte.rc & _PAGE_ACCESSED) ? 0UL : _PAGE_ACCESSED;
+	if (shift > l1_shift) {
     385c:	63 6f 75 6e 	xoris   r21,r19,28515
-	perm |= ((gpte.rc & _PAGE_DIRTY) && writing) ? 0UL : _PAGE_DIRTY;
+	pte = __pte(pte_val(pte) & ~perm);
     3860:	74 00 73 61 	ori     r19,r11,116
     3864:	76 65 64 5f 	rlwnm   r4,r27,r12,21,27
-	pte = __pte(pte_val(pte) & ~perm);
     3868:	61 75 78 76 	andis.  r24,r19,30049
-	if (shift > l1_shift) {
     386c:	00 62 6f 6f 	xoris   r15,r27,25088
-	pte = __pte(pte_val(pte) & ~perm);
     3870:	6b 33 73 00 	.long 0x73336b
     3874:	73 5f 66 73 	andi.   r6,r27,24435
     3878:	6e 6f 74 69 	xori    r20,r11,28526
     387c:	66 79 5f 63 	ori     r31,r26,31078
     3880:	6f 6e 6e 65 	oris    r14,r11,28271
     3884:	63 74 6f 72 	andi.   r15,r19,29795
-    3888:	73 00 54 48 	bla     540070 <kvmhv_nested_next_lpid+0x53c598>
-    388c:	50 5f 4d 49 	b       14d97dc <kvmhv_nested_next_lpid+0x14d5d04>
+	if (shift > l1_shift) {
+    3888:	73 00 54 48 	bla     540070 <kvmhv_nested_next_lpid+0x53c5a8>
+	level = kvmppc_radix_shift_to_level(shift);
+    388c:	50 5f 4d 49 	b       14d97dc <kvmhv_nested_next_lpid+0x14d5d14>
+	if (shift == PUD_SHIFT)
     3890:	47 52 41 54 	rlwinm. r1,r2,10,9,3
+	pte = __pte(pte_val(pte) & ~perm);
     3894:	49 4f 4e 5f 	rlwnm.  r14,r26,r9,29,4
-	if (shift > l1_shift) {
+	if (shift == PUD_SHIFT)
     3898:	53 55 43 43 	bcla-   26,so,5550 <.debug_str+0x5550>
-	level = kvmppc_radix_shift_to_level(shift);
     389c:	45 53 53 00 	.long 0x535345
-	if (shift == PUD_SHIFT)
     38a0:	6e 75 6d 5f 	rlwnm   r13,r27,r14,21,23
-	pte = __pte(pte_val(pte) & ~perm);
     38a4:	62 75 67 73 	andi.   r7,r27,30050
-	if (shift == PUD_SHIFT)
+	if (shift == PMD_SHIFT)
     38a8:	00 71 66 5f 	rlwnm   r6,r27,r14,4,0
     38ac:	6f 70 73 00 	.long 0x73706f
     38b0:	5f 5f 76 6d 	xoris   r22,r11,24415
+	if (shift == PAGE_SHIFT)
     38b4:	5f 66 6c 61 	ori     r12,r11,26207
-	if (shift == PMD_SHIFT)
     38b8:	67 73 00 64 	oris    r0,r0,29543
+	WARN_ON_ONCE(1);
     38bc:	62 63 72 00 	.long 0x726362
+			vcpu->arch.fault_gpa = fault_addr;
     38c0:	6b 76 6d 70 	andi.   r13,r3,30315
-	if (shift == PAGE_SHIFT)
     38c4:	70 63 5f 72 	andi.   r31,r18,25456
+			flags |= DSISR_PRTABLE_FAULT;
     38c8:	61 64 69 78 	rldicl. r9,r3,12,49
-	WARN_ON_ONCE(1);
-    38cc:	5f 73 68 69 	xori    r8,r11,29535
 			vcpu->arch.fault_gpa = fault_addr;
+    38cc:	5f 73 68 69 	xori    r8,r11,29535
     38d0:	66 74 5f 74 	andis.  r31,r2,29798
     38d4:	6f 5f 6c 65 	oris    r12,r11,24431
-			flags |= DSISR_PRTABLE_FAULT;
     38d8:	76 65 6c 00 	.long 0x6c6576
-			vcpu->arch.fault_gpa = fault_addr;
     38dc:	6b 76 6d 68 	xori    r13,r3,30315
+			kvmppc_core_queue_data_storage(vcpu, ea,
     38e0:	76 5f 73 65 	oris    r19,r11,24438
     38e4:	74 5f 70 61 	ori     r16,r11,24436
     38e8:	72 74 69 74 	andis.  r9,r3,29810
     38ec:	69 6f 6e 5f 	rlwnm.  r14,r27,r13,29,20
-			kvmppc_core_queue_data_storage(vcpu, ea,
     38f0:	74 61 62 6c 	xoris   r2,r3,24948
+			return RESUME_GUEST;
     38f4:	65 00 6d 6f 	xoris   r13,r27,101
     38f8:	64 5f 6e 61 	ori     r14,r11,24420
     38fc:	6d 65 00 70 	andi.   r0,r0,25965
     3900:	72 6f 70 65 	oris    r16,r11,28530
-			return RESUME_GUEST;
     3904:	72 74 79 5f 	rlwnm   r25,r27,r14,17,25
     3908:	72 65 61 64 	oris    r1,r3,25970
     390c:	5f 73 74 72 	andi.   r20,r19,29535
@@ -51447,40 +51454,40 @@ static void kvmhv_emulate_tlbie_lpid(str
     3914:	61 72 72 61 	ori     r18,r11,29281
     3918:	79 00 6d 6d 	xoris   r13,r11,121
     391c:	5f 63 69 64 	oris    r9,r3,25439
+			flags |= DSISR_UNSUPP_MMU;
     3920:	00 72 69 73 	andi.   r9,r27,29184
     3924:	63 76 5f 63 	ori     r31,r26,30307
     3928:	73 72 00 75 	andis.  r0,r8,29299
     392c:	6e 6c 6f 63 	ori     r15,r27,27758
-			flags |= DSISR_UNSUPP_MMU;
+			flags |= DSISR_NOHPTE;
     3930:	6b 65 64 5f 	rlwnm.  r4,r27,r12,21,21
     3934:	69 6f 63 74 	andis.  r3,r3,28521
     3938:	6c 00 72 73 	andi.   r18,r27,108
     393c:	65 71 5f 6c 	xoris   r31,r2,29029
-			flags |= DSISR_NOHPTE;
+		if (PMD_SHIFT < l1_shift)
     3940:	65 6e 00 77 	andis.  r0,r24,28261
     3944:	61 6b 65 5f 	rlwnm.  r5,r27,r13,13,16
     3948:	64 65 70 74 	andis.  r16,r3,25956
     394c:	68 00 70 6f 	xoris   r16,r27,104
-		if (PMD_SHIFT < l1_shift)
+			actual_shift = PMD_SHIFT;
     3950:	6c 6c 66 64 	oris    r6,r3,27756
+		mask = (1UL << shift) - (1UL << actual_shift);
     3954:	00 6b 76 6d 	xoris   r22,r11,27392
+	level = kvmppc_radix_shift_to_level(shift);
     3958:	5f 64 69 72 	andi.   r9,r19,25695
+		mask = (1UL << shift) - (1UL << actual_shift);
     395c:	74 79 5f 67 	oris    r31,r26,31092
-			actual_shift = PMD_SHIFT;
+	if (shift == PUD_SHIFT)
     3960:	66 6e 00 46 	.long 0x46006e66
 		mask = (1UL << shift) - (1UL << actual_shift);
     3964:	57 5f 46 45 	.long 0x45465f57
-	level = kvmppc_radix_shift_to_level(shift);
+		shift = actual_shift;
     3968:	41 54 55 52 	rlwimi. r21,r18,10,17,0
-		mask = (1UL << shift) - (1UL << actual_shift);
+		pte = __pte(pte_val(pte) | (gpa & mask));
     396c:	45 5f 4e 41 	bdztl   4*cr3+eq,98b0 <.debug_str+0x98b0>
-	if (shift == PUD_SHIFT)
     3970:	54 49 56 45 	.long 0x45564954
-		mask = (1UL << shift) - (1UL << actual_shift);
     3974:	5f 50 4f 53 	rlwimi. r15,r26,10,1,15
-		shift = actual_shift;
     3978:	53 49 42 4c 	.long 0x4c424953
-		pte = __pte(pte_val(pte) | (gpa & mask));
     397c:	45 00 6c 6c 	xoris   r12,r3,69
     3980:	69 73 74 5f 	rlwnm.  r20,r27,r14,13,20
     3984:	6e 6f 64 65 	oris    r4,r11,28526
@@ -51489,88 +51496,90 @@ static void kvmhv_emulate_tlbie_lpid(str
     3990:	43 52 45 41 	bdztla  4*cr1+gt,5240 <.debug_str+0x5240>
     3994:	54 45 00 70 	andi.   r0,r0,17748
     3998:	72 6f 6a 69 	xori    r10,r11,28530
+		shift = actual_shift;
     399c:	64 00 6d 65 	oris    r13,r11,100
+	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
     39a0:	6d 63 67 5f 	rlwnm.  r7,r27,r12,13,22
     39a4:	61 77 61 72 	andi.   r1,r19,30561
     39a8:	65 00 69 66 	oris    r9,r19,101
-		shift = actual_shift;
     39ac:	5f 66 6c 61 	ori     r12,r11,26207
-	if (!pte_present(pte) || (writing && !(pte_val(pte) & _PAGE_WRITE))) {
+		ret = 0;
     39b0:	67 00 73 74 	andis.  r19,r3,103
     39b4:	61 74 65 5f 	rlwnm.  r5,r27,r14,17,16
     39b8:	75 73 65 5f 	rlwnm.  r5,r27,r14,13,26
     39bc:	61 63 63 65 	oris    r3,r11,25441
-		ret = 0;
+	bool kvm_ro = false;
     39c0:	73 73 6f 72 	andi.   r15,r19,29555
     39c4:	73 00 66 6f 	xoris   r6,r27,115
     39c8:	72 77 61 72 	andi.   r1,r19,30578
     39cc:	64 5f 74 6f 	xoris   r20,r27,24420
-	bool kvm_ro = false;
     39d0:	5f 6c 31 00 	.long 0x316c5f
     39d4:	4d 43 45 5f 	rlwnm.  r5,r26,r8,13,6
     39d8:	53 4c 42 5f 	rlwnm.  r2,r26,r9,17,9
+		unsigned int actual_shift = PAGE_SHIFT;
     39dc:	45 52 52 4f 	addpcis r26,21093
     39e0:	52 5f 4d 55 	rlwinm  r13,r10,11,29,9
-    39e4:	4c 54 49 48 	b       498e30 <kvmhv_nested_next_lpid+0x495358>
+    39e4:	4c 54 49 48 	b       498e30 <kvmhv_nested_next_lpid+0x495368>
     39e8:	49 54 00 64 	oris    r0,r0,21577
-		unsigned int actual_shift = PAGE_SHIFT;
     39ec:	65 76 5f 6e 	xoris   r31,r18,30309
+	switch (level) {
     39f0:	61 6d 65 00 	.long 0x656d61
     39f4:	73 68 61 64 	oris    r1,r3,26739
     39f8:	6f 77 5f 66 	oris    r31,r18,30575
     39fc:	73 63 72 00 	.long 0x726373
-	switch (level) {
+	vcpu->arch.fault_dsisr = flags;
     3a00:	68 76 5f 67 	oris    r31,r26,30312
     3a04:	75 65 73 74 	andis.  r19,r3,25973
+	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3a08:	5f 73 74 61 	ori     r20,r11,29535
     3a0c:	74 65 5f 73 	andi.   r31,r26,25972
-	vcpu->arch.fault_dsisr = flags;
     3a10:	69 7a 65 00 	.long 0x657a69
     3a14:	6e 75 6d 5f 	rlwnm   r13,r27,r14,21,23
-	if (vcpu->arch.trap == BOOK3S_INTERRUPT_H_INST_STORAGE) {
     3a18:	66 74 72 61 	ori     r18,r11,29798
     3a1c:	63 65 5f 63 	ori     r31,r26,25955
+		ms->mmiowb_pending = 0;
     3a20:	61 6c 6c 73 	andi.   r12,r27,27745
     3a24:	69 74 65 73 	andi.   r5,r27,29801
+		mmiowb();
     3a28:	00 63 74 72 	andi.   r20,r19,25344
     3a2c:	5f 74 6d 00 	.long 0x6d745f
-		ms->mmiowb_pending = 0;
+		return PMD_SHIFT;
     3a30:	73 6f 66 74 	andis.  r6,r3,28531
+	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3a34:	69 72 71 5f 	rlwnm.  r17,r27,r14,9,20
-		mmiowb();
     3a38:	65 78 70 69 	xori    r16,r11,30821
     3a3c:	72 65 73 5f 	rlwnm   r19,r27,r12,21,25
 		return PMD_SHIFT;
     3a40:	6e 65 78 74 	andis.  r24,r3,25966
-	gfn = (gpa & ~((1UL << shift) - 1)) >> PAGE_SHIFT;
     3a44:	00 48 54 4c 	.long 0x4c544800
     3a48:	42 5f 42 55 	rlwinm  r2,r10,11,29,1
     3a4c:	44 44 59 5f 	rlwnm   r25,r26,r8,17,2
-		return PMD_SHIFT;
     3a50:	50 47 41 4c 	.long 0x4c414750
     3a54:	4c 4f 43 5f 	rlwnm   r3,r26,r9,29,6
     3a58:	46 41 49 4c 	.long 0x4c494146
     3a5c:	00 4d 4d 55 	rlwinm  r13,r10,9,20,0
+		ms->mmiowb_pending = 0;
     3a60:	5f 4e 4f 54 	rlwinm. r15,r2,9,25,15
     3a64:	49 46 59 5f 	rlwnm.  r25,r26,r8,25,4
+		mmiowb();
     3a68:	52 45 4c 45 	.long 0x454c4552
     3a6c:	41 53 45 00 	.long 0x455341
-		ms->mmiowb_pending = 0;
     3a70:	70 74 62 6c 	xoris   r2,r3,29808
     3a74:	5f 61 64 64 	oris    r4,r3,24927
-		mmiowb();
     3a78:	72 00 6b 76 	andis.  r11,r19,114
     3a7c:	6d 68 76 5f 	rlwnm.  r22,r27,r13,1,22
     3a80:	75 70 64 61 	ori     r4,r11,28789
     3a84:	74 65 5f 6e 	xoris   r31,r18,25972
     3a88:	65 73 74 5f 	rlwnm.  r20,r27,r14,13,18
     3a8c:	72 6d 61 70 	andi.   r1,r3,28018
+}
     3a90:	5f 72 63 5f 	rlwnm.  r3,r27,r14,9,15
     3a94:	6c 69 73 74 	andis.  r19,r3,26988
+		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
     3a98:	00 72 65 61 	ori     r5,r11,29184
     3a9c:	64 6c 69 6e 	xoris   r9,r19,27748
-}
     3aa0:	6b 00 6d 69 	xori    r13,r11,107
+		return -EINVAL;
     3aa4:	67 72 61 74 	andis.  r1,r3,29287
 		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
     3aa8:	69 6f 6e 5f 	rlwnm.  r14,r27,r13,29,20
@@ -51578,91 +51587,89 @@ static void kvmhv_emulate_tlbie_lpid(str
     3ab0:	73 00 4d 43 	bcla-   26,4*cr3+gt,70 <.debug_str+0x70>
 		return -EINVAL;
     3ab4:	45 5f 45 52 	rlwimi. r5,r18,11,29,2
-		pr_err("KVM: L1 guest page shift (%d) less than our own (%d)\n",
     3ab8:	52 4f 52 5f 	rlwnm   r18,r26,r9,29,9
     3abc:	54 59 50 45 	.long 0x45505954
-    3ac0:	5f 55 4e 4b 	bla     ff4e555c <kvmhv_nested_next_lpid+0xff4e1a84>
-		return -EINVAL;
+    3ac0:	5f 55 4e 4b 	bla     ff4e555c <kvmhv_nested_next_lpid+0xff4e1a94>
     3ac4:	4e 4f 57 4e 	.long 0x4e574f4e
+{
     3ac8:	00 73 6c 62 	ori     r12,r19,29440
     3acc:	5f 73 68 61 	ori     r8,r11,29535
     3ad0:	64 6f 77 5f 	rlwnm   r23,r27,r13,29,18
     3ad4:	6d 61 78 00 	.long 0x78616d
-{
     3ad8:	5f 5f 6d 65 	oris    r13,r11,24415
     3adc:	6d 73 6c 6f 	xoris   r12,r27,29549
+	int ret = lpid + 1;
     3ae0:	74 73 00 5f 	rlwnm   r0,r24,r14,13,26
+{
     3ae4:	70 69 6e 63 	ori     r14,r27,26992
     3ae8:	6f 75 6e 74 	andis.  r14,r3,30063
     3aec:	00 64 74 6c 	xoris   r20,r3,25600
-	int ret = lpid + 1;
     3af0:	5f 69 6e 64 	oris    r14,r3,26975
-{
     3af4:	65 78 00 44 	scv     67
     3af8:	45 56 49 43 	bcl-    26,4*cr2+gt,913c <.debug_str+0x913c>
+	int ret = lpid + 1;
     3afc:	45 5f 50 41 	bdztl   4*cr4+lt,9a40 <.debug_str+0x9a40>
     3b00:	4e 45 4c 5f 	rlwnm   r12,r26,r8,21,7
     3b04:	42 4f 54 54 	rlwinm  r20,r2,9,29,1
+	if (!idr_get_next(&kvm->arch.kvm_nested_guest_idr, &ret))
     3b08:	4f 4d 00 6b 	xori    r0,r24,19791
-	int ret = lpid + 1;
     3b0c:	76 6d 70 70 	andi.   r16,r3,28022
     3b10:	63 5f 78 69 	xori    r24,r11,24419
     3b14:	76 65 5f 76 	andis.  r31,r18,25974
-	if (!idr_get_next(&kvm->arch.kvm_nested_guest_idr, &ret))
     3b18:	63 70 75 00 	.long 0x757063
     3b1c:	70 72 65 65 	oris    r5,r11,29296
+	if (unlikely(ms->mmiowb_pending)) {
     3b20:	6d 70 74 5f 	rlwnm.  r20,r27,r14,1,22
+	struct mmiowb_state *ms = __mmiowb_state();
     3b24:	74 62 00 6c 	xoris   r0,r0,25204
+	if (unlikely(ms->mmiowb_pending)) {
     3b28:	69 73 74 5f 	rlwnm.  r20,r27,r14,13,20
     3b2c:	68 65 61 64 	oris    r1,r3,25960
-	if (unlikely(ms->mmiowb_pending)) {
+	ms->nesting_count--;
     3b30:	00 67 65 74 	andis.  r5,r3,26368
-	struct mmiowb_state *ms = __mmiowb_state();
     3b34:	5f 73 6d 6d 	xoris   r13,r11,29535
-	if (unlikely(ms->mmiowb_pending)) {
     3b38:	75 5f 69 6e 	xoris   r9,r19,24437
     3b3c:	66 6f 00 74 	andis.  r0,r0,28518
-	ms->nesting_count--;
     3b40:	67 69 64 00 	.long 0x646967
     3b44:	6d 61 73 6b 	xori    r19,r27,24941
+}
     3b48:	5f 36 34 6b 	xori    r20,r25,13919
     3b4c:	00 73 61 76 	andis.  r1,r19,29440
     3b50:	65 5f 61 72 	andi.   r1,r19,24421
     3b54:	65 61 00 77 	andis.  r0,r24,24933
-}
+	return ret;
     3b58:	72 69 74 65 	oris    r20,r11,26994
+}
     3b5c:	5f 70 72 6f 	xoris   r18,r27,28767
     3b60:	74 65 63 74 	andis.  r3,r3,25972
     3b64:	5f 73 65 71 	andi.   r5,r11,29535
-	return ret;
     3b68:	00 57 4d 41 	bdzt    4*cr3+gt,9268 <.debug_str+0x9268>
-}
     3b6c:	52 4b 5f 4d 	.long 0x4d5f4b52
     3b70:	49 4e 00 62 	ori     r0,r16,20041
     3b74:	65 70 69 00 	.long 0x697065
     3b78:	69 6e 76 61 	ori     r22,r11,28265
     3b7c:	6c 69 64 61 	ori     r4,r11,26988
+	if (unlikely(ms->mmiowb_pending)) {
     3b80:	74 65 5f 72 	andi.   r31,r18,25972
+		ret = -1;
     3b84:	61 6e 67 65 	oris    r7,r11,28257
     3b88:	5f 65 6e 64 	oris    r14,r3,25951
+	struct mmiowb_state *ms = __mmiowb_state();
     3b8c:	00 5f 74 69 	xori    r20,r11,24320
 	if (unlikely(ms->mmiowb_pending)) {
     3b90:	64 00 6b 69 	xori    r11,r11,100
-		ret = -1;
     3b94:	6f 63 62 00 	.long 0x62636f
+		ms->mmiowb_pending = 0;
     3b98:	6c 61 73 74 	andis.  r19,r3,24940
-	struct mmiowb_state *ms = __mmiowb_state();
     3b9c:	5f 73 74 61 	ori     r20,r11,29535
-	if (unlikely(ms->mmiowb_pending)) {
+		mmiowb();
     3ba0:	74 75 73 00 	.long 0x737574
     3ba4:	73 5f 69 6e 	xoris   r9,r19,24435
-		ms->mmiowb_pending = 0;
+}
     3ba8:	6f 64 65 5f 	rlwnm.  r5,r27,r12,17,23
     3bac:	77 62 6c 69 	xori    r12,r11,25207
-		mmiowb();
     3bb0:	73 74 5f 6c 	xoris   r31,r2,29811
     3bb4:	6f 63 6b 00 	.long 0x6b636f
-}
     3bb8:	65 6e 64 5f 	rlwnm.  r4,r27,r13,25,18
     3bbc:	63 6f 64 65 	oris    r4,r11,28515
     3bc0:	00 68 72 74 	andis.  r18,r3,26624
@@ -51740,7 +51747,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     3ce0:	69 6e 64 65 	oris    r4,r11,28265
     3ce4:	78 00 50 47 	.long 0x47500078
     3ce8:	44 45 4d 4f 	addpcis r26,17754
-    3cec:	54 45 5f 4b 	b       ffffffffff5f8240 <kvmhv_nested_next_lpid+0xffffffffff5f4768>
+    3cec:	54 45 5f 4b 	b       ffffffffff5f8240 <kvmhv_nested_next_lpid+0xffffffffff5f4778>
     3cf0:	48 55 47 45 	.long 0x45475548
     3cf4:	50 41 47 45 	.long 0x45474150
     3cf8:	44 00 6d 6d 	xoris   r13,r11,68
@@ -51821,7 +51828,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     3e24:	00 6e 65 77 	andis.  r5,r27,28160
     3e28:	5f 76 61 6c 	xoris   r1,r3,30303
     3e2c:	75 65 00 57 	rlwinm. r0,r24,12,21,26
-    3e30:	4d 41 52 4b 	bl      ffffffffff527f7c <kvmhv_nested_next_lpid+0xffffffffff5244a4>
+    3e30:	4d 41 52 4b 	bl      ffffffffff527f7c <kvmhv_nested_next_lpid+0xffffffffff5244b4>
     3e34:	5f 48 49 47 	.long 0x4749485f
     3e38:	48 00 6b 65 	oris    r11,r11,72
     3e3c:	72 6e 66 73 	andi.   r6,r27,28274
@@ -51836,7 +51843,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     3e60:	00 4d 4d 5f 	rlwnm   r13,r26,r9,20,0
     3e64:	41 4e 4f 4e 	.long 0x4e4f4e41
     3e68:	50 41 47 45 	.long 0x45474150
-    3e6c:	53 00 4d 49 	bla     14d0050 <kvmhv_nested_next_lpid+0x14cc578>
+    3e6c:	53 00 4d 49 	bla     14d0050 <kvmhv_nested_next_lpid+0x14cc588>
     3e70:	47 52 41 54 	rlwinm. r1,r2,10,9,3
     3e74:	45 5f 53 59 	rlmi.   r19,r10,r11,29,2
     3e78:	4e 43 5f 4e 	.long 0x4e5f434e
@@ -51870,11 +51877,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     3ee8:	65 79 00 5f 	rlwnm.  r0,r24,r15,5,18
     3eec:	5f 63 6f 75 	andis.  r15,r11,25439
     3ef0:	6e 74 00 57 	rlwinm  r0,r24,14,17,23
-    3ef4:	4f 52 4b 49 	bla     14b524c <kvmhv_nested_next_lpid+0x14b1774>
+    3ef4:	4f 52 4b 49 	bla     14b524c <kvmhv_nested_next_lpid+0x14b1784>
     3ef8:	4e 47 53 45 	.long 0x4553474e
     3efc:	54 5f 52 45 	.long 0x45525f54
     3f00:	53 54 4f 52 	rlwimi. r15,r18,10,17,9
-    3f04:	45 5f 46 49 	bl      1469e48 <kvmhv_nested_next_lpid+0x1466370>
+    3f04:	45 5f 46 49 	bl      1469e48 <kvmhv_nested_next_lpid+0x1466380>
     3f08:	4c 45 00 73 	andi.   r0,r24,17740
     3f0c:	74 61 74 69 	xori    r20,r11,24948
     3f10:	63 5f 70 72 	andi.   r16,r19,24419
@@ -52030,7 +52037,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4168:	6f 6c 65 6e 	xoris   r5,r19,27759
     416c:	00 4e 52 5f 	rlwnm   r18,r26,r9,24,0
     4170:	53 57 41 50 	rlwimi. r1,r2,10,29,9
-    4174:	43 41 43 48 	bla     434140 <kvmhv_nested_next_lpid+0x430668>
+    4174:	43 41 43 48 	bla     434140 <kvmhv_nested_next_lpid+0x430678>
     4178:	45 00 50 43 	bcl-    26,4*cr4+lt,41bc <.debug_str+0x41bc>
     417c:	50 55 5f 46 	.long 0x465f5550
     4180:	43 5f 45 4d 	.long 0x4d455f43
@@ -52159,7 +52166,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     436c:	5f 56 4d 5f 	rlwnm.  r13,r26,r10,25,15
     4370:	4e 55 4d 41 	bdzta   4*cr3+gt,554c <.debug_str+0x554c>
     4374:	5f 45 56 45 	.long 0x4556455f
-    4378:	4e 54 5f 49 	ba      15f544c <kvmhv_nested_next_lpid+0x15f1974>
+    4378:	4e 54 5f 49 	ba      15f544c <kvmhv_nested_next_lpid+0x15f1984>
     437c:	54 45 4d 53 	rlwimi  r13,r26,8,21,10
     4380:	00 63 6f 6e 	xoris   r15,r19,25344
     4384:	74 72 6f 6c 	xoris   r15,r3,29300
@@ -52186,7 +52193,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     43d8:	70 63 72 00 	.long 0x726370
     43dc:	4b 43 4f 4d 	.long 0x4d4f434b
     43e0:	50 41 43 54 	rlwinm  r3,r2,8,5,8
-    43e4:	44 5f 4d 49 	b       14da328 <kvmhv_nested_next_lpid+0x14d6850>
+    43e4:	44 5f 4d 49 	b       14da328 <kvmhv_nested_next_lpid+0x14d6860>
     43e8:	47 52 41 54 	rlwinm. r1,r2,10,9,3
     43ec:	45 5f 53 43 	bcl-    26,4*cr4+so,a330 <.debug_str+0xa330>
     43f0:	41 4e 4e 45 	.long 0x454e4e41
@@ -52830,7 +52837,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4de8:	41 55 4c 54 	rlwinm. r12,r2,10,21,0
     4dec:	5f 46 41 4c 	.long 0x4c41465f
     4df0:	4c 42 41 43 	bc-     26,gt,903c <.debug_str+0x903c>
-    4df4:	4b 5f 43 48 	bla     435f48 <kvmhv_nested_next_lpid+0x432470>
+    4df4:	4b 5f 43 48 	bla     435f48 <kvmhv_nested_next_lpid+0x432480>
     4df8:	41 52 47 45 	.long 0x45475241
     4dfc:	00 64 65 76 	andis.  r5,r19,25600
     4e00:	5f 70 61 67 	oris    r1,r27,28767
@@ -52904,7 +52911,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4f10:	45 56 45 52 	rlwimi. r5,r18,10,25,2
     4f14:	45 00 75 74 	andis.  r21,r3,69
     4f18:	69 6c 5f 61 	ori     r31,r10,27753
-    4f1c:	76 67 00 4b 	ba      ff006774 <kvmhv_nested_next_lpid+0xff002c9c>
+    4f1c:	76 67 00 4b 	ba      ff006774 <kvmhv_nested_next_lpid+0xff002cac>
     4f20:	53 4d 5f 53 	rlwimi. r31,r26,9,21,9
     4f24:	57 50 49 4e 	.long 0x4e495057
     4f28:	5f 43 4f 50 	rlwimi. r15,r2,8,13,15
@@ -52925,7 +52932,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     4f64:	5f 6c 6f 63 	ori     r15,r27,27743
     4f68:	6b 00 50 47 	.long 0x4750006b
     4f6c:	53 43 41 4e 	.long 0x4e414353
-    4f70:	5f 53 4b 49 	bla     14b535c <kvmhv_nested_next_lpid+0x14b1884>
+    4f70:	5f 53 4b 49 	bla     14b535c <kvmhv_nested_next_lpid+0x14b1894>
     4f74:	50 5f 4e 4f 	.long 0x4f4e5f50
     4f78:	52 4d 41 4c 	.long 0x4c414d52
     4f7c:	00 65 70 73 	andi.   r16,r27,25856
@@ -52966,7 +52973,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     5008:	55 5f 4e 4f 	.long 0x4f4e5f55
     500c:	54 49 46 59 	rlmi    r6,r10,r9,5,10
     5010:	5f 45 58 43 	bcla-   26,4*cr6+lt,455c <.debug_str+0x455c>
-    5014:	4c 55 53 49 	b       153a560 <kvmhv_nested_next_lpid+0x1536a88>
+    5014:	4c 55 53 49 	b       153a560 <kvmhv_nested_next_lpid+0x1536a98>
     5018:	56 45 00 6d 	xoris   r0,r8,17750
     501c:	6d 5f 63 74 	andis.  r3,r3,24429
     5020:	78 5f 68 69 	xori    r8,r11,24440
@@ -52995,7 +53002,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     507c:	73 74 5f 64 	oris    r31,r2,29811
     5080:	65 62 75 67 	oris    r21,r27,25189
     5084:	00 70 74 65 	oris    r20,r11,28672
-    5088:	70 00 4d 49 	b       14d50f8 <kvmhv_nested_next_lpid+0x14d1620>
+    5088:	70 00 4d 49 	b       14d50f8 <kvmhv_nested_next_lpid+0x14d1630>
     508c:	47 52 41 54 	rlwinm. r1,r2,10,9,3
     5090:	45 5f 55 4e 	addpcis r18,24427
     5094:	4d 4f 56 41 	bdztl   4*cr5+eq,9fe0 <.debug_str+0x9fe0>
@@ -53132,9 +53139,9 @@ static void kvmhv_emulate_tlbie_lpid(str
     52a0:	4b 53 57 41 	bdztla  4*cr5+so,5348 <.debug_str+0x5348>
     52a4:	50 44 5f 4c 	.long 0x4c5f4450
     52a8:	4f 57 5f 57 	rlwinm. r31,r26,10,29,7
-    52ac:	4d 41 52 4b 	bl      ffffffffff5293f8 <kvmhv_nested_next_lpid+0xffffffffff525920>
+    52ac:	4d 41 52 4b 	bl      ffffffffff5293f8 <kvmhv_nested_next_lpid+0xffffffffff525930>
     52b0:	5f 48 49 54 	rlwinm. r9,r2,9,1,15
-    52b4:	5f 51 55 49 	bla     155515c <kvmhv_nested_next_lpid+0x1551684>
+    52b4:	5f 51 55 49 	bla     155515c <kvmhv_nested_next_lpid+0x1551694>
     52b8:	43 4b 4c 59 	rlmi.   r12,r10,r9,13,1
     52bc:	00 67 72 61 	ori     r18,r11,26368
     52c0:	70 68 5f 67 	oris    r31,r26,26736
@@ -53142,7 +53149,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     52c8:	6f 72 74 5f 	rlwnm.  r20,r27,r14,9,23
     52cc:	70 61 72 65 	oris    r18,r11,24944
     52d0:	6e 74 00 55 	rlwinm  r0,r8,14,17,23
-    52d4:	4e 45 56 49 	ba      156454c <kvmhv_nested_next_lpid+0x1560a74>
+    52d4:	4e 45 56 49 	ba      156454c <kvmhv_nested_next_lpid+0x1560a84>
     52d8:	43 54 41 42 	bcla    18,gt,5440 <.debug_str+0x5440>
     52dc:	4c 45 5f 50 	rlwimi  r31,r2,8,21,6
     52e0:	47 52 45 53 	rlwimi. r5,r26,10,9,3
@@ -53234,7 +53241,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     5438:	67 74 68 00 	.long 0x687467
     543c:	52 50 4d 5f 	rlwnm   r13,r26,r10,1,9
     5440:	53 55 53 50 	rlwimi. r19,r2,10,21,9
-    5444:	45 4e 44 49 	bl      144a288 <kvmhv_nested_next_lpid+0x14467b0>
+    5444:	45 4e 44 49 	bl      144a288 <kvmhv_nested_next_lpid+0x14467c0>
     5448:	4e 47 00 62 	ori     r0,r16,18254
     544c:	75 66 6c 65 	oris    r12,r11,26229
     5450:	6e 00 73 61 	ori     r19,r11,110
@@ -53337,7 +53344,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     55d4:	45 44 00 70 	andi.   r0,r0,17477
     55d8:	61 72 65 6e 	xoris   r5,r19,29281
     55dc:	74 00 4d 43 	bc-     26,4*cr3+gt,5650 <.debug_str+0x5650>
-    55e0:	45 5f 44 49 	bl      144b524 <kvmhv_nested_next_lpid+0x1447a4c>
+    55e0:	45 5f 44 49 	bl      144b524 <kvmhv_nested_next_lpid+0x1447a5c>
     55e4:	53 50 4f 53 	rlwimi. r15,r26,10,1,9
     55e8:	49 54 49 4f 	.long 0x4f495449
     55ec:	4e 5f 4e 4f 	.long 0x4f4e5f4e
@@ -53543,11 +53550,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     590c:	63 79 00 73 	andi.   r0,r24,31075
     5910:	68 61 72 65 	oris    r18,r11,24936
     5914:	64 00 4d 43 	bc-     26,4*cr3+gt,5978 <.debug_str+0x5978>
-    5918:	45 5f 4c 49 	bl      14cb85c <kvmhv_nested_next_lpid+0x14c7d84>
+    5918:	45 5f 4c 49 	bl      14cb85c <kvmhv_nested_next_lpid+0x14c7d94>
     591c:	4e 4b 5f 45 	.long 0x455f4b4e
     5920:	52 52 4f 52 	rlwimi  r15,r18,10,9,9
     5924:	5f 4c 4f 41 	bdztla  4*cr3+so,4c5c <.debug_str+0x4c5c>
-    5928:	44 5f 54 49 	b       154b86c <kvmhv_nested_next_lpid+0x1547d94>
+    5928:	44 5f 54 49 	b       154b86c <kvmhv_nested_next_lpid+0x1547da4>
     592c:	4d 45 4f 55 	rlwinm. r15,r10,8,21,6
     5930:	54 00 64 6d 	xoris   r4,r11,84
     5934:	61 5f 6d 65 	oris    r13,r11,24417
@@ -53588,7 +53595,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     59c0:	46 57 5f 46 	.long 0x465f5746
     59c4:	45 41 54 55 	rlwinm. r20,r10,8,5,2
     59c8:	52 45 5f 50 	rlwimi  r31,r2,8,21,9
-    59cc:	53 45 52 49 	bla     1524550 <kvmhv_nested_next_lpid+0x1520a78>
+    59cc:	53 45 52 49 	bla     1524550 <kvmhv_nested_next_lpid+0x1520a88>
     59d0:	45 53 5f 41 	bdztl   4*cr7+so,ad14 <.debug_str+0xad14>
     59d4:	4c 57 41 59 	rlmi    r1,r10,r10,29,6
     59d8:	53 00 4d 43 	bcla-   26,4*cr3+gt,50 <.debug_str+0x50>
@@ -53681,7 +53688,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     5b34:	75 6c 74 5f 	rlwnm.  r20,r27,r13,17,26
     5b38:	74 69 6d 65 	oris    r13,r11,26996
     5b3c:	00 4e 52 5f 	rlwnm   r18,r26,r9,24,0
-    5b40:	41 43 54 49 	bl      1549e80 <kvmhv_nested_next_lpid+0x15463a8>
+    5b40:	41 43 54 49 	bl      1549e80 <kvmhv_nested_next_lpid+0x15463b8>
     5b44:	56 45 5f 41 	bdzta   4*cr7+so,4554 <.debug_str+0x4554>
     5b48:	4e 4f 4e 00 	.long 0x4e4f4e
     5b4c:	4e 55 4d 41 	bdzta   4*cr3+gt,554c <.debug_str+0x554c>
@@ -53788,9 +53795,9 @@ static void kvmhv_emulate_tlbie_lpid(str
     5ce0:	64 71 62 5f 	rlwnm   r2,r27,r14,5,18
     5ce4:	69 73 6f 66 	oris    r15,r19,29545
     5ce8:	74 6c 69 6d 	xoris   r9,r11,27764
-    5cec:	69 74 00 4b 	bl      ffffffffff00d154 <kvmhv_nested_next_lpid+0xffffffffff00967c>
+    5cec:	69 74 00 4b 	bl      ffffffffff00d154 <kvmhv_nested_next_lpid+0xffffffffff00968c>
     5cf0:	56 4d 5f 56 	rlwinm  r31,r18,9,21,11
-    5cf4:	49 52 54 49 	bl      154af3c <kvmhv_nested_next_lpid+0x1547464>
+    5cf4:	49 52 54 49 	bl      154af3c <kvmhv_nested_next_lpid+0x1547474>
     5cf8:	4f 5f 43 43 	bcla-   26,so,5f4c <.debug_str+0x5f4c>
     5cfc:	57 5f 4e 4f 	.long 0x4f4e5f57
     5d00:	54 49 46 59 	rlmi    r6,r10,r9,5,10
@@ -53887,13 +53894,13 @@ static void kvmhv_emulate_tlbie_lpid(str
     5e6c:	65 7a 65 5f 	rlwnm.  r5,r27,r15,9,18
     5e70:	63 6f 75 6e 	xoris   r21,r19,28515
     5e74:	74 00 4d 43 	bc-     26,4*cr3+gt,5ee8 <.debug_str+0x5ee8>
-    5e78:	45 5f 4c 49 	bl      14cbdbc <kvmhv_nested_next_lpid+0x14c82e4>
+    5e78:	45 5f 4c 49 	bl      14cbdbc <kvmhv_nested_next_lpid+0x14c82f4>
     5e7c:	4e 4b 5f 45 	.long 0x455f4b4e
     5e80:	52 52 4f 52 	rlwimi  r15,r18,10,9,9
     5e84:	5f 50 41 47 	.long 0x4741505f
     5e88:	45 5f 54 41 	bdztl   4*cr5+lt,bdcc <.debug_str+0xbdcc>
     5e8c:	42 4c 45 5f 	rlwnm   r5,r26,r9,17,1
-    5e90:	57 41 4c 4b 	bla     ff4c4154 <kvmhv_nested_next_lpid+0xff4c067c>
+    5e90:	57 41 4c 4b 	bla     ff4c4154 <kvmhv_nested_next_lpid+0xff4c068c>
     5e94:	5f 49 46 45 	.long 0x4546495f
     5e98:	54 43 48 5f 	rlwnm   r8,r26,r8,13,10
     5e9c:	54 49 4d 45 	.long 0x454d4954
@@ -53958,7 +53965,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     5f88:	63 6c 00 6d 	xoris   r0,r8,27747
     5f8c:	65 6d 73 65 	oris    r19,r11,28005
     5f90:	74 00 54 52 	rlwimi  r20,r18,0,1,26
-    5f94:	41 4e 53 48 	bl      53add4 <kvmhv_nested_next_lpid+0x5372fc>
+    5f94:	41 4e 53 48 	bl      53add4 <kvmhv_nested_next_lpid+0x53730c>
     5f98:	55 47 45 5f 	rlwnm.  r5,r26,r8,29,10
     5f9c:	50 41 47 45 	.long 0x45474150
     5fa0:	5f 44 54 4f 	.long 0x4f54445f
@@ -54176,7 +54183,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     62f0:	67 00 73 63 	ori     r19,r27,103
     62f4:	68 65 64 5f 	rlwnm   r4,r27,r12,21,20
     62f8:	6f 75 74 00 	.long 0x74756f
-    62fc:	44 45 56 49 	b       156a840 <kvmhv_nested_next_lpid+0x1566d68>
+    62fc:	44 45 56 49 	b       156a840 <kvmhv_nested_next_lpid+0x1566d78>
     6300:	43 45 5f 50 	rlwimi. r31,r2,8,21,1
     6304:	41 4e 45 4c 	.long 0x4c454e41
     6308:	5f 4c 45 46 	.long 0x46454c5f
@@ -54191,7 +54198,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     632c:	6f 6d 61 69 	xori    r1,r11,28015
     6330:	6e 00 6d 61 	ori     r13,r11,110
     6334:	79 5f 72 65 	oris    r18,r11,24441
-    6338:	61 64 00 42 	bdnzl   c798 <kvmhv_nested_next_lpid+0x8cc0>
+    6338:	61 64 00 42 	bdnzl   c798 <kvmhv_nested_next_lpid+0x8cd0>
     633c:	41 4c 4c 4f 	.long 0x4f4c4c41
     6340:	4f 4e 5f 4d 	.long 0x4d5f4e4f
     6344:	49 47 52 41 	bdztl   4*cr4+eq,aa8c <.debug_str+0xaa8c>
@@ -54551,7 +54558,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     68cc:	73 00 5f 5f 	rlwnm.  r31,r26,r0,1,25
     68d0:	53 44 5f 50 	rlwimi. r31,r2,8,17,9
     68d4:	52 45 46 45 	.long 0x45464552
-    68d8:	52 5f 53 49 	ba      1535f50 <kvmhv_nested_next_lpid+0x1532478>
+    68d8:	52 5f 53 49 	ba      1535f50 <kvmhv_nested_next_lpid+0x1532488>
     68dc:	42 4c 49 4e 	.long 0x4e494c42
     68e0:	47 00 70 6c 	xoris   r16,r3,71
     68e4:	70 61 72 5f 	rlwnm   r18,r27,r12,5,24
@@ -54687,7 +54694,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     6aec:	64 00 46 41 	bdzt    4*cr1+eq,6b50 <.debug_str+0x6b50>
     6af0:	55 4c 54 5f 	rlwnm.  r20,r26,r9,17,10
     6af4:	46 4c 41 47 	.long 0x47414c46
-    6af8:	5f 54 52 49 	bla     152545c <kvmhv_nested_next_lpid+0x1521984>
+    6af8:	5f 54 52 49 	bla     152545c <kvmhv_nested_next_lpid+0x1521994>
     6afc:	45 44 00 77 	andis.  r0,r24,17477
     6b00:	6f 72 6b 65 	oris    r11,r11,29295
     6b04:	72 5f 70 72 	andi.   r16,r19,24434
@@ -54719,7 +54726,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     6b6c:	6c 6f 63 61 	ori     r3,r11,28524
     6b70:	6c 5f 66 6c 	xoris   r6,r3,24428
     6b74:	61 67 73 00 	.long 0x736761
-    6b78:	57 4f 52 4b 	bla     ff524f54 <kvmhv_nested_next_lpid+0xff52147c>
+    6b78:	57 4f 52 4b 	bla     ff524f54 <kvmhv_nested_next_lpid+0xff52148c>
     6b7c:	49 4e 47 53 	rlwimi. r7,r26,9,25,4
     6b80:	45 54 5f 52 	rlwimi. r31,r18,10,17,2
     6b84:	45 46 41 55 	rlwinm. r1,r10,8,25,2
@@ -54734,7 +54741,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     6ba8:	73 74 61 74 	andis.  r1,r3,29811
     6bac:	65 00 50 47 	.long 0x47500065
     6bb0:	53 54 45 41 	bdztla  4*cr1+gt,5450 <.debug_str+0x5450>
-    6bb4:	4c 5f 4b 48 	b       4bcb00 <kvmhv_nested_next_lpid+0x4b9028>
+    6bb4:	4c 5f 4b 48 	b       4bcb00 <kvmhv_nested_next_lpid+0x4b9038>
     6bb8:	55 47 45 50 	rlwimi. r5,r2,8,29,10
     6bbc:	41 47 45 44 	.long 0x44454741
     6bc0:	00 6f 72 69 	xori    r18,r11,28416
@@ -54761,7 +54768,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     6c14:	5f 53 44 5f 	rlwnm.  r4,r26,r10,13,15
     6c18:	42 41 4c 41 	bdzta   4*cr3+lt,4140 <.debug_str+0x4140>
     6c1c:	4e 43 45 5f 	rlwnm   r5,r26,r8,13,7
-    6c20:	46 4f 52 4b 	ba      ff524f44 <kvmhv_nested_next_lpid+0xff52146c>
+    6c20:	46 4f 52 4b 	ba      ff524f44 <kvmhv_nested_next_lpid+0xff52147c>
     6c24:	00 6b 76 6d 	xoris   r22,r11,27392
     6c28:	68 76 5f 72 	andi.   r31,r18,30312
     6c2c:	65 73 74 6f 	xoris   r20,r27,29541
@@ -54778,7 +54785,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     6c58:	75 72 63 65 	oris    r3,r11,29301
     6c5c:	00 66 5f 70 	andi.   r31,r2,26112
     6c60:	6f 73 00 4e 	.long 0x4e00736f
-    6c64:	52 5f 46 49 	ba      1465f50 <kvmhv_nested_next_lpid+0x1462478>
+    6c64:	52 5f 46 49 	ba      1465f50 <kvmhv_nested_next_lpid+0x1462488>
     6c68:	4c 45 5f 44 	.long 0x445f454c
     6c6c:	49 52 54 59 	rlmi.   r20,r10,r10,9,4
     6c70:	00 4d 43 45 	.long 0x45434d00
@@ -54904,7 +54911,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     6e50:	5f 72 63 00 	.long 0x63725f
     6e54:	69 5f 61 74 	andis.  r1,r3,24425
     6e58:	69 6d 65 00 	.long 0x656d69
-    6e5c:	44 45 56 49 	b       156b3a0 <kvmhv_nested_next_lpid+0x15678c8>
+    6e5c:	44 45 56 49 	b       156b3a0 <kvmhv_nested_next_lpid+0x15678d8>
     6e60:	43 45 5f 46 	.long 0x465f4543
     6e64:	49 58 45 44 	.long 0x44455849
     6e68:	00 70 74 65 	oris    r20,r11,28672
@@ -54955,7 +54962,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     6f1c:	68 65 73 00 	.long 0x736568
     6f20:	4b 43 4f 4d 	.long 0x4d4f434b
     6f24:	50 41 43 54 	rlwinm  r3,r2,8,5,8
-    6f28:	44 5f 57 41 	bdzt    4*cr5+so,ce6c <kvmhv_nested_next_lpid+0x9394>
+    6f28:	44 5f 57 41 	bdzt    4*cr5+so,ce6c <kvmhv_nested_next_lpid+0x93a4>
     6f2c:	4b 45 00 73 	andi.   r0,r24,17739
     6f30:	74 6f 6c 65 	oris    r12,r11,28532
     6f34:	6e 5f 6c 6f 	xoris   r12,r27,24430
@@ -55029,7 +55036,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7044:	65 73 00 5f 	rlwnm.  r0,r24,r14,13,18
     7048:	75 70 70 65 	oris    r16,r11,28789
     704c:	72 00 4d 43 	bca-    26,4*cr3+gt,70 <.debug_str+0x70>
-    7050:	45 5f 4c 49 	bl      14ccf94 <kvmhv_nested_next_lpid+0x14c94bc>
+    7050:	45 5f 4c 49 	bl      14ccf94 <kvmhv_nested_next_lpid+0x14c94cc>
     7054:	4e 4b 5f 45 	.long 0x455f4b4e
     7058:	52 52 4f 52 	rlwimi  r15,r18,10,9,9
     705c:	5f 49 46 45 	.long 0x4546495f
@@ -55090,7 +55097,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7138:	6f 73 74 5f 	rlwnm.  r20,r27,r14,13,23
     713c:	73 74 61 63 	ori     r1,r27,29811
     7140:	6b 00 4e 52 	rlwimi. r14,r18,0,1,21
-    7144:	5f 57 52 49 	bla     152575c <kvmhv_nested_next_lpid+0x1521c84>
+    7144:	5f 57 52 49 	bla     152575c <kvmhv_nested_next_lpid+0x1521c94>
     7148:	54 54 45 4e 	.long 0x4e455454
     714c:	00 76 61 6c 	xoris   r1,r3,30208
     7150:	69 64 00 69 	xori    r0,r8,25705
@@ -55180,7 +55187,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     72a0:	70 65 72 69 	xori    r18,r11,25968
     72a4:	6f 64 00 4e 	.long 0x4e00646f
     72a8:	52 5f 57 52 	rlwimi  r23,r18,11,29,9
-    72ac:	49 54 45 42 	bcl     18,4*cr1+gt,c6f4 <kvmhv_nested_next_lpid+0x8c1c>
+    72ac:	49 54 45 42 	bcl     18,4*cr1+gt,c6f4 <kvmhv_nested_next_lpid+0x8c2c>
     72b0:	41 43 4b 5f 	rlwnm.  r11,r26,r8,13,0
     72b4:	54 45 4d 50 	rlwimi  r13,r2,8,21,10
     72b8:	00 69 5f 66 	oris    r31,r18,26880
@@ -55287,7 +55294,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     744c:	5f 6f 70 73 	andi.   r16,r27,28511
     7450:	5f 62 79 70 	andi.   r25,r3,25183
     7454:	61 73 73 00 	.long 0x737361
-    7458:	48 52 54 49 	b       154c6a0 <kvmhv_nested_next_lpid+0x1548bc8>
+    7458:	48 52 54 49 	b       154c6a0 <kvmhv_nested_next_lpid+0x1548bd8>
     745c:	4d 45 52 5f 	rlwnm.  r18,r26,r8,21,6
     7460:	42 41 53 45 	.long 0x45534142
     7464:	5f 52 45 41 	bdztla  4*cr1+gt,525c <.debug_str+0x525c>
@@ -55296,10 +55303,10 @@ static void kvmhv_emulate_tlbie_lpid(str
     7470:	72 5f 76 61 	ori     r22,r11,24434
     7474:	6c 69 64 00 	.long 0x64696c
     7478:	4b 53 57 41 	bdztla  4*cr5+so,5348 <.debug_str+0x5348>
-    747c:	50 44 5f 48 	b       5fb8cc <kvmhv_nested_next_lpid+0x5f7df4>
+    747c:	50 44 5f 48 	b       5fb8cc <kvmhv_nested_next_lpid+0x5f7e04>
     7480:	49 47 48 5f 	rlwnm.  r8,r26,r8,29,4
     7484:	57 4d 41 52 	rlwimi. r1,r18,9,21,11
-    7488:	4b 5f 48 49 	bla     1485f48 <kvmhv_nested_next_lpid+0x1482470>
+    7488:	4b 5f 48 49 	bla     1485f48 <kvmhv_nested_next_lpid+0x1482480>
     748c:	54 5f 51 55 	rlwinm  r17,r10,11,29,10
     7490:	49 43 4b 4c 	.long 0x4c4b4349
     7494:	59 00 70 72 	andi.   r16,r19,89
@@ -55338,7 +55345,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7518:	69 76 65 5f 	rlwnm.  r5,r27,r14,25,20
     751c:	76 63 70 75 	andis.  r16,r11,25462
     7520:	00 4f 50 41 	bdzt    4*cr4+lt,c420 <.debug_str+0xc420>
-    7524:	4c 5f 50 48 	b       50d470 <kvmhv_nested_next_lpid+0x509998>
+    7524:	4c 5f 50 48 	b       50d470 <kvmhv_nested_next_lpid+0x5099a8>
     7528:	42 33 5f 4e 	crorc   4*cr4+eq,4*cr7+so,4*cr1+eq
     752c:	55 4d 5f 50 	rlwimi. r31,r2,9,21,10
     7530:	45 53 54 5f 	rlwnm.  r20,r26,r10,13,2
@@ -55415,7 +55422,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     764c:	4e 52 5f 53 	rlwimi  r31,r26,10,9,7
     7650:	4c 41 42 5f 	rlwnm   r2,r26,r8,5,6
     7654:	55 4e 52 45 	.long 0x45524e55
-    7658:	43 4c 41 49 	bla     1414c40 <kvmhv_nested_next_lpid+0x1411168>
+    7658:	43 4c 41 49 	bla     1414c40 <kvmhv_nested_next_lpid+0x1411178>
     765c:	4d 41 42 4c 	.long 0x4c42414d
     7660:	45 5f 42 00 	.long 0x425f45
     7664:	6d 75 74 65 	oris    r20,r11,30061
@@ -55425,7 +55432,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7674:	70 75 73 5f 	rlwnm   r19,r27,r14,21,24
     7678:	61 6c 6c 6f 	xoris   r12,r27,27745
     767c:	77 65 64 00 	.long 0x646577
-    7680:	4e 52 5f 4b 	ba      ff5f524c <kvmhv_nested_next_lpid+0xff5f1774>
+    7680:	4e 52 5f 4b 	ba      ff5f524c <kvmhv_nested_next_lpid+0xff5f1784>
     7684:	45 52 4e 45 	.long 0x454e5245
     7688:	4c 5f 53 54 	rlwinm  r19,r2,11,29,6
     768c:	41 43 4b 5f 	rlwnm.  r11,r26,r8,13,0
@@ -55433,7 +55440,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7694:	52 5f 56 4d 	.long 0x4d565f52
     7698:	5f 4e 4f 44 	.long 0x444f4e5f
     769c:	45 5f 53 54 	rlwinm. r19,r2,11,29,2
-    76a0:	41 54 5f 49 	bl      15fcae0 <kvmhv_nested_next_lpid+0x15f9008>
+    76a0:	41 54 5f 49 	bl      15fcae0 <kvmhv_nested_next_lpid+0x15f9018>
     76a4:	54 45 4d 53 	rlwimi  r13,r26,8,21,10
     76a8:	00 72 61 77 	andis.  r1,r27,29184
     76ac:	5f 73 70 69 	xori    r16,r11,29535
@@ -55496,7 +55503,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7790:	72 5f 73 70 	andi.   r19,r3,24434
     7794:	65 63 69 61 	ori     r9,r11,25445
     7798:	6c 00 4e 55 	rlwinm  r14,r10,0,1,22
-    779c:	4d 41 5f 48 	bl      5fb8e8 <kvmhv_nested_next_lpid+0x5f7e10>
+    779c:	4d 41 5f 48 	bl      5fb8e8 <kvmhv_nested_next_lpid+0x5f7e20>
     77a0:	49 54 00 64 	oris    r0,r0,21577
     77a4:	61 77 72 78 	rldicl. r18,r3,14,61
     77a8:	30 00 64 61 	ori     r4,r11,48
@@ -55518,7 +55525,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     77e8:	48 50 5f 53 	rlwimi  r31,r26,10,1,4
     77ec:	50 4c 49 54 	rlwinm  r9,r2,9,17,8
     77f0:	5f 50 41 47 	.long 0x4741505f
-    77f4:	45 5f 46 41 	bdztl   4*cr1+eq,d738 <kvmhv_nested_next_lpid+0x9c60>
+    77f4:	45 5f 46 41 	bdztl   4*cr1+eq,d738 <kvmhv_nested_next_lpid+0x9c70>
     77f8:	49 4c 45 44 	.long 0x44454c49
     77fc:	00 69 5f 73 	andi.   r31,r26,26880
     7800:	65 71 75 65 	oris    r21,r11,29029
@@ -55670,7 +55677,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7a48:	4c 42 5f 42 	bc      18,4*cr7+so,bc94 <.debug_str+0xbc94>
     7a4c:	55 44 44 59 	rlmi.   r4,r10,r8,17,10
     7a50:	5f 50 47 41 	bdztla  4*cr1+so,505c <.debug_str+0x505c>
-    7a54:	4c 4c 4f 43 	bc-     26,4*cr3+so,c6a0 <kvmhv_nested_next_lpid+0x8bc8>
+    7a54:	4c 4c 4f 43 	bc-     26,4*cr3+so,c6a0 <kvmhv_nested_next_lpid+0x8bd8>
     7a58:	00 73 63 68 	xori    r3,r3,29440
     7a5c:	65 64 5f 63 	ori     r31,r26,25701
     7a60:	6f 6e 74 72 	andi.   r20,r19,28271
@@ -55761,7 +55768,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7bb4:	5f 5a 45 52 	rlwimi. r5,r18,11,9,15
     7bb8:	4f 5f 50 41 	bdztla  4*cr4+lt,5f4c <.debug_str+0x5f4c>
     7bbc:	47 45 5f 41 	bdztla  4*cr7+so,4544 <.debug_str+0x4544>
-    7bc0:	4c 4c 4f 43 	bc-     26,4*cr3+so,c80c <kvmhv_nested_next_lpid+0x8d34>
+    7bc0:	4c 4c 4f 43 	bc-     26,4*cr3+so,c80c <kvmhv_nested_next_lpid+0x8d44>
     7bc4:	00 4e 45 54 	rlwinm  r5,r2,9,24,0
     7bc8:	5f 54 58 5f 	rlwnm.  r24,r26,r10,17,15
     7bcc:	53 4f 46 54 	rlwinm. r6,r2,9,29,9
@@ -55817,7 +55824,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7c94:	00 4d 4d 55 	rlwinm  r13,r10,9,20,0
     7c98:	5f 4e 4f 54 	rlwinm. r15,r2,9,25,15
     7c9c:	49 46 59 5f 	rlwnm.  r25,r26,r8,25,4
-    7ca0:	55 4e 4d 41 	bdztl   4*cr3+gt,caf4 <kvmhv_nested_next_lpid+0x901c>
+    7ca0:	55 4e 4d 41 	bdztl   4*cr3+gt,caf4 <kvmhv_nested_next_lpid+0x902c>
     7ca4:	50 00 66 72 	andi.   r6,r19,80
     7ca8:	65 65 5f 6e 	xoris   r31,r18,25957
     7cac:	6f 74 69 66 	oris    r9,r19,29807
@@ -55855,7 +55862,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7d2c:	6d 65 72 00 	.long 0x72656d
     7d30:	4d 45 4d 4f 	.long 0x4f4d454d
     7d34:	52 59 5f 44 	.long 0x445f5952
-    7d38:	45 56 49 43 	bcl-    26,4*cr2+gt,d37c <kvmhv_nested_next_lpid+0x98a4>
+    7d38:	45 56 49 43 	bcl-    26,4*cr2+gt,d37c <kvmhv_nested_next_lpid+0x98b4>
     7d3c:	45 5f 43 4f 	addpcis r26,24391
     7d40:	48 45 52 45 	.long 0x45524548
     7d44:	4e 54 00 70 	andi.   r0,r0,21582
@@ -55916,7 +55923,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7e20:	69 73 74 00 	.long 0x747369
     7e24:	46 41 55 4c 	.long 0x4c554146
     7e28:	54 5f 46 4c 	.long 0x4c465f54
-    7e2c:	41 47 5f 41 	bdztl   4*cr7+so,c56c <kvmhv_nested_next_lpid+0x8a94>
+    7e2c:	41 47 5f 41 	bdztl   4*cr7+so,c56c <kvmhv_nested_next_lpid+0x8aa4>
     7e30:	4c 4c 4f 57 	rlwinm  r15,r26,9,17,6
     7e34:	5f 52 45 54 	rlwinm. r5,r2,10,9,15
     7e38:	52 59 00 64 	oris    r0,r0,22866
@@ -56015,7 +56022,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     7fac:	73 74 61 74 	andis.  r1,r3,29811
     7fb0:	73 5f 69 64 	oris    r9,r3,24435
     7fb4:	00 50 47 4d 	.long 0x4d475000
-    7fb8:	49 47 52 41 	bdztl   4*cr4+eq,c700 <kvmhv_nested_next_lpid+0x8c28>
+    7fb8:	49 47 52 41 	bdztl   4*cr4+eq,c700 <kvmhv_nested_next_lpid+0x8c38>
     7fbc:	54 45 5f 46 	.long 0x465f4554
     7fc0:	41 49 4c 00 	.long 0x4c4941
     7fc4:	64 65 76 69 	xori    r22,r11,25956
@@ -56098,7 +56105,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     80f8:	6f 63 6b 5f 	rlwnm.  r11,r27,r12,13,23
     80fc:	74 00 4d 4d 	.long 0x4d4d0074
     8100:	5f 53 48 4d 	.long 0x4d48535f
-    8104:	45 4d 50 41 	bdztl   4*cr4+lt,ce48 <kvmhv_nested_next_lpid+0x9370>
+    8104:	45 4d 50 41 	bdztl   4*cr4+lt,ce48 <kvmhv_nested_next_lpid+0x9380>
     8108:	47 45 53 00 	.long 0x534547
     810c:	4d 43 45 5f 	rlwnm.  r5,r26,r8,13,6
     8110:	55 45 5f 45 	.long 0x455f4555
@@ -56127,7 +56134,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     816c:	61 74 74 72 	andi.   r20,r19,29793
     8170:	73 00 52 50 	rlwimi. r18,r2,0,1,25
     8174:	4d 5f 52 45 	.long 0x45525f4d
-    8178:	53 55 4d 49 	bla     14d5550 <kvmhv_nested_next_lpid+0x14d1a78>
+    8178:	53 55 4d 49 	bla     14d5550 <kvmhv_nested_next_lpid+0x14d1a88>
     817c:	4e 47 00 64 	oris    r0,r0,18254
     8180:	5f 77 65 61 	ori     r5,r11,30559
     8184:	6b 5f 72 65 	oris    r18,r11,24427
@@ -56148,7 +56155,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     81c0:	52 5f 56 4d 	.long 0x4d565f52
     81c4:	53 43 41 4e 	.long 0x4e414353
     81c8:	5f 49 4d 4d 	.long 0x4d4d495f
-    81cc:	45 44 49 41 	bdztl   4*cr2+gt,c610 <kvmhv_nested_next_lpid+0x8b38>
+    81cc:	45 44 49 41 	bdztl   4*cr2+gt,c610 <kvmhv_nested_next_lpid+0x8b48>
     81d0:	54 45 00 73 	andi.   r0,r24,17748
     81d4:	5f 71 75 6f 	xoris   r21,r27,29023
     81d8:	74 61 5f 74 	andis.  r31,r2,24948
@@ -56157,7 +56164,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     81e4:	5a 4f 4e 45 	.long 0x454e4f5a
     81e8:	5f 49 4e 41 	bdztla  4*cr3+eq,495c <.debug_str+0x495c>
     81ec:	43 54 49 56 	rlwinm. r9,r18,10,17,1
-    81f0:	45 5f 46 49 	bl      146e134 <kvmhv_nested_next_lpid+0x146a65c>
+    81f0:	45 5f 46 49 	bl      146e134 <kvmhv_nested_next_lpid+0x146a66c>
     81f4:	4c 45 00 69 	xori    r0,r8,17740
     81f8:	72 71 63 68 	xori    r3,r3,29042
     81fc:	69 70 5f 69 	xori    r31,r10,28777
@@ -56209,7 +56216,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     82b4:	5f 45 52 52 	rlwimi. r18,r18,8,21,15
     82b8:	4f 52 5f 54 	rlwinm. r31,r2,10,9,7
     82bc:	59 50 45 5f 	rlwnm.  r5,r26,r10,1,12
-    82c0:	4c 49 4e 4b 	b       ffffffffff4ecc0c <kvmhv_nested_next_lpid+0xffffffffff4e9134>
+    82c0:	4c 49 4e 4b 	b       ffffffffff4ecc0c <kvmhv_nested_next_lpid+0xffffffffff4e9144>
     82c4:	00 73 79 73 	andi.   r25,r27,29440
     82c8:	63 72 00 70 	andi.   r0,r0,29283
     82cc:	6b 65 79 5f 	rlwnm.  r25,r27,r12,21,21
@@ -56250,7 +56257,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8358:	52 52 4f 52 	rlwimi  r15,r18,10,9,9
     835c:	5f 49 4e 44 	.long 0x444e495f
     8360:	45 54 45 52 	rlwimi. r5,r18,10,17,2
-    8364:	4d 49 4e 41 	bdztl   4*cr3+eq,ccb0 <kvmhv_nested_next_lpid+0x91d8>
+    8364:	4d 49 4e 41 	bdztl   4*cr3+eq,ccb0 <kvmhv_nested_next_lpid+0x91e8>
     8368:	54 45 00 70 	andi.   r0,r0,17748
     836c:	61 67 65 66 	oris    r5,r19,26465
     8370:	61 75 6c 74 	andis.  r12,r3,30049
@@ -56258,7 +56265,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8378:	61 62 6c 65 	oris    r12,r11,25185
     837c:	64 00 4d 41 	bdzt    4*cr3+gt,83e0 <.debug_str+0x83e0>
     8380:	58 5f 5a 4f 	.long 0x4f5a5f58
-    8384:	4e 45 4c 49 	ba      14c454c <kvmhv_nested_next_lpid+0x14c0a74>
+    8384:	4e 45 4c 49 	ba      14c454c <kvmhv_nested_next_lpid+0x14c0a84>
     8388:	53 54 53 00 	.long 0x535453
     838c:	73 79 73 63 	ori     r19,r27,31091
     8390:	77 00 69 6c 	xoris   r9,r3,119
@@ -56304,11 +56311,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     8430:	67 00 71 75 	andis.  r17,r11,103
     8434:	6f 74 61 5f 	rlwnm.  r1,r27,r14,17,23
     8438:	65 6e 61 62 	ori     r1,r19,28261
-    843c:	6c 65 00 4b 	b       ffffffffff00e9a8 <kvmhv_nested_next_lpid+0xffffffffff00aed0>
+    843c:	6c 65 00 4b 	b       ffffffffff00e9a8 <kvmhv_nested_next_lpid+0xffffffffff00aee0>
     8440:	43 4f 4d 50 	rlwimi. r13,r2,9,29,1
     8444:	41 43 54 44 	.long 0x44544341
     8448:	5f 46 52 45 	.long 0x4552465f
-    844c:	45 5f 53 43 	bcl-    26,4*cr4+so,e390 <kvmhv_nested_next_lpid+0xa8b8>
+    844c:	45 5f 53 43 	bcl-    26,4*cr4+so,e390 <kvmhv_nested_next_lpid+0xa8c8>
     8450:	41 4e 4e 45 	.long 0x454e4e41
     8454:	44 00 64 65 	oris    r4,r11,68
     8458:	76 69 63 65 	oris    r3,r11,26998
@@ -56390,7 +56397,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8588:	52 4b 49 4e 	.long 0x4e494b52
     858c:	47 53 45 54 	rlwinm. r5,r2,10,13,3
     8590:	5f 4e 4f 44 	.long 0x444f4e5f
-    8594:	45 52 45 43 	bcl-    26,4*cr1+gt,d7d8 <kvmhv_nested_next_lpid+0x9d00>
+    8594:	45 52 45 43 	bcl-    26,4*cr1+gt,d7d8 <kvmhv_nested_next_lpid+0x9d10>
     8598:	4c 41 49 4d 	.long 0x4d49414c
     859c:	00 70 65 6e 	xoris   r5,r19,28672
     85a0:	64 69 6e 67 	oris    r14,r27,26980
@@ -56416,7 +56423,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     85f0:	20 32 30 32 	addic   r17,r16,12832
     85f4:	32 31 31 32 	addic   r17,r17,12594
     85f8:	31 20 28 52 	rlwimi. r8,r17,4,0,24
-    85fc:	65 64 20 48 	bl      20ea60 <kvmhv_nested_next_lpid+0x20af88>
+    85fc:	65 64 20 48 	bl      20ea60 <kvmhv_nested_next_lpid+0x20af98>
     8600:	61 74 20 31 	addic   r9,r0,29793
     8604:	32 2e 32 2e 	cmpdi   cr4,r18,11826
     8608:	31 2d 34 29 	cmpldi  cr2,r20,11569
@@ -56606,7 +56613,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     88e8:	79 00 4e 52 	rlwimi. r14,r18,0,1,28
     88ec:	5f 46 52 45 	.long 0x4552465f
     88f0:	45 5f 43 4d 	addpcis r10,24391
-    88f4:	41 5f 50 41 	bdztl   4*cr4+lt,e834 <kvmhv_nested_next_lpid+0xad5c>
+    88f4:	41 5f 50 41 	bdztl   4*cr4+lt,e834 <kvmhv_nested_next_lpid+0xad6c>
     88f8:	47 45 53 00 	.long 0x534547
     88fc:	71 72 77 6c 	xoris   r23,r3,29297
     8900:	6f 63 6b 00 	.long 0x6b636f
@@ -56679,11 +56686,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     8a0c:	65 00 6c 6c 	xoris   r12,r3,101
     8a10:	73 65 65 6b 	xori    r5,r27,25971
     8a14:	00 4e 52 5f 	rlwnm   r18,r26,r9,24,0
-    8a18:	4d 4d 5f 43 	bcl-    26,4*cr7+so,d764 <kvmhv_nested_next_lpid+0x9c8c>
+    8a18:	4d 4d 5f 43 	bcl-    26,4*cr7+so,d764 <kvmhv_nested_next_lpid+0x9c9c>
     8a1c:	4f 55 4e 54 	rlwinm. r14,r2,10,21,7
     8a20:	45 52 53 00 	.long 0x535245
-    8a24:	44 45 56 49 	b       156cf68 <kvmhv_nested_next_lpid+0x1569490>
-    8a28:	43 45 5f 48 	bla     5f4540 <kvmhv_nested_next_lpid+0x5f0a68>
+    8a24:	44 45 56 49 	b       156cf68 <kvmhv_nested_next_lpid+0x15694a0>
+    8a28:	43 45 5f 48 	bla     5f4540 <kvmhv_nested_next_lpid+0x5f0a78>
     8a2c:	4f 52 49 5f 	rlwnm.  r9,r26,r10,9,7
     8a30:	50 4f 53 5f 	rlwnm   r19,r26,r9,29,8
     8a34:	43 45 4e 54 	rlwinm. r14,r2,8,21,1
@@ -56694,7 +56701,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8a48:	65 67 73 00 	.long 0x736765
     8a4c:	44 4c 5f 44 	.long 0x445f4c44
     8a50:	45 56 5f 50 	rlwimi. r31,r2,10,25,2
-    8a54:	52 4f 42 49 	ba      1424f50 <kvmhv_nested_next_lpid+0x1421478>
+    8a54:	52 4f 42 49 	ba      1424f50 <kvmhv_nested_next_lpid+0x1421488>
     8a58:	4e 47 00 63 	ori     r0,r24,18254
     8a5c:	6f 6d 6d 69 	xori    r13,r11,28015
     8a60:	74 5f 64 71 	andi.   r4,r11,24436
@@ -56739,7 +56746,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8afc:	5f 63 6f 6e 	xoris   r15,r19,25439
     8b00:	73 75 6d 65 	oris    r13,r11,30067
     8b04:	72 00 4d 43 	bca-    26,4*cr3+gt,70 <.debug_str+0x70>
-    8b08:	45 5f 45 43 	bcl-    26,4*cr1+gt,ea4c <kvmhv_nested_next_lpid+0xaf74>
+    8b08:	45 5f 45 43 	bcl-    26,4*cr1+gt,ea4c <kvmhv_nested_next_lpid+0xaf84>
     8b0c:	4c 41 53 53 	rlwimi  r19,r26,8,5,6
     8b10:	5f 48 41 52 	rlwimi. r1,r18,9,1,15
     8b14:	44 57 41 52 	rlwimi  r1,r18,10,29,2
@@ -56777,7 +56784,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8b94:	6e 63 5f 74 	andis.  r31,r2,25454
     8b98:	00 4e 52 5f 	rlwnm   r18,r26,r9,24,0
     8b9c:	57 52 49 54 	rlwinm. r9,r2,10,9,11
-    8ba0:	45 42 41 43 	bcl-    26,gt,cde4 <kvmhv_nested_next_lpid+0x930c>
+    8ba0:	45 42 41 43 	bcl-    26,gt,cde4 <kvmhv_nested_next_lpid+0x931c>
     8ba4:	4b 00 73 5f 	rlwnm.  r19,r27,r0,1,5
     8ba8:	6d 61 78 62 	ori     r24,r19,24941
     8bac:	79 74 65 73 	andi.   r5,r27,29817
@@ -56793,7 +56800,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8bd4:	00 6c 61 73 	andi.   r1,r27,27648
     8bd8:	74 5f 63 70 	andi.   r3,r3,24436
     8bdc:	75 00 55 4e 	.long 0x4e550075
-    8be0:	45 56 49 43 	bcl-    26,4*cr2+gt,e224 <kvmhv_nested_next_lpid+0xa74c>
+    8be0:	45 56 49 43 	bcl-    26,4*cr2+gt,e224 <kvmhv_nested_next_lpid+0xa75c>
     8be4:	54 41 42 4c 	.long 0x4c424154
     8be8:	45 5f 50 47 	.long 0x47505f45
     8bec:	53 54 52 41 	bdztla  4*cr4+eq,5450 <.debug_str+0x5450>
@@ -56982,7 +56989,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8ec8:	79 5f 6c 6f 	xoris   r12,r27,24441
     8ecc:	67 00 4e 52 	rlwimi. r14,r18,0,1,19
     8ed0:	5f 46 49 4c 	.long 0x4c49465f
-    8ed4:	45 5f 50 41 	bdztl   4*cr4+lt,ee18 <kvmhv_nested_next_lpid+0xb340>
+    8ed4:	45 5f 50 41 	bdztl   4*cr4+lt,ee18 <kvmhv_nested_next_lpid+0xb350>
     8ed8:	47 45 53 00 	.long 0x534547
     8edc:	75 73 65 64 	oris    r5,r3,29557
     8ee0:	5f 76 72 00 	.long 0x72765f
@@ -57000,7 +57007,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     8f10:	65 67 5f 70 	andi.   r31,r2,26469
     8f14:	61 67 65 5f 	rlwnm.  r5,r27,r12,29,16
     8f18:	73 69 7a 65 	oris    r26,r11,26995
-    8f1c:	00 4b 4f 42 	bc      18,4*cr3+so,da1c <kvmhv_nested_next_lpid+0x9f44>
+    8f1c:	00 4b 4f 42 	bc      18,4*cr3+so,da1c <kvmhv_nested_next_lpid+0x9f54>
     8f20:	4a 5f 4e 53 	rlwimi  r14,r26,11,29,5
     8f24:	5f 54 59 50 	rlwimi. r25,r2,10,17,15
     8f28:	45 53 00 70 	andi.   r0,r0,21317
@@ -57017,11 +57024,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     8f54:	00 76 6d 5f 	rlwnm   r13,r27,r14,24,0
     8f58:	62 75 67 67 	oris    r7,r27,30050
     8f5c:	65 64 00 57 	rlwinm. r0,r24,12,17,18
-    8f60:	4f 52 4b 49 	bla     14b524c <kvmhv_nested_next_lpid+0x14b1774>
+    8f60:	4f 52 4b 49 	bla     14b524c <kvmhv_nested_next_lpid+0x14b1784>
     8f64:	4e 47 53 45 	.long 0x4553474e
     8f68:	54 5f 52 45 	.long 0x45525f54
     8f6c:	53 54 4f 52 	rlwimi. r15,r18,10,17,9
-    8f70:	45 5f 42 41 	bdztl   eq,eeb4 <kvmhv_nested_next_lpid+0xb3dc>
+    8f70:	45 5f 42 41 	bdztl   eq,eeb4 <kvmhv_nested_next_lpid+0xb3ec>
     8f74:	53 45 00 4d 	.long 0x4d004553
     8f78:	4d 55 5f 4e 	.long 0x4e5f554d
     8f7c:	4f 54 49 46 	.long 0x4649544f
@@ -57073,7 +57080,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     9034:	63 6c 61 73 	andi.   r1,r27,27747
     9038:	73 00 4d 43 	bcla-   26,4*cr3+gt,70 <.debug_str+0x70>
     903c:	45 5f 49 4e 	addpcis r18,24403
-    9040:	49 54 49 41 	bdztl   4*cr2+gt,e488 <kvmhv_nested_next_lpid+0xa9b0>
+    9040:	49 54 49 41 	bdztl   4*cr2+gt,e488 <kvmhv_nested_next_lpid+0xa9c0>
     9044:	54 4f 52 5f 	rlwnm   r18,r26,r9,29,10
     9048:	50 4f 57 45 	.long 0x45574f50
     904c:	52 4d 47 4d 	.long 0x4d474d52
@@ -57085,10 +57092,10 @@ static void kvmhv_emulate_tlbie_lpid(str
     9064:	5f 70 65 6e 	xoris   r5,r19,28767
     9068:	64 69 6e 67 	oris    r14,r27,26980
     906c:	00 5f 5f 53 	rlwimi  r31,r26,11,28,0
-    9070:	44 5f 53 48 	b       53efb4 <kvmhv_nested_next_lpid+0x53b4dc>
+    9070:	44 5f 53 48 	b       53efb4 <kvmhv_nested_next_lpid+0x53b4ec>
     9074:	41 52 45 5f 	rlwnm.  r5,r26,r10,9,0
     9078:	43 50 55 43 	bcla-   26,4*cr5+gt,5040 <.debug_str+0x5040>
-    907c:	41 50 41 43 	bcl-    26,gt,e0bc <kvmhv_nested_next_lpid+0xa5e4>
+    907c:	41 50 41 43 	bcl-    26,gt,e0bc <kvmhv_nested_next_lpid+0xa5f4>
     9080:	49 54 59 00 	.long 0x595449
     9084:	70 61 64 64 	oris    r4,r3,24944
     9088:	69 6e 67 00 	.long 0x676e69
@@ -57155,7 +57162,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     917c:	4c 42 5f 45 	.long 0x455f424c
     9180:	52 52 4f 52 	rlwimi  r15,r18,10,9,9
     9184:	5f 4d 55 4c 	.long 0x4c554d5f
-    9188:	54 49 48 49 	b       148dadc <kvmhv_nested_next_lpid+0x148a004>
+    9188:	54 49 48 49 	b       148dadc <kvmhv_nested_next_lpid+0x148a014>
     918c:	54 00 76 6d 	xoris   r22,r11,84
     9190:	5f 65 6e 64 	oris    r14,r3,25951
     9194:	00 6c 61 73 	andi.   r1,r27,27648
@@ -57174,7 +57181,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     91c8:	61 74 65 00 	.long 0x657461
     91cc:	6e 70 61 67 	oris    r1,r27,28782
     91d0:	65 73 00 50 	rlwimi. r0,r0,14,13,18
-    91d4:	53 57 50 49 	bla     1505750 <kvmhv_nested_next_lpid+0x1501c78>
+    91d4:	53 57 50 49 	bla     1505750 <kvmhv_nested_next_lpid+0x1501c88>
     91d8:	4e 00 66 69 	xori    r6,r11,78
     91dc:	72 73 74 00 	.long 0x747372
     91e0:	69 6e 5f 6e 	xoris   r31,r18,28265
@@ -57224,7 +57231,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     9290:	48 49 4e 54 	rlwinm  r14,r2,9,5,4
     9294:	5f 46 41 55 	rlwinm. r1,r10,8,25,15
     9298:	4c 54 53 5f 	rlwnm   r19,r26,r10,17,6
-    929c:	4c 4f 43 41 	bdzt    so,e1e8 <kvmhv_nested_next_lpid+0xa710>
+    929c:	4c 4f 43 41 	bdzt    so,e1e8 <kvmhv_nested_next_lpid+0xa720>
     92a0:	4c 00 6d 63 	ori     r13,r27,76
     92a4:	73 72 00 73 	andi.   r0,r24,29299
     92a8:	72 63 75 5f 	rlwnm   r21,r27,r12,13,25
@@ -57255,7 +57262,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     930c:	78 79 00 63 	ori     r0,r24,31096
     9310:	61 6e 5f 77 	andis.  r31,r26,28257
     9314:	61 6b 65 75 	andis.  r5,r11,27489
-    9318:	70 00 54 49 	b       1549388 <kvmhv_nested_next_lpid+0x15458b0>
+    9318:	70 00 54 49 	b       1549388 <kvmhv_nested_next_lpid+0x15458c0>
     931c:	4d 45 52 5f 	rlwnm.  r18,r26,r8,21,6
     9320:	53 4f 46 54 	rlwinm. r6,r2,9,29,9
     9324:	49 52 51 00 	.long 0x515249
@@ -57309,7 +57316,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     93e4:	4f 4e 45 4c 	.long 0x4c454e4f
     93e8:	49 53 54 5f 	rlwnm.  r20,r26,r10,13,4
     93ec:	46 41 4c 4c 	.long 0x4c4c4146
-    93f0:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430668>
+    93f0:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430678>
     93f4:	00 75 6e 6d 	xoris   r14,r11,29952
     93f8:	61 70 5f 67 	oris    r31,r26,28769
     93fc:	66 6e 5f 72 	andi.   r31,r18,28262
@@ -57456,7 +57463,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     9630:	64 65 6e 74 	andis.  r14,r3,25956
     9634:	72 79 5f 6c 	xoris   r31,r2,31090
     9638:	72 75 00 42 	bdnza   7570 <.debug_str+0x7570>
-    963c:	4c 4f 43 4b 	b       ffffffffff43e588 <kvmhv_nested_next_lpid+0xffffffffff43aab0>
+    963c:	4c 4f 43 4b 	b       ffffffffff43e588 <kvmhv_nested_next_lpid+0xffffffffff43aac0>
     9640:	5f 53 4f 46 	.long 0x464f535f
     9644:	54 49 52 51 	rlwimi  r18,r10,9,5,10
     9648:	00 6e 65 74 	andis.  r5,r3,28160
@@ -57475,8 +57482,8 @@ static void kvmhv_emulate_tlbie_lpid(str
     967c:	70 6c 61 63 	ori     r1,r27,27760
     9680:	65 6d 65 6e 	xoris   r5,r19,28005
     9684:	74 00 43 4f 	.long 0x4f430074
-    9688:	4d 50 41 43 	bcl-    26,gt,e6d4 <kvmhv_nested_next_lpid+0xabfc>
-    968c:	54 53 55 43 	bc-     26,4*cr5+gt,e9e0 <kvmhv_nested_next_lpid+0xaf08>
+    9688:	4d 50 41 43 	bcl-    26,gt,e6d4 <kvmhv_nested_next_lpid+0xac0c>
+    968c:	54 53 55 43 	bc-     26,4*cr5+gt,e9e0 <kvmhv_nested_next_lpid+0xaf18>
     9690:	43 45 53 53 	rlwimi. r19,r26,8,21,1
     9694:	00 70 67 74 	andis.  r7,r3,28672
     9698:	61 62 6c 65 	oris    r12,r11,25185
@@ -57499,7 +57506,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     96dc:	5f 66 6c 61 	ori     r12,r11,26207
     96e0:	67 73 00 48 	bla     7364 <.debug_str+0x7364>
     96e4:	52 54 49 4d 	.long 0x4d495452
-    96e8:	45 52 5f 42 	bcl     18,4*cr7+so,e92c <kvmhv_nested_next_lpid+0xae54>
+    96e8:	45 52 5f 42 	bcl     18,4*cr7+so,e92c <kvmhv_nested_next_lpid+0xae64>
     96ec:	41 53 45 5f 	rlwnm.  r5,r26,r10,13,0
     96f0:	54 41 49 00 	.long 0x494154
     96f4:	6b 69 5f 77 	andis.  r31,r26,26987
@@ -57521,7 +57528,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     9734:	5a 4f 4e 45 	.long 0x454e4f5a
     9738:	5f 52 45 43 	bcla-   26,4*cr1+gt,525c <.debug_str+0x525c>
     973c:	4c 41 49 4d 	.long 0x4d49414c
-    9740:	5f 46 41 49 	bla     141465c <kvmhv_nested_next_lpid+0x1410b84>
+    9740:	5f 46 41 49 	bla     141465c <kvmhv_nested_next_lpid+0x1410b94>
     9744:	4c 45 44 00 	.long 0x44454c
     9748:	70 61 72 65 	oris    r18,r11,24944
     974c:	6e 74 5f 69 	xori    r31,r10,29806
@@ -57558,11 +57565,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     97c8:	61 00 64 6c 	xoris   r4,r3,97
     97cc:	5f 74 69 6d 	xoris   r9,r11,29791
     97d0:	65 72 00 57 	rlwinm. r0,r24,14,9,18
-    97d4:	4f 52 4b 49 	bla     14b524c <kvmhv_nested_next_lpid+0x14b1774>
+    97d4:	4f 52 4b 49 	bla     14b524c <kvmhv_nested_next_lpid+0x14b1784>
     97d8:	4e 47 53 45 	.long 0x4553474e
-    97dc:	54 5f 41 43 	bc-     26,gt,f730 <kvmhv_nested_next_lpid+0xbc58>
-    97e0:	54 49 56 41 	bdzt    4*cr5+eq,e134 <kvmhv_nested_next_lpid+0xa65c>
-    97e4:	54 45 5f 41 	bdzt    4*cr7+so,dd38 <kvmhv_nested_next_lpid+0xa260>
+    97dc:	54 5f 41 43 	bc-     26,gt,f730 <kvmhv_nested_next_lpid+0xbc68>
+    97e0:	54 49 56 41 	bdzt    4*cr5+eq,e134 <kvmhv_nested_next_lpid+0xa66c>
+    97e4:	54 45 5f 41 	bdzt    4*cr7+so,dd38 <kvmhv_nested_next_lpid+0xa270>
     97e8:	4e 4f 4e 00 	.long 0x4e4f4e
     97ec:	74 6c 62 5f 	rlwnm   r2,r27,r13,17,26
     97f0:	73 65 74 73 	andi.   r20,r27,25971
@@ -57571,12 +57578,12 @@ static void kvmhv_emulate_tlbie_lpid(str
     97fc:	4e 4f 5f 44 	.long 0x445f4f4e
     9800:	52 49 56 45 	.long 0x45564952
     9804:	52 00 4d 43 	bca-    26,4*cr3+gt,50 <.debug_str+0x50>
-    9808:	45 5f 4c 49 	bl      14cf74c <kvmhv_nested_next_lpid+0x14cbc74>
+    9808:	45 5f 4c 49 	bl      14cf74c <kvmhv_nested_next_lpid+0x14cbc84>
     980c:	4e 4b 5f 45 	.long 0x455f4b4e
     9810:	52 52 4f 52 	rlwimi  r15,r18,10,9,9
     9814:	5f 49 4e 44 	.long 0x444e495f
     9818:	45 54 45 52 	rlwimi. r5,r18,10,17,2
-    981c:	4d 49 4e 41 	bdztl   4*cr3+eq,e168 <kvmhv_nested_next_lpid+0xa690>
+    981c:	4d 49 4e 41 	bdztl   4*cr3+eq,e168 <kvmhv_nested_next_lpid+0xa6a0>
     9820:	54 45 00 46 	.long 0x46004554
     9824:	41 55 4c 54 	rlwinm. r12,r2,10,21,0
     9828:	5f 46 4c 41 	bdztla  4*cr3+lt,465c <.debug_str+0x465c>
@@ -57606,14 +57613,14 @@ static void kvmhv_emulate_tlbie_lpid(str
     9888:	5f 63 6f 75 	andis.  r15,r11,25439
     988c:	6e 74 73 00 	.long 0x73746e
     9890:	4d 4d 55 5f 	rlwnm.  r21,r26,r9,21,6
-    9894:	4e 4f 54 49 	ba      1544f4c <kvmhv_nested_next_lpid+0x1541474>
+    9894:	4e 4f 54 49 	ba      1544f4c <kvmhv_nested_next_lpid+0x1541484>
     9898:	46 59 5f 4d 	.long 0x4d5f5946
-    989c:	49 47 52 41 	bdztl   4*cr4+eq,dfe4 <kvmhv_nested_next_lpid+0xa50c>
+    989c:	49 47 52 41 	bdztl   4*cr4+eq,dfe4 <kvmhv_nested_next_lpid+0xa51c>
     98a0:	54 45 00 4d 	.long 0x4d004554
     98a4:	43 45 5f 45 	.long 0x455f4543
     98a8:	52 52 4f 52 	rlwimi  r15,r18,10,9,9
     98ac:	5f 54 59 50 	rlwimi. r25,r2,10,17,15
-    98b0:	45 5f 49 43 	bcl-    26,4*cr2+gt,f7f4 <kvmhv_nested_next_lpid+0xbd1c>
+    98b0:	45 5f 49 43 	bcl-    26,4*cr2+gt,f7f4 <kvmhv_nested_next_lpid+0xbd2c>
     98b4:	41 43 48 45 	.long 0x45484341
     98b8:	00 73 69 76 	andis.  r9,r19,29440
     98bc:	61 6c 5f 69 	xori    r31,r10,27745
@@ -57659,7 +57666,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     995c:	00 5f 5f 53 	rlwimi  r31,r26,11,28,0
     9960:	44 5f 41 53 	rlwimi  r1,r26,11,29,2
     9964:	59 4d 5f 50 	rlwimi. r31,r2,9,21,12
-    9968:	41 43 4b 49 	bl      14bdca8 <kvmhv_nested_next_lpid+0x14ba1d0>
+    9968:	41 43 4b 49 	bl      14bdca8 <kvmhv_nested_next_lpid+0x14ba1e0>
     996c:	4e 47 00 6d 	xoris   r0,r8,18254
     9970:	69 6e 5f 66 	oris    r31,r18,28265
     9974:	6c 74 00 64 	oris    r0,r0,29804
@@ -57697,9 +57704,9 @@ static void kvmhv_emulate_tlbie_lpid(str
     99f4:	65 64 00 4e 	.long 0x4e006465
     99f8:	52 5f 53 4c 	.long 0x4c535f52
     99fc:	41 42 5f 52 	rlwimi. r31,r18,8,9,0
-    9a00:	45 43 4c 41 	bdztl   4*cr3+lt,dd44 <kvmhv_nested_next_lpid+0xa26c>
-    9a04:	49 4d 41 42 	bcl     18,gt,e74c <kvmhv_nested_next_lpid+0xac74>
-    9a08:	4c 45 5f 42 	bc      18,4*cr7+so,df54 <kvmhv_nested_next_lpid+0xa47c>
+    9a00:	45 43 4c 41 	bdztl   4*cr3+lt,dd44 <kvmhv_nested_next_lpid+0xa27c>
+    9a04:	49 4d 41 42 	bcl     18,gt,e74c <kvmhv_nested_next_lpid+0xac84>
+    9a08:	4c 45 5f 42 	bc      18,4*cr7+so,df54 <kvmhv_nested_next_lpid+0xa48c>
     9a0c:	00 61 63 74 	andis.  r3,r3,24832
     9a10:	69 76 65 5f 	rlwnm.  r5,r27,r14,25,20
     9a14:	63 6f 75 6e 	xoris   r21,r19,28515
@@ -58015,7 +58022,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     9eec:	00 44 45 56 	rlwinm  r5,r18,8,16,0
     9ef0:	49 43 45 5f 	rlwnm.  r5,r26,r8,13,4
     9ef4:	50 41 4e 45 	.long 0x454e4150
-    9ef8:	4c 5f 42 41 	bdzt    eq,fe44 <kvmhv_nested_next_lpid+0xc36c>
+    9ef8:	4c 5f 42 41 	bdzt    eq,fe44 <kvmhv_nested_next_lpid+0xc37c>
     9efc:	43 4b 00 69 	xori    r0,r8,19267
     9f00:	5f 77 72 69 	xori    r18,r11,30559
     9f04:	74 65 63 6f 	xoris   r3,r27,25972
@@ -58109,7 +58116,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a064:	73 6b 00 70 	andi.   r0,r0,27507
     a068:	69 6d 61 70 	andi.   r1,r3,28009
     a06c:	00 4e 52 5f 	rlwnm   r18,r26,r9,24,0
-    a070:	49 4e 41 43 	bcl-    26,gt,eeb8 <kvmhv_nested_next_lpid+0xb3e0>
+    a070:	49 4e 41 43 	bcl-    26,gt,eeb8 <kvmhv_nested_next_lpid+0xb3f0>
     a074:	54 49 56 45 	.long 0x45564954
     a078:	5f 46 49 4c 	.long 0x4c49465f
     a07c:	45 00 5f 5f 	rlwnm.  r31,r26,r0,1,2
@@ -58117,7 +58124,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a084:	77 61 72 6e 	xoris   r18,r19,24951
     a088:	5f 6f 6e 00 	.long 0x6e6f5f
     a08c:	4c 52 55 5f 	rlwnm   r21,r26,r10,9,6
-    a090:	49 4e 41 43 	bcl-    26,gt,eed8 <kvmhv_nested_next_lpid+0xb400>
+    a090:	49 4e 41 43 	bcl-    26,gt,eed8 <kvmhv_nested_next_lpid+0xb410>
     a094:	54 49 56 45 	.long 0x45564954
     a098:	5f 41 4e 4f 	.long 0x4f4e415f
     a09c:	4e 00 74 68 	xori    r20,r3,78
@@ -58182,9 +58189,9 @@ static void kvmhv_emulate_tlbie_lpid(str
     a188:	6d 73 69 5f 	rlwnm.  r9,r27,r14,13,22
     a18c:	6d 73 67 00 	.long 0x67736d
     a190:	55 4e 45 56 	rlwinm. r5,r18,9,25,10
-    a194:	49 43 54 41 	bdztl   4*cr5+lt,e4dc <kvmhv_nested_next_lpid+0xaa04>
+    a194:	49 43 54 41 	bdztl   4*cr5+lt,e4dc <kvmhv_nested_next_lpid+0xaa14>
     a198:	42 4c 45 5f 	rlwnm   r5,r26,r9,17,1
-    a19c:	50 47 53 43 	bc-     26,4*cr4+so,e8ec <kvmhv_nested_next_lpid+0xae14>
+    a19c:	50 47 53 43 	bc-     26,4*cr4+so,e8ec <kvmhv_nested_next_lpid+0xae24>
     a1a0:	41 4e 4e 45 	.long 0x454e4e41
     a1a4:	44 00 61 63 	ori     r1,r27,68
     a1a8:	74 69 76 65 	oris    r22,r11,26996
@@ -58206,10 +58213,10 @@ static void kvmhv_emulate_tlbie_lpid(str
     a1e8:	00 46 41 55 	rlwinm  r1,r10,8,24,0
     a1ec:	4c 54 5f 46 	.long 0x465f544c
     a1f0:	4c 41 47 5f 	rlwnm   r7,r26,r8,5,6
-    a1f4:	55 4e 53 48 	bl      53f048 <kvmhv_nested_next_lpid+0x53b570>
+    a1f4:	55 4e 53 48 	bl      53f048 <kvmhv_nested_next_lpid+0x53b580>
     a1f8:	41 52 45 00 	.long 0x455241
-    a1fc:	44 45 56 49 	b       156e740 <kvmhv_nested_next_lpid+0x156ac68>
-    a200:	43 45 5f 48 	bla     5f4540 <kvmhv_nested_next_lpid+0x5f0a68>
+    a1fc:	44 45 56 49 	b       156e740 <kvmhv_nested_next_lpid+0x156ac78>
+    a200:	43 45 5f 48 	bla     5f4540 <kvmhv_nested_next_lpid+0x5f0a78>
     a204:	4f 52 49 5f 	rlwnm.  r9,r26,r10,9,7
     a208:	50 4f 53 5f 	rlwnm   r19,r26,r9,29,8
     a20c:	4c 45 46 54 	rlwinm  r6,r2,8,21,6
@@ -58268,11 +58275,11 @@ static void kvmhv_emulate_tlbie_lpid(str
     a2e0:	00 70 6f 73 	andi.   r15,r27,28672
     a2e4:	69 78 5f 74 	andis.  r31,r2,30825
     a2e8:	69 6d 65 72 	andi.   r5,r19,28009
-    a2ec:	73 00 54 48 	bla     540070 <kvmhv_nested_next_lpid+0x53c598>
+    a2ec:	73 00 54 48 	bla     540070 <kvmhv_nested_next_lpid+0x53c5a8>
     a2f0:	50 5f 43 4f 	.long 0x4f435f50
     a2f4:	4c 4c 41 50 	rlwimi  r1,r2,9,17,6
     a2f8:	53 45 5f 41 	bdztla  4*cr7+so,4550 <.debug_str+0x4550>
-    a2fc:	4c 4c 4f 43 	bc-     26,4*cr3+so,ef48 <kvmhv_nested_next_lpid+0xb470>
+    a2fc:	4c 4c 4f 43 	bc-     26,4*cr3+so,ef48 <kvmhv_nested_next_lpid+0xb480>
     a300:	00 6b 76 6d 	xoris   r22,r11,27392
     a304:	68 76 5f 66 	oris    r31,r18,30312
     a308:	6c 75 73 68 	xori    r19,r3,30060
@@ -58280,7 +58287,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a310:	74 65 64 00 	.long 0x646574
     a314:	4d 45 4d 4f 	.long 0x4f4d454d
     a318:	52 59 5f 44 	.long 0x445f5952
-    a31c:	45 56 49 43 	bcl-    26,4*cr2+gt,f960 <kvmhv_nested_next_lpid+0xbe88>
+    a31c:	45 56 49 43 	bcl-    26,4*cr2+gt,f960 <kvmhv_nested_next_lpid+0xbe98>
     a320:	45 5f 50 52 	rlwimi. r16,r18,11,29,2
     a324:	49 56 41 54 	rlwinm. r1,r2,10,25,4
     a328:	45 00 67 65 	oris    r7,r11,69
@@ -58311,7 +58318,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a38c:	75 72 63 65 	oris    r3,r11,29301
     a390:	5f 6c 69 73 	andi.   r9,r27,27743
     a394:	74 00 4e 5f 	rlwnm   r14,r26,r0,1,26
-    a398:	4f 4e 4c 49 	bla     14c4e4c <kvmhv_nested_next_lpid+0x14c1374>
+    a398:	4f 4e 4c 49 	bla     14c4e4c <kvmhv_nested_next_lpid+0x14c1384>
     a39c:	4e 45 00 68 	xori    r0,r0,17742
     a3a0:	63 61 6c 6c 	xoris   r12,r3,24931
     a3a4:	5f 69 6d 70 	andi.   r13,r3,26975
@@ -58333,7 +58340,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a3e4:	61 63 74 69 	xori    r20,r11,25441
     a3e8:	76 65 5f 72 	andi.   r31,r18,25974
     a3ec:	65 66 00 4d 	.long 0x4d006665
-    a3f0:	49 47 52 41 	bdztl   4*cr4+eq,eb38 <kvmhv_nested_next_lpid+0xb060>
+    a3f0:	49 47 52 41 	bdztl   4*cr4+eq,eb38 <kvmhv_nested_next_lpid+0xb070>
     a3f4:	54 45 5f 50 	rlwimi  r31,r2,8,21,10
     a3f8:	43 50 54 59 	rlmi.   r20,r10,r10,1,1
     a3fc:	50 45 53 00 	.long 0x534550
@@ -58349,7 +58356,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a424:	65 64 00 52 	rlwimi. r0,r16,12,17,18
     a428:	53 45 51 5f 	rlwnm.  r17,r26,r8,21,9
     a42c:	45 56 45 4e 	addpcis r18,22091
-    a430:	54 5f 53 49 	b       1540384 <kvmhv_nested_next_lpid+0x153c8ac>
+    a430:	54 5f 53 49 	b       1540384 <kvmhv_nested_next_lpid+0x153c8bc>
     a434:	47 4e 41 4c 	.long 0x4c414e47
     a438:	5f 42 49 54 	rlwinm. r9,r2,8,9,15
     a43c:	00 6f 6e 6c 	xoris   r14,r3,28416
@@ -58406,7 +58413,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a508:	5f 61 63 63 	ori     r3,r27,24927
     a50c:	65 73 73 65 	oris    r19,r11,29541
     a510:	64 00 52 53 	rlwimi  r18,r26,0,1,18
-    a514:	45 51 5f 43 	bcl-    26,4*cr7+so,f658 <kvmhv_nested_next_lpid+0xbb80>
+    a514:	45 51 5f 43 	bcl-    26,4*cr7+so,f658 <kvmhv_nested_next_lpid+0xbb90>
     a518:	53 5f 46 4c 	.long 0x4c465f53
     a51c:	41 47 5f 4e 	.long 0x4e5f4741
     a520:	4f 5f 52 45 	.long 0x45525f4f
@@ -58417,13 +58424,13 @@ static void kvmhv_emulate_tlbie_lpid(str
     a534:	42 49 54 00 	.long 0x544942
     a538:	4e 55 4d 41 	bdzta   4*cr3+gt,554c <.debug_str+0x554c>
     a53c:	5f 48 49 4e 	.long 0x4e49485f
-    a540:	54 5f 46 41 	bdzt    4*cr1+eq,10494 <kvmhv_nested_next_lpid+0xc9bc>
+    a540:	54 5f 46 41 	bdzt    4*cr1+eq,10494 <kvmhv_nested_next_lpid+0xc9cc>
     a544:	55 4c 54 53 	rlwimi. r20,r26,9,17,10
     a548:	00 6e 72 5f 	rlwnm   r18,r27,r13,24,0
     a54c:	61 63 74 69 	xori    r20,r11,25441
     a550:	6f 6e 73 00 	.long 0x736e6f
     a554:	4b 53 57 41 	bdztla  4*cr5+so,5348 <.debug_str+0x5348>
-    a558:	50 44 5f 49 	b       15fe9a8 <kvmhv_nested_next_lpid+0x15faed0>
+    a558:	50 44 5f 49 	b       15fe9a8 <kvmhv_nested_next_lpid+0x15faee0>
     a55c:	4e 4f 44 45 	.long 0x45444f4e
     a560:	53 54 45 41 	bdztla  4*cr1+gt,5450 <.debug_str+0x5450>
     a564:	4c 00 5f 5f 	rlwnm   r31,r26,r0,1,6
@@ -58446,9 +58453,9 @@ static void kvmhv_emulate_tlbie_lpid(str
     a5a8:	75 6e 74 00 	.long 0x746e75
     a5ac:	46 41 55 4c 	.long 0x4c554146
     a5b0:	54 5f 46 4c 	.long 0x4c465f54
-    a5b4:	41 47 5f 49 	bl      15fecf4 <kvmhv_nested_next_lpid+0x15fb21c>
+    a5b4:	41 47 5f 49 	bl      15fecf4 <kvmhv_nested_next_lpid+0x15fb22c>
     a5b8:	4e 53 54 52 	rlwimi  r20,r18,10,13,7
-    a5bc:	55 43 54 49 	bl      154e910 <kvmhv_nested_next_lpid+0x154ae38>
+    a5bc:	55 43 54 49 	bl      154e910 <kvmhv_nested_next_lpid+0x154ae48>
     a5c0:	4f 4e 00 5f 	rlwnm.  r0,r24,r9,25,7
     a5c4:	73 74 69 6d 	xoris   r9,r11,29811
     a5c8:	65 00 6b 76 	andis.  r11,r19,101
@@ -58540,7 +58547,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a720:	64 61 77 72 	andi.   r23,r19,24932
     a724:	30 00 44 52 	rlwimi  r4,r18,0,0,24
     a728:	4f 50 5f 50 	rlwimi. r31,r2,10,1,7
-    a72c:	41 47 45 43 	bcl-    26,4*cr1+gt,ee6c <kvmhv_nested_next_lpid+0xb394>
+    a72c:	41 47 45 43 	bcl-    26,4*cr1+gt,ee6c <kvmhv_nested_next_lpid+0xb3a4>
     a730:	41 43 48 45 	.long 0x45484341
     a734:	00 4d 43 45 	.long 0x45434d00
     a738:	5f 45 43 4c 	.long 0x4c43455f
@@ -58548,7 +58555,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a740:	48 41 52 44 	.long 0x44524148
     a744:	5f 49 4e 44 	.long 0x444e495f
     a748:	45 54 45 52 	rlwimi. r5,r18,10,17,2
-    a74c:	4d 49 4e 41 	bdztl   4*cr3+eq,f098 <kvmhv_nested_next_lpid+0xb5c0>
+    a74c:	4d 49 4e 41 	bdztl   4*cr3+eq,f098 <kvmhv_nested_next_lpid+0xb5d0>
     a750:	54 45 00 72 	andi.   r0,r16,17748
     a754:	65 6d 6f 76 	andis.  r15,r19,28005
     a758:	61 62 6c 65 	oris    r12,r11,25185
@@ -58556,7 +58563,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a760:	5f 45 52 52 	rlwimi. r18,r18,8,21,15
     a764:	4f 52 5f 54 	rlwinm. r31,r2,10,9,7
     a768:	59 50 45 5f 	rlwnm.  r5,r26,r10,1,12
-    a76c:	44 43 41 43 	bc-     26,gt,eab0 <kvmhv_nested_next_lpid+0xafd8>
+    a76c:	44 43 41 43 	bc-     26,gt,eab0 <kvmhv_nested_next_lpid+0xafe8>
     a770:	48 45 00 6f 	xoris   r0,r24,17736
     a774:	73 69 5f 65 	oris    r31,r10,26995
     a778:	6e 61 62 6c 	xoris   r2,r3,24942
@@ -58597,7 +58604,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     a804:	00 63 6d 6f 	xoris   r13,r27,25344
     a808:	5f 66 61 75 	andis.  r1,r11,26207
     a80c:	6c 74 73 00 	.long 0x73746c
-    a810:	50 47 53 43 	bc-     26,4*cr4+so,ef60 <kvmhv_nested_next_lpid+0xb488>
+    a810:	50 47 53 43 	bc-     26,4*cr4+so,ef60 <kvmhv_nested_next_lpid+0xb498>
     a814:	41 4e 5f 46 	.long 0x465f4e41
     a818:	49 4c 45 00 	.long 0x454c49
     a81c:	69 5f 6d 6d 	xoris   r13,r11,24425
@@ -58793,12 +58800,12 @@ static void kvmhv_emulate_tlbie_lpid(str
     ab14:	6f 75 6e 74 	andis.  r14,r3,30063
     ab18:	00 66 61 6c 	xoris   r1,r3,26112
     ab1c:	6c 6f 63 61 	ori     r3,r11,28524
-    ab20:	74 65 00 48 	b       11094 <kvmhv_nested_next_lpid+0xd5bc>
+    ab20:	74 65 00 48 	b       11094 <kvmhv_nested_next_lpid+0xd5cc>
     ab24:	52 54 49 4d 	.long 0x4d495452
-    ab28:	45 52 5f 42 	bcl     18,4*cr7+so,fd6c <kvmhv_nested_next_lpid+0xc294>
+    ab28:	45 52 5f 42 	bcl     18,4*cr7+so,fd6c <kvmhv_nested_next_lpid+0xc2a4>
     ab2c:	41 53 45 5f 	rlwnm.  r5,r26,r10,13,0
     ab30:	4d 4f 4e 4f 	.long 0x4f4e4f4d
-    ab34:	54 4f 4e 49 	b       14efa88 <kvmhv_nested_next_lpid+0x14ebfb0>
+    ab34:	54 4f 4e 49 	b       14efa88 <kvmhv_nested_next_lpid+0x14ebfc0>
     ab38:	43 00 69 5f 	rlwnm.  r9,r27,r0,1,1
     ab3c:	73 70 63 5f 	rlwnm.  r3,r27,r14,1,25
     ab40:	77 61 72 6e 	xoris   r18,r19,24951
@@ -58991,10 +58998,10 @@ static void kvmhv_emulate_tlbie_lpid(str
     ae2c:	66 73 00 73 	andi.   r0,r24,29542
     ae30:	70 5f 73 74 	andis.  r19,r3,24432
     ae34:	6f 72 61 67 	oris    r1,r27,29295
-    ae38:	65 00 54 48 	bl      54ae9c <kvmhv_nested_next_lpid+0x5473c4>
-    ae3c:	50 5f 46 49 	b       1470d8c <kvmhv_nested_next_lpid+0x146d2b4>
-    ae40:	4c 45 5f 41 	bdzt    4*cr7+so,f38c <kvmhv_nested_next_lpid+0xb8b4>
-    ae44:	4c 4c 4f 43 	bc-     26,4*cr3+so,fa90 <kvmhv_nested_next_lpid+0xbfb8>
+    ae38:	65 00 54 48 	bl      54ae9c <kvmhv_nested_next_lpid+0x5473d4>
+    ae3c:	50 5f 46 49 	b       1470d8c <kvmhv_nested_next_lpid+0x146d2c4>
+    ae40:	4c 45 5f 41 	bdzt    4*cr7+so,f38c <kvmhv_nested_next_lpid+0xb8c4>
+    ae44:	4c 4c 4f 43 	bc-     26,4*cr3+so,fa90 <kvmhv_nested_next_lpid+0xbfc8>
     ae48:	00 73 75 62 	ori     r21,r19,29440
     ae4c:	65 72 72 6f 	xoris   r18,r27,29285
     ae50:	72 00 63 66 	oris    r3,r19,114
@@ -59029,7 +59036,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     aec4:	45 52 49 45 	.long 0x45495245
     aec8:	53 5f 50 4f 	.long 0x4f505f53
     aecc:	53 53 49 42 	bcla    18,4*cr2+gt,5350 <.debug_str+0x5350>
-    aed0:	4c 45 00 4b 	b       ffffffffff00f41c <kvmhv_nested_next_lpid+0xffffffffff00b944>
+    aed0:	4c 45 00 4b 	b       ffffffffff00f41c <kvmhv_nested_next_lpid+0xffffffffff00b954>
     aed4:	56 4d 5f 46 	.long 0x465f4d56
     aed8:	41 53 54 5f 	rlwnm.  r20,r26,r10,13,0
     aedc:	4d 4d 49 4f 	.long 0x4f494d4d
@@ -59043,7 +59050,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     aefc:	74 6f 6c 74 	andis.  r12,r3,28532
     af00:	62 5f 6c 6f 	xoris   r12,r27,24418
     af04:	63 6b 00 4d 	.long 0x4d006b63
-    af08:	49 47 52 41 	bdztl   4*cr4+eq,f650 <kvmhv_nested_next_lpid+0xbb78>
+    af08:	49 47 52 41 	bdztl   4*cr4+eq,f650 <kvmhv_nested_next_lpid+0xbb88>
     af0c:	54 45 5f 4d 	.long 0x4d5f4554
     af10:	4f 56 41 42 	bcla    18,gt,564c <.debug_str+0x564c>
     af14:	4c 45 00 73 	andi.   r0,r24,17740
@@ -59070,7 +59077,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     af68:	00 62 69 6e 	xoris   r9,r19,25088
     af6c:	66 6d 74 00 	.long 0x746d66
     af70:	52 50 4d 5f 	rlwnm   r13,r26,r10,1,9
-    af74:	41 43 54 49 	bl      154f2b4 <kvmhv_nested_next_lpid+0x154b7dc>
+    af74:	41 43 54 49 	bl      154f2b4 <kvmhv_nested_next_lpid+0x154b7ec>
     af78:	56 45 00 73 	andi.   r0,r24,17750
     af7c:	69 67 6e 65 	oris    r14,r11,26473
     af80:	64 20 63 68 	xori    r3,r3,8292
@@ -59098,7 +59105,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     afd8:	65 6c 64 6d 	xoris   r4,r11,27749
     afdc:	61 73 6b 00 	.long 0x6b7361
     afe0:	4d 4d 55 5f 	rlwnm.  r21,r26,r9,21,6
-    afe4:	4e 4f 54 49 	ba      1544f4c <kvmhv_nested_next_lpid+0x1541474>
+    afe4:	4e 4f 54 49 	ba      1544f4c <kvmhv_nested_next_lpid+0x1541484>
     afe8:	46 59 5f 50 	rlwimi  r31,r2,11,5,3
     afec:	52 4f 54 45 	.long 0x45544f52
     aff0:	43 54 49 4f 	.long 0x4f495443
@@ -59155,8 +59162,8 @@ static void kvmhv_emulate_tlbie_lpid(str
     b0bc:	73 00 70 61 	ori     r16,r11,115
     b0c0:	74 62 5f 65 	oris    r31,r10,25204
     b0c4:	6e 74 72 79 	rldimi  r18,r11,46,49
-    b0c8:	00 4b 4d 41 	bdzt    4*cr3+gt,fbc8 <kvmhv_nested_next_lpid+0xc0f0>
-    b0cc:	4c 4c 4f 43 	bc-     26,4*cr3+so,fd18 <kvmhv_nested_next_lpid+0xc240>
+    b0c8:	00 4b 4d 41 	bdzt    4*cr3+gt,fbc8 <kvmhv_nested_next_lpid+0xc100>
+    b0cc:	4c 4c 4f 43 	bc-     26,4*cr3+so,fd18 <kvmhv_nested_next_lpid+0xc250>
     b0d0:	5f 43 47 52 	rlwimi. r7,r18,8,13,15
     b0d4:	4f 55 50 00 	.long 0x50554f
     b0d8:	6e 6f 5f 70 	andi.   r31,r2,28526
@@ -59169,9 +59176,9 @@ static void kvmhv_emulate_tlbie_lpid(str
     b0f4:	00 6b 74 69 	xori    r20,r11,27392
     b0f8:	6d 65 5f 74 	andis.  r31,r2,25965
     b0fc:	00 4e 55 4d 	.long 0x4d554e00
-    b100:	41 5f 50 41 	bdztl   4*cr4+lt,11040 <kvmhv_nested_next_lpid+0xd568>
+    b100:	41 5f 50 41 	bdztl   4*cr4+lt,11040 <kvmhv_nested_next_lpid+0xd578>
     b104:	47 45 5f 4d 	.long 0x4d5f4547
-    b108:	49 47 52 41 	bdztl   4*cr4+eq,f850 <kvmhv_nested_next_lpid+0xbd78>
+    b108:	49 47 52 41 	bdztl   4*cr4+eq,f850 <kvmhv_nested_next_lpid+0xbd88>
     b10c:	54 45 00 73 	andi.   r0,r24,17748
     b110:	68 61 64 6f 	xoris   r4,r27,24936
     b114:	77 5f 6d 73 	andi.   r13,r27,24439
@@ -59200,7 +59207,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b170:	6d 65 72 00 	.long 0x72656d
     b174:	4e 52 5f 41 	bdzta   4*cr7+so,524c <.debug_str+0x524c>
     b178:	43 54 49 56 	rlwinm. r9,r18,10,17,1
-    b17c:	45 5f 46 49 	bl      14710c0 <kvmhv_nested_next_lpid+0x146d5e8>
+    b17c:	45 5f 46 49 	bl      14710c0 <kvmhv_nested_next_lpid+0x146d5f8>
     b180:	4c 45 00 66 	oris    r0,r16,17740
     b184:	75 6e 63 73 	andi.   r3,r27,28277
     b188:	00 65 6e 64 	oris    r14,r3,25856
@@ -59208,7 +59215,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b190:	61 00 6c 70 	andi.   r12,r3,97
     b194:	69 64 00 50 	rlwimi. r0,r0,12,17,20
     b198:	47 53 54 45 	.long 0x45545347
-    b19c:	41 4c 5f 4b 	bl      ffffffffff5ffddc <kvmhv_nested_next_lpid+0xffffffffff5fc304>
+    b19c:	41 4c 5f 4b 	bl      ffffffffff5ffddc <kvmhv_nested_next_lpid+0xffffffffff5fc314>
     b1a0:	53 57 41 50 	rlwimi. r1,r2,10,29,9
     b1a4:	44 00 64 6f 	xoris   r4,r27,68
     b1a8:	6e 61 74 65 	oris    r20,r11,24942
@@ -59316,7 +59323,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b340:	6f 72 5f 74 	andis.  r31,r2,29295
     b344:	79 70 65 00 	.long 0x657079
     b348:	55 53 52 51 	rlwimi. r18,r10,10,13,10
-    b34c:	55 4f 54 41 	bdztl   4*cr5+lt,102a0 <kvmhv_nested_next_lpid+0xc7c8>
+    b34c:	55 4f 54 41 	bdztl   4*cr5+lt,102a0 <kvmhv_nested_next_lpid+0xc7d8>
     b350:	00 69 64 72 	andi.   r4,r19,26880
     b354:	5f 61 6c 6c 	xoris   r12,r3,24927
     b358:	6f 63 00 69 	xori    r0,r8,25455
@@ -59361,7 +59368,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b3f4:	74 00 75 6e 	xoris   r21,r19,116
     b3f8:	72 65 67 66 	oris    r7,r19,25970
     b3fc:	75 6e 63 00 	.long 0x636e75
-    b400:	57 4f 52 4b 	bla     ff524f54 <kvmhv_nested_next_lpid+0xff52147c>
+    b400:	57 4f 52 4b 	bla     ff524f54 <kvmhv_nested_next_lpid+0xff52148c>
     b404:	49 4e 47 53 	rlwimi. r7,r26,9,25,4
     b408:	45 54 5f 52 	rlwimi. r31,r18,10,17,2
     b40c:	45 53 54 4f 	addpcis r26,21353
@@ -59421,8 +59428,8 @@ static void kvmhv_emulate_tlbie_lpid(str
     b4e4:	72 6b 5f 64 	oris    r31,r2,27506
     b4e8:	69 72 74 79 	rldic.  r20,r11,14,41
     b4ec:	00 5f 5f 53 	rlwimi  r31,r26,11,28,0
-    b4f0:	44 5f 42 41 	bdzt    eq,11434 <kvmhv_nested_next_lpid+0xd95c>
-    b4f4:	4c 41 4e 43 	bc-     26,4*cr3+eq,f640 <kvmhv_nested_next_lpid+0xbb68>
+    b4f0:	44 5f 42 41 	bdzt    eq,11434 <kvmhv_nested_next_lpid+0xd96c>
+    b4f4:	4c 41 4e 43 	bc-     26,4*cr3+eq,f640 <kvmhv_nested_next_lpid+0xbb78>
     b4f8:	45 5f 4e 45 	.long 0x454e5f45
     b4fc:	57 49 44 4c 	.long 0x4c444957
     b500:	45 00 63 75 	andis.  r3,r11,69
@@ -59431,7 +59438,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b50c:	45 4c 49 53 	rlwimi. r9,r26,9,17,2
     b510:	54 5f 4e 4f 	.long 0x4f4e5f54
     b514:	46 41 4c 4c 	.long 0x4c4c4146
-    b518:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430668>
+    b518:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430678>
     b51c:	00 74 68 72 	andi.   r8,r19,29696
     b520:	65 61 64 5f 	rlwnm.  r4,r27,r12,5,18
     b524:	66 6c 61 67 	oris    r1,r27,27750
@@ -59472,8 +59479,8 @@ static void kvmhv_emulate_tlbie_lpid(str
     b5b0:	63 5f 69 6e 	xoris   r9,r19,24419
     b5b4:	66 6f 00 65 	oris    r0,r8,28518
     b5b8:	78 67 65 6e 	xoris   r5,r19,26488
-    b5bc:	00 56 54 49 	b       1550bbc <kvmhv_nested_next_lpid+0x154d0e4>
-    b5c0:	4d 45 5f 49 	bl      15ffb0c <kvmhv_nested_next_lpid+0x15fc034>
+    b5bc:	00 56 54 49 	b       1550bbc <kvmhv_nested_next_lpid+0x154d0f4>
+    b5c0:	4d 45 5f 49 	bl      15ffb0c <kvmhv_nested_next_lpid+0x15fc044>
     b5c4:	4e 41 43 54 	rlwinm  r3,r2,8,5,7
     b5c8:	49 56 45 00 	.long 0x455649
     b5cc:	6b 76 6d 5f 	rlwnm.  r13,r27,r14,25,21
@@ -59514,8 +59521,8 @@ static void kvmhv_emulate_tlbie_lpid(str
     b658:	41 42 4c 45 	.long 0x454c4241
     b65c:	00 50 47 50 	rlwimi  r7,r2,10,0,0
     b660:	52 4f 4d 4f 	.long 0x4f4d4f52
-    b664:	54 45 5f 43 	bc-     26,4*cr7+so,fbb8 <kvmhv_nested_next_lpid+0xc0e0>
-    b668:	41 4e 44 49 	bl      14504a8 <kvmhv_nested_next_lpid+0x144c9d0>
+    b664:	54 45 5f 43 	bc-     26,4*cr7+so,fbb8 <kvmhv_nested_next_lpid+0xc0f0>
+    b668:	41 4e 44 49 	bl      14504a8 <kvmhv_nested_next_lpid+0x144c9e0>
     b66c:	44 41 54 45 	.long 0x45544144
     b670:	00 61 63 70 	andi.   r3,r3,24832
     b674:	69 5f 6d 61 	ori     r13,r11,24425
@@ -59537,7 +59544,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b6b4:	6c 6c 73 79 	rldimi  r19,r11,13,49
     b6b8:	6d 73 00 6d 	xoris   r0,r8,29549
     b6bc:	6e 74 5f 69 	xori    r31,r10,29806
-    b6c0:	64 00 4d 49 	b       14db724 <kvmhv_nested_next_lpid+0x14d7c4c>
+    b6c0:	64 00 4d 49 	b       14db724 <kvmhv_nested_next_lpid+0x14d7c5c>
     b6c4:	47 52 41 54 	rlwinm. r1,r2,10,9,3
     b6c8:	45 5f 54 59 	rlmi.   r20,r10,r11,29,2
     b6cc:	50 45 53 00 	.long 0x534550
@@ -59588,9 +59595,9 @@ static void kvmhv_emulate_tlbie_lpid(str
     b780:	52 41 5f 45 	.long 0x455f4152
     b784:	52 52 4f 52 	rlwimi  r15,r18,10,9,9
     b788:	5f 50 41 47 	.long 0x4741505f
-    b78c:	45 5f 54 41 	bdztl   4*cr5+lt,116d0 <kvmhv_nested_next_lpid+0xdbf8>
+    b78c:	45 5f 54 41 	bdztl   4*cr5+lt,116d0 <kvmhv_nested_next_lpid+0xdc08>
     b790:	42 4c 45 5f 	rlwnm   r5,r26,r9,17,1
-    b794:	57 41 4c 4b 	bla     ff4c4154 <kvmhv_nested_next_lpid+0xff4c067c>
+    b794:	57 41 4c 4b 	bla     ff4c4154 <kvmhv_nested_next_lpid+0xff4c068c>
     b798:	5f 4c 4f 41 	bdztla  4*cr3+so,4c5c <.debug_str+0x4c5c>
     b79c:	44 5f 53 54 	rlwinm  r19,r2,11,29,2
     b7a0:	4f 52 45 00 	.long 0x45524f
@@ -59675,7 +59682,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b8dc:	41 42 4c 45 	.long 0x454c4241
     b8e0:	5f 57 41 4c 	.long 0x4c41575f
     b8e4:	4b 5f 49 46 	.long 0x46495f4b
-    b8e8:	45 54 43 48 	bl      440d2c <kvmhv_nested_next_lpid+0x43d254>
+    b8e8:	45 54 43 48 	bl      440d2c <kvmhv_nested_next_lpid+0x43d264>
     b8ec:	5f 46 4f 52 	rlwimi. r15,r18,8,25,15
     b8f0:	45 49 47 4e 	addpcis r18,18767
     b8f4:	00 62 75 73 	andi.   r21,r27,25088
@@ -59718,12 +59725,12 @@ static void kvmhv_emulate_tlbie_lpid(str
     b988:	4e 52 5f 5a 	rlmi    r31,r18,r10,9,7
     b98c:	4f 4e 45 5f 	rlwnm.  r5,r26,r9,25,7
     b990:	55 4e 45 56 	rlwinm. r5,r18,9,25,10
-    b994:	49 43 54 41 	bdztl   4*cr5+lt,fcdc <kvmhv_nested_next_lpid+0xc204>
+    b994:	49 43 54 41 	bdztl   4*cr5+lt,fcdc <kvmhv_nested_next_lpid+0xc214>
     b998:	42 4c 45 00 	.long 0x454c42
     b99c:	4d 49 47 52 	rlwimi. r7,r18,9,5,6
     b9a0:	41 54 45 5f 	rlwnm.  r5,r26,r10,17,0
     b9a4:	52 45 43 4c 	.long 0x4c434552
-    b9a8:	41 49 4d 41 	bdztl   4*cr3+gt,102e8 <kvmhv_nested_next_lpid+0xc810>
+    b9a8:	41 49 4d 41 	bdztl   4*cr3+gt,102e8 <kvmhv_nested_next_lpid+0xc820>
     b9ac:	42 4c 45 00 	.long 0x454c42
     b9b0:	68 61 6c 74 	andis.  r12,r3,24936
     b9b4:	5f 73 75 63 	ori     r21,r27,29535
@@ -59743,7 +59750,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     b9ec:	46 4c 41 47 	.long 0x47414c46
     b9f0:	5f 49 4e 54 	rlwinm. r14,r2,9,5,15
     b9f4:	45 52 52 55 	rlwinm. r18,r10,10,9,2
-    b9f8:	50 54 49 42 	bc      18,4*cr2+gt,10e48 <kvmhv_nested_next_lpid+0xd370>
+    b9f8:	50 54 49 42 	bc      18,4*cr2+gt,10e48 <kvmhv_nested_next_lpid+0xd380>
     b9fc:	4c 45 00 76 	andis.  r0,r16,17740
     ba00:	63 70 75 5f 	rlwnm.  r21,r27,r14,1,17
     ba04:	69 64 00 70 	andi.   r0,r0,25705
@@ -59772,7 +59779,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     ba60:	52 5f 46 4f 	.long 0x4f465f52
     ba64:	4c 4c 5f 50 	rlwimi  r31,r2,9,17,6
     ba68:	49 4e 5f 52 	rlwimi. r31,r18,9,25,4
-    ba6c:	45 4c 45 41 	bdztl   4*cr1+gt,106b0 <kvmhv_nested_next_lpid+0xcbd8>
+    ba6c:	45 4c 45 41 	bdztl   4*cr1+gt,106b0 <kvmhv_nested_next_lpid+0xcbe8>
     ba70:	53 45 44 00 	.long 0x444553
     ba74:	67 66 70 5f 	rlwnm.  r16,r27,r12,25,19
     ba78:	6d 61 73 6b 	xori    r19,r27,24941
@@ -59788,7 +59795,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     baa0:	45 4c 5f 4d 	addpcis r10,19583
     baa4:	49 53 43 5f 	rlwnm.  r3,r26,r10,13,4
     baa8:	52 45 43 4c 	.long 0x4c434552
-    baac:	41 49 4d 41 	bdztl   4*cr3+gt,103ec <kvmhv_nested_next_lpid+0xc914>
+    baac:	41 49 4d 41 	bdztl   4*cr3+gt,103ec <kvmhv_nested_next_lpid+0xc924>
     bab0:	42 4c 45 00 	.long 0x454c42
     bab4:	66 72 65 65 	oris    r5,r11,29286
     bab8:	5f 69 6e 6f 	xoris   r14,r27,26975
@@ -59916,8 +59923,8 @@ static void kvmhv_emulate_tlbie_lpid(str
     bca0:	5f 5a 45 52 	rlwimi. r5,r18,11,9,15
     bca4:	4f 5f 50 41 	bdztla  4*cr4+lt,5f4c <.debug_str+0x5f4c>
     bca8:	47 45 5f 41 	bdztla  4*cr7+so,4544 <.debug_str+0x4544>
-    bcac:	4c 4c 4f 43 	bc-     26,4*cr3+so,108f8 <kvmhv_nested_next_lpid+0xce20>
-    bcb0:	5f 46 41 49 	bla     141465c <kvmhv_nested_next_lpid+0x1410b84>
+    bcac:	4c 4c 4f 43 	bc-     26,4*cr3+so,108f8 <kvmhv_nested_next_lpid+0xce30>
+    bcb0:	5f 46 41 49 	bla     141465c <kvmhv_nested_next_lpid+0x1410b94>
     bcb4:	4c 45 44 00 	.long 0x44454c
     bcb8:	66 69 6e 64 	oris    r14,r3,26982
     bcbc:	5f 6b 76 6d 	xoris   r22,r11,27487
@@ -59926,18 +59933,18 @@ static void kvmhv_emulate_tlbie_lpid(str
     bcc8:	72 79 5f 70 	andi.   r31,r2,31090
     bccc:	74 65 00 70 	andi.   r0,r0,25972
     bcd0:	63 6f 75 6e 	xoris   r21,r19,28515
-    bcd4:	74 00 54 48 	b       54bd48 <kvmhv_nested_next_lpid+0x548270>
-    bcd8:	50 5f 46 41 	bdzt    4*cr1+eq,11c28 <kvmhv_nested_next_lpid+0xe150>
+    bcd4:	74 00 54 48 	b       54bd48 <kvmhv_nested_next_lpid+0x548280>
+    bcd8:	50 5f 46 41 	bdzt    4*cr1+eq,11c28 <kvmhv_nested_next_lpid+0xe160>
     bcdc:	55 4c 54 5f 	rlwnm.  r20,r26,r9,17,10
     bce0:	46 41 4c 4c 	.long 0x4c4c4146
-    bce4:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430668>
+    bce4:	42 41 43 4b 	ba      ff434140 <kvmhv_nested_next_lpid+0xff430678>
     bce8:	00 77 69 6d 	xoris   r9,r11,30464
     bcec:	67 00 72 65 	oris    r18,r11,103
     bcf0:	73 74 6f 72 	andi.   r15,r19,29811
     bcf4:	65 5f 6e 6f 	xoris   r14,r27,24421
     bcf8:	69 72 71 00 	.long 0x717269
     bcfc:	5f 5f 53 44 	.long 0x44535f5f
-    bd00:	5f 57 41 4b 	bla     ff41575c <kvmhv_nested_next_lpid+0xff411c84>
+    bd00:	5f 57 41 4b 	bla     ff41575c <kvmhv_nested_next_lpid+0xff411c94>
     bd04:	45 5f 41 46 	.long 0x46415f45
     bd08:	46 49 4e 45 	.long 0x454e4946
     bd0c:	00 72 65 67 	oris    r5,r27,29184
@@ -59983,7 +59990,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     bdac:	75 6e 74 69 	xori    r20,r11,28277
     bdb0:	6d 65 5f 61 	ori     r31,r10,25965
     bdb4:	75 74 6f 00 	.long 0x6f7475
-    bdb8:	50 52 4f 42 	bc      18,4*cr3+so,11008 <kvmhv_nested_next_lpid+0xd530>
+    bdb8:	50 52 4f 42 	bc      18,4*cr3+so,11008 <kvmhv_nested_next_lpid+0xd540>
     bdbc:	45 5f 44 45 	.long 0x45445f45
     bdc0:	46 41 55 4c 	.long 0x4c554146
     bdc4:	54 5f 53 54 	rlwinm  r19,r2,11,29,10
@@ -60078,10 +60085,10 @@ static void kvmhv_emulate_tlbie_lpid(str
     bf28:	74 5f 70 72 	andi.   r16,r19,24436
     bf2c:	69 6f 72 69 	xori    r18,r11,28521
     bf30:	74 79 00 44 	svc     75,7,5
-    bf34:	45 56 49 43 	bcl-    26,4*cr2+gt,11578 <kvmhv_nested_next_lpid+0xdaa0>
-    bf38:	45 5f 50 41 	bdztl   4*cr4+lt,11e7c <kvmhv_nested_next_lpid+0xe3a4>
+    bf34:	45 56 49 43 	bcl-    26,4*cr2+gt,11578 <kvmhv_nested_next_lpid+0xdab0>
+    bf38:	45 5f 50 41 	bdztl   4*cr4+lt,11e7c <kvmhv_nested_next_lpid+0xe3b4>
     bf3c:	4e 45 4c 5f 	rlwnm   r12,r26,r8,21,7
-    bf40:	52 49 47 48 	ba      474950 <kvmhv_nested_next_lpid+0x470e78>
+    bf40:	52 49 47 48 	ba      474950 <kvmhv_nested_next_lpid+0x470e88>
     bf44:	54 00 74 71 	andi.   r20,r11,84
     bf48:	68 65 61 64 	oris    r1,r3,25960
     bf4c:	00 73 74 61 	ori     r20,r11,29440
@@ -60092,7 +60099,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     bf60:	74 69 76 65 	oris    r22,r11,26996
     bf64:	00 5f 5f 53 	rlwimi  r31,r26,11,28,0
     bf68:	44 5f 46 4c 	addpcis r2,24396
-    bf6c:	41 47 5f 43 	bcl-    26,4*cr7+so,106ac <kvmhv_nested_next_lpid+0xcbd4>
+    bf6c:	41 47 5f 43 	bcl-    26,4*cr7+so,106ac <kvmhv_nested_next_lpid+0xcbe4>
     bf70:	4e 54 00 72 	andi.   r0,r16,21582
     bf74:	5f 76 61 6c 	xoris   r1,r3,30303
     bf78:	00 72 65 6d 	xoris   r5,r11,29184
@@ -60214,7 +60221,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     c148:	78 69 74 5f 	rlwnm   r20,r27,r13,5,28
     c14c:	73 74 61 74 	andis.  r1,r3,29811
     c150:	65 00 52 53 	rlwimi. r18,r26,0,1,18
-    c154:	45 51 5f 43 	bcl-    26,4*cr7+so,11298 <kvmhv_nested_next_lpid+0xd7c0>
+    c154:	45 51 5f 43 	bcl-    26,4*cr7+so,11298 <kvmhv_nested_next_lpid+0xd7d0>
     c158:	53 5f 46 4c 	.long 0x4c465f53
     c15c:	41 47 5f 4e 	.long 0x4e5f4741
     c160:	4f 5f 52 45 	.long 0x45525f4f
@@ -60233,8 +60240,8 @@ static void kvmhv_emulate_tlbie_lpid(str
     c194:	65 6e 64 65 	oris    r4,r11,28261
     c198:	64 00 73 79 	rldicr  r19,r11,0,33
     c19c:	73 76 73 65 	oris    r19,r11,30323
-    c1a0:	6d 00 54 48 	bl      54c20c <kvmhv_nested_next_lpid+0x548734>
-    c1a4:	50 5f 46 41 	bdzt    4*cr1+eq,120f4 <kvmhv_nested_next_lpid+0xe61c>
+    c1a0:	6d 00 54 48 	bl      54c20c <kvmhv_nested_next_lpid+0x548744>
+    c1a4:	50 5f 46 41 	bdzt    4*cr1+eq,120f4 <kvmhv_nested_next_lpid+0xe62c>
     c1a8:	55 4c 54 5f 	rlwnm.  r20,r26,r9,17,10
     c1ac:	41 4c 4c 4f 	.long 0x4f4c4c41
     c1b0:	43 00 6e 75 	andis.  r14,r11,67
@@ -60275,7 +60282,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     c23c:	45 4e 00 6e 	xoris   r0,r16,20037
     c240:	6f 74 69 66 	oris    r9,r19,29807
     c244:	79 00 4e 55 	rlwinm. r14,r10,0,1,28
-    c248:	4c 4c 5f 43 	bc-     26,4*cr7+so,10e94 <kvmhv_nested_next_lpid+0xd3bc>
+    c248:	4c 4c 5f 43 	bc-     26,4*cr7+so,10e94 <kvmhv_nested_next_lpid+0xd3cc>
     c24c:	4f 4d 50 4f 	.long 0x4f504d4f
     c250:	55 4e 44 5f 	rlwnm.  r4,r26,r9,25,10
     c254:	44 54 4f 52 	rlwimi  r15,r18,10,17,2
@@ -60317,7 +60324,7 @@ static void kvmhv_emulate_tlbie_lpid(str
     c2e4:	69 6e 74 00 	.long 0x746e69
     c2e8:	5f 5f 53 44 	.long 0x44535f5f
     c2ec:	5f 53 45 52 	rlwimi. r5,r18,10,13,15
-    c2f0:	49 41 4c 49 	bl      14d0438 <kvmhv_nested_next_lpid+0x14cc960>
+    c2f0:	49 41 4c 49 	bl      14d0438 <kvmhv_nested_next_lpid+0x14cc970>
     c2f4:	5a 45 00 72 	andi.   r0,r16,17754
     c2f8:	74 61 73 5f 	rlwnm   r19,r27,r12,5,26
     c2fc:	74 6f 6b 65 	oris    r11,r11,28532
@@ -60453,7 +60460,7 @@ Disassembly of section .comment:
 
 0000000000000000 <.comment>:
 {
-   0:	00 47 43 43 	bc-     26,so,4700 <kvmhv_nested_next_lpid+0xc28>
+   0:	00 47 43 43 	bc-     26,so,4700 <kvmhv_nested_next_lpid+0xc38>
    4:	3a 20 28 47 	.long 0x4728203a
 	for (; addr < ((unsigned long *) (regs + 1)); addr++)
    8:	4e 55 29 20 	subfic  r1,r9,21838
@@ -60568,11 +60575,11 @@ Disassembly of section .debug_frame:
 	hr->dawrx0 = swab64(hr->dawrx0);
  128:	49 0e 70 9f 	stbu    r27,3657(r16)
 	hr->srr1 = swab64(hr->srr1);
- 12c:	01 46 09 41 	bdnztl  4*cr2+gt,472c <kvmhv_nested_next_lpid+0xc54>
+ 12c:	01 46 09 41 	bdnztl  4*cr2+gt,472c <kvmhv_nested_next_lpid+0xc64>
 	hr->ciabr = swab64(hr->ciabr);
- 130:	00 43 11 41 	bdnzt   4*cr4+gt,4430 <kvmhv_nested_next_lpid+0x958>
+ 130:	00 43 11 41 	bdnzt   4*cr4+gt,4430 <kvmhv_nested_next_lpid+0x968>
 	hr->hdec_expiry = swab64(hr->hdec_expiry);
- 134:	7e 49 06 41 	bdnzta  4*cr1+eq,497c <kvmhv_nested_next_lpid+0xea4>
+ 134:	7e 49 06 41 	bdnzta  4*cr1+eq,497c <kvmhv_nested_next_lpid+0xeb4>
 	hr->purr = swab64(hr->purr);
  138:	41 0e 00 41 	bdnztl  lt,f78 <kvmhv_release_all_nested+0xd0>
 	hr->spurr = swab64(hr->spurr);
@@ -60589,7 +60596,7 @@ Disassembly of section .debug_frame:
 	hr->sprg[1] = swab64(hr->sprg[1]);
  15c:	41 7e 43 0e 	twi     18,r3,32321
 	hr->hdar = swab64(hr->hdar);
- 160:	00 42 06 41 	bdnzt   4*cr1+eq,4360 <kvmhv_nested_next_lpid+0x888>
+ 160:	00 42 06 41 	bdnzt   4*cr1+eq,4360 <kvmhv_nested_next_lpid+0x898>
 	hr->hdsisr = swab64(hr->hdsisr);
  164:	00 00 00 00 	.long 0x0
 	hr->sprg[1] = swab64(hr->sprg[1]);
@@ -60612,10 +60619,10 @@ Disassembly of section .debug_frame:
 	hr->vtb = swab64(hr->vtb);
  198:	41 df de dd 	stfdu   f14,-8383(r30)
 	hr->sprg[3] = swab64(hr->sprg[3]);
- 19c:	dc 44 0b 41 	bdnzt   4*cr2+so,4678 <kvmhv_nested_next_lpid+0xba0>
+ 19c:	dc 44 0b 41 	bdnzt   4*cr2+so,4678 <kvmhv_nested_next_lpid+0xbb0>
 	hr->pidr = swab64(hr->pidr);
  1a0:	9b 05 5a 0a 	tdi     18,r26,1435
- 1a4:	db 41 0b 42 	bcla    16,4*cr2+so,41d8 <kvmhv_nested_next_lpid+0x700>
+ 1a4:	db 41 0b 42 	bcla    16,4*cr2+so,41d8 <kvmhv_nested_next_lpid+0x710>
 	hr->heir = swab64(hr->heir);
  1a8:	0a db 46 0b 	tdi     26,r6,-9462
 	hr->cfar = swab64(hr->cfar);
@@ -60643,7 +60650,7 @@ Disassembly of section .debug_frame:
 	hr->sprg[2] = swab64(hr->sprg[2]);
  1e4:	43 0b 55 0e 	twi     18,r21,2883
 	hr->sprg[3] = swab64(hr->sprg[3]);
- 1e8:	00 43 06 41 	bdnzt   4*cr1+eq,44e8 <kvmhv_nested_next_lpid+0xa10>
+ 1e8:	00 43 06 41 	bdnzt   4*cr1+eq,44e8 <kvmhv_nested_next_lpid+0xa20>
 	hr->pidr = swab64(hr->pidr);
  1ec:	df 00 00 00 	.long 0xdf
 	hr->cfar = swab64(hr->cfar);
@@ -60662,10 +60669,10 @@ Disassembly of section .debug_frame:
  220:	46 06 41 df 	stfdu   f26,1606(r1)
  224:	de dd dc 44 	.long 0x44dcddde
  228:	0b 58 0a 0e 	twlti   r10,22539
- 22c:	00 46 06 41 	bdnzt   4*cr1+eq,482c <kvmhv_nested_next_lpid+0xd54>
+ 22c:	00 46 06 41 	bdnzt   4*cr1+eq,482c <kvmhv_nested_next_lpid+0xd64>
  230:	df de dd dc 	stfdu   f6,-8481(r29)
  234:	42 0b 41 9b 	stb     r26,2882(r1)
- 238:	05 5b db 48 	bl      db5d3c <kvmhv_nested_next_lpid+0xdb2264>
+ 238:	05 5b db 48 	bl      db5d3c <kvmhv_nested_next_lpid+0xdb2274>
  23c:	9b 05 43 db 	stfd    f26,1435(r3)
 		radix__flush_all_lpid(lpid);
  240:	45 9b 05 00 	.long 0x59b45
@@ -60709,7 +60716,7 @@ Disassembly of section .debug_frame:
  2d8:	4a 06 41 df 	stfdu   f26,1610(r1)
 		if (rc == H_BUSY) {
  2dc:	de dd dc db 	stfd    f30,-8738(r28)
- 2e0:	da d9 d8 41 	blta-   cr6,ffffd9d8 <kvmhv_nested_next_lpid+0xffff9f00>
+ 2e0:	da d9 d8 41 	blta-   cr6,ffffd9d8 <kvmhv_nested_next_lpid+0xffff9f10>
 		} else if (rc == H_SUCCESS)
  2e4:	0b 00 00 00 	.long 0xb
  2e8:	6c 00 00 00 	.long 0x6c
@@ -60720,7 +60727,7 @@ Disassembly of section .debug_frame:
  300:	48 0e 50 9e 	stbu    r18,3656(r16)
  304:	02 11 48 7f 	.long 0x7f481102
  308:	46 09 41 00 	.long 0x410946
- 30c:	41 9b 05 41 	bdnztl  4*cr1+gt,ffffffffffff9e4c <kvmhv_nested_next_lpid+0xffffffffffff6374>
+ 30c:	41 9b 05 41 	bdnztl  4*cr1+gt,ffffffffffff9e4c <kvmhv_nested_next_lpid+0xffffffffffff6384>
  310:	9d 03 43 9c 	stbu    r2,925(r3)
  314:	04 41 9f 01 	.long 0x19f4104
  318:	43 11 41 7e 	.long 0x7e411143
@@ -60736,10 +60743,10 @@ Disassembly of section .debug_frame:
  334:	04 9d 03 9e 	stbu    r16,-25340(r3)
 static bool kvmhv_invalidate_shadow_pte(struct kvm_vcpu *vcpu,
  338:	02 9f 01 11 	.long 0x11019f02
- 33c:	41 7e 11 48 	bl      11817c <kvmhv_nested_next_lpid+0x1146a4>
- 340:	7f 44 db 41 	bsola-  cr6,447c <kvmhv_nested_next_lpid+0x9a4>
- 344:	dc 41 dd 41 	bgt-    cr7,4520 <kvmhv_nested_next_lpid+0xa48>
- 348:	df 41 06 41 	bdnztla 4*cr1+eq,41dc <kvmhv_nested_next_lpid+0x704>
+ 33c:	41 7e 11 48 	bl      11817c <kvmhv_nested_next_lpid+0x1146b4>
+ 340:	7f 44 db 41 	bsola-  cr6,447c <kvmhv_nested_next_lpid+0x9b4>
+ 344:	dc 41 dd 41 	bgt-    cr7,4520 <kvmhv_nested_next_lpid+0xa58>
+ 348:	df 41 06 41 	bdnztla 4*cr1+eq,41dc <kvmhv_nested_next_lpid+0x714>
  34c:	44 9b 05 9c 	stbu    r0,-25788(r5)
  350:	04 9d 03 9f 	stbu    r24,-25340(r3)
 	int shift;
@@ -60757,7 +60764,7 @@ static bool kvmhv_invalidate_shadow_pte(
 	int shift;
  384:	41 df de 44 	.long 0x44dedf41
  388:	0b 41 0a 0e 	twlti   r10,16651
- 38c:	00 45 06 41 	bdnzt   4*cr1+eq,488c <kvmhv_nested_next_lpid+0xdb4>
+ 38c:	00 45 06 41 	bdnzt   4*cr1+eq,488c <kvmhv_nested_next_lpid+0xdc4>
 	return idr_find(&kvm->arch.kvm_nested_guest_idr, lpid);
  390:	df de 42 0b 	tdi     26,r2,-8481
  394:	00 00 00 00 	.long 0x0
@@ -60773,7 +60780,7 @@ static bool kvmhv_invalidate_shadow_pte(
 	if (!shift)
  3c0:	97 09 41 98 	stb     r2,2455(r1)
 	pte = __find_linux_pte(gp->shadow_pgtable, ea, NULL, hshift);
- 3c4:	08 6c d7 41 	bso-    cr5,6fcc <kvmhv_nested_next_lpid+0x34f4>
+ 3c4:	08 6c d7 41 	bso-    cr5,6fcc <kvmhv_nested_next_lpid+0x3504>
 	if (!shift)
  3c8:	d8 48 0e 00 	.long 0xe48d8
  3cc:	44 06 41 df 	stfdu   f26,1604(r1)
@@ -60784,36 +60791,36 @@ static bool kvmhv_invalidate_shadow_pte(
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_PRESENT | _PAGE_PTE)) ==
  3dc:	01 11 41 7e 	.long 0x7e411101
 	if (pte_hw_valid(pte))
- 3e0:	4e 9e 02 42 	bca     16,eq,ffff9e4c <kvmhv_nested_next_lpid+0xffff6374>
+ 3e0:	4e 9e 02 42 	bca     16,eq,ffff9e4c <kvmhv_nested_next_lpid+0xffff6384>
  3e4:	8f 11 41 90 	stw     r2,4495(r1)
 	return (pte_raw(pte) & cpu_to_be64(_PAGE_INVALID | _PAGE_PTE)) ==
  3e8:	10 41 91 0f 	twi     28,r17,16656
- 3ec:	41 92 0e 41 	bdnztl  4*cr3+eq,ffffffffffff962c <kvmhv_nested_next_lpid+0xffffffffffff5b54>
+ 3ec:	41 92 0e 41 	bdnztl  4*cr3+eq,ffffffffffff962c <kvmhv_nested_next_lpid+0xffffffffffff5b64>
  3f0:	93 0d 41 94 	stwu    r2,3475(r1)
 	if (unlikely(ms->mmiowb_pending)) {
  3f4:	0c 41 95 0b 	tdi     28,r21,16652
 	struct mmiowb_state *ms = __mmiowb_state();
- 3f8:	41 96 0a 41 	bdnztl  4*cr2+eq,ffffffffffff9a38 <kvmhv_nested_next_lpid+0xffffffffffff5f60>
+ 3f8:	41 96 0a 41 	bdnztl  4*cr2+eq,ffffffffffff9a38 <kvmhv_nested_next_lpid+0xffffffffffff5f70>
 	if (unlikely(ms->mmiowb_pending)) {
  3fc:	9a 06 41 9b 	stb     r26,1690(r1)
  400:	05 41 9c 04 	.long 0x49c4105
 	ms->nesting_count--;
- 404:	41 9d 03 41 	bdnztl  so,ffffffffffffa144 <kvmhv_nested_next_lpid+0xffffffffffff666c>
+ 404:	41 9d 03 41 	bdnztl  so,ffffffffffffa144 <kvmhv_nested_next_lpid+0xffffffffffff667c>
  408:	cf d0 d1 d2 	stfs    f22,-12081(r17)
  40c:	d3 d4 d5 d6 	stfsu   f22,-11053(r21)
  410:	d7 d8 da db 	stfd    f30,-10025(r26)
  414:	dc dd de 44 	.long 0x44dedddc
  418:	97 09 98 08 	tdeqi   r24,2455
 	if (shift_ret)
- 41c:	4d 9e 02 41 	bdnztl  eq,ffffffffffffa268 <kvmhv_nested_next_lpid+0xffffffffffff6790>
+ 41c:	4d 9e 02 41 	bdnztl  eq,ffffffffffffa268 <kvmhv_nested_next_lpid+0xffffffffffff67a0>
  420:	8f 11 41 90 	stw     r2,4495(r1)
 		*shift_ret = shift;
  424:	10 41 91 0f 	twi     28,r17,16656
- 428:	41 92 0e 41 	bdnztl  4*cr3+eq,ffffffffffff9668 <kvmhv_nested_next_lpid+0xffffffffffff5b90>
+ 428:	41 92 0e 41 	bdnztl  4*cr3+eq,ffffffffffff9668 <kvmhv_nested_next_lpid+0xffffffffffff5ba0>
 }
  42c:	93 0d 41 94 	stwu    r2,3475(r1)
  430:	0c 41 95 0b 	tdi     28,r21,16652
- 434:	41 96 0a 41 	bdnztl  4*cr2+eq,ffffffffffff9a74 <kvmhv_nested_next_lpid+0xffffffffffff5f9c>
+ 434:	41 96 0a 41 	bdnztl  4*cr2+eq,ffffffffffff9a74 <kvmhv_nested_next_lpid+0xffffffffffff5fac>
  438:	9a 06 41 9b 	stb     r26,1690(r1)
  43c:	05 41 9c 04 	.long 0x49c4105
  440:	41 9d 03 03 	.long 0x3039d41
@@ -60854,17 +60861,17 @@ static bool kvmhv_invalidate_shadow_pte(
 	if (!shift)
  4b0:	dd de 41 9e 	stbu    r18,-8483(r1)
  4b4:	02 41 8f 11 	vmaxsb  v12,v15,v8
- 4b8:	42 90 10 41 	bdnzta  4*cr4+lt,ffff9040 <kvmhv_nested_next_lpid+0xffff5568>
+ 4b8:	42 90 10 41 	bdnzta  4*cr4+lt,ffff9040 <kvmhv_nested_next_lpid+0xffff5578>
 		shift = PAGE_SHIFT;
  4bc:	91 0f 41 92 	stw     r18,3985(r1)
  4c0:	0e 41 93 0d 	twgei   r19,16654
 	if (ptep && pte_present(*ptep)) {
- 4c4:	41 94 0c 41 	bdnztl  4*cr3+lt,ffffffffffff9904 <kvmhv_nested_next_lpid+0xffffffffffff5e2c>
+ 4c4:	41 94 0c 41 	bdnztl  4*cr3+lt,ffffffffffff9904 <kvmhv_nested_next_lpid+0xffffffffffff5e3c>
 }
  4c8:	95 0b 41 96 	stwu    r18,2965(r1)
  4cc:	0a 41 9a 06 	.long 0x69a410a
 {
- 4d0:	41 9b 05 41 	bdnztl  4*cr1+gt,ffffffffffffa010 <kvmhv_nested_next_lpid+0xffffffffffff6538>
+ 4d0:	41 9b 05 41 	bdnztl  4*cr1+gt,ffffffffffffa010 <kvmhv_nested_next_lpid+0xffffffffffff6548>
  4d4:	9c 04 41 9d 	stbu    r10,1180(r1)
 	hr->pcr = vc->pcr | PCR_MASK;
  4d8:	03 47 0a cf 	lfdu    f24,18179(r10)
@@ -60885,49 +60892,49 @@ static bool kvmhv_invalidate_shadow_pte(
  504:	dd de 41 8f 	lbzu    r26,-8483(r1)
  508:	11 41 90 10 	mulchwu. r4,r16,r8
 	hr->tb_offset = vc->tb_offset;
- 50c:	41 91 0f 41 	bdnztl  4*cr3+so,ffffffffffff964c <kvmhv_nested_next_lpid+0xffffffffffff5b74>
+ 50c:	41 91 0f 41 	bdnztl  4*cr3+so,ffffffffffff964c <kvmhv_nested_next_lpid+0xffffffffffff5b84>
  510:	92 0e 41 93 	stw     r26,3730(r1)
 	hr->dawr0 = vcpu->arch.dawr0;
  514:	0d 41 94 0c 	tweqi   r20,16653
- 518:	41 95 0b 41 	bdnztl  4*cr2+so,ffffffffffff9a58 <kvmhv_nested_next_lpid+0xffffffffffff5f80>
+ 518:	41 95 0b 41 	bdnztl  4*cr2+so,ffffffffffff9a58 <kvmhv_nested_next_lpid+0xffffffffffff5f90>
 	hr->dawrx0 = vcpu->arch.dawrx0;
  51c:	96 0a 41 97 	stwu    r26,2710(r1)
  520:	09 41 98 08 	tdeqi   r24,16649
 	hr->ciabr = vcpu->arch.ciabr;
- 524:	41 9a 06 41 	bdnztl  4*cr1+eq,ffffffffffff9f64 <kvmhv_nested_next_lpid+0xffffffffffff648c>
+ 524:	41 9a 06 41 	bdnztl  4*cr1+eq,ffffffffffff9f64 <kvmhv_nested_next_lpid+0xffffffffffff649c>
  528:	9b 05 41 9c 	stbu    r2,1435(r1)
 	hr->purr = vcpu->arch.purr;
  52c:	04 41 9d 03 	.long 0x39d4104
  530:	41 9e 02 00 	.long 0x29e41
 	hr->spurr = vcpu->arch.spurr;
  534:	00 00 00 00 	.long 0x0
- 538:	7c 00 00 00 	.long 0x7c
+ 538:	84 00 00 00 	.long 0x84
 	...
 	hr->vtb = vc->vtb;
- 548:	9c 02 00 00 	.long 0x29c
+ 548:	90 02 00 00 	.long 0x290
 	hr->srr0 = vcpu->arch.shregs.srr0;
  54c:	00 00 00 00 	.long 0x0
  550:	47 9f 01 97 	stwu    r24,-24761(r1)
 	hr->srr1 = vcpu->arch.shregs.srr1;
  554:	09 48 0e 70 	andi.   r14,r0,18441
- 558:	98 08 9a 06 	.long 0x69a0898
+ 558:	98 08 99 07 	.long 0x7990898
 	hr->sprg[0] = vcpu->arch.shregs.sprg0;
- 55c:	11 48 7f 9b 	stb     r27,18449(r31)
- 560:	05 9d 03 9e 	stbu    r16,-25339(r3)
+ 55c:	11 48 7f 9a 	stb     r19,18449(r31)
+ 560:	06 9d 03 9e 	stbu    r16,-25338(r3)
 	hr->sprg[1] = vcpu->arch.shregs.sprg1;
- 564:	02 4f 09 41 	bdnzta  4*cr2+gt,4f00 <kvmhv_nested_next_lpid+0x1428>
- 568:	00 43 9c 04 	.long 0x49c4300
+ 564:	02 4f 09 41 	bdnzta  4*cr2+gt,4f00 <kvmhv_nested_next_lpid+0x1438>
+ 568:	00 43 9b 05 	.long 0x59b4300
 	hr->sprg[2] = vcpu->arch.shregs.sprg2;
  56c:	41 11 41 7e 	.long 0x7e411141
- 570:	4b 99 07 63 	ori     r7,r24,39243
+ 570:	4b 9c 04 63 	ori     r4,r24,40011
 	hr->sprg[3] = vcpu->arch.shregs.sprg3;
- 574:	d9 45 dc 41 	bltl-   cr7,4b4c <kvmhv_nested_next_lpid+0x1074>
+ 574:	dc 45 db 41 	bso-    cr6,4b50 <kvmhv_nested_next_lpid+0x1088>
  578:	06 41 41 0e 	twi     18,r1,16646
 	hr->pidr = vcpu->arch.pid;
- 57c:	00 4a 06 48 	b       64f7c <kvmhv_nested_next_lpid+0x614a4>
- 580:	df de dd db 	stfd    f30,-8481(r29)
+ 57c:	00 4a 06 48 	b       64f7c <kvmhv_nested_next_lpid+0x614b4>
+ 580:	df de dd da 	stfd    f22,-8481(r29)
 	hr->cfar = vcpu->arch.cfar;
- 584:	da d8 d7 41 	bsoa-   cr5,ffffd8d8 <kvmhv_nested_next_lpid+0xffff9e00>
+ 584:	d9 d8 d7 41 	bsol-   cr5,ffffffffffffde5c <kvmhv_nested_next_lpid+0xffffffffffffa394>
  588:	0e 70 97 09 	tdgei   r23,28686
 	hr->ppr = vcpu->arch.ppr;
  58c:	98 08 99 07 	.long 0x7990898
@@ -60937,417 +60944,425 @@ static bool kvmhv_invalidate_shadow_pte(
  598:	9e 02 9f 01 	.long 0x19f029e
 	hr->dawrx1 = vcpu->arch.dawrx1;
  59c:	11 41 7e 11 	mulchwu. r11,r30,r8
- 5a0:	48 7f 64 d9 	stfd    f11,32584(r4)
+ 5a0:	48 7f 64 dc 	stfdu   f3,32584(r4)
 }
- 5a4:	44 99 07 4c 	addpcis r0,-26290
- 5a8:	d9 42 dc 42 	.long 0x42dc42d9
- 5ac:	06 41 48 99 	stb     r10,16646(r8)
+ 5a4:	44 9c 04 4c 	addpcis r0,-25528
+ 5a8:	db dc 06 41 	bdnztla 4*cr1+eq,ffffdcd8 <kvmhv_nested_next_lpid+0xffffa210>
+ 5ac:	44 9b 05 9c 	stbu    r0,-25788(r5)
 {
- 5b0:	07 9c 04 11 	vcmpneb. v8,v4,v19
- 5b4:	41 7e 00 00 	.long 0x7e41
+ 5b0:	04 11 41 7e 	.long 0x7e411104
+ 5b4:	45 dc 42 db 	stfd    f26,-9147(r2)
+	vc->dpdes = hr->dpdes;
+ 5b8:	42 06 41 00 	.long 0x410642
+	struct kvmppc_vcore *vc = vcpu->arch.vcore;
+ 5bc:	00 00 00 00 	.long 0x0
 	vc->dpdes = hr->dpdes;
- 5b8:	44 00 00 00 	.long 0x44
+ 5c0:	44 00 00 00 	.long 0x44
 	...
-	vcpu->arch.hfscr = hr->hfscr;
- 5c8:	a0 01 00 00 	.long 0x1a0
 	vcpu->arch.purr = hr->purr;
- 5cc:	00 00 00 00 	.long 0x0
- 5d0:	4c 09 41 00 	.long 0x41094c
+ 5d0:	a0 01 00 00 	.long 0x1a0
 	vcpu->arch.spurr = hr->spurr;
- 5d4:	9c 04 9d 03 	.long 0x39d049c
- 5d8:	9b 05 9f 01 	.long 0x19f059b
+ 5d4:	00 00 00 00 	.long 0x0
+ 5d8:	4c 09 41 00 	.long 0x41094c
 	vcpu->arch.ic = hr->ic;
- 5dc:	45 0e 60 11 	.long 0x11600e45
- 5e0:	41 7e 5d 9e 	stbu    r18,32321(r29)
+ 5dc:	9c 04 9d 03 	.long 0x39d049c
+ 5e0:	9b 05 9f 01 	.long 0x19f059b
 	vc->vtb = hr->vtb;
- 5e4:	02 43 9a 06 	.long 0x69a4302
- 5e8:	5f da 41 de 	stfdu   f18,-9633(r1)
+ 5e4:	45 0e 60 11 	.long 0x11600e45
+ 5e8:	41 7e 5d 9e 	stbu    r18,32321(r29)
 	vcpu->arch.fault_dar = hr->hdar;
- 5ec:	48 0a 0e 00 	.long 0xe0a48
- 5f0:	46 06 41 df 	stfdu   f26,1606(r1)
+ 5ec:	02 43 9a 06 	.long 0x69a4302
+ 5f0:	5f da 41 de 	stfdu   f18,-9633(r1)
 	vcpu->arch.fault_dsisr = hr->hdsisr;
- 5f4:	dd dc db 43 	.long 0x43dbdcdd
- 5f8:	0b 43 9a 06 	.long 0x69a430b
+ 5f4:	48 0a 0e 00 	.long 0xe0a48
+ 5f8:	46 06 41 df 	stfdu   f26,1606(r1)
 	vcpu->arch.fault_gpa = hr->asdr;
- 5fc:	41 9e 02 00 	.long 0x29e41
- 600:	2c 00 00 00 	.long 0x2c
+ 5fc:	dd dc db 43 	.long 0x43dbdcdd
+ 600:	0b 43 9a 06 	.long 0x69a430b
+	vcpu->arch.emul_inst = hr->heir;
+ 604:	41 9e 02 00 	.long 0x29e41
+ 608:	2c 00 00 00 	.long 0x2c
 	...
-	vcpu->arch.shregs.srr0 = hr->srr0;
- 610:	74 00 00 00 	.long 0x74
 	vcpu->arch.shregs.srr1 = hr->srr1;
- 614:	00 00 00 00 	.long 0x0
- 618:	49 09 41 00 	.long 0x410949
+ 618:	74 00 00 00 	.long 0x74
 	vcpu->arch.shregs.sprg0 = hr->sprg[0];
- 61c:	9e 02 9f 01 	.long 0x19f029e
- 620:	44 0e 30 11 	.long 0x11300e44
+ 61c:	00 00 00 00 	.long 0x0
+ 620:	49 09 41 00 	.long 0x410949
 	vcpu->arch.shregs.sprg1 = hr->sprg[1];
- 624:	41 7e 4b 0e 	twi     18,r11,32321
- 628:	00 44 06 41 	bdnzt   4*cr1+eq,4a28 <kvmhv_nested_next_lpid+0xf50>
+ 624:	9e 02 9f 01 	.long 0x19f029e
+ 628:	44 0e 30 11 	.long 0x11300e44
 	vcpu->arch.shregs.sprg2 = hr->sprg[2];
- 62c:	df de 00 00 	.long 0xdedf
- 630:	4c 00 00 00 	.long 0x4c
+ 62c:	41 7e 4b 0e 	twi     18,r11,32321
+ 630:	00 44 06 41 	bdnzt   4*cr1+eq,4a30 <kvmhv_nested_next_lpid+0xf68>
+	vcpu->arch.shregs.sprg3 = hr->sprg[3];
+ 634:	df de 00 00 	.long 0xdedf
+ 638:	4c 00 00 00 	.long 0x4c
 	...
-	vcpu->arch.pid = hr->pidr;
- 640:	2c 01 00 00 	.long 0x12c
 	vcpu->arch.cfar = hr->cfar;
- 644:	00 00 00 00 	.long 0x0
- 648:	46 0e 30 9e 	stbu    r17,3654(r16)
+ 648:	2c 01 00 00 	.long 0x12c
 	vcpu->arch.ppr = hr->ppr;
- 64c:	02 47 9f 01 	.long 0x19f4702
- 650:	4b 09 41 00 	.long 0x41094b
+ 64c:	00 00 00 00 	.long 0x0
+ 650:	46 0e 30 9e 	stbu    r17,3654(r16)
 }
- 654:	42 11 41 7e 	.long 0x7e411142
- 658:	49 df 41 0e 	twi     18,r1,-8375
- 65c:	00 42 06 41 	bdnzt   4*cr1+eq,485c <kvmhv_nested_next_lpid+0xd84>
- 660:	de 44 0e 30 	addic   r0,r14,17630
- 664:	9e 02 9f 01 	.long 0x19f029e
-{
- 668:	4c 11 41 7e 	dcbtls  18,r1,r2
- 66c:	4c 06 41 41 	bdzt    gt,cb8 <kvmhv_emulate_tlbie_lpid.isra.0+0x1d0>
- 670:	df 41 0e 00 	.long 0xe41df
- 674:	41 de 41 0e 	twi     18,r1,-8639
- 678:	30 9e 02 42 	bc      16,eq,ffffffffffffa4a8 <kvmhv_nested_next_lpid+0xffffffffffff69d0>
+ 654:	02 47 9f 01 	.long 0x19f4702
+ 658:	4b 09 41 00 	.long 0x41094b
+ 65c:	42 11 41 7e 	.long 0x7e411142
+ 660:	49 df 41 0e 	twi     18,r1,-8375
+ 664:	00 42 06 41 	bdnzt   4*cr1+eq,4864 <kvmhv_nested_next_lpid+0xd9c>
+{
+ 668:	de 44 0e 30 	addic   r0,r14,17630
+ 66c:	9e 02 9f 01 	.long 0x19f029e
+ 670:	4c 11 41 7e 	dcbtls  18,r1,r2
+ 674:	4c 06 41 41 	bdzt    gt,cc0 <kvmhv_emulate_tlbie_lpid.isra.0+0x1d8>
+ 678:	df 41 0e 00 	.long 0xe41df
 		return 0;
- 67c:	0e 00 42 de 	stfdu   f18,14(r2)
- 680:	a4 00 00 00 	.long 0xa4
+ 67c:	41 de 41 0e 	twi     18,r1,-8639
+ 680:	30 9e 02 42 	bc      16,eq,ffffffffffffa4b0 <kvmhv_nested_next_lpid+0xffffffffffff69e8>
+ 684:	0e 00 42 de 	stfdu   f18,14(r2)
+ 688:	a4 00 00 00 	.long 0xa4
 	...
- 690:	8c 02 00 00 	.long 0x28c
 {
- 694:	00 00 00 00 	.long 0x0
- 698:	47 0e 80 01 	.long 0x1800e47
+ 698:	8c 02 00 00 	.long 0x28c
 			return kmalloc_large(size, flags);
- 69c:	9f 01 4a 9c 	stbu    r2,415(r10)
- 6a0:	04 44 09 41 	bdnzt   4*cr2+gt,4aa4 <kvmhv_nested_next_lpid+0xfcc>
- 6a4:	00 41 96 0a 	tdlei   r22,16640
- 6a8:	41 97 09 43 	bcl-    24,4*cr2+gt,ffffffffffff9de8 <kvmhv_nested_next_lpid+0xffffffffffff6310>
- 6ac:	98 08 41 99 	stb     r10,2200(r1)
- 6b0:	07 43 9a 06 	.long 0x69a4307
+ 69c:	00 00 00 00 	.long 0x0
+ 6a0:	47 0e 80 01 	.long 0x1800e47
+ 6a4:	9f 01 4a 9c 	stbu    r2,415(r10)
+ 6a8:	04 44 09 41 	bdnzt   4*cr2+gt,4aac <kvmhv_nested_next_lpid+0xfe4>
+ 6ac:	00 41 96 0a 	tdlei   r22,16640
+ 6b0:	41 97 09 43 	bcl-    24,4*cr2+gt,ffffffffffff9df0 <kvmhv_nested_next_lpid+0xffffffffffff6328>
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
- 6b4:	41 9b 05 43 	bcl-    24,4*cr1+gt,ffffffffffffa1f4 <kvmhv_nested_next_lpid+0xffffffffffff671c>
-	if (unlikely(!pseries_partition_tb)) {
- 6b8:	11 41 7e 41 	bdztl   4*cr7+eq,47c8 <kvmhv_nested_next_lpid+0xcf0>
+ 6b4:	98 08 41 99 	stb     r10,2200(r1)
+	if (!pseries_partition_tb) {
+ 6b8:	07 43 9a 06 	.long 0x69a4307
 	pseries_partition_tb = kmalloc(sizeof(struct patb_entry) << ptb_order,
- 6bc:	9d 03 41 9e 	stbu    r18,925(r1)
- 6c0:	02 02 40 d6 	.long 0xd6400202
-	if (unlikely(!pseries_partition_tb)) {
- 6c4:	41 d7 41 d8 	stfd    f2,-10431(r1)
+ 6bc:	41 9b 05 43 	bcl-    24,4*cr1+gt,ffffffffffffa1fc <kvmhv_nested_next_lpid+0xffffffffffff6734>
+ 6c0:	11 41 7e 41 	bdztl   4*cr7+eq,47d0 <kvmhv_nested_next_lpid+0xd08>
+	if (!pseries_partition_tb) {
+ 6c4:	9d 03 41 9e 	stbu    r18,925(r1)
 	ptcr = __pa(pseries_partition_tb) | (ptb_order - 12);
- 6c8:	41 d9 41 da 	stfd    f18,-9919(r1)
+ 6c8:	02 02 40 d6 	.long 0xd6400202
 	rc = plpar_hcall_norets(H_SET_PARTITION_TABLE, ptcr);
- 6cc:	41 db 41 dc 	stfdu   f2,-9407(r1)
- 6d0:	41 dd 41 de 	stfdu   f18,-8895(r1)
- 6d4:	41 06 41 46 	.long 0x46410641
- 6d8:	0e 00 41 df 	stfdu   f26,14(r1)
- 6dc:	42 0e 80 01 	.long 0x1800e42
+ 6cc:	41 d7 41 d8 	stfd    f2,-10431(r1)
+ 6d0:	41 d9 41 da 	stfd    f18,-9919(r1)
+ 6d4:	41 db 41 dc 	stfdu   f2,-9407(r1)
+ 6d8:	41 dd 41 de 	stfdu   f18,-8895(r1)
+ 6dc:	41 06 41 46 	.long 0x46410641
 	if (rc != H_SUCCESS) {
- 6e0:	96 0a 97 09 	tdgei   r23,2710
- 6e4:	98 08 99 07 	.long 0x7990898
+ 6e0:	0e 00 41 df 	stfdu   f26,14(r1)
+ 6e4:	42 0e 80 01 	.long 0x1800e42
 		return 0;
- 6e8:	9a 06 9b 05 	.long 0x59b069a
+ 6e8:	96 0a 97 09 	tdgei   r23,2710
 }
- 6ec:	9c 04 9d 03 	.long 0x39d049c
- 6f0:	9e 02 9f 01 	.long 0x19f029e
- 6f4:	11 41 7e 5e 	rlwnm.  r30,r19,r8,4,8
- 6f8:	d6 d7 d8 d9 	stfd    f14,-10282(r24)
- 6fc:	da db dd de 	stfdu   f22,-9254(r29)
+ 6ec:	98 08 99 07 	.long 0x7990898
+ 6f0:	9a 06 9b 05 	.long 0x59b069a
+ 6f4:	9c 04 9d 03 	.long 0x39d049c
+ 6f8:	9e 02 9f 01 	.long 0x19f029e
+ 6fc:	11 41 7e 5e 	rlwnm.  r30,r19,r8,4,8
 		return -ENODEV;
- 700:	06 41 41 dc 	stfdu   f2,16646(r1)
+ 700:	d6 d7 d8 d9 	stfd    f14,-10282(r24)
 }
- 704:	42 09 41 00 	.long 0x410942
+ 704:	da db dd de 	stfdu   f22,-9254(r29)
 		pr_err("kvm-hv: Parent hypervisor does not support nesting (rc=%ld)\n",
- 708:	41 96 0a 41 	bdnztl  4*cr2+eq,ffffffffffff9d48 <kvmhv_nested_next_lpid+0xffffffffffff6270>
- 70c:	97 09 41 98 	stb     r2,2455(r1)
- 710:	08 41 99 07 	.long 0x7994108
- 714:	41 11 41 7e 	.long 0x7e411141
+ 708:	06 41 41 dc 	stfdu   f2,16646(r1)
+ 70c:	42 09 41 00 	.long 0x410942
+ 710:	41 96 0a 41 	bdnztl  4*cr2+eq,ffffffffffff9d50 <kvmhv_nested_next_lpid+0xffffffffffff6288>
+ 714:	97 09 41 98 	stb     r2,2455(r1)
 		kfree(pseries_partition_tb);
- 718:	41 9a 06 41 	bdnztl  4*cr1+eq,ffffffffffffa158 <kvmhv_nested_next_lpid+0xffffffffffff6680>
- 71c:	9b 05 41 9c 	stbu    r2,1435(r1)
- 720:	04 41 9d 03 	.long 0x39d4104
+ 718:	08 41 99 07 	.long 0x7994108
+ 71c:	41 11 41 7e 	.long 0x7e411141
+ 720:	41 9a 06 41 	bdnztl  4*cr1+eq,ffffffffffffa160 <kvmhv_nested_next_lpid+0xffffffffffff6698>
 		pseries_partition_tb = NULL;
- 724:	41 9e 02 00 	.long 0x29e41
+ 724:	9b 05 41 9c 	stbu    r2,1435(r1)
 		return -ENODEV;
- 728:	bc 00 00 00 	.long 0xbc
+ 728:	04 41 9d 03 	.long 0x39d4104
+		pseries_partition_tb = NULL;
+ 72c:	41 9e 02 00 	.long 0x29e41
+		return -ENODEV;
+ 730:	bc 00 00 00 	.long 0xbc
 	...
 		pr_err("kvm-hv: failed to allocated nested partition table\n");
- 738:	d4 02 00 00 	.long 0x2d4
- 73c:	00 00 00 00 	.long 0x0
- 740:	46 0e b0 01 	.long 0x1b00e46
+ 740:	d4 02 00 00 	.long 0x2d4
 		return -ENOMEM;
- 744:	93 0d 46 94 	stwu    r2,3475(r6)
- 748:	0c 41 97 09 	tdgei   r23,16652
- 74c:	44 99 07 48 	b       7a090 <kvmhv_nested_next_lpid+0x765b8>
- 750:	09 41 00 41 	bdnztl  lt,4858 <kvmhv_nested_next_lpid+0xd80>
- 754:	92 0e 41 95 	stwu    r10,3730(r1)
-{
- 758:	0b 43 96 0a 	tdlei   r22,17163
- 75c:	41 98 08 43 	bcl-    24,4*cr2+lt,ffffffffffff9f9c <kvmhv_nested_next_lpid+0xffffffffffff64c4>
- 760:	9a 06 42 11 	vextduhvlx v10,v2,v0,r26
- 764:	41 7e 41 91 	stw     r10,32321(r1)
- 768:	0f 41 9b 05 	.long 0x59b410f
- 76c:	41 9c 04 41 	bdnztl  4*cr1+lt,ffffffffffffa3ac <kvmhv_nested_next_lpid+0xffffffffffff68d4>
+ 744:	00 00 00 00 	.long 0x0
+ 748:	46 0e b0 01 	.long 0x1b00e46
+ 74c:	93 0d 46 94 	stwu    r2,3475(r6)
+ 750:	0c 41 97 09 	tdgei   r23,16652
+ 754:	44 99 07 48 	b       7a098 <kvmhv_nested_next_lpid+0x765d0>
+{
+ 758:	09 41 00 41 	bdnztl  lt,4860 <kvmhv_nested_next_lpid+0xd98>
+ 75c:	92 0e 41 95 	stwu    r10,3730(r1)
+ 760:	0b 43 96 0a 	tdlei   r22,17163
+ 764:	41 98 08 43 	bcl-    24,4*cr2+lt,ffffffffffff9fa4 <kvmhv_nested_next_lpid+0xffffffffffff64dc>
+ 768:	9a 06 42 11 	vextduhvlx v10,v2,v0,r26
+ 76c:	41 7e 41 91 	stw     r10,32321(r1)
 	if (kvmhv_on_pseries() && pseries_partition_tb) {
- 770:	9d 03 41 9e 	stbu    r18,925(r1)
+ 770:	0f 41 9b 05 	.long 0x59b410f
 {
- 774:	02 41 9f 01 	.long 0x19f4102
- 778:	02 5f d1 41 	bgta-   cr4,5f00 <kvmhv_nested_next_lpid+0x2428>
+ 774:	41 9c 04 41 	bdnztl  4*cr1+lt,ffffffffffffa3b4 <kvmhv_nested_next_lpid+0xffffffffffff68ec>
+ 778:	9d 03 41 9e 	stbu    r18,925(r1)
 	if (kvmhv_on_pseries() && pseries_partition_tb) {
- 77c:	d2 41 d4 41 	blta-   cr5,41d0 <kvmhv_nested_next_lpid+0x6f8>
- 780:	d5 41 d6 41 	beql-   cr5,4954 <kvmhv_nested_next_lpid+0xe7c>
- 784:	d7 41 d8 41 	bltla-  cr6,41d4 <kvmhv_nested_next_lpid+0x6fc>
- 788:	d9 41 da 41 	beql-   cr6,4960 <kvmhv_nested_next_lpid+0xe88>
+ 77c:	02 41 9f 01 	.long 0x19f4102
+ 780:	02 5f d1 41 	bgta-   cr4,5f00 <kvmhv_nested_next_lpid+0x2438>
+ 784:	d2 41 d4 41 	blta-   cr5,41d0 <kvmhv_nested_next_lpid+0x708>
+ 788:	d5 41 d6 41 	beql-   cr5,495c <kvmhv_nested_next_lpid+0xe94>
 		plpar_hcall_norets(H_SET_PARTITION_TABLE, 0);
- 78c:	06 41 41 db 	stfd    f26,16646(r1)
- 790:	41 dc 41 dd 	stfdu   f10,-9151(r1)
- 794:	41 de 41 df 	stfdu   f26,-8639(r1)
- 798:	46 0e 00 41 	bdnzta  lt,e44 <kvmhv_set_partition_table+0xfc>
- 79c:	d3 41 0e b0 	sth     r0,16851(r14)
- 7a0:	01 93 0d 94 	stwu    r0,-27903(r13)
- 7a4:	0c 97 09 99 	stb     r8,-26868(r9)
+ 78c:	d7 41 d8 41 	bltla-  cr6,41d4 <kvmhv_nested_next_lpid+0x70c>
+ 790:	d9 41 da 41 	beql-   cr6,4968 <kvmhv_nested_next_lpid+0xea0>
+ 794:	06 41 41 db 	stfd    f26,16646(r1)
+ 798:	41 dc 41 dd 	stfdu   f10,-9151(r1)
+ 79c:	41 de 41 df 	stfdu   f26,-8639(r1)
+ 7a0:	46 0e 00 41 	bdnzta  lt,e44 <kvmhv_set_partition_table+0xfc>
+ 7a4:	d3 41 0e b0 	sth     r0,16851(r14)
 		kfree(pseries_partition_tb);
- 7a8:	07 41 d4 41 	bltla-  cr5,4104 <kvmhv_nested_next_lpid+0x62c>
- 7ac:	d7 41 d9 42 	.long 0x42d941d7
- 7b0:	09 41 00 41 	bdnztl  lt,48b8 <kvmhv_nested_next_lpid+0xde0>
+ 7a8:	01 93 0d 94 	stwu    r0,-27903(r13)
+ 7ac:	0c 97 09 99 	stb     r8,-26868(r9)
+ 7b0:	07 41 d4 41 	bltla-  cr5,4104 <kvmhv_nested_next_lpid+0x63c>
 		pseries_partition_tb = NULL;
- 7b4:	91 0f 41 92 	stw     r18,3985(r1)
- 7b8:	0e 41 94 0c 	tweqi   r20,16654
- 7bc:	41 95 0b 41 	bdnztl  4*cr2+so,ffffffffffff9cfc <kvmhv_nested_next_lpid+0xffffffffffff6224>
- 7c0:	11 41 7e 41 	bdztl   4*cr7+eq,48d0 <kvmhv_nested_next_lpid+0xdf8>
-}
- 7c4:	96 0a 41 97 	stwu    r26,2710(r1)
- 7c8:	09 41 98 08 	tdeqi   r24,16649
- 7cc:	41 99 07 41 	bdnztl  4*cr1+so,ffffffffffffa10c <kvmhv_nested_next_lpid+0xffffffffffff6634>
- 7d0:	9a 06 41 9b 	stb     r26,1690(r1)
- 7d4:	05 41 9c 04 	.long 0x49c4105
-{
- 7d8:	41 9d 03 41 	bdnztl  so,ffffffffffffa518 <kvmhv_nested_next_lpid+0xffffffffffff6a40>
- 7dc:	9e 02 41 9f 	stbu    r26,670(r1)
- 7e0:	01 00 00 00 	.long 0x1
- 7e4:	00 00 00 00 	.long 0x0
- 7e8:	9c 00 00 00 	.long 0x9c
-	...
- 7f8:	58 02 00 00 	.long 0x258
+ 7b4:	d7 41 d9 42 	.long 0x42d941d7
+ 7b8:	09 41 00 41 	bdnztl  lt,48c0 <kvmhv_nested_next_lpid+0xdf8>
+ 7bc:	91 0f 41 92 	stw     r18,3985(r1)
+ 7c0:	0e 41 94 0c 	tweqi   r20,16654
+}
+ 7c4:	41 95 0b 41 	bdnztl  4*cr2+so,ffffffffffff9d04 <kvmhv_nested_next_lpid+0xffffffffffff623c>
+ 7c8:	11 41 7e 41 	bdztl   4*cr7+eq,48d8 <kvmhv_nested_next_lpid+0xe10>
+ 7cc:	96 0a 41 97 	stwu    r26,2710(r1)
+ 7d0:	09 41 98 08 	tdeqi   r24,16649
+ 7d4:	41 99 07 41 	bdnztl  4*cr1+so,ffffffffffffa114 <kvmhv_nested_next_lpid+0xffffffffffff664c>
+{
+ 7d8:	9a 06 41 9b 	stb     r26,1690(r1)
+ 7dc:	05 41 9c 04 	.long 0x49c4105
+ 7e0:	41 9d 03 41 	bdnztl  so,ffffffffffffa520 <kvmhv_nested_next_lpid+0xffffffffffff6a58>
+ 7e4:	9e 02 41 9f 	stbu    r26,670(r1)
+ 7e8:	01 00 00 00 	.long 0x1
+ 7ec:	00 00 00 00 	.long 0x0
 		mmu_partition_table_set_entry(lpid, dw0, dw1, true);
- 7fc:	00 00 00 00 	.long 0x0
- 800:	46 0e 60 9d 	.long 0x9d600e46
+ 7f0:	9c 00 00 00 	.long 0x9c
+	...
+ 800:	58 02 00 00 	.long 0x258
 }
- 804:	03 4a 9e 02 	.long 0x29e4a03
- 808:	4f 09 41 00 	.long 0x41094f
- 80c:	44 11 41 7e 	.long 0x7e411144
- 810:	45 de 42 06 	.long 0x642de45
- 814:	41 46 0e 00 	.long 0xe4641
- 818:	41 dd 41 0e 	twi     18,r1,-8895
- 81c:	60 9d 03 9e 	stbu    r16,-25248(r3)
+ 804:	00 00 00 00 	.long 0x0
+ 808:	46 0e 60 9d 	.long 0x9d600e46
+ 80c:	03 4a 9e 02 	.long 0x29e4a03
+ 810:	4f 09 41 00 	.long 0x41094f
+ 814:	44 11 41 7e 	.long 0x7e411144
+ 818:	45 de 42 06 	.long 0x642de45
+ 81c:	41 46 0e 00 	.long 0xe4641
 	pseries_partition_tb[lpid].patb0 = cpu_to_be64(dw0);
- 820:	02 42 09 41 	bdnzta  4*cr2+gt,4200 <kvmhv_nested_next_lpid+0x728>
- 824:	00 41 9f 01 	.long 0x19f4100
- 828:	42 11 41 7e 	.long 0x7e411142
- 82c:	43 9b 05 41 	bdnztla 4*cr1+gt,ffff9b40 <kvmhv_nested_next_lpid+0xffff6068>
- 830:	9c 04 6c db 	stfd    f27,1180(r12)
- 834:	41 dc 41 df 	stfdu   f26,-9151(r1)
+ 820:	41 dd 41 0e 	twi     18,r1,-8895
+ 824:	60 9d 03 9e 	stbu    r16,-25248(r3)
+ 828:	02 42 09 41 	bdnzta  4*cr2+gt,4200 <kvmhv_nested_next_lpid+0x738>
+ 82c:	00 41 9f 01 	.long 0x19f4100
+ 830:	42 11 41 7e 	.long 0x7e411142
+ 834:	43 9b 05 41 	bdnztla 4*cr1+gt,ffff9b40 <kvmhv_nested_next_lpid+0xffff6078>
 	pseries_partition_tb[lpid].patb1 = cpu_to_be64(dw1);
- 838:	41 9f 01 4d 	.long 0x4d019f41
- 83c:	0a df 43 0b 	tdi     26,r3,-8438
+ 838:	9c 04 6c db 	stfd    f27,1180(r12)
+ 83c:	41 dc 41 df 	stfdu   f26,-9151(r1)
 	kvmhv_flush_lpid(lpid);
- 840:	41 df 43 9b 	stb     r26,-8383(r3)
- 844:	05 9c 04 9f 	stbu    r24,-25595(r4)
- 848:	01 44 db dc 	stfdu   f6,17409(r27)
- 84c:	df 06 41 41 	bdztla  gt,6dc <.debug_frame+0x6dc>
- 850:	de 43 9b 05 	.long 0x59b43de
- 854:	9c 04 9e 02 	.long 0x29e049c
-{
- 858:	9f 01 11 41 	bdnztla 4*cr4+gt,19c <.debug_frame+0x19c>
- 85c:	7e 43 db dc 	stfdu   f6,17278(r27)
- 860:	de df 06 41 	bdnzta  4*cr1+eq,ffffdfdc <kvmhv_nested_next_lpid+0xffffa504>
- 864:	41 09 41 00 	.long 0x410941
- 868:	41 9b 05 41 	bdnztl  4*cr1+gt,ffffffffffffa3a8 <kvmhv_nested_next_lpid+0xffffffffffff68d0>
- 86c:	9c 04 41 9e 	stbu    r18,1180(r1)
- 870:	02 41 9f 01 	.long 0x19f4102
+ 840:	41 9f 01 4d 	.long 0x4d019f41
+ 844:	0a df 43 0b 	tdi     26,r3,-8438
+ 848:	41 df 43 9b 	stb     r26,-8383(r3)
+ 84c:	05 9c 04 9f 	stbu    r24,-25595(r4)
+ 850:	01 44 db dc 	stfdu   f6,17409(r27)
+ 854:	df 06 41 41 	bdztla  gt,6dc <.debug_frame+0x6dc>
+{
+ 858:	de 43 9b 05 	.long 0x59b43de
+ 85c:	9c 04 9e 02 	.long 0x29e049c
+ 860:	9f 01 11 41 	bdnztla 4*cr4+gt,19c <.debug_frame+0x19c>
+ 864:	7e 43 db dc 	stfdu   f6,17278(r27)
+ 868:	de df 06 41 	bdnzta  4*cr1+eq,ffffdfdc <kvmhv_nested_next_lpid+0xffffa514>
+ 86c:	41 09 41 00 	.long 0x410941
+ 870:	41 9b 05 41 	bdnztl  4*cr1+gt,ffffffffffffa3b0 <kvmhv_nested_next_lpid+0xffffffffffff68e8>
 	struct patb_entry ptbl_entry;
- 874:	41 11 41 7e 	.long 0x7e411141
+ 874:	9c 04 41 9e 	stbu    r18,1180(r1)
 {
- 878:	42 db dc df 	stfdu   f30,-9406(r28)
- 87c:	42 de 42 06 	.long 0x642de42
- 880:	41 00 00 00 	.long 0x41
- 884:	00 00 00 00 	.long 0x0
- 888:	9c 00 00 00 	.long 0x9c
+ 878:	02 41 9f 01 	.long 0x19f4102
+ 87c:	41 11 41 7e 	.long 0x7e411141
+ 880:	42 db dc df 	stfdu   f30,-9406(r28)
+ 884:	42 de 42 06 	.long 0x642de42
+ 888:	41 00 00 00 	.long 0x41
+	struct kvm *kvm = gp->l1_host;
+ 88c:	00 00 00 00 	.long 0x0
+	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
+ 890:	9c 00 00 00 	.long 0x9c
 	...
- 898:	88 02 00 00 	.long 0x288
- 89c:	00 00 00 00 	.long 0x0
 	struct patb_entry ptbl_entry;
- 8a0:	47 09 41 00 	.long 0x410947
- 8a4:	97 09 9a 06 	.long 0x69a0997
+ 8a0:	88 02 00 00 	.long 0x288
+ 8a4:	00 00 00 00 	.long 0x0
 	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
- 8a8:	44 9b 05 9c 	stbu    r0,-25788(r5)
+ 8a8:	47 09 41 00 	.long 0x410947
 	if (gp->l1_lpid < (1ul << ((kvm->arch.l1_ptcr & PRTS_MASK) + 12 - 4))) {
- 8ac:	04 44 9d 03 	.long 0x39d4404
- 8b0:	9e 02 45 9f 	stbu    r26,670(r5)
- 8b4:	01 11 41 7e 	.long 0x7e411101
- 8b8:	42 0e 90 01 	.long 0x1900e42
- 8bc:	50 0a 0e 00 	.long 0xe0a50
+ 8ac:	97 09 9a 06 	.long 0x69a0997
+ 8b0:	44 9b 05 9c 	stbu    r0,-25788(r5)
+ 8b4:	04 44 9d 03 	.long 0x39d4404
+ 8b8:	9e 02 45 9f 	stbu    r26,670(r5)
+ 8bc:	01 11 41 7e 	.long 0x7e411101
 		gp->process_table = 0;
- 8c0:	4a 06 41 df 	stfdu   f26,1610(r1)
+ 8c0:	42 0e 90 01 	.long 0x1900e42
 		gp->l1_gr_to_hr = 0;
- 8c4:	de dd dc db 	stfd    f30,-8738(r28)
+ 8c4:	50 0a 0e 00 	.long 0xe0a50
 		__pa(gp->shadow_pgtable) | RADIX_PGD_INDEX_SIZE;
- 8c8:	da d7 42 0b 	tdi     26,r2,-10278
+ 8c8:	4a 06 41 df 	stfdu   f26,1610(r1)
 	dw0 = PATB_HR | radix__get_tree_size() |
- 8cc:	42 98 08 41 	bdnzta  4*cr2+lt,ffff9840 <kvmhv_nested_next_lpid+0xffff5d68>
+ 8cc:	de dd dc db 	stfd    f30,-8738(r28)
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, dw0, gp->process_table);
- 8d0:	93 0d 44 94 	stwu    r2,3475(r4)
- 8d4:	0c 41 95 0b 	tdi     28,r21,16652
- 8d8:	43 96 0a 41 	bdnztla 4*cr2+eq,ffff9640 <kvmhv_nested_next_lpid+0xffff5b68>
+ 8d0:	da d7 42 0b 	tdi     26,r2,-10278
+ 8d4:	42 98 08 41 	bdnzta  4*cr2+lt,ffff9840 <kvmhv_nested_next_lpid+0xffff5d78>
+ 8d8:	93 0d 44 94 	stwu    r2,3475(r4)
 	dw0 = PATB_HR | radix__get_tree_size() |
- 8dc:	99 07 64 d3 	stfs    f27,1945(r4)
+ 8dc:	0c 41 95 0b 	tdi     28,r21,16652
 		__pa(gp->shadow_pgtable) | RADIX_PGD_INDEX_SIZE;
- 8e0:	41 d4 41 d5 	stfsu   f10,-11199(r1)
+ 8e0:	43 96 0a 41 	bdnztla 4*cr2+eq,ffff9640 <kvmhv_nested_next_lpid+0xffff5b78>
 	dw0 = PATB_HR | radix__get_tree_size() |
- 8e4:	41 d6 41 d8 	stfd    f2,-10687(r1)
+ 8e4:	99 07 64 d3 	stfs    f27,1945(r4)
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, dw0, gp->process_table);
- 8e8:	41 d9 41 0e 	twi     18,r1,-9919
- 8ec:	00 49 06 41 	bdnzt   4*cr1+eq,51ec <kvmhv_nested_next_lpid+0x1714>
+ 8e8:	41 d4 41 d5 	stfsu   f10,-11199(r1)
+ 8ec:	41 d6 41 d8 	stfd    f2,-10687(r1)
 }
- 8f0:	df de dd dc 	stfdu   f6,-8481(r29)
- 8f4:	db da d7 41 	bsola-  cr5,ffffdad8 <kvmhv_nested_next_lpid+0xffffa000>
- 8f8:	0e 90 01 97 	stwu    r24,-28658(r1)
- 8fc:	09 9a 06 9b 	stb     r24,-26103(r6)
- 900:	05 9c 04 9d 	stbu    r8,-25595(r4)
- 904:	03 9e 02 9f 	stbu    r24,-25085(r2)
- 908:	01 11 41 7e 	.long 0x7e411101
- 90c:	5d 93 0d 94 	stwu    r0,-27811(r13)
- 910:	0c 95 0b 96 	stwu    r16,-27380(r11)
- 914:	0a 98 08 99 	stb     r8,-26614(r8)
- 918:	07 4d d3 41 	bsola-  cr4,4d04 <kvmhv_nested_next_lpid+0x122c>
- 91c:	d4 41 d5 41 	bgt-    cr5,4af0 <kvmhv_nested_next_lpid+0x1018>
- 920:	d6 41 d8 41 	blta-   cr6,41d4 <kvmhv_nested_next_lpid+0x6fc>
- 924:	d9 00 00 00 	.long 0xd9
- 928:	74 01 00 00 	.long 0x174
+ 8f0:	41 d9 41 0e 	twi     18,r1,-9919
+ 8f4:	00 49 06 41 	bdnzt   4*cr1+eq,51f4 <kvmhv_nested_next_lpid+0x172c>
+ 8f8:	df de dd dc 	stfdu   f6,-8481(r29)
+ 8fc:	db da d7 41 	bsola-  cr5,ffffdad8 <kvmhv_nested_next_lpid+0xffffa010>
+ 900:	0e 90 01 97 	stwu    r24,-28658(r1)
+ 904:	09 9a 06 9b 	stb     r24,-26103(r6)
+ 908:	05 9c 04 9d 	stbu    r8,-25595(r4)
+ 90c:	03 9e 02 9f 	stbu    r24,-25085(r2)
+ 910:	01 11 41 7e 	.long 0x7e411101
+ 914:	5d 93 0d 94 	stwu    r0,-27811(r13)
+ 918:	0c 95 0b 96 	stwu    r16,-27380(r11)
+ 91c:	0a 98 08 99 	stb     r8,-26614(r8)
+ 920:	07 4d d3 41 	bsola-  cr4,4d04 <kvmhv_nested_next_lpid+0x123c>
+ 924:	d4 41 d5 41 	bgt-    cr5,4af8 <kvmhv_nested_next_lpid+0x1030>
+ 928:	d6 41 d8 41 	blta-   cr6,41d4 <kvmhv_nested_next_lpid+0x70c>
+ 92c:	d9 00 00 00 	.long 0xd9
+		int srcu_idx = srcu_read_lock(&kvm->srcu);
+ 930:	74 01 00 00 	.long 0x174
 	...
-	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
- 938:	50 09 00 00 	.long 0x950
- 93c:	00 00 00 00 	.long 0x0
 	retval = __srcu_read_lock(ssp);
- 940:	4c 09 41 00 	.long 0x41094c
- 944:	97 09 98 08 	tdeqi   r24,2455
- 948:	99 07 9d 03 	.long 0x39d0799
- 94c:	9e 02 9f 01 	.long 0x19f029e
- 950:	45 0e d0 02 	.long 0x2d00e45
+ 940:	50 09 00 00 	.long 0x950
+	ptbl_addr = (kvm->arch.l1_ptcr & PRTB_MASK) + (gp->l1_lpid << 4);
+ 944:	00 00 00 00 	.long 0x0
+ 948:	4c 09 41 00 	.long 0x41094c
+ 94c:	97 09 98 08 	tdeqi   r24,2455
+ 950:	99 07 9d 03 	.long 0x39d0799
 		ret = kvm_read_guest(kvm, ptbl_addr,
- 954:	11 41 7e 9a 	stb     r19,16657(r30)
- 958:	06 11 48 7f 	.long 0x7f481106
- 95c:	5c 9b 05 5b 	rlmi    r5,r24,r19,13,14
- 960:	0a db 42 0b 	tdi     26,r2,-9462
- 964:	41 9c 04 43 	bcl-    24,4*cr1+lt,ffffffffffffa5a4 <kvmhv_nested_next_lpid+0xffffffffffff6acc>
- 968:	93 0d 41 95 	stwu    r10,3475(r1)
- 96c:	0b 41 94 0c 	tweqi   r20,16651
- 970:	42 96 0a 49 	ba      10a9640 <kvmhv_nested_next_lpid+0x10a5b68>
-	WARN_ON_ONCE(idx & ~0x1);
- 974:	92 0e 4c 91 	stw     r10,3730(r12)
- 978:	0f 02 4f d1 	stfs    f10,527(r15)
- 97c:	d2 42 d3 41 	bsoa-   cr4,42d0 <kvmhv_nested_next_lpid+0x7f8>
+ 954:	9e 02 9f 01 	.long 0x19f029e
+ 958:	45 0e d0 02 	.long 0x2d00e45
+ 95c:	11 41 7e 9a 	stb     r19,16657(r30)
+ 960:	06 11 48 7f 	.long 0x7f481106
+ 964:	5c 9b 05 5b 	rlmi    r5,r24,r19,13,14
+ 968:	0a db 42 0b 	tdi     26,r2,-9462
+ 96c:	41 9c 04 43 	bcl-    24,4*cr1+lt,ffffffffffffa5ac <kvmhv_nested_next_lpid+0xffffffffffff6ae4>
+ 970:	93 0d 41 95 	stwu    r10,3475(r1)
+	WARN_ON_ONCE(idx & ~0x1);
+ 974:	0b 41 94 0c 	tweqi   r20,16651
+ 978:	42 96 0a 49 	ba      10a9640 <kvmhv_nested_next_lpid+0x10a5b78>
+ 97c:	92 0e 4c 91 	stw     r10,3730(r12)
 	__srcu_read_unlock(ssp, idx);
- 980:	d4 41 d5 41 	bgt-    cr5,4b54 <kvmhv_nested_next_lpid+0x107c>
- 984:	d6 41 dc 4f 	.long 0x4fdc41d6
- 988:	db 4a 0a 0e 	twlti   r10,19163
- 98c:	00 4b 06 41 	bdnzt   4*cr1+eq,548c <kvmhv_nested_next_lpid+0x19b4>
+ 980:	0f 02 4f d1 	stfs    f10,527(r15)
+ 984:	d2 42 d3 41 	bsoa-   cr4,42d0 <kvmhv_nested_next_lpid+0x808>
+ 988:	d4 41 d5 41 	bgt-    cr5,4b5c <kvmhv_nested_next_lpid+0x1094>
+ 98c:	d6 41 dc 4f 	.long 0x4fdc41d6
 	if (ret) {
- 990:	41 06 48 df 	stfdu   f26,1601(r8)
- 994:	de dd da d9 	stfd    f14,-8738(r26)
- 998:	d8 d7 41 0b 	tdi     26,r1,-10280
- 99c:	48 91 0f 92 	stw     r16,-28344(r15)
+ 990:	db 4a 0a 0e 	twlti   r10,19163
+ 994:	00 4b 06 41 	bdnzt   4*cr1+eq,5494 <kvmhv_nested_next_lpid+0x19cc>
+ 998:	41 06 48 df 	stfdu   f26,1601(r8)
+ 99c:	de dd da d9 	stfd    f14,-8738(r26)
 		gp->l1_gr_to_hr = be64_to_cpu(ptbl_entry.patb0);
- 9a0:	0e 93 0d 94 	stwu    r0,-27890(r13)
+ 9a0:	d8 d7 41 0b 	tdi     26,r1,-10280
 		gp->process_table = be64_to_cpu(ptbl_entry.patb1);
- 9a4:	0c 95 0b 96 	stwu    r16,-27380(r11)
+ 9a4:	48 91 0f 92 	stw     r16,-28344(r15)
 		gp->l1_gr_to_hr = be64_to_cpu(ptbl_entry.patb0);
- 9a8:	0a 9b 05 9c 	stbu    r0,-25846(r5)
+ 9a8:	0e 93 0d 94 	stwu    r0,-27890(r13)
 		gp->process_table = be64_to_cpu(ptbl_entry.patb1);
- 9ac:	04 41 d1 4a 	b       fffffffffed14ab0 <kvmhv_nested_next_lpid+0xfffffffffed10fd8>
- 9b0:	d2 41 d3 41 	bsoa-   cr4,41d0 <kvmhv_nested_next_lpid+0x6f8>
- 9b4:	d4 41 d5 41 	bgt-    cr5,4b88 <kvmhv_nested_next_lpid+0x10b0>
- 9b8:	d6 41 db 41 	bsoa-   cr6,41d4 <kvmhv_nested_next_lpid+0x6fc>
- 9bc:	dc 43 93 0d 	twgei   r19,17372
-	WARN_ON_ONCE(idx & ~0x1);
- 9c0:	94 0c 95 0b 	tdi     28,r21,3220
- 9c4:	96 0a 9b 05 	.long 0x59b0a96
-}
- 9c8:	9c 04 7a 92 	stw     r19,1180(r26)
- 9cc:	0e 48 d2 41 	beqa-   cr4,480c <kvmhv_nested_next_lpid+0xd34>
- 9d0:	d3 41 d4 41 	bltla-  cr5,41d0 <kvmhv_nested_next_lpid+0x6f8>
- 9d4:	d5 41 d6 41 	beql-   cr5,4ba8 <kvmhv_nested_next_lpid+0x10d0>
-{
- 9d8:	dc 41 db 44 	.long 0x44db41dc
- 9dc:	93 0d 94 0c 	tweqi   r20,3475
- 9e0:	95 0b 96 0a 	tdlei   r22,2965
- 9e4:	9b 05 9c 04 	.long 0x49c059b
- 9e8:	4e d3 41 d4 	stfsu   f2,-11442(r1)
- 9ec:	41 d5 41 d6 	stfsu   f18,-10943(r1)
- 9f0:	41 dc 42 91 	stw     r10,-9151(r2)
- 9f4:	0f 92 0e 93 	stw     r24,-28145(r14)
- 9f8:	0d 94 0c 95 	stwu    r8,-27635(r12)
+ 9ac:	0c 95 0b 96 	stwu    r16,-27380(r11)
+ 9b0:	0a 9b 05 9c 	stbu    r0,-25846(r5)
+ 9b4:	04 41 d1 4a 	b       fffffffffed14ab8 <kvmhv_nested_next_lpid+0xfffffffffed10ff0>
+ 9b8:	d2 41 d3 41 	bsoa-   cr4,41d0 <kvmhv_nested_next_lpid+0x708>
+ 9bc:	d4 41 d5 41 	bgt-    cr5,4b90 <kvmhv_nested_next_lpid+0x10c8>
+	WARN_ON_ONCE(idx & ~0x1);
+ 9c0:	d6 41 db 41 	bsoa-   cr6,41d4 <kvmhv_nested_next_lpid+0x70c>
+ 9c4:	dc 43 93 0d 	twgei   r19,17372
+}
+ 9c8:	94 0c 95 0b 	tdi     28,r21,3220
+ 9cc:	96 0a 9b 05 	.long 0x59b0a96
+ 9d0:	9c 04 7a 92 	stw     r19,1180(r26)
+ 9d4:	0e 48 d2 41 	beqa-   cr4,480c <kvmhv_nested_next_lpid+0xd44>
+{
+ 9d8:	d3 41 d4 41 	bltla-  cr5,41d0 <kvmhv_nested_next_lpid+0x708>
+ 9dc:	d5 41 d6 41 	beql-   cr5,4bb0 <kvmhv_nested_next_lpid+0x10e8>
+ 9e0:	dc 41 db 44 	.long 0x44db41dc
+ 9e4:	93 0d 94 0c 	tweqi   r20,3475
+ 9e8:	95 0b 96 0a 	tdlei   r22,2965
+ 9ec:	9b 05 9c 04 	.long 0x49c059b
+ 9f0:	4e d3 41 d4 	stfsu   f2,-11442(r1)
+ 9f4:	41 d5 41 d6 	stfsu   f18,-10943(r1)
+ 9f8:	41 dc 42 91 	stw     r10,-9151(r2)
 	if (gp->shadow_pgtable) {
- 9fc:	0b 96 0a 9c 	stbu    r0,-27125(r10)
- a00:	04 70 d1 44 	.long 0x44d17004
- a04:	d2 41 d3 41 	bsoa-   cr4,41d0 <kvmhv_nested_next_lpid+0x6f8>
+ 9fc:	0f 92 0e 93 	stw     r24,-28145(r14)
+ a00:	0d 94 0c 95 	stwu    r8,-27635(r12)
+ a04:	0b 96 0a 9c 	stbu    r0,-27125(r10)
 		kvmppc_free_pgtable_radix(kvm, gp->shadow_pgtable,
- a08:	d4 41 d5 41 	bgt-    cr5,4bdc <kvmhv_nested_next_lpid+0x1104>
- a0c:	d6 41 dc 47 	.long 0x47dc41d6
- a10:	91 0f 92 0e 	twlei   r18,3985
- a14:	93 0d 94 0c 	tweqi   r20,3475
+ a08:	04 70 d1 44 	.long 0x44d17004
+ a0c:	d2 41 d3 41 	bsoa-   cr4,41d0 <kvmhv_nested_next_lpid+0x708>
+ a10:	d4 41 d5 41 	bgt-    cr5,4be4 <kvmhv_nested_next_lpid+0x111c>
+ a14:	d6 41 dc 47 	.long 0x47dc41d6
 		pgd_free(kvm->mm, gp->shadow_pgtable);
- a18:	95 0b 96 0a 	tdlei   r22,2965
- a1c:	9c 04 78 d1 	stfs    f11,1180(r24)
+ a18:	91 0f 92 0e 	twlei   r18,3985
+ a1c:	93 0d 94 0c 	tweqi   r20,3475
 	free_page((unsigned long)pgd);
- a20:	d2 d3 d4 d5 	stfsu   f14,-11310(r20)
- a24:	d6 dc 48 91 	stw     r10,-9002(r8)
- a28:	0f 92 0e 93 	stw     r24,-28145(r14)
+ a20:	95 0b 96 0a 	tdlei   r22,2965
+ a24:	9c 04 78 d1 	stfs    f11,1180(r24)
+ a28:	d2 d3 d4 d5 	stfsu   f14,-11310(r20)
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, 0, 0);
- a2c:	0d 94 0c 95 	stwu    r8,-27635(r12)
- a30:	0b 96 0a 9c 	stbu    r0,-27125(r10)
- a34:	04 46 d1 42 	.long 0x42d14604
- a38:	d2 41 d3 41 	bsoa-   cr4,41d0 <kvmhv_nested_next_lpid+0x6f8>
+ a2c:	d6 dc 48 91 	stw     r10,-9002(r8)
+ a30:	0f 92 0e 93 	stw     r24,-28145(r14)
+ a34:	0d 94 0c 95 	stwu    r8,-27635(r12)
+ a38:	0b 96 0a 9c 	stbu    r0,-27125(r10)
 	kvmppc_free_lpid(gp->shadow_lpid);
- a3c:	d4 41 d5 41 	bgt-    cr5,4c10 <kvmhv_nested_next_lpid+0x1138>
- a40:	d6 41 db 41 	bsoa-   cr6,41d4 <kvmhv_nested_next_lpid+0x6fc>
- a44:	dc 42 9b 05 	.long 0x59b42dc
+ a3c:	04 46 d1 42 	.long 0x42d14604
+ a40:	d2 41 d3 41 	bsoa-   cr4,41d0 <kvmhv_nested_next_lpid+0x708>
+ a44:	d4 41 d5 41 	bgt-    cr5,4c18 <kvmhv_nested_next_lpid+0x1150>
 	kfree(gp);
- a48:	48 91 0f 92 	stw     r16,-28344(r15)
- a4c:	0e 93 0d 94 	stwu    r0,-27890(r13)
- a50:	0c 95 0b 96 	stwu    r16,-27380(r11)
-}
- a54:	0a 9c 04 5c 	rlwnm   r4,r0,r19,16,5
- a58:	d1 d2 44 91 	stw     r10,-11567(r4)
- a5c:	0f 92 0e 50 	rlwimi. r14,r0,18,8,7
- a60:	d1 d2 43 d3 	stfs    f26,-11567(r3)
- a64:	41 d4 41 d5 	stfsu   f10,-11199(r1)
- a68:	41 d6 41 dc 	stfdu   f2,-10687(r1)
- a6c:	41 91 0f 92 	stw     r16,-28351(r15)
+ a48:	d6 41 db 41 	bsoa-   cr6,41d4 <kvmhv_nested_next_lpid+0x70c>
+ a4c:	dc 42 9b 05 	.long 0x59b42dc
+ a50:	48 91 0f 92 	stw     r16,-28344(r15)
+}
+ a54:	0e 93 0d 94 	stwu    r0,-27890(r13)
+ a58:	0c 95 0b 96 	stwu    r16,-27380(r11)
+ a5c:	0a 9c 04 5c 	rlwnm   r4,r0,r19,16,5
+ a60:	d1 d2 44 91 	stw     r10,-11567(r4)
+ a64:	0f 92 0e 50 	rlwimi. r14,r0,18,8,7
+ a68:	d1 d2 43 d3 	stfs    f26,-11567(r3)
+ a6c:	41 d4 41 d5 	stfsu   f10,-11199(r1)
 	kmem_cache_free(PGT_CACHE(PGD_INDEX_SIZE), pgd);
- a70:	0e 93 0d 94 	stwu    r0,-27890(r13)
- a74:	0c 95 0b 96 	stwu    r16,-27380(r11)
- a78:	0a 9c 04 50 	rlwimi  r4,r0,19,16,5
- a7c:	d1 d2 44 d3 	stfs    f26,-11567(r4)
- a80:	d4 d5 d6 db 	stfd    f30,-10796(r22)
- a84:	dc 41 91 0f 	twi     28,r17,16860
- a88:	41 92 0e 41 	bdnztl  4*cr3+eq,ffffffffffff9cc8 <kvmhv_nested_next_lpid+0xffffffffffff61f0>
- a8c:	93 0d 41 94 	stwu    r2,3475(r1)
- a90:	0c 41 95 0b 	tdi     28,r21,16652
- a94:	41 96 0a 41 	bdnztl  4*cr2+eq,ffffffffffffa0d4 <kvmhv_nested_next_lpid+0xffffffffffff65fc>
+ a70:	41 d6 41 dc 	stfdu   f2,-10687(r1)
+ a74:	41 91 0f 92 	stw     r16,-28351(r15)
+ a78:	0e 93 0d 94 	stwu    r0,-27890(r13)
+ a7c:	0c 95 0b 96 	stwu    r16,-27380(r11)
+ a80:	0a 9c 04 50 	rlwimi  r4,r0,19,16,5
+ a84:	d1 d2 44 d3 	stfs    f26,-11567(r4)
+ a88:	d4 d5 d6 db 	stfd    f30,-10796(r22)
+ a8c:	dc 41 91 0f 	twi     28,r17,16860
+ a90:	41 92 0e 41 	bdnztl  4*cr3+eq,ffffffffffff9cd0 <kvmhv_nested_next_lpid+0xffffffffffff6208>
+ a94:	93 0d 41 94 	stwu    r2,3475(r1)
 	kvmhv_set_ptbl_entry(gp->shadow_lpid, 0, 0);
- a98:	9b 05 41 9c 	stbu    r2,1435(r1)
- a9c:	04 42 d1 00 	.long 0xd14204
- aa0:	2c 00 00 00 	.long 0x2c
-	...
+ a98:	0c 41 95 0b 	tdi     28,r21,16652
+ a9c:	41 96 0a 41 	bdnztl  4*cr2+eq,ffffffffffffa0dc <kvmhv_nested_next_lpid+0xffffffffffff6614>
+ aa0:	9b 05 41 9c 	stbu    r2,1435(r1)
+ aa4:	04 42 d1 00 	.long 0xd14204
 	kvmppc_free_lpid(gp->shadow_lpid);
- ab0:	e8 00 00 00 	.long 0xe8
+ aa8:	2c 00 00 00 	.long 0x2c
+	...
 	kfree(gp);
- ab4:	00 00 00 00 	.long 0x0
- ab8:	47 09 41 00 	.long 0x410947
- abc:	9f 01 43 0e 	twi     18,r3,415
-}
- ac0:	40 11 41 7e 	.long 0x7e411140
- ac4:	5d 0a 0e 00 	.long 0xe0a5d
- ac8:	43 06 41 df 	stfdu   f26,1603(r1)
- acc:	44 0b 00 00 	.long 0xb44
+ ab8:	e8 00 00 00 	.long 0xe8
+ abc:	00 00 00 00 	.long 0x0
+}
+ ac0:	47 09 41 00 	.long 0x410947
+ ac4:	9f 01 43 0e 	twi     18,r3,415
+ ac8:	40 11 41 7e 	.long 0x7e411140
+ acc:	5d 0a 0e 00 	.long 0xe0a5d
+ ad0:	43 06 41 df 	stfdu   f26,1603(r1)
+ ad4:	44 0b 00 00 	.long 0xb44
 
 Disassembly of section __mcount_loc:
 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc
  2023-04-11  6:35       ` Michael Ellerman
       [not found]         ` <CAKWYkK0hjMiP7yJWWjWX8CqS1Lcqi2z4P1bzj14-AU8SzBkYqw@mail.gmail.com>
@ 2023-04-12  7:04         ` Kautuk Consul
  2023-04-19 10:08           ` Kautuk Consul
  1 sibling, 1 reply; 8+ messages in thread
From: Kautuk Consul @ 2023-04-12  7:04 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Sean Christopherson, Bagas Sanjaya, Nicholas Piggin,
	Christophe Leroy, Fabiano Rosas, Paolo Bonzini, Chao Peng,
	linuxppc-dev, linux-kernel

Hi,

On 2023-04-11 16:35:10, Michael Ellerman wrote:
> Kautuk Consul <kconsul@linux.vnet.ibm.com> writes:
> > On 2023-04-07 09:01:29, Sean Christopherson wrote:
> >> On Fri, Apr 07, 2023, Bagas Sanjaya wrote:
> >> > On Fri, Apr 07, 2023 at 05:31:47AM -0400, Kautuk Consul wrote:
> >> > > I used the unlikely() macro on the return values of the k.alloc
> >> > > calls and found that it changes the code generation a bit.
> >> > > Optimize all return paths of k.alloc calls by improving
> >> > > branch prediction on return value of k.alloc.
> >> 
> >> Nit, this is improving code generation, not branch prediction.
> > Sorry my mistake.
> >> 
> >> > What about below?
> >> > 
> >> > "Improve branch prediction on kmalloc() and kzalloc() call by using
> >> > unlikely() macro to optimize their return paths."
> >> 
> >> Another nit, using unlikely() doesn't necessarily provide a measurable optimization.
> >> As above, it does often improve code generation for the happy path, but that doesn't
> >> always equate to improved performance, e.g. if the CPU can easily predict the branch
> >> and/or there is no impact on the cache footprint.
> 
> > I see. I will submit a v2 of the patch with a better and more accurate
> > description. Does anyone else have any comments before I do so ?
>  
> In general I think unlikely should be saved for cases where either the
> compiler is generating terrible code, or the likelyness of the condition
> might be surprising to a human reader.
> 
> eg. if you had some code that does a NULL check and it's *expected* that
> the value is NULL, then wrapping that check in likely() actually adds
> information for a human reader.
>     
> Also please don't use unlikely in init paths or other cold paths, it
> clutters the code (only slightly but a little) and that's not worth the
> possible tiny benefit for code that only runs once or infrequently.
> 
> I would expect the compilers to do the right thing in all
> these cases without the unlikely. But if you can demonstrate that they
> meaningfully improve the code generation with a before/after
> dissassembly then I'd be interested.
Just FYI, the last email by kautuk.consul.80@gmail.com was by me.
That last email contains a diff file attachment which compares 2 files:
before my changes and after my changes.
This diff file shows a lot of changes in code generation. Im assuming
all those changes are made by the compiler towards optimizing all return
paths to k.alloc calls.
Kindly review and comment.
> cheers

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc
  2023-04-12  7:04         ` Kautuk Consul
@ 2023-04-19 10:08           ` Kautuk Consul
  0 siblings, 0 replies; 8+ messages in thread
From: Kautuk Consul @ 2023-04-19 10:08 UTC (permalink / raw)
  To: Michael Ellerman
  Cc: Sean Christopherson, Bagas Sanjaya, Nicholas Piggin,
	Christophe Leroy, Fabiano Rosas, Paolo Bonzini, Chao Peng,
	linuxppc-dev, linux-kernel

On 2023-04-12 12:34:13, Kautuk Consul wrote:
> Hi,
> 
> On 2023-04-11 16:35:10, Michael Ellerman wrote:
> > Kautuk Consul <kconsul@linux.vnet.ibm.com> writes:
> > > On 2023-04-07 09:01:29, Sean Christopherson wrote:
> > >> On Fri, Apr 07, 2023, Bagas Sanjaya wrote:
> > >> > On Fri, Apr 07, 2023 at 05:31:47AM -0400, Kautuk Consul wrote:
> > >> > > I used the unlikely() macro on the return values of the k.alloc
> > >> > > calls and found that it changes the code generation a bit.
> > >> > > Optimize all return paths of k.alloc calls by improving
> > >> > > branch prediction on return value of k.alloc.
> > >> 
> > >> Nit, this is improving code generation, not branch prediction.
> > > Sorry my mistake.
> > >> 
> > >> > What about below?
> > >> > 
> > >> > "Improve branch prediction on kmalloc() and kzalloc() call by using
> > >> > unlikely() macro to optimize their return paths."
> > >> 
> > >> Another nit, using unlikely() doesn't necessarily provide a measurable optimization.
> > >> As above, it does often improve code generation for the happy path, but that doesn't
> > >> always equate to improved performance, e.g. if the CPU can easily predict the branch
> > >> and/or there is no impact on the cache footprint.
> > 
> > > I see. I will submit a v2 of the patch with a better and more accurate
> > > description. Does anyone else have any comments before I do so ?
> >  
> > In general I think unlikely should be saved for cases where either the
> > compiler is generating terrible code, or the likelyness of the condition
> > might be surprising to a human reader.
> > 
> > eg. if you had some code that does a NULL check and it's *expected* that
> > the value is NULL, then wrapping that check in likely() actually adds
> > information for a human reader.
> >     
> > Also please don't use unlikely in init paths or other cold paths, it
> > clutters the code (only slightly but a little) and that's not worth the
> > possible tiny benefit for code that only runs once or infrequently.
> > 
> > I would expect the compilers to do the right thing in all
> > these cases without the unlikely. But if you can demonstrate that they
> > meaningfully improve the code generation with a before/after
> > dissassembly then I'd be interested.
> Just FYI, the last email by kautuk.consul.80@gmail.com was by me.
> That last email contains a diff file attachment which compares 2 files:
> before my changes and after my changes.
> This diff file shows a lot of changes in code generation. Im assuming
> all those changes are made by the compiler towards optimizing all return
> paths to k.alloc calls.
> Kindly review and comment.
Any comments on the numerous code generation changes as shown by the
files I attached to this mail chain ? Sorry I don't have concrete
figures of any type to prove that this leads to any measurable performance
improvements. I am just assuming that the compiler's modified code
generation (due to the use of the unlikely macro) would be optimal.

Thanks.
> > cheers

^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-04-19 10:09 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-04-07  9:31 [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc Kautuk Consul
2023-04-07 13:46 ` Bagas Sanjaya
2023-04-07 16:01   ` Sean Christopherson
2023-04-11  4:59     ` Kautuk Consul
2023-04-11  6:35       ` Michael Ellerman
     [not found]         ` <CAKWYkK0hjMiP7yJWWjWX8CqS1Lcqi2z4P1bzj14-AU8SzBkYqw@mail.gmail.com>
2023-04-11  9:04           ` Kautuk Consul
2023-04-12  7:04         ` Kautuk Consul
2023-04-19 10:08           ` Kautuk Consul

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).