May 28 2021
May 13 2021
Feb 24 2021
Jan 28 2021
Added a comment indicating that PIE is incompatible with -mno-abicalls. Thanks, @emaste.
Jan 27 2021
Jul 28 2020
Jul 24 2020
Jul 23 2020
Grammar correction suggestions in code comments.
Jul 22 2020
Minor grammar suggestions but otherwise looks good to me. Thanks!
'if _BYTE_ORDER' removed, making the code more generic, as suggested in the comments of this revision. Comments were also added explaining why endian conversion is necessary.
Jul 20 2020
@arichardson Which freebsd .img revision are you using?
Jul 14 2020
I can confirm that this makes virtio-rng work again for MIPS64. LGTM if you apply @alfredo's suggestions.
Jul 8 2020
In this way the specificity of the mips is removed, the adjustments of the bus_space in the vtpci_* defines makes the code more generic.
Jul 6 2020
Jul 2 2020
Jun 24 2020
I stepped through MIPS init in QEMU and it turns out MALTA ends up with
p sc->vtpci_res->r_bustag $7 = (bus_space_tag_t) 0xffffffff809aefc0 <gt_pci_space>
Apr 24 2020
More respose to markj feedback
Note that for instance x86 has similar issue, because hardware is free to speculatively walk page tables and load any valid PTE or intermediate paging structure. There all page table entries clearing functions take the free list pointer, where the freed page table is put. Only after the caller did IPI to invalidate TLB for cleared PTE, the pages from the list can be freed.
Apr 23 2020
This looks reasonable to me aside from the style nits.
Revised version as per markj's feedback
Apr 22 2020
Apr 21 2020
Now without D24523 included
Apr 20 2020
I believe it is better to split the review into two. The pmap_emulate_modified() looks good to me, and I do not see why the other part should block this one.