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)? ;)
<robmur01> oh, wait, there's that STM32MP thing, isn't there... that's annoyingly confusing
<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!]
bjdooks has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
jeeeun has quit [Quit: The Lounge - https://thelounge.chat]
bjdooks has joined #armlinux
jeeeun has joined #armlinux
DynamiteDan has quit [Excess Flood]
DynamiteDan has joined #armlinux
frieder has quit [Read error: Connection reset by peer]
apritzel has quit [Ping timeout: 246 seconds]
jeeeun has quit [Quit: The Lounge - https://thelounge.chat]
bjdooks has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
bjdooks has joined #armlinux
jeeeun has joined #armlinux
sszy has quit [Quit: http://quassel-irc.org - Chat comfortably. Anywhere.]
<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)]
shawnguo has joined #armlinux