From: Kautuk Consul <kautuk.consul.80@gmail.com>
To: Michael Ellerman <mpe@ellerman.id.au>
Cc: Kautuk Consul <kconsul@linux.vnet.ibm.com>,
Sean Christopherson <seanjc@google.com>,
Fabiano Rosas <farosas@linux.ibm.com>,
linux-kernel@vger.kernel.org, Nicholas Piggin <npiggin@gmail.com>,
Bagas Sanjaya <bagasdotme@gmail.com>,
Chao Peng <chao.p.peng@linux.intel.com>,
Paolo Bonzini <pbonzini@redhat.com>,
linuxppc-dev@lists.ozlabs.org
Subject: Re: [PATCH] KVM: PPC: BOOK3S: book3s_hv_nested.c: improve branch prediction for k.alloc
Date: Tue, 11 Apr 2023 14:34:06 +0530 [thread overview]
Message-ID: <CAKWYkK2PFRfEEDssc9JQu6NU-UttqQn27x0+QXp6CJtDR2dRRQ@mail.gmail.com> (raw)
In-Reply-To: <CAKWYkK0hjMiP7yJWWjWX8CqS1Lcqi2z4P1bzj14-AU8SzBkYqw@mail.gmail.com>
[-- 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:
next prev parent reply other threads:[~2023-04-11 9:04 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
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 [this message]
2023-04-12 7:04 ` Kautuk Consul
2023-04-19 10:08 ` Kautuk Consul
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=CAKWYkK2PFRfEEDssc9JQu6NU-UttqQn27x0+QXp6CJtDR2dRRQ@mail.gmail.com \
--to=kautuk.consul.80@gmail.com \
--cc=bagasdotme@gmail.com \
--cc=chao.p.peng@linux.intel.com \
--cc=farosas@linux.ibm.com \
--cc=kconsul@linux.vnet.ibm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linuxppc-dev@lists.ozlabs.org \
--cc=mpe@ellerman.id.au \
--cc=npiggin@gmail.com \
--cc=pbonzini@redhat.com \
--cc=seanjc@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).