IRC channel logs

2022-10-16.log

back to list of logs

<damo22>on the AP, (qemu) x $eip
<damo22>ca386602: 0x00000000
<damo22>that is wayyy out of the kernel code
<damo22>how did it jump so far
<damo22>that was the last value of eip before it crashed
<damo22>how can it crash the cpu and not cause a trap?
<damo22>i already have the traps set up in idt
<damo22>hmm git grep smp_reschedule_irq
<damo22>its being called, but theres no symbol??
<damo22>how do i set a register in qemu
***help is now known as roptat
<damo22>youpi: it seems that the AP went nuts when the BSP set "cld"
<damo22>what is the direction flag for?
<damo22>ok i rearranged things, and now the problem is EIP on the AP is ca42b134
<damo22>but the interrupt is raised
<damo22>maybe i dont need a fixed LVT register with matching irq
<damo22>wth EIP=f48350a8 EFL=00000046 [---Z-P-] CPL=0 II=0 A20=1 SMM=0 HLT=1
<damo22>does every cpu need its timer enabled?
<damo22>or is one timer enough?
<damo22>hmm maybe i need to block interrupts while sending ipi
<youpi>damo22: direction flag is just for lds stos cmps, i.e. string operations, i.e. only a very local thing
<youpi>you need timer on each cpu, otherwise you won't be able to manage threads there
<youpi>as in: a userland while(1); loop would hog the cpu
<damo22>i think i had a spurious interrupt and no idt for 255
<damo22>bed
<gfleury>youpi: how can i run htl only tests in glibc? something like 'make check=htl'?
<youpi>gfleury: make check -C htl subdir=htl ..=../ objdir=$PWD/build-tree/hurd-i386-libc
<gfleury>youpi: thanks