* [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).