-
gitomat
[illumos-gate] 15309 zfs_acl_chmod_aclmode_001_pos is failing -- Toomas Soome <tsoome⊙mc>
-
tsoome
Consoles: EFI console
-
tsoome
illumos/aarch64 EFI loader, Revision 1.1
-
tsoome
.oO
-
toasterson
tsoome: oO
-
tsoome
it does not mean too much yet;)
-
toasterson
You are such a tease :)
-
toasterson
Well if we can boot in qemu thats already helping. If you can PR it towards richlowes aarch64 branch or point me towards a repo I can integrate it into the packaging and start testing
-
tsoome
in addition, this bloody qemu just started to get: ZFS: i/o error - all block copies unavailable -- so I need to recover from that (unexpectedly)
-
toasterson
ouch
-
tsoome
since this qemu does not shut down properly, it smells like part of disk cache was not flushed before shutdown:)
-
tsoome
huh, this qemu is blowing up on ahci sometimes...
-
toasterson
So qemu likes ahci in the same way all other software devs do?
-
toasterson
Ah, no that was acpi
-
rmustacc
qemu has multpile different types of machines with different designs. The basic qemu virt machine is a good target for basic development and IIRC yes, passes some of that info via acpi.
-
richlowe
our arm should not have ahci just yet, the drivers are there but who knows if they work
-
richlowe
you want the 'virt' machine, and I actually added a version number specifically so we all knew which one even though it's an old one
-
richlowe
oh, toomas isn't here
-
jbk
do we use ACPI to enumerate all the buses on ARM or do something similar as x86?
-
richlowe
neither
-
richlowe
no acpi yet, because I haven't seen an armsbsa system or something like it
-
richlowe
flat device tree
-
jbk
one thing that's caused a bit of a wrinkle w/ the hyper-v gen2 support is that it assumes ACPI is used to enumerate all of the buses.. including all the non-PCI stuff (com ports, TPM2 module, etc)
-
jbk
I have a workaround, though still undecided where in the device tree they should go
-
jbk
(nothings committed anywhere, so nothing's set in stone)
-
richlowe
we _do_ enumerate all the "isapnp"-y acpi devices that way.
-
jbk
since there is no PCI-ISA bridge in that instance.. just devices with an IO or MEM address and maybe IRQ
-
richlowe
(or x86)
-
jbk
only in the presense of an PCI-ISA bridge
-
richlowe
_on x86_, drat
-
jbk
which is the issue there
-
jbk
there are no PCI bridges in hyper-v gen 2 (unless there's PCI pass-thru which isn't supported on illumos yet)
-
jbk
so no PCI-ISA bridge
-
jbk
so the COM ports and such don't get enumerated
-
jbk
it appears freebsd and others let ACPI drive it vs. trying to 'fill in the gaps' after handling the PCI bus
-
rmustacc
jbk: The PCI PRD (platform resource discovery) allows the platform to enumerate PCI bits in any way. The ACPI devices tree is also set up to allow enumeration of other stuff fwiw.
-
jbk
but only of certain things -- I'd need to find the code again, but we filter out (i.e. ignore) a lot of stuff... under the assumption that a PCI-ISA bridge will exist, which will call an ISA specific ACPI enumeration function
-
jbk
which was the problem w/ hyper-v
-
jbk
one of the workarounds was to add some bits to 'un-filter' that stuff under hyper-v
-
jbk
but then the com ports end up under /fw
-
jbk
which maybe is ok?
-
richlowe
I would expect them at the root if that's where they are.
-
richlowe
the degree it matters is that you're going to be calling your parent, etc's, bus methods
-
richlowe
for which rootnex seems more likely to be actually the right one?
-
richlowe
but I don't know how that's structured, if that's not true, that sort of dictates where they should go.
-
jbk
it looks like what i settled on (for now.. nothing's committed at this point) is playing a bit of a game and if we see \_SB_.FW.VMBS, it creates a dev node for the vmbus under the root nexus, and if booted off EFI (how MS suggested distinguishing between gen1 and gen2), also attach an isa instance under the root nexus
-
jbk
-
jbk
the last bit i really need to sort out (if I can ever get the time) is cleaning up how vmbus devices are created and destroyed
-
jbk
the freebsd code it comes from is a bit of 'taskq-ception' which causes problems
-
jbk
i think i've figured out the (unstated) locking rules surrounding creating children
-
jbk
which was another piece that was a problem (though the scsav3 rewrite of the hv storage driver garrett did was at last nice enough to make it easy to hit in a debug kernel so it make it a bit easier to figure out)
-
jbk
err at least