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
djrscally has quit [Ping timeout: 256 seconds]
mcoquelin has quit [Ping timeout: 250 seconds]
Tokamak has joined #armlinux
Tokamak has quit [Read error: Connection reset by peer]
Tokamak has joined #armlinux
mcoquelin has joined #armlinux
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
Tokamak has joined #armlinux
Tokamak has quit [Read error: Connection reset by peer]
mcoquelin has quit [Ping timeout: 250 seconds]
Tokamak has joined #armlinux
mcoquelin has joined #armlinux
mripard has quit [Read error: Connection reset by peer]
mripard has joined #armlinux
apritzel has quit [Ping timeout: 250 seconds]
<marex>
arnd: the PCI patch looks awful, but oh well ... it does its job
Pali has quit [Ping timeout: 240 seconds]
Tokamak has quit [Ping timeout: 240 seconds]
Tokamak has joined #armlinux
amitk has joined #armlinux
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
Tokamak has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
apritzel has joined #armlinux
apritzel has quit [Ping timeout: 240 seconds]
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
mcoquelin has quit [Ping timeout: 250 seconds]
<arnd>
marex: can't you just use a .fixup section hack in the inline asm that sets the return value to all ones?
mcoquelin has joined #armlinux
apritzel has joined #armlinux
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
System_Error has quit [Ping timeout: 276 seconds]
headless has joined #armlinux
mcoquelin has quit [Ping timeout: 256 seconds]
mcoquelin has joined #armlinux
Pali has joined #armlinux
headless has quit [Quit: Konversation terminated!]
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
nsaenz has joined #armlinux
mcoquelin has quit [Ping timeout: 256 seconds]
mcoquelin has joined #armlinux
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
mcoquelin has quit [Ping timeout: 256 seconds]
mcoquelin has joined #armlinux
<marex>
arnd: a .fixup section hack ? What's that ?
<arnd>
marex: see get_user()
<j`ey>
and arch/arm64/include/asm/asm-extable.h
<arnd>
you have a small bit of fixup code that loads the return code when an exception happens in the .text.fixup section, and a pair of pointers in the __ex_table section that points to the (potentially) faulting instruction and the fixup
<arnd>
the generic exception handler checks if an exception came from an address listed in the __ex_table section, and continues in the corresponding .text.fixup if it did, instead of trying to handle the exception as normal
<marex>
arnd: the fixup code I have also brings the PCIe link back up, so it isn't small
<marex>
arnd: is that also available on arm32 , because that's where I have this problem
<arnd>
The fixup mechanism works on all architectures, but of course each one needs customer asm instructions
<arnd>
marex: you should be able to hook up the link retraining by using an asm with two outputs, then check for an error that gets flagged in the second one
<marex>
arnd: oh, all right, I'll have to revisit that and grep around when I have more time
mcoquelin has quit [Ping timeout: 250 seconds]
mcoquelin has joined #armlinux
apritzel has quit [Ping timeout: 250 seconds]
headless has joined #armlinux
headless has quit [Quit: Konversation terminated!]