klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
Arthuria has quit [Ping timeout: 264 seconds]
<bslsk05> ​'I am Borg' by MyRandomUploads (00:00:21)
freakazoid12345 has joined #osdev
gog has quit []
gog has joined #osdev
Retr0id has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
vdamewood has joined #osdev
cooligans has joined #osdev
cooligans has quit [Remote host closed the connection]
kingoffrance has quit [Ping timeout: 268 seconds]
srjek_ has joined #osdev
srjek|home has quit [Ping timeout: 264 seconds]
<rustyy> geist: so, to avoid cache line bouncing between multiple cores and especially between numa nodes where cache line bouncing is much more expensive, instead of having only one global spinlock variable, you also introduce local copies of that spinlock, so that every cpu spins on the local variable while trying to lock the spinlock and thus avoids cache line bouncing. and the implementation is that global
<rustyy> spinlock, now, instead of having only 0 and 1 value also has an address/tail pointer in it, in its higher bits. and that address/tail ptr points to a last element (local spinlock variable) in the linked list, that list represents a queue of cpus trying to get that lock, the head of that list is the current owner of the spinlock. every time a new cpu wants to take a spinlock, it swaps the value/upper bits in
<rustyy> global lock, and updates old tail pointer "next" to itself. and so when any given cpu releases the lock it notifies only the next cpu that lock is available, booyakasha! =)
Vercas has quit [Remote host closed the connection]
<rustyy> geist: i learned that from https://vimeo.com/484896774 my best wishes to the author!
<bslsk05> ​'Vegard Nossum - Parallelisation in the Linux Kernel' by Handmade Seattle (00:46:53)
Vercas has joined #osdev
nshp has joined #osdev
kingoffrance has joined #osdev
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 264 seconds]
zaquest has quit [Remote host closed the connection]
pretty_dumm_guy has quit [Quit: WeeChat 3.3]
Brnocrist has quit [Ping timeout: 268 seconds]
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
zaquest has joined #osdev
[_] has quit [Remote host closed the connection]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
terrorjack has joined #osdev
nyah has quit [Ping timeout: 265 seconds]
SanchayanMaity has joined #osdev
smeso has quit [Quit: smeso]
smeso has joined #osdev
ElectronApps has joined #osdev
<geist> rustyy: nice. yeah was curious where you learned it from
Burgundy has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
givemeyourpies has joined #osdev
ZetItUp_ is now known as ZetItUp
catern has quit [Ping timeout: 264 seconds]
srjek_ has quit [Ping timeout: 264 seconds]
sm2n has quit [Quit: Leaving]
jjuran has quit [Ping timeout: 256 seconds]
sm2n has joined #osdev
Burgundy has quit [Remote host closed the connection]
jjuran has joined #osdev
Oli has quit [Quit: leaving]
sdfgsdfg has joined #osdev
catern has joined #osdev
m3a has quit [Quit: leaving]
xenos1984 has quit [Quit: Leaving.]
mxshift has quit [Ping timeout: 268 seconds]
mxshift has joined #osdev
gog has quit [Quit: byee]
xenos1984 has joined #osdev
xenos1984 has quit [Remote host closed the connection]
gog has joined #osdev
kuler has quit [Remote host closed the connection]
xenos1984 has joined #osdev
givemeyourpies has quit [Quit: Going offline, see ya! (www.adiirc.com)]
opios2 has joined #osdev
xenos1984 has quit [Quit: Leaving.]
sdfgsdfg has quit [Quit: ZzzZ]
xenos1984 has joined #osdev
<klange> f*** it, I'm writing a POSIX shell in Kuroko, try to stop me
<kazinsal> doooo iiiiit
<gog> nice
<auronandace> my you have great success
<auronandace> may
<klange> it's mostly string manipulation, right? the actually "running stuff" bit is secondary~
<zid> process scripts, prepare execve calls, ???, crash
<kazinsal> some magic job control stuff if you dare
<gog> crash on ctrl-z
<gog> job handled
<klange> My current shell supports job control, but ooh boy is it throwing shit at the wall and seeing what sticks
<klange> actually the only reason I feel remotely confident in doing this in kuroko is because I already did the "running stuff" part and I really need to focus on the "string manipulation" part.
<bauen1> it's always fun to watch somebody slowly decent into madness when trying to implement POSIX ...
<gog> fuck it, POSEVEN
<gog> i'm putting on my programming socks
<kazinsal> the POSIX standard is succeeded by POSX, itself succeeded by POSXI
<gog> that's a technically funnier joke than mine
sdfgsdfg has joined #osdev
mxshift has quit [Ping timeout: 245 seconds]
SanchayanMaity has quit [Ping timeout: 264 seconds]
<moon-child> programming socks!
bauen1 has quit [Ping timeout: 245 seconds]
SanchayanMaity has joined #osdev
<gog> yes
mxshift has joined #osdev
GeDaMo has joined #osdev
<FireFly> they good
<gog> oh hey i know you
<gog> :3
<zid> I hate socks
<moon-child> well
<moon-child> I hate you
<zid> they either fall down, or make my legs hurt
<gog> harsh
<gog> have you tried a garter belt?
<zid> I could just wax my legs I guess
<moon-child> stockings!
<FireFly> gog: :p
EtherNet has quit [Ping timeout: 260 seconds]
EtherNet has joined #osdev
sdfgsdfg has quit [Quit: ZzzZ]
Brnocrist has joined #osdev
bauen1 has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
Vercas has quit [Remote host closed the connection]
Vercas4 has joined #osdev
bauen1 has joined #osdev
sdfgsdfg has joined #osdev
Vercas4 has quit [Remote host closed the connection]
Vercas has joined #osdev
bauen1 has quit [Ping timeout: 264 seconds]
bauen1 has joined #osdev
dennis95 has joined #osdev
bauen1 has quit [Ping timeout: 245 seconds]
bauen1 has joined #osdev
sdfgsdfg has quit [Quit: ZzzZ]
PraiseIdleness has joined #osdev
bauen1 has quit [Ping timeout: 256 seconds]
bauen1 has joined #osdev
lleo has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
bauen1 has joined #osdev
nyah has joined #osdev
lleo has quit [Ping timeout: 264 seconds]
bauen1 has quit [Ping timeout: 245 seconds]
bauen1 has joined #osdev
[itchyjunk] has joined #osdev
PraiseIdleness has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
kaichiuchu has quit [Quit: leaving]
kaichiuchu has joined #osdev
PraiseIdleness has joined #osdev
sonny has joined #osdev
dude12312414 has joined #osdev
PraiseIdleness has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ornxka has joined #osdev
<ornxka> im riscv64 in qemu
<ornxka> i set bit 7 of the mie and interrupts are enabled globally and i wrote to the mtimecmp register, but i dont get my interrupt..
<ornxka> i get other interrupts, and i loop until mtime >= mtimecmp, so i know at some point point mtime > mtimecmp, but i never get an actual interrupt for it
<ornxka> any ideas?
gog` has joined #osdev
gog` has quit [Client Quit]
PraiseIdleness has joined #osdev
<Piraty> klange: better join landley for his toybox shell applet ;)
<Piraty> "Let's just say that klange is a bloody genius" -- lol (src: https://www.publish0x.com/hatty-hacking/installing-kuroko-lang-on-openbsd-xznzgzz )
<bslsk05> ​www.publish0x.com: Installing Kuroko Lang on OpenBSD
srjek_ has joined #osdev
<ornxka> update: i was off by one in my indexing of the bits in mie lol
ElectronApps has quit [Remote host closed the connection]
[itchyjunk] has quit [Remote host closed the connection]
xenos1984 has quit [Quit: Leaving.]
nohit has quit [Ping timeout: 264 seconds]
nohit has joined #osdev
SanchayanMaity has quit [Ping timeout: 250 seconds]
SanchayanMaity has joined #osdev
xntoan has joined #osdev
sortie has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
sonny has quit [Remote host closed the connection]
bauen1 has quit [Ping timeout: 265 seconds]
bauen1 has joined #osdev
bauen1 has quit [Ping timeout: 264 seconds]
xntoan has quit [Read error: Connection reset by peer]
lleo has joined #osdev
PraiseIdleness has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
lleo has quit [Remote host closed the connection]
PraiseIdleness has joined #osdev
bauen1 has joined #osdev
vdamewood has joined #osdev
bauen1 has quit [Ping timeout: 268 seconds]
bauen1 has joined #osdev
X-Scale has quit [Ping timeout: 245 seconds]
X-Scale` has joined #osdev
X-Scale` is now known as X-Scale
dennis95 has quit [Quit: Leaving]
gog has quit []
scaleww has joined #osdev
givemeyourpies has joined #osdev
nvmd has joined #osdev
sprock has quit [Ping timeout: 264 seconds]
PraiseIdleness has quit [Quit: Textual IRC Client: www.textualapp.com]
gog has joined #osdev
srjek|home has joined #osdev
srjek_ has quit [Ping timeout: 264 seconds]
dude12312414 has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
mctpyt has joined #osdev
m3a has joined #osdev
<geist> ornxka: oh good. i was looking at your question initially and didn't see aything wrong
<zid> did you get your page tables and pci working geist?
<zid> If so your code is as advanced as mine :P I really should finish that network stack
<geist> i did, thought i haven't worked on it much yesterday
<geist> but i also remembered there were a fair amount of deficiencies in the x86 mmu code, which was mostly submitted by someone else
<geist> for zircon we had more or less completely rewritten it as a result
gioyik has joined #osdev
<zid> My mmu is even more deficient, it can map and it can
<geist> i need to write more unit tests for the mmu code and then really spiff them up
<zid> That's the end of that sentence
<geist> yah map/unmap/protect/query are the basic ops
<zid> unmap is for suckers
<zid> just leak all the pages and forget your cr3 value
<gog> memory protection is pointless anyhow
<geist> yah if you dont deal with unmap or protect you never have to deal with TLB shootdown
<zid> could also just never unmap anything, yea
<zid> bogo alloc won't fail for a while
<GeDaMo> One page table to bind them all and in the darkness map them :P
<zid> GeDaMo go back to your asm cave
<GeDaMo> I'm still there! :P
scaleww has quit [Read error: Connection reset by peer]
sdfgsdfg has joined #osdev
wootehfoot has joined #osdev
sdfgsdfg has quit [Read error: Connection reset by peer]
sdfgsdfg has joined #osdev
fkrauthan has quit [Quit: ZNC - https://znc.in]
fkrauthan has joined #osdev
fkrauthan has quit [Client Quit]
sprock has joined #osdev
fkrauthan has joined #osdev
nvmd has quit [Quit: Later, nerds.]
c2a1 has joined #osdev
wootehfoot has quit [Read error: Connection reset by peer]
mctpyt has quit [Ping timeout: 245 seconds]
mctpyt has joined #osdev
GeDaMo has quit [Remote host closed the connection]
sdfgsdfg has quit [Quit: ZzzZ]
sprock has quit [Quit: bye]
vdamewood has quit [Quit: Life beckons]
<ZetItUp> biggest brainfart in history... 31 to 38 thats 7 bytes
gioyik has quit [Ping timeout: 276 seconds]
gioyik has joined #osdev
gog has quit [Ping timeout: 250 seconds]
dude12312414 has joined #osdev
pretty_dumm_guy has joined #osdev
gog has joined #osdev
<bslsk05> ​en.wikipedia.org: Off-by-one error - Wikipedia
<ZetItUp> yes :D
<klange> i feel so close yet so far from having this Surface be usable test machine https://cdn.discordapp.com/attachments/783369041661394995/912851932815716362/IMG_8514.jpg
<klange> boots to gui, all eight (eh, four with two threads each?) cores started, can talk to the xhci controller, just... need a driver for it, and will probably need to figure out some IRQ stuff because my love for the legacy PIC likely comes to an end here
<gog> nice
<kazinsal> I'm guessing there's some horrid AML bytecode system for figuring out which processors are SMT pairs
<kazinsal> for your own sanity re: IRQs I'd recommend just skipping the IOAPIC and going straight to MSI/MSI-X because modern hardware should support it no problem