Search
Wednesday, 27th of May 2020, 4:06:46 UTC
10:06:46
froggey
fitzsim: oh well, thanks for trying
14:34:41
fitzsim
I'm trying to dump the HPET configuration from the GRUB prompt
14:34:50
fitzsim
I found the ACPI HPET table entry
14:35:09
fitzsim
(this is in QEMU q35 for now, then I'll try on real hardware)
14:35:42
fitzsim
General Capabilities and ID Register: 01 00 00 00 80 00 00 00
14:35:51
fitzsim
does that look reasonable?
14:36:19
fitzsim
I'm trying to orient myself in these big structures
14:43:13
fitzsim
struct hpet : public description_table_header
14:43:39
fitzsim
that should mean that hardware_rev_id follows directly after creator_revision in memory?
14:45:02
fitzsim
pci_vendor_id: 0x86 0x80
14:45:09
fitzsim
I think that means Intel so makes sense...
14:46:24
fitzsim
hmm, address_structure address is where it stops making sense
14:48:06
fitzsim
00 00 00 00 00 00 d0 fe 00 00 00 00
14:48:25
fitzsim
that would make register_bit_width 00 which doesn't seem right
14:50:14
froggey
that's probably fine as it's pointing to a device, not a specific register in it
14:50:40
froggey
it should be at 0xfed00000, based on that
14:50:45
froggey
which seems pretty reasonable
14:51:31
fitzsim
dumping 8 bytes there gives: 01 00 00 00 80 00 00 00
14:54:57
fitzsim
many subsequent bytes are 00
14:56:12
froggey
ah, it might be because you're doing byte reads
14:56:30
froggey
you need to do 32-bit reads on these registers
14:59:46
fitzsim
seems that legacy replacement mapping is disabled
15:00:33
fitzsim
I'll do the same check on the hardware later
15:03:11
froggey
what's the value of configuration register for timers 0 & 1? offsets 0x100 and 0x120
15:26:01
froggey
doesn't look like qemu is doing anything with the HPET. it probably emulates a real PIT
15:39:52
fitzsim
on target: 0xfed00000 (same address via ACPI tables): 0x8086a301
15:40:11
fitzsim
+8: 0x0, +0x100: 0x30, +0x120: 0x0
15:41:57
froggey
what's in the general config register? +0x10
15:50:26
froggey
I'm out of ideas at this point
15:50:47
froggey
can you get the full output of dmesg from linux when booted with the three nofoo options?
15:54:12
fitzsim
I can build custom linux kernels to printk stuff too, if necessary
15:54:52
fitzsim
could this be some piece of hardware misconfigured on boot, that issues interrupts?
15:55:19
fitzsim
I'm still trying to understand the underlying problem that results in the IRQ 7s
15:55:55
fitzsim
the i8259 is configured to receive interrupts, but it's receiving one that it doesn't know about?
15:56:02
fitzsim
but I think the timer irq seems fine
15:56:20
fitzsim
since the system mostly boots
15:56:48
fitzsim
I'm just wondering if I should open the laptop up and unplug the wireless card, for example
15:58:00
fitzsim
(just reading back in my notes)
15:58:28
fitzsim
the interrupt controller (i8259) delivers an interrupt to the CPU, but it (the controller) forgot which interrupt needed to be delivered
15:59:35
fitzsim
I'm paraphrasing/clarifying for myself, something that you'd written before
16:01:25
fitzsim
anyway, I'll start with the dmesg on my next break
16:05:42
froggey
in this case what's being reported as IRQ 7 isn't a real IRQ 7. the device attached to IRQ 7 didn't do anything and is uninvolved
Wednesday, 27th of May 2020, 16:06:46 UTC