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
mraynal1 has quit [Read error: Connection reset by peer]
mraynal has joined #armlinux
apritzel_ has quit [Ping timeout: 248 seconds]
nsc has quit [Ping timeout: 265 seconds]
nsc has joined #armlinux
nsc is now known as Guest9779
jclsn_ has quit [Ping timeout: 265 seconds]
jclsn_ has joined #armlinux
torez has quit [Quit: torez]
heartburn has quit [Ping timeout: 252 seconds]
heartburn has joined #armlinux
iivanov has joined #armlinux
amitk has joined #armlinux
haritz has quit [Ping timeout: 265 seconds]
amitk has quit [Ping timeout: 248 seconds]
frieder has joined #armlinux
cleger has joined #armlinux
crummel has quit [Ping timeout: 260 seconds]
crummel has joined #armlinux
viorel has joined #armlinux
matthias_bgg has joined #armlinux
guillaume_g has joined #armlinux
matthias_bgg has quit [Quit: Leaving]
sszy has joined #armlinux
luispm has joined #armlinux
headless has joined #armlinux
nsaenz has joined #armlinux
nsaenz has quit [Remote host closed the connection]
headless has quit [Read error: Connection reset by peer]
headless has joined #armlinux
apritzel has joined #armlinux
amitk has joined #armlinux
headless has quit [Quit: Konversation terminated!]
amitk has quit [Ping timeout: 252 seconds]
<linusw_>
arnd: I figured out why kernel-in-vmalloc wasn't working on Vexpress QEMU and possibly other platforms ...
<linusw_>
only took me a few months :/
<arnd>
and is it working now, or have you found that it's impossible? ;-)
<linusw_>
It's working and I neeed to come up with a proper fix and also figure out how widespread the problem is in hardware.
<linusw_>
The reason is that when the secondary CPU comes online, it uses TTBR1
<linusw_>
So we went through all trouble of setting up idmap and passing that in TTBR0 so that the switch from phys->virt execution would work for no reason at all.
<linusw_>
The only reason it was working was because we have Vexpress physical memory at 0x80000000 and vmsplit at 0x80000000 and that means 1:1 mapping and it works.
<arnd>
ah, interesting. What determines the use of ttbr1? Does this this come from something in qemu or in the kernel?
<linusw_>
Trying to figure that out :D
<linusw_>
I am guessing the QEMU or even the hardware in Vexpress.
<arnd>
vexpress is a bit odd in the way it does secondary startup with its use of spin-tables, which most other platforms thankfully don't need
<linusw_>
Since it only affects LPAE only those systems come up this way.
<linusw_>
It works fine without LPAE
<linusw_>
Then I saw something which might be the same bug on STM32 with LPAE... which is ... hardware.
<linusw_>
Interestingly, STM32 has physical memory at 0xc0000000 and vmsplit at 0xc0000000 :D
<linusw_>
So I am seeing an annoying pattern here, that maybe the idmap on LPAE just isn't used, ever, on anything.
<linusw_>
But I have to determine if it is really so.
<linusw_>
My most horror fantasy would be that hardware designers at ST put the physical memory at 0xc0000000 because they couldn't get LPAE on Linux to work unless they did ... :/ I hope it wasn't so.
<linusw_>
So I will ask around internally at Arm and try to figure this out, and I guess read the QEMU emulation and try to understand it better.
<robmur01>
er... "STM32 with LPAE" - presumably you don't actually mean STM32 (Cortex-M, no MMU)? ;)
<Xogium>
I hope they didn't do that... I mean, generally st is trying to do things the right way. So far it's been the one platform I ever used which hasn't caused me a ton of problems
<Xogium>
yes, there is
* Xogium
is using irc through stm32mp right now
<Xogium>
:D
<robmur01>
anyway, TTBR1 usage should depend mostly on TTBCR.T0SZ, so if that's going wrong it sounds most likely to be our own fault
<Xogium>
kinda wish qemu had actual emulation of more hardware
<linusw_>
robmur01: its STM32MP157f to be precise.
<robmur01>
yeah, looks like early_paging_init() does a RMW of TTBCR presumably expecting the other fields to have the reset value of 0. It probably shouldn't...
<Xogium>
so what exactly is blowing up ? I'm honestly curious since I've been running linux on these without any real trouble. Unless it's not something people who don't toy with the kernel could notice
<linusw_>
robmur01: hm I had trouble finding a reliable documentation of TTBCR...
<robmur01>
bleh, no, I'm looking in the wrong place still - I guess v7_ttb_setup probably runs earlier, which appears to explicitly set up the TTBR split
<robmur01>
linusw_: for v7 stuff I still tend to go back to DDI406 (mostly because the PDF is so much smaller) - in newer docs TTBCR is renamed TCR
Amit_T has joined #armlinux
<linusw_>
robmur01: thanks!
iivanov has quit [Remote host closed the connection]
iivanov has joined #armlinux
amitk has joined #armlinux
amitk has quit [Ping timeout: 268 seconds]
amitk has joined #armlinux
hanetzer has quit [Quit: WeeChat 3.8]
<linusw_>
Xogium: the current code is working fine but as I am trying to change the layout of the virtual memory some assumptions about the idmap makes code not work.
amitk has quit [Ping timeout: 248 seconds]
<Xogium>
ah, I see
hanetzer has joined #armlinux
haritz has joined #armlinux
haritz has joined #armlinux
haritz has quit [Changing host]
<bjdooks>
hmm, anyone know if there is a way to get the Jetson TX2 schematics (the module, we have the baseboard ones).... or know if there's more than just the wifi enable line?
torez has joined #armlinux
cleger has quit [Quit: Leaving]
matthias_bgg has joined #armlinux
cmarinas has joined #armlinux
cmarinas_ has quit [Ping timeout: 265 seconds]
cmarinas has quit [Client Quit]
cmarinas has joined #armlinux
cmarinas has quit [Client Quit]
cmarinas has joined #armlinux
rvalue has quit [Read error: Connection reset by peer]
rvalue has joined #armlinux
<arnd>
finished my backlog for the soc tree, everything should be merged in there. If anyone sent something that is not merged, let me know or resubmit
headless has joined #armlinux
<geertu>
arnd: thx!
hanetzer has quit [Ping timeout: 246 seconds]
hanetzer has joined #armlinux
viorel has quit [Quit: WeeChat 3.6]
guillaume_g has quit [Quit: Konversation terminated!]
<rfs613>
i'm looking to build kernel with slightly different CFLAGS on a per-file or per-subdir basis. I know I can use ccflags-y and subdir-ccflags-y for this.
<rfs613>
I'm wondering if anyone has some tips or tools for doing this in a systematic way across the whole kernel source tree?
<rfs613>
eg. I want to bisect, but based on a differnce in cflags.
amitk_ has quit [Ping timeout: 268 seconds]
apritzel_ has joined #armlinux
iivanov has quit [Quit: Leaving...]
Misotauros has quit [Ping timeout: 248 seconds]
headless has quit [Quit: Konversation terminated!]
Amit_T has quit [Quit: Leaving]
hanetzer has quit [Ping timeout: 255 seconds]
hanetzer has joined #armlinux
heat has joined #armlinux
heat has quit [Remote host closed the connection]
heat has joined #armlinux
Misotauros has joined #armlinux
prabhakarlad has quit [Quit: Client closed]
torez has quit [Quit: torez]
shawnguo has quit [Quit: Ping timeout (120 seconds)]