ChanServ changed the topic of #armlinux to: ARM kernel talk [Upstream kernel, find your vendor forums for questions about their kernels] | https://libera.irclog.whitequark.org/armlinux
rvalue has quit [Ping timeout: 264 seconds]
gclement has quit [Quit: Leaving.]
rvalue has joined #armlinux
hanetzer has quit [Quit: WeeChat 4.1.2]
apritzel has quit [Ping timeout: 260 seconds]
jn has quit [Ping timeout: 256 seconds]
jn_ has joined #armlinux
jn_ has joined #armlinux
jclsn has quit [Ping timeout: 260 seconds]
jclsn has joined #armlinux
heat_ has joined #armlinux
heat has quit [Ping timeout: 246 seconds]
amitk has joined #armlinux
amitk has quit [Ping timeout: 268 seconds]
amitk has joined #armlinux
cbeznea_ has joined #armlinux
Peng_Fan has quit [Quit: Connection closed for inactivity]
sakman has quit [Ping timeout: 256 seconds]
monstr has joined #armlinux
monstr has quit [Ping timeout: 252 seconds]
Lucanis has quit [Ping timeout: 264 seconds]
Lucanis has joined #armlinux
Lockesmith has quit [Ping timeout: 255 seconds]
Lockesmith has joined #armlinux
apritzel has joined #armlinux
apritzel has quit [Ping timeout: 260 seconds]
gclement1 has joined #armlinux
headless has joined #armlinux
monstr has joined #armlinux
mvaittin has joined #armlinux
frieder has joined #armlinux
sszy has joined #armlinux
ezulian has joined #armlinux
nsaenz_ has quit [Remote host closed the connection]
<ardb> arnd: marvell dove is v7 + pj4 right?
ezulian has quit [Quit: ezulian]
<arnd> Yes, it's v7 without Neon, which might explain how it gets a coprocessor exception that others don't get
ezulian has joined #armlinux
sally has quit [Ping timeout: 276 seconds]
elastic_dog has quit [Ping timeout: 240 seconds]
<arnd> ardb: from the log, I would guess that it was trying to kill PID 1 after running into an undefined thumb2 instruction that was getting handled before. I checked the debian trixie systemd package and I see that this is built with -marm rather than -mthumb
<arnd> libc.so.6 is thumb2 though
elastic_dog has joined #armlinux
amitk has quit [Quit: leaving]
qpla has joined #armlinux
<ardb> right
<ardb> i suspect the tstne in this hunk
<ardb> so debian armhf is v7+ only?
<ardb> i suppose i knew that
<ardb> should have some time to look into it this pm
<ardb> hmm maybe not - removing that tstne should not result in more opcodes being rejected
<ardb> ah hold on - register_iwmmxt_undef_handler() only covers ARM mode
<ardb> but those only exist in an ARM encoding iirc
heat has joined #armlinux
<ardb> would be good to know which opcode triggers the undef in this case
heat_ has quit [Read error: Connection reset by peer]
heat has quit [Remote host closed the connection]
heat has joined #armlinux
nsaenz has joined #armlinux
nsaenz has quit [Read error: Connection reset by peer]
<arnd> ardb: I see that this cpu has iWMMXt, so glibc will use ldfp/stfp instructions in setjump and setcontext. These are 32-bit thumb2 instructions, and it looks like the idea is that they call iwmmxt_undef_handler to enable iwmmxt support
nsaenz has joined #armlinux
headless has quit [Quit: Konversation terminated!]
<arnd> the user could verify this by building a kernel without iWMMXT support, in which case glibc should not try to save/restore the register state for it
nsaenz_ has joined #armlinux
nsaenz has quit [Ping timeout: 260 seconds]
prabhakarlad has joined #armlinux
nsaenz_ has quit [Remote host closed the connection]
nsaenz has joined #armlinux
apritzel has joined #armlinux
prabhakarlad has quit [Quit: Client closed]
nsaenz_ has joined #armlinux
nsaenz has quit [Ping timeout: 240 seconds]
vingu has quit [Quit: Leaving.]
vingu has joined #armlinux
nsaenz_ has quit [Remote host closed the connection]
nsaenz has joined #armlinux
prabhakarlad has joined #armlinux
nsaenz_ has joined #armlinux
headless has joined #armlinux
nsaenz has quit [Ping timeout: 255 seconds]
nsaenz_ has quit [Remote host closed the connection]
robmur01 has joined #armlinux
headless has quit [Quit: Konversation terminated!]
nsaenz has joined #armlinux
Lockesmith has quit [Remote host closed the connection]
Lockesmith has joined #armlinux
Lockesmith has quit [Remote host closed the connection]
Lockesmith has joined #armlinux
psydroid has joined #armlinux
<ardb> arnd: are those instructions documented anywhere?
kwilczynski has quit [Ping timeout: 268 seconds]
jbowen has quit [Ping timeout: 268 seconds]
ndesaulniers has quit [Ping timeout: 268 seconds]
abelloni has quit [Ping timeout: 268 seconds]
zx2c4 has quit [Ping timeout: 268 seconds]
mkorpershoek has quit [Ping timeout: 268 seconds]
ukleinek has quit [Ping timeout: 268 seconds]
hays has quit [Ping timeout: 268 seconds]
kwilczynski has joined #armlinux
jbowen has joined #armlinux
zx2c4 has joined #armlinux
ukleinek has joined #armlinux
abelloni has joined #armlinux
mkorpershoek has joined #armlinux
ndesaulniers has joined #armlinux
<arnd> ardb: I think I saw a document for them before. I also noticed I got the opcodes wrong here, as these are overloaded with other coprocessors
<ardb> i see stcl/ldcl
<arnd> when I disassemble the binary with objdump -dr -miwmmxt, I get things like
<arnd> 0: ecfc a102 wldrd wr10, [ip], #8
<arnd> without -miwmmxt, the same binary disassembles to
<arnd> 0: ecfc a102 ldfp f2, [ip], #8
<arnd> and this comes from
<arnd> echo 'int main(void) { asm volatile("ldcl p1, cr10, [r12], #8"); }' | arm-linux-gnueabihf-gcc-12 -O2 -o /tmp/test -xc - -c
<arnd> interestingly, the ldcl mnemonic can be built with either -marm or -mthumb, and objdump can interpret it as wldrd in either mode as well
<arnd> but I have not found any way to give gcc or gas an input with wldrd in thumb mode
<ardb> yeah the non-conditional encoding is identical
<ardb> so coproc #1 is shared between FPA and iWMMXt so it is safe to assume that any user accesses from thumb mode are the latter
<ardb> so i'll just add the thumb encodings of ldc/stc to iwmmxt_undef_handler
<ardb> (involving p1)
<robmur01> I guess the intersection of things supporting iWMMXT and things supporting Thumb-2 is small enough to have gone unnoticed :)
nsaenz_ has joined #armlinux
<ardb> clearly
nsaenz has quit [Ping timeout: 260 seconds]
<arnd> ah, I assumed armada370 and armadaxp had iwmmxt, but it looks like they don't, that certainly explains a lot
<arnd> dove (cubox) used to be fairly common, and this is pj4 with both iwmmxt and vfpv3-d16, while the later ones still have vfpv3-d16 but no iwmmxt
sakman has joined #armlinux
sudeepholla_ has quit [Ping timeout: 240 seconds]
<arnd> I found the datasheet for MMP3 (PXA2128), this was probably the last one to use iWMMXt, and was used in the OLPC XO4 laptop but not much else
<arnd> ah, and the Wyse 3020 thin client that linusw__ mentioned the other day ;-)
nsaenz_ has quit [Remote host closed the connection]
nsaenz has joined #armlinux
<linusw__> I haven't tried to boot mainline on it yet, it's on my TODO!
<arnd> linusw__: when you do get around to testing it, see the bug at https://bugzilla.kernel.org/show_bug.cgi?id=218427 that we're discussing right now, which means you won't be able to boot with linux-6.6 or higher until it's fixed, at least with CONFIG_IWMMXT enabled
<linusw__> ouff good to know!
<arnd> for reference, it looks like we have at least three different FPU combinations on PJ4: vfpv3-d16+iwmmxt (dove, mmp2), vfpv3-d16 only (370, xp), and vfpv3-d32+iwmmxt+neon (berlin, mmp3)
<ardb> i attached a patch to the bug
sudeepholla_ has joined #armlinux
monstr has quit [Ping timeout: 252 seconds]
matthias_bgg has quit [Quit: Leaving]
iivanov has quit []
monstr has joined #armlinux
sszy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
headless has joined #armlinux
prabhakarlad has quit [Quit: Client closed]
headless_ has joined #armlinux
headless is now known as Guest557
Guest557 has quit [Killed (silver.libera.chat (Nickname regained by services))]
headless_ is now known as headless
gclement1 has quit [Ping timeout: 256 seconds]
iivanov has joined #armlinux
monstr has quit [Remote host closed the connection]
monstr has joined #armlinux
sakman has quit [Ping timeout: 260 seconds]
monstr has quit [Read error: Connection reset by peer]
maz has quit [Ping timeout: 252 seconds]
maz_ has joined #armlinux
monstr has joined #armlinux
iivanov has quit [Remote host closed the connection]
rvalue has quit [Ping timeout: 256 seconds]
rvalue has joined #armlinux
monstr has quit [Remote host closed the connection]
apritzel has quit [Ping timeout: 264 seconds]
sakman has joined #armlinux
frieder has quit [Remote host closed the connection]
sally has joined #armlinux
sakman has quit [Read error: Connection reset by peer]
nsaenz has quit [Ping timeout: 264 seconds]
sakman has joined #armlinux
prabhakarlad has joined #armlinux
cbeznea_ has quit [Ping timeout: 256 seconds]
headless has quit [Quit: Konversation terminated!]
apritzel has joined #armlinux
qpla has quit [Ping timeout: 268 seconds]
sudeepholla_ has quit [Ping timeout: 268 seconds]
sudeepholla_ has joined #armlinux
prabhakarlad has quit [Ping timeout: 250 seconds]
psydroid has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
ezulian has quit [Ping timeout: 256 seconds]
prabhakar has quit [Ping timeout: 264 seconds]