sorear changed the topic of #riscv to: RISC-V instruction set architecture | https://riscv.org | Logs: https://libera.irclog.whitequark.org/riscv | Matrix: #riscv:catircservices.org
armand__ has quit [Remote host closed the connection]
Armand has joined #riscv
BootLayer has joined #riscv
mmind00 has quit [Remote host closed the connection]
mmind00 has joined #riscv
pabs3 has quit [Read error: Connection reset by peer]
pabs3 has joined #riscv
jacklsw has joined #riscv
jacklsw has quit [Quit: Back to the real world]
heat has quit [Ping timeout: 240 seconds]
BootLayer has quit [Quit: Leaving]
<indyZ> omg. I want to order a DC-ROMA right now.
TMM has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM has joined #riscv
klb2 has joined #riscv
<klb2> Hello! I'
test925 has joined #riscv
test924 has quit [Ping timeout: 264 seconds]
klb2 has quit [Quit: Client closed]
geertu has quit [Ping timeout: 272 seconds]
smaeul has quit [Ping timeout: 255 seconds]
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #riscv
smaeul has joined #riscv
Noisytoot has quit [Ping timeout: 246 seconds]
Noisytoot has joined #riscv
mlw has joined #riscv
jacklsw has joined #riscv
geertu has joined #riscv
mlw has quit [Ping timeout: 264 seconds]
mlw has joined #riscv
mlw has quit [Ping timeout: 264 seconds]
ntwk has quit [Ping timeout: 268 seconds]
mlw has joined #riscv
alexghiti has joined #riscv
ntwk has joined #riscv
alperak has joined #riscv
ldevulder has joined #riscv
Armand has quit [Killed (NickServ (GHOST command used by Armand79))]
armand__ has joined #riscv
cleger has joined #riscv
jjido has joined #riscv
prabhakalad has quit [Quit: Konversation terminated!]
prabhakalad has joined #riscv
jjido has quit [Quit: My laptop has gone to sleep. ZZZzzz…]
jacklsw has quit [Quit: Back to the real world]
naoki has quit [Quit: naoki]
fuwei has quit [Ping timeout: 268 seconds]
ncopa9 has quit [Changing host]
ncopa9 has joined #riscv
ncopa9 is now known as ncopa
naoki has joined #riscv
jjido has joined #riscv
jjido has quit [Quit: My laptop has gone to sleep. ZZZzzz…]
cleger has quit [Ping timeout: 268 seconds]
cleger has joined #riscv
naoki has quit [Quit: naoki]
psydroid has quit [Ping timeout: 260 seconds]
crabbedhaloablut has quit []
crabbedhaloablut has joined #riscv
psydroid has joined #riscv
psydroid2 has joined #riscv
mlw has quit [Ping timeout: 246 seconds]
mlw has joined #riscv
alperak has quit [Quit: Connection closed for inactivity]
jacklsw has joined #riscv
TMM has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
TMM has joined #riscv
jacklsw has quit [Quit: Back to the real world]
<la_mettrie> what i am missing? it looks like that driver code tries to fetch a string which only appears in yaml-file's example https://github.com/search?q=repo%3Atorvalds%2Flinux%20starfive%2Csys-syscon&type=code
<la_mettrie> (jh7110)
heat has joined #riscv
BootLayer has joined #riscv
<geertu> la_mettrie: Looks like the starfive,*-syscon properties haven't been added to arch/riscv/boot/dts/starfive/jh7110.dtsi yet
Stat_headcrabed has joined #riscv
paulk-bis has joined #riscv
paulk has quit [Read error: Connection reset by peer]
levitating has joined #riscv
<conchuod> They're not required and were not added in the patch that added them, dunno why.
<conchuod> that added the phy nodes
<conchuod> I'll ask when Minda sends me a new patch for the pcie nodes themselves.
cleger has quit [Ping timeout: 256 seconds]
paulk-bis has quit [Quit: WeeChat 3.0]
paulk has joined #riscv
paulk has quit [Changing host]
paulk has joined #riscv
Stat_headcrabed has quit [Quit: Stat_headcrabed]
BootLayer has quit [Quit: Leaving]
psydroid has quit [Quit: KVIrc 5.2.4 Quasar http://www.kvirc.net/]
SpaceCoaster has quit [Ping timeout: 256 seconds]
psydroid has joined #riscv
<JohnHenry> Older T-head cores like this Pioneer box I have can do a pretend-alike by using the T-head extension TLB-manipulation registers instead. Would upstream smile upon an assembly-alternative patch that implemented something like that but just for the T-head cores?
<JohnHenry> I'm pretty new to all this Linux enablement stuff so I'm just trying to figure out where I can make a useful dent. :)
coldfeet has joined #riscv
vagrantc has joined #riscv
<sorear> skeptical, given the limited number of users, the limited benefit per user (you don't need it for correctness), and the lack of existing vendor-specific TLB support
<sorear> I think there's a better case for supporting the T-head TLB broadcasting functionality as a replacement for IPI-based remote_sfence_vma
<JohnHenry> Thank you, good point. I was curious about that too. I've been looking around for enablement patches for the hardware- broadcast-TLB-invalidation and haven't found any except this one, which is flawed: https://github.com/XUANTIE-RV/linux/commit/a08f2e5ff2a7e1911f4096b9519ebcd3366a60cc
<JohnHenry> Is there more to that story than Nobody's Enabled It?
<JohnHenry> (the patch is flawed because it's using plain sfence.vma instead of the broadcast TLB invalidate)
<sorear> I have no real idea why t-head does anything they do on the software side
<sorear> if I understand the pdf manual correctly, there is no broadcast invalidate instruction, it changes the behavior of standard invalidate instructions depending on a bit in a M-mode register
<sorear> which is a rather weird approach, either you need novel SBI calls for them (which is the original reason we use the SBI for remote fences - Berkeley wanted to allow for broadcast hardware without the complexity of an ISA extension) or you're permanently running a supervisor in a state where everything is broadcast?
naoki has joined #riscv
jfsimon1981 has joined #riscv
punit has quit [Remote host closed the connection]
punit has joined #riscv
zjason` has joined #riscv
zjason has quit [Ping timeout: 264 seconds]
mlw has quit [Remote host closed the connection]
m5zs7k has quit [Ping timeout: 252 seconds]
m5zs7k has joined #riscv
Narrat has joined #riscv
alexghiti has quit [Ping timeout: 240 seconds]
alexghiti has joined #riscv
coldfeet has quit [Remote host closed the connection]
<JohnHenry> Which manual are you reading? I didn't see anything like what you're describing and I certainly would like to.
<JohnHenry> The broadcast instruction is SFENCE.VMAS on page 292. Reading it again, I wonder if it only hits the 4 cores in a cluster and not across the SG2042 NoC? Might just be a translation error.
<JohnHenry> Then T-Head collected their extensions in a later spec that I'm not sure applies to the SG2042/Pioneer: https://github.com/XUANTIE-RV/thead-extension-spec/releases/tag/2.3.0
<JohnHenry> I'm guessing th.sfence.vmas is the same thing as sfence.vmas from the first manual except it says all harts. I don't know if that's a translation error or a real difference?
<JohnHenry> Your story certainly makes the patch I thought was flawed make more sense tho.
<conchuod> The SG2042 has a bunch of kinda concerning hacks in their kernel code IIRC, I really hope many of them are not needed for mainline.
<JohnHenry> Could you point at one or two for me? I'm curious what you mean.
<JohnHenry> FWIW I'm a master's student in computer architecture working on TLB coherence so the opinions of kernel folks are quite important to me.
djdelorie has quit [Ping timeout: 260 seconds]
<JohnHenry> and I need all the help I can get navigating all the various trees and patchworks and repositories
<conchuod> This kind of thing
<conchuod> Or wanting HIGHMEM when IIRC that's on the purge list https://github.com/sophgo/linux-riscv/commit/0fd1c703d392266e302737b7443b90908295347e
<heat> highmem on 64-bit is naaaaasty
<JohnHenry> thank you very much, I see what you mean
<JohnHenry> that double-fence is painful to look at
<conchuod> I have a pioneer, but I've not managed to actually build a kernel on the thing to replace the vendor one cos the nvme drive is too small!
<conchuod> I also suspect the userspace would need to be replaced cos it'll be built for v0.7
jfsimon1981 has quit [Remote host closed the connection]
<JohnHenry> I haven't native-build, just cross-compiled the sophgo kernel, but that worked!
<JohnHenry> I'm interested in replacing the Fedora 38 it came with. We want to use upstream gcc with the xtheadvector for teaching, but I'm not sure what the best way to go about that stuff is
<sorear> JohnHenry: my original source was https://raw.githubusercontent.com/T-head-Semi/openc910/main/doc/%E7%8E%84%E9%93%81C910%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C.pdf , didn't know there was an official translation (?)
<JohnHenry> When I graduated I set my career goal of mostly staying under the instruction set and now everything is going to heck.
<sorear> JohnHenry: the language in mhint.TLB_BROAD_DIS in both versionhs seems to imply sfence.vma instruction is relevant to broadcasting somehow
psydroid2 has quit [Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/]
<conchuod> JohnHenry: I think my take on adding something for that vendor version of svinval is similar to sorear's. There's no pressing need for it, and may be a very limited number of devices that it would actually benefit (is it just the limited number sg2042s?).
<JohnHenry> Ah yes. I can't read Mandarin so I didn't even try with that version.
<JohnHenry> I got pointed at mhint.TLB_BROAD_DIS by Chen Pei when I emailed him to ask why that flawed-to-me patch that flawed-to-me didn't use th.sfence.vmas and he said I would need to be sure and "enable MHINT.TLB_BROAD_DIS"
<JohnHenry> ahhh editing myself is hard
<sorear> me neither, so I'm much more confident in the official translation
<sorear> that email reply implies that TLB_BROAD_DIS enables the sfence.vmas instruction instead of changing the behavior of sfence.vma, which makes far more sense but contradicts the manual
<JohnHenry> the one I'm reading has a lot of confusing parts, like how the A-bit is set in a page table entry?
<JohnHenry> does it trip a fault? does the page table walker do it?
<JohnHenry> I can't find where the fault is handled and the A-bit is set so I'm assuming it's the hardware page table walker, but I'm a newb.
<sorear> there's a requirement in the privileged spec that OSes have to handle hardware that throws a page fault if A=0, and §6.2.3 seems to say t-head takes that approach "the leaf page table is found but the access type does not conform to the setting of the A/D/X/W/R/U bit"
<JohnHenry> conchuod: Thanks. That makes sense to me. I'm not sure how broadly applied and uniform the T-Head extensions are. If they apply to th1520 too, then there's probably a better case for doing some of these enablements?
<sorear> afaik th1520 and sg2042 have exactly the same cores with the same extensions
<JohnHenry> sorear: yes, so the apparent contradiction is giving me some pause. What I want to do is enable the hardware TLB invalidate and benchmark against vanilla and then benchmark against something like Nadav Amit's Page Access Tracking
<JohnHenry> that I'd have to implement myself
<sorear> what contradiction
<JohnHenry> the email reply implying that TLB_BROAD_DIS enables sfence.vmas instead of changing sfence.vma
danilogondolfo has quit [Remote host closed the connection]
<JohnHenry> Did you run the Mandarin manual through machine translation to figure out that idea about sfence.vma being modified by TLB_BROAD_DIS? The part where the patch and you seem to have the same idea but the email reply and the manual disagree is making me think I've missed something crucial somewhere.
<sorear> yes
Narrat has quit [Quit: They say a little knowledge is a dangerous thing, but it's not one half so bad as a lot of ignorance.]
bgamari_ has joined #riscv
bgamari has quit [Ping timeout: 256 seconds]
SpaceCoaster has joined #riscv
ldevulder has quit [Quit: Leaving]
alexghiti has quit [Ping timeout: 256 seconds]
test925 has quit [Ping timeout: 252 seconds]
peepsalot has quit [Quit: Connection reset by peep]
peepsalot has joined #riscv
test924 has joined #riscv
DesRoin has quit [Ping timeout: 240 seconds]
Calandracas has quit [Remote host closed the connection]
Calandracas has joined #riscv
DesRoin has joined #riscv
vagrantc has quit [Quit: leaving]
Noisytoot has quit [Remote host closed the connection]
Noisytoot has joined #riscv