Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Output I get:
- ^M[0]:memstart af000000
- ^M[0]:virt_addr ffffffc000082700
- ^M[0]:sizeof 8
- ^M[0]:start kernel map ffffffc000000000
- ^M[0]:PHYS_OFFSET af000000
- ^M[0]:pa symbol ffffffffaf082700 < ---- wrong!
- unsigned long
- __phys_addr(unsigned long virt_addr)
- {
- /* Handle kernel symbols */
- printk("memstart %llx\n",memstart_addr);
- printk("virt_addr %llx\n", virt_addr);
- printk("sizeof %d\n", sizeof(unsigned long));
- printk("start kernel map %llx\n", __START_KERNEL_map);
- printk("PHYS_OFFSET %llx\n", PHYS_OFFSET);
- if (virt_addr >= __START_KERNEL_map)
- return (unsigned long)virt_addr - (unsigned long)__START_KERNEL_map + (unsigned long)PHYS_OFFSET;
- /* Handle kernel data */
- return (unsigned long)virt_addr - (unsigned long)PAGE_OFFSET;
- }
- static int cpu_psci_cpu_boot(unsigned int cpu)
- {
- unsigned long e = __pa_symbol(secondary_entry);
- // printk("pa symbol %llx\n", e);
- int err = psci_ops.cpu_on((unsigned long)cpu_logical_map(cpu), e);
- if (err)
- pr_err("failed to boot CPU%d (%d)\n", cpu, err);
- return err;
- }
- Dump of phys_addr:
- Disassembly of section .text.__phys_addr:
- ffffffc0000883a8 <__phys_addr>:
- ffffffc0000883a8: a9be7bfd stp x29, x30, [sp, #-32]!
- ffffffc0000883ac: 910003fd mov x29, sp
- ffffffc0000883b0: a90153f3 stp x19, x20, [sp, #16]
- ffffffc0000883b4: d00004b4 adrp x20, ffffffc00011e000 <boot_cpu_pda+0x1000>
- ffffffc0000883b8: aa0003f3 mov x19, x0
- ffffffc0000883bc: f9430281 ldr x1, [x20, #1536]
- ffffffc0000883c0: d0000120 adrp x0, ffffffc0000ae000 <psci_of_match+0x1e90>
- ffffffc0000883c4: 9117a000 add x0, x0, #0x5e8
- ffffffc0000883c8: 94000544 bl ffffffc0000898d8 <printk>
- ffffffc0000883cc: aa1303e1 mov x1, x19
- ffffffc0000883d0: d0000120 adrp x0, ffffffc0000ae000 <psci_of_match+0x1e90>
- ffffffc0000883d4: 9117e000 add x0, x0, #0x5f8
- ffffffc0000883d8: 94000540 bl ffffffc0000898d8 <printk>
- ffffffc0000883dc: d2800101 mov x1, #0x8 // #8
- ffffffc0000883e0: d0000120 adrp x0, ffffffc0000ae000 <psci_of_match+0x1e90>
- ffffffc0000883e4: 91182000 add x0, x0, #0x608
- ffffffc0000883e8: 9400053c bl ffffffc0000898d8 <printk>
- ffffffc0000883ec: b25a67e1 mov x1, #0xffffffc000000000 // #-274877906944
- ffffffc0000883f0: d0000120 adrp x0, ffffffc0000ae000 <psci_of_match+0x1e90>
- ffffffc0000883f4: 91186000 add x0, x0, #0x618
- ffffffc0000883f8: 94000538 bl ffffffc0000898d8 <printk>
- ffffffc0000883fc: f9430281 ldr x1, [x20, #1536]
- ffffffc000088400: d0000120 adrp x0, ffffffc0000ae000 <psci_of_match+0x1e90>
- ffffffc000088404: 9118c000 add x0, x0, #0x630
- ffffffc000088408: 94000534 bl ffffffc0000898d8 <printk>
- ffffffc00008840c: 92c00800 mov x0, #0xffffffbfffffffff // #-274877906945
- ffffffc000088410: eb00027f cmp x19, x0
- ffffffc000088414: 540000c9 b.ls ffffffc00008842c <__phys_addr+0x84> // b.plast
- ffffffc000088418: f9430280 ldr x0, [x20, #1536]
- ffffffc00008841c: d2c00801 mov x1, #0x4000000000 // #274877906944
- ffffffc000088420: 8b010000 add x0, x0, x1
- ffffffc000088424: 8b130000 add x0, x0, x19
- ffffffc000088428: 14000003 b ffffffc000088434 <__phys_addr+0x8c>
- ffffffc00008842c: d2c00800 mov x0, #0x4000000000 // #274877906944
- ffffffc000088430: 8b000260 add x0, x19, x0
- ffffffc000088434: a94153f3 ldp x19, x20, [sp, #16]
- ffffffc000088438: a8c27bfd ldp x29, x30, [sp], #32
- ffffffc00008843c: d65f03c0 ret
- Dump of cpu_psci_cpu_boot:
- Disassembly of section .text.cpu_psci_cpu_boot:
- ffffffc000085430 <cpu_psci_cpu_boot>:
- ffffffc000085430: a9be7bfd stp x29, x30, [sp, #-32]!
- ffffffc000085434: 910003fd mov x29, sp
- ffffffc000085438: a90153f3 stp x19, x20, [sp, #16]
- ffffffc00008543c: 2a0003f4 mov w20, w0
- ffffffc000085440: b0ffffe0 adrp x0, ffffffc000082000 <memmove+0x40>
- ffffffc000085444: 911c0000 add x0, x0, #0x700
- ffffffc000085448: 94000bd8 bl ffffffc0000883a8 <__phys_addr>
- ffffffc00008544c: 900001e2 adrp x2, ffffffc0000c1000 <__data_loc+0x2000>
- ffffffc000085450: 9105e042 add x2, x2, #0x178
- ffffffc000085454: 900005c3 adrp x3, ffffffc00013d000 <irqs+0x5890>
- ffffffc000085458: 93407c01 sxtw x1, w0
- ffffffc00008545c: f947d063 ldr x3, [x3, #4000]
- ffffffc000085460: f8745840 ldr x0, [x2, w20, uxtw #3]
- ffffffc000085464: d63f0060 blr x3
- ffffffc000085468: 2a0003f3 mov w19, w0
- ffffffc00008546c: 340000c0 cbz w0, ffffffc000085484 <cpu_psci_cpu_boot+0x54>
- ffffffc000085470: 90000140 adrp x0, ffffffc0000ad000 <psci_of_match+0xe90>
- ffffffc000085474: 2a1403e1 mov w1, w20
- ffffffc000085478: 2a1303e2 mov w2, w19
- ffffffc00008547c: 911a8000 add x0, x0, #0x6a0
- ffffffc000085480: 94001116 bl ffffffc0000898d8 <printk>
- ffffffc000085484: 2a1303e0 mov w0, w19
- ffffffc000085488: a94153f3 ldp x19, x20, [sp, #16]
- ffffffc00008548c: a8c27bfd ldp x29, x30, [sp], #32
- ffffffc000085490: d65f03c0 ret
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement