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
LainExperiments has quit [Ping timeout: 240 seconds]
bauen1 has joined #osdev
LainExperiments has joined #osdev
nur has quit [Remote host closed the connection]
elderK has quit [Quit: WeeChat 4.5.1]
bauen1 has quit [Ping timeout: 248 seconds]
Marsh has joined #osdev
MiningMarsh has quit [Ping timeout: 272 seconds]
Marsh is now known as MiningMarsh
MiningMarsh has quit [Client Quit]
MiningMarsh has joined #osdev
carrar has joined #osdev
LainExperiments9 has joined #osdev
LainExperiments has quit [Ping timeout: 240 seconds]
chibill has quit [Quit: ZNC 1.9.0+deb2build3 - https://znc.in]
edr has quit [Quit: Leaving]
chibill has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Remote host closed the connection]
CryptoDavid has quit [Quit: Connection closed for inactivity]
<zid> heat: I have onlined my cpus, but they're acting all funny :(
<zid> gdb has no fucking clue, if I spam info registers it seems to do what it should for a bit, then randomly jumps to 0x17 or somewhere
<zid> in qemu monitor
<zid> gdb is all "nope, no memory there lol"
<zid> I cli'd them, loaded regs with some deadbeef, jmp -2'd them, pretty much, eip goes for a walk still!?
<Mutabah> qemu gdb should see the CPUs as different threads
<Mutabah> and it sees virtual memory, so beware of that
<zid> yea I know
<zid> because the threads keep spamming traps when they hit EIP=0x00000
<zid> All three APs ended up at 0xFF53 and got stuck this time at least
<zid> but if I break *0x8000 I can step a little bit, and see that memory looks like it should from qemu monitor
<zid> and it runs *some* of the right instructions?
<zid> then will randomly ping off to nowhere
<heat> make sure irqs are disabled
<zid> I cli'd
<zid> first thing
<heat> also make sure you're not INIT'ing them again, which basically resets the whole process back to ff53
<zid> BSP is either polling for delivery notifications, or main to main in its while(1)
<Mutabah> add infinite loops until it doesn't break into them?
<Mutabah> ... I mean, put `jmp $` in the AP startup chain, and keep moving that instruction until gdb doesn't see it
<zid> I'll put it after the cli
<zid> (gdb) break *0x8000
<zid> Breakpoint 1 at 0x8000
<zid> (gdb) c
<zid> Continuing.
<zid> Thread 2 received signal SIGTRAP, Trace/breakpoint trap.
<zid> [Switching to Thread 1.2]
<zid> 0x0000000000000000 in ?? ()
<zid> if I stepi a bunch, evenaully thread 2 jumps to.. 0x8024?
<heat> dont use gdb
<heat> it's messed up
<zid> yea but I can't qemu monitor, I know gdb is messedu p
<heat> use hlt or jmp
<zid> I am using jmp -2
<heat> here's where you use gdb + info threads (seriously dont use stepping it's soooo fucked IME)
<zid> ESI=deadbeef in monitor, so my code ran, but EIP=0xD370 so the jmp didn't? or an irq happened? etc
<heat> hmm
<heat> can you show us a diff of your code?
<zid> compared to?
<heat> i just want to see the SMP bringup bits
<heat> so diff, patch, whatever
<heat> commit
<bslsk05> ​rafb.ath.cx: Pasted code - No description
<zid> oh
<zid> itnerleave
<zid> ?
<heat> hm?
<heat> i'm asking for codez
<zid> That is what it does
<zid> Imagine lines like that, but with *(u32 *) before them
<heat> ah, lovely
<zid> oh the early stuff is the bios
<zid> mine starts at line 5
<zid> it broadcasts its cpus awake the dirty bugger
<heat> what's 0x280?
<zid> ERROR_STATUS or whatever
<heat> i use 0x300 and 0x310
<zid> can probably ignore/get rid
<zid> but yea, they wake up, and run some stuff? lol
<zid> the only control I have is the '8' at the bottom, considering they do infact wake up
<zid> 0000000000008000 <smp_start>:
<zid> 8000: fa cli
<zid> 8001: 66 be ef be ad de mov $0xdeadbeef,%esi
<zid> 8007: eb fc jmp 8005 <smp_start+0x5>
<zid> oh 8005 is wrong eh
<zid> doesn't fix it, just pretend it says 8007 :P
<clever> isnt that jumping to the middle of an opcode?
<zid> keep readin
<zid> CPU#1
<zid> EAX=00000000 EB...
<zid> EIP=00000007 EF..
<zid> ESI=deadbeef ED..
<heat> can you try doing INIT-SIPI on a single CPU, without INIT'ing anything else
<zid> which one is which, command 5 and command 6, INIT and STARTUP
<zid> is what the lapic bit calls them
<heat> SIPI is 6 5 is INIT
<zid> so just only online core #1
monkeyPlus has joined #osdev
<heat> yes, lets try that
<zid> EIP=7
<zid> wrote 1<<24, 4500, 1<<24, 4608
<zid> for edge, raise, init, edge, raise, sipi
<zid> cpu #1 wedged at 0x7 'addb al, (%bx, %si)' with esi=0xdeadbeef
<heat> edge raise?
<zid> rather than level unraise
<zid> intel manual did it this way, osdev wiki did it by doing level + raise, level + unraise
<zid> I did it both ways they both worked
<zid> 4 = assert + edge
<heat> hmm yes, 0x4500 0x4600 matches up with my code
<heat> does -d int say anything interesting?
<zid> I was getting interrupt storms from all those shitty traps etc
<zid> so I think I turned it off, one sec
<zid> yea silence
<heat> x/3i 0x8000
<zid> 0x00008000: fa cli
<zid> 0x00008001: 66 be ef be ad de movl $0xdeadbeef, %esi
<zid> 0x00008007: eb fe jmp 0x8007
<heat> hmmm, ok, so the instructions look correct, the actual in-memory instructions match up
<heat> you say silence in the qemu logs? in what way?
<zid> no -d int other than the SMMs you get at boot
<zid> unless I remove the jmp .
<zid> then I get a fuck load of nonsense
<zid> EIP just seems to be off by 0x8000?
<zid> I moved the jmp . down and now I am stuck at 0x1d
<Mutabah> worth noting - I don't tend to trust gdb at this stage of boot
<heat> huh, i could swear those IPIs would pop up in the logs
<zid> yea we gave up on gdb
<Mutabah> It doesn't/didn't like the mode switching
<zid> 801d: eb fe jmp 801d <smp_start+0x1d>
<zid> I think qemu monitor's eip is just off by 0x8000
<zid> EIP=0000001d
<Mutabah> Still in real-mode?
<zid> yea, I moved the jmp . to below the jmp 8:pmode
<zid> and I get that :P
<heat> do the instructions in x/3i 0x0 match up with the ones in 0x8000?
<heat> could this have anything to do with cs?
<zid> They do not
<zid> addb %al, (%bx, %si) x3
<zid> http://rafb.ath.cx/pastes/5I93uM95.html that's the one that 0x6 spams
<bslsk05> ​rafb.ath.cx: Pasted code - No description
<Mutabah> I assume CS is `0x800` before the pmode jump?
<zid> (which is why I wanted to start debugging!)
<zid> oh right maybe qemu's monitor is trying to deal with cs=0x800
<zid> which it is, nice, OKAY, thanks Mutabah
<zid> So, how do I tell if a damn cpu is in real mode or not
<heat> they all are
<zid> for future reference on decoding qemu monitor
<heat> oh, uhh, not sure
<zid> same
<heat> can you dump a little qemu log thing?
<heat> i haven't seen those in a long time
<bslsk05> ​rafb.ath.cx: Pasted code - No description
<zid> EIP=17 is correct then at least
<zid> oh my gdt limit is wrong I can't count
<Mutabah> Option 1 is just to look at the CS value and guess
<Mutabah> (0x8/0x18 would be PMode probably)
<heat> cr0 would have bit 0 set if in protected mode
<Mutabah> Or, check the CR0 bit
<zid> ah!
<zid> yea cr0, fair
<zid> I wish this would let me debug it *somehow*
<Mutabah> As soon as that's set, it's in PMode... but until CS is reloaded real-mode rules apply for a little bit
<zid> I just get check_exception old: spam, not even an actual interrupt dump
surabax has quit [Quit: Leaving]
<zid> upped gdtr limit anyway, so no longer that
<heat> what does the smp stub code look like atm?
<zid> actually it was fine I think?
<bslsk05> ​rafb.ath.cx: Pasted code - No description
<zid> been writing it like it's machine code because I trust 0 tools lol
<zid> idk how labels and symbols and stuff work in gas
<zid> but the machine code looks good!
<heat> good, that's the spirit, it's what i do in mine
<bslsk05> ​rafb.ath.cx: Pasted code - No description
<zid> no I checked yours you had a #define
<zid> that did my math
<heat> yes because im a 1337 C preprocessor haxxor
<zid> but I couldn't get it to work because I think I was using as directly, and by the time I'd figured that out I'd switched to gcc
<zid> and had deleted it
<zid> 8*3-1 is.. 23, 0x17? think my gdtr limit has been fine the whole time
<zid> mainly been fighting tools for an hour
<heat> yes looks ok
LainExperiments9 has quit [Quit: Client closed]
<zid> it's probably something really simple ultimately
<zid> cs being 0x800 shouldn't matter, I never use cs until I reload it
<zid> to the gdt I stole via copypaste
bauen1 has joined #osdev
<heat> i would load 0 into all segment registers to eliminate all sorts of segment-related confusion
osmten has joined #osdev
<zid> was getting crazy issues earlier like the garbage code that sometimes runs because eip was being naughty (still don't know why that was happening) overwriting 0x8000 between AP bringups etc
<zid> so.. mov es, ax
<heat> (including cs)
<zid> writing to cs is what jmp 8: does
<zid> how do I write to it otherwise
<heat> well im saying you should longjmp before the lgdt
<heat> for no particular reason other than to get rid of segmentation awfulness
<heat> basically switch 0x800:0 to 0:0x8000
sidcha has quit [Quit: The Lounge - https://thelounge.chat]
<heat> another option would be to use a cs segment override on that lgdt and hope it fixes anything
sidcha has joined #osdev
<bslsk05> ​rafb.ath.cx: Pasted code - No description
<zid> works fine unless I remove 8022
vdamewood has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
<zid> oh I pasted it bad cus reloadcs
<zid> 8007: ea 0c 80 00 00 ljmp $0x0,$0x800c
<heat> oh wait im stupid, the lgdt works
<zid> yea it's in the qemu logs
<zid> as 8022
m5_ has quit [Read error: Connection reset by peer]
<heat> ok so the ljmp is fucking up? or is it anything after it?
<zid> who knows
<zid> I get 0x6 spam if I put the jmp . in the pmode:
<zid> so it's already gone to the moon
<heat> you need to toggle bit 0 in cr0
<zid> oh
<zid> that would
<zid> help
<zid> yea now it works
<zid> EIP=00008033
<zid> 8033: eb fc jmp 8031 <pmode>
<zid> ty Mutabah for 'cs is set you idiot', then heat for reminding me I never actually got far enough to think about the code properly csu I was TOO DISTRACTED BY FUCKY TOOLS
<zid> now I just need to remember how to turn on EFER LM and crap, can steal that from long.asm in boros though :P
<Mutabah> :D
<heat> all of this early code is so fucky, good luck
<Mutabah> Yeah, x86 AP setup is jank
<nikolar> if only someone documented step by step what you need to do
<nikolar> so you don't need to care that it's jank :)
<heat> what you need to do depends on what you're doing
<heat> or how you're doing it
<nikolar> what you're doing: onlining the cpus
<zid> I mean, the docs weren't terrible in the end
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
<heat> i need to grab the load bias in case it exists, the thread stack (in two halves!) both inline in the middle of the stub, switch segments, switch to protected mode, jump to a proper physical address in my kernel (this Just Works because my kernel is always loaded under 4G even with KASLR), fetch one of the 2 page tables in the process (to bootstrap myself, can't really grab the proper one), enable paging (with LA57 if needed), enable long mode, switch
<heat> GDT AGAIN, jump to a 64-bit code segment, then switch GDTs AGAIN!!, jump to higher half, load paging structures AGAIN, load an idt, switch stacks, handle GS_BASE, more early ass init
monkeyPlus has quit [Remote host closed the connection]
<heat> and then the rest is completely kernel specific in C while stepping on eggshells
<heat> like half-initialized structures per-cpu data and all that lovely stuff
terrorjack has joined #osdev
<zid> I might jmp to real kernel code
<zid> so that I can use C to do asm("mov rsp, $0")
<zid> cus I don't fancy navigating externs from asm :P
nur has joined #osdev
eluks has quit [Remote host closed the connection]
eluks has joined #osdev
m5_ has joined #osdev
osmten has quit [Ping timeout: 240 seconds]
m5_ has quit [Ping timeout: 244 seconds]
bauen1 has quit [Ping timeout: 252 seconds]
osmten has joined #osdev
heat-onyx has joined #osdev
<heat-onyx> test onyx operating system!!
<zid> no
<heat-onyx> :(
<zid> you do it, it has an encrypted keyboard for me
<heat-onyx> i've been tracking down weird problems with irssi (that were bottoming out in glib)
<heat-onyx> finally seems to be fixed
<heat-onyx> some openssl configuration issues + a tcp stack bug
<heat-onyx> + terrible error reporting
heat-onyx has quit [Quit: leaving]
<geist> oh yay
<geist> grats heat
<heat> yeah that's what i get when i rebuild random packages, poorly
<heat> also found a fun issue: int3 was generating a SIGSEGV. turns out i didn't have the proper flag/CPL thing set in the IDT for int3
<heat> i also tried to use the DEBUGCTL msr, seems like it's not implemented in VMs though (or at least PEBKAC)
heat has quit [Ping timeout: 248 seconds]
kata has joined #osdev
bauen1 has joined #osdev
Arthuria has quit [Remote host closed the connection]
kata has quit [Quit: ZNC 1.9.1 - https://znc.in]
kata has joined #osdev
hwpplayer1 has joined #osdev
zid has quit [*.net *.split]
gmodena has quit [*.net *.split]
acidx has quit [*.net *.split]
amine has quit [*.net *.split]
MrBonkers has quit [*.net *.split]
colona_ has quit [*.net *.split]
scruffyfurn has quit [*.net *.split]
n3t has quit [*.net *.split]
cross has quit [*.net *.split]
alice has quit [*.net *.split]
mrpops2ko has quit [*.net *.split]
yuiyukihira has quit [*.net *.split]
stux|away has quit [*.net *.split]
m3a has quit [*.net *.split]
arminweigl has quit [*.net *.split]
zhiayang has quit [*.net *.split]
dza has quit [*.net *.split]
randm has quit [*.net *.split]
Opus has quit [*.net *.split]
ghostbuster has quit [*.net *.split]
slow99 has quit [*.net *.split]
j`ey has quit [*.net *.split]
janemba has quit [*.net *.split]
LittleFox has quit [*.net *.split]
Artea has quit [*.net *.split]
nur has quit [*.net *.split]
sskras has quit [*.net *.split]
SophiaNya has quit [*.net *.split]
ptrc has quit [*.net *.split]
zenomat has quit [*.net *.split]
gjn has quit [*.net *.split]
pitust has quit [*.net *.split]
noeontheend has quit [*.net *.split]
nagitsu has quit [*.net *.split]
vismie has quit [*.net *.split]
asymptotically has quit [*.net *.split]
andreas303 has quit [*.net *.split]
urandom__ has quit [*.net *.split]
beto has quit [*.net *.split]
DoubleJ has quit [*.net *.split]
f_ has quit [*.net *.split]
_koolazer has quit [*.net *.split]
shan has quit [*.net *.split]
Xyon has quit [*.net *.split]
FireFly has quit [*.net *.split]
kline has quit [*.net *.split]
Griwes has quit [*.net *.split]
jimbzy has quit [*.net *.split]
ChanServ has quit [*.net *.split]
dzwdz has quit [*.net *.split]
PapaFrog has quit [*.net *.split]
theruran has quit [*.net *.split]
KitsuWhooa has quit [*.net *.split]
navi has quit [*.net *.split]
rom4ik has quit [*.net *.split]
jeaye has quit [*.net *.split]
Bonstra has quit [*.net *.split]
runxiyu has quit [*.net *.split]
GreaseMonkey has quit [*.net *.split]
marshmallow has quit [*.net *.split]
Arsen has quit [*.net *.split]
ornitorrincos has quit [*.net *.split]
guideX has quit [*.net *.split]
ThinkT510 has quit [*.net *.split]
pabs3 has quit [*.net *.split]
Leftas has quit [*.net *.split]
Irvise has quit [*.net *.split]
bradd has quit [*.net *.split]
\Test_User has quit [*.net *.split]
getz has quit [*.net *.split]
jjuran has quit [*.net *.split]
sauce has quit [*.net *.split]
sortie has quit [*.net *.split]
no92_leo has quit [*.net *.split]
stefanct has quit [*.net *.split]
mpetch has quit [*.net *.split]
Mutabah has quit [*.net *.split]
dostoyevsky has quit [*.net *.split]
hwpplayer1 has quit [*.net *.split]
sprock has quit [*.net *.split]
Brnocrist has quit [*.net *.split]
msv has quit [*.net *.split]
cow321 has quit [*.net *.split]
Matt|home has quit [*.net *.split]
ring0_starr has quit [*.net *.split]
nitrix has quit [*.net *.split]
gorgonical has quit [*.net *.split]
pie_ has quit [*.net *.split]
Jari-- has quit [*.net *.split]
wgrant has quit [*.net *.split]
mcfrdy has quit [*.net *.split]
mahk has quit [*.net *.split]
m5 has quit [*.net *.split]
kwilczynski has quit [*.net *.split]
Ram-Z_ has quit [*.net *.split]
sjs has quit [*.net *.split]
trillion_exabyte has quit [*.net *.split]
leon has quit [*.net *.split]
asarandi has quit [*.net *.split]
JTL has quit [*.net *.split]
immibis has quit [*.net *.split]
fedaykin has quit [*.net *.split]
remexre has quit [*.net *.split]
Ermine has quit [*.net *.split]
travisg has quit [*.net *.split]
Pixi has quit [*.net *.split]
lanodan has quit [*.net *.split]
Ameisen has quit [*.net *.split]
woky_ has quit [*.net *.split]
vancz has quit [*.net *.split]
JerryXiao has quit [*.net *.split]
puck has quit [*.net *.split]
eschaton_ has quit [*.net *.split]
nshp has quit [*.net *.split]
V has quit [*.net *.split]
bslsk05 has quit [*.net *.split]
Goodbye_Vincent1 has quit [*.net *.split]
basil has quit [*.net *.split]
foxsecu has quit [*.net *.split]
nadja has quit [*.net *.split]
qookie has quit [*.net *.split]
ycp has quit [*.net *.split]
osmten has quit [*.net *.split]
chiselfuse has quit [*.net *.split]
mavhq has quit [Read error: Connection reset by peer]
jimbzy has joined #osdev
msv has joined #osdev
osmten has joined #osdev
nur has joined #osdev
dzwdz has joined #osdev
sprock has joined #osdev
sskras has joined #osdev
Brnocrist has joined #osdev
JTL has joined #osdev
trillion_exabyte has joined #osdev
alice has joined #osdev
leon has joined #osdev
yuiyukihira has joined #osdev
cow321 has joined #osdev
pabs3 has joined #osdev
asarandi has joined #osdev
mrpops2ko has joined #osdev
ChanServ has joined #osdev
Griwes has joined #osdev
kline has joined #osdev
FireFly has joined #osdev
Xyon has joined #osdev
shan has joined #osdev
_koolazer has joined #osdev
beto has joined #osdev
DoubleJ has joined #osdev
urandom__ has joined #osdev
f_ has joined #osdev
andreas303 has joined #osdev
vismie has joined #osdev
asymptotically has joined #osdev
nagitsu has joined #osdev
noeontheend has joined #osdev
pitust has joined #osdev
zenomat has joined #osdev
gjn has joined #osdev
SophiaNya has joined #osdev
ptrc has joined #osdev
Arsen has joined #osdev
ornitorrincos has joined #osdev
marshmallow has joined #osdev
GreaseMonkey has joined #osdev
Bonstra has joined #osdev
jeaye has joined #osdev
runxiyu has joined #osdev
rom4ik has joined #osdev
KitsuWhooa has joined #osdev
theruran has joined #osdev
navi has joined #osdev
PapaFrog has joined #osdev
cross has joined #osdev
n3t has joined #osdev
colona_ has joined #osdev
MrBonkers has joined #osdev
amine has joined #osdev
scruffyfurn has joined #osdev
acidx has joined #osdev
arminweigl has joined #osdev
gmodena has joined #osdev
m3a has joined #osdev
zid has joined #osdev
immibis has joined #osdev
fedaykin has joined #osdev
nitrix has joined #osdev
hwpplayer1 has joined #osdev
Matt|home has joined #osdev
ring0_starr has joined #osdev
guideX has joined #osdev
ThinkT510 has joined #osdev
Leftas has joined #osdev
zhiayang has joined #osdev
remexre has joined #osdev
Ermine has joined #osdev
Irvise has joined #osdev
bradd has joined #osdev
randm has joined #osdev
dza has joined #osdev
\Test_User has joined #osdev
getz has joined #osdev
chiselfuse has joined #osdev
jjuran has joined #osdev
gorgonical has joined #osdev
sauce has joined #osdev
travisg has joined #osdev
sortie has joined #osdev
no92_leo has joined #osdev
stefanct has joined #osdev
pie_ has joined #osdev
mpetch has joined #osdev
Opus has joined #osdev
ghostbuster has joined #osdev
lanodan has joined #osdev
Pixi has joined #osdev
dostoyevsky has joined #osdev
woky_ has joined #osdev
wgrant has joined #osdev
Mutabah has joined #osdev
janemba has joined #osdev
Ameisen has joined #osdev
slow99 has joined #osdev
LittleFox has joined #osdev
mcfrdy has joined #osdev
Artea has joined #osdev
mahk has joined #osdev
vancz has joined #osdev
eschaton_ has joined #osdev
nshp has joined #osdev
Jari-- has joined #osdev
puck has joined #osdev
JerryXiao has joined #osdev
V has joined #osdev
j`ey has joined #osdev
kwilczynski has joined #osdev
Ram-Z_ has joined #osdev
Goodbye_Vincent1 has joined #osdev
bslsk05 has joined #osdev
sjs has joined #osdev
qookie has joined #osdev
ycp has joined #osdev
m5 has joined #osdev
nadja has joined #osdev
foxsecu has joined #osdev
basil has joined #osdev
stux|away has joined #osdev
Matt|home has quit [Quit: Matt|home]
remexre has quit [Max SendQ exceeded]
lanodan has quit [Max SendQ exceeded]
asarandi has quit [Max SendQ exceeded]
JTL has quit [Max SendQ exceeded]
Pixi has quit [Max SendQ exceeded]
trillion_exabyte has quit [Max SendQ exceeded]
yuiyukihira has quit [Max SendQ exceeded]
lanodan has joined #osdev
trillion_exabyte has joined #osdev
guideX has quit [Remote host closed the connection]
ursa-major has quit [Max SendQ exceeded]
guideX has joined #osdev
Pixi` has joined #osdev
asarandi has joined #osdev
remexre has joined #osdev
zid has quit [*.net *.split]
gmodena has quit [*.net *.split]
arminweigl has quit [*.net *.split]
acidx has quit [*.net *.split]
amine has quit [*.net *.split]
MrBonkers has quit [*.net *.split]
colona_ has quit [*.net *.split]
scruffyfurn has quit [*.net *.split]
n3t has quit [*.net *.split]
cross has quit [*.net *.split]
bleb has quit [Max SendQ exceeded]
kata has quit [Write error: Connection reset by peer]
kata_ has joined #osdev
bleb has joined #osdev
gjn has quit [Ping timeout: 246 seconds]
noeontheend has quit [Ping timeout: 246 seconds]
pitust has quit [Ping timeout: 246 seconds]
asymptotically has quit [Ping timeout: 246 seconds]
nagitsu has quit [Ping timeout: 246 seconds]
baraq has quit [Ping timeout: 247 seconds]
exec64 has quit [Ping timeout: 247 seconds]
tommybomb has quit [Ping timeout: 263 seconds]
humm has quit [Ping timeout: 263 seconds]
patwid has quit [Ping timeout: 251 seconds]
tom5760 has joined #osdev
arminweigl has joined #osdev
zid has joined #osdev
acidx has joined #osdev
gmodena has joined #osdev
scruffyfurn has joined #osdev
amine has joined #osdev
colona_ has joined #osdev
MrBonkers has joined #osdev
n3t has joined #osdev
cross has joined #osdev
cross has quit [Max SendQ exceeded]
humm has joined #osdev
tommybomb has joined #osdev
asymptotically has joined #osdev
noeontheend has joined #osdev
deglebe has quit [Ping timeout: 276 seconds]
jleightcap has quit [Ping timeout: 276 seconds]
yuiyukihira has joined #osdev
gjn has joined #osdev
patwid has joined #osdev
rselim has joined #osdev
k4m1 has quit [*.net *.split]
erai has quit [*.net *.split]
eck has quit [*.net *.split]
xvmt has quit [*.net *.split]
melnary has quit [*.net *.split]
nortti has quit [*.net *.split]
exark has quit [*.net *.split]
amj has quit [*.net *.split]
thaumavorio has quit [*.net *.split]
CaptainIRS has quit [*.net *.split]
sebastiencs has quit [*.net *.split]
remn has quit [*.net *.split]
carrar has quit [*.net *.split]
steelswords94361 has quit [*.net *.split]
fkrauthan has quit [*.net *.split]
les has quit [*.net *.split]
wereii has quit [*.net *.split]
m5zs7k has quit [*.net *.split]
deriamis has quit [*.net *.split]
alpha2023 has quit [*.net *.split]
divine has quit [*.net *.split]
kiboneu has quit [*.net *.split]
flx has quit [*.net *.split]
deesix has quit [*.net *.split]
froggey has quit [*.net *.split]
exec64 has joined #osdev
pitust has joined #osdev
lucyy has joined #osdev
cross has joined #osdev
baraq has joined #osdev
sm2n has joined #osdev
lh has joined #osdev
divine has joined #osdev
fkrauthan has joined #osdev
steelswords94361 has joined #osdev
wereii has joined #osdev
m5zs7k has joined #osdev
deriamis has joined #osdev
alpha2023 has joined #osdev
kiboneu has joined #osdev
deesix has joined #osdev
flx has joined #osdev
froggey has joined #osdev
les has joined #osdev
m5zs7k has quit [Max SendQ exceeded]
deglebe has joined #osdev
osmten has quit [Quit: Client closed]
whereiseveryone has joined #osdev
jleightcap has joined #osdev
m5zs7k_ has joined #osdev
ursa-major has joined #osdev
carrar has joined #osdev
erai has joined #osdev
eck has joined #osdev
k4m1 has joined #osdev
melnary has joined #osdev
nortti has joined #osdev
exark has joined #osdev
amj has joined #osdev
thaumavorio has joined #osdev
sebastiencs has joined #osdev
remn has joined #osdev
CaptainIRS has joined #osdev
xvmt has joined #osdev
<geist> SPLLAAAAAITS
terrorjack has quit [*.net *.split]
sidcha has quit [*.net *.split]
Yoofie646446 has quit [*.net *.split]
aejsmith has quit [*.net *.split]
Terlisimo has quit [*.net *.split]
ZipCPU has quit [*.net *.split]
brynet has quit [*.net *.split]
eau has quit [*.net *.split]
valeriuZz has quit [*.net *.split]
tomaw has quit [*.net *.split]
torresjrjr has quit [*.net *.split]
khimaros has quit [*.net *.split]
rb has quit [*.net *.split]
dennisschagt has quit [*.net *.split]
teroshan has quit [*.net *.split]
manawyrm has quit [*.net *.split]
nikolar has quit [*.net *.split]
gruetzkopf has quit [*.net *.split]
energizer has quit [*.net *.split]
<araxestroy> "degradation in our network topology" indeed
aejsmith has joined #osdev
sidcha has joined #osdev
Yoofie646446 has joined #osdev
terrorjack has joined #osdev
Terlisimo has joined #osdev
brynet has joined #osdev
ZipCPU has joined #osdev
eau has joined #osdev
valeriuZz has joined #osdev
teroshan has joined #osdev
tomaw has joined #osdev
khimaros has joined #osdev
torresjrjr has joined #osdev
rb has joined #osdev
manawyrm has joined #osdev
dennisschagt has joined #osdev
nikolar has joined #osdev
gruetzkopf has joined #osdev
energizer has joined #osdev
JTL has joined #osdev
baraq has quit [*.net *.split]
lucyy has quit [*.net *.split]
pitust has quit [*.net *.split]
rselim has quit [*.net *.split]
yuiyukihira has quit [*.net *.split]
noeontheend has quit [*.net *.split]
asymptotically has quit [*.net *.split]
tommybomb has quit [*.net *.split]
humm has quit [*.net *.split]
tom5760 has quit [*.net *.split]
thinkpol has quit [*.net *.split]
mzh has quit [*.net *.split]
ddevault has quit [*.net *.split]
xtex has quit [*.net *.split]
hanemile has quit [*.net *.split]
HeTo has quit [*.net *.split]
dinkelhacker has quit [*.net *.split]
cow has quit [*.net *.split]
sham1 has quit [*.net *.split]
danlarkin has quit [*.net *.split]
nohit has quit [*.net *.split]
SanchayanMaity has quit [*.net *.split]
khrbtxyz has quit [*.net *.split]
mcrod has quit [*.net *.split]
j00ru has quit [*.net *.split]
wantyapps has quit [*.net *.split]
imyxh has quit [*.net *.split]
Ellenor has quit [*.net *.split]
kristinam has quit [*.net *.split]
bleb has quit [*.net *.split]
Pixi` has quit [*.net *.split]
eluks has quit [*.net *.split]
frkazoid333 has quit [*.net *.split]
frytaped has quit [*.net *.split]
PublicWiFi has quit [*.net *.split]
xenos1984 has quit [*.net *.split]
k0valski18891621 has quit [*.net *.split]
xal has quit [*.net *.split]
gimli has quit [*.net *.split]
Maja has quit [*.net *.split]
sdomi has quit [*.net *.split]
night has quit [*.net *.split]
jistr has quit [*.net *.split]
DrachenMaus has quit [*.net *.split]
tjf has quit [*.net *.split]
isabella has quit [*.net *.split]
hbag has quit [*.net *.split]
cultpony has quit [*.net *.split]
XgFgX has quit [*.net *.split]
raggi has quit [*.net *.split]
phr3ak has quit [*.net *.split]
hl has quit [*.net *.split]
Benjojo has quit [*.net *.split]
cheapie has quit [*.net *.split]
xenos1984 has joined #osdev
k0valski18891621 has joined #osdev
frkazoid333 has joined #osdev
xal has joined #osdev
gimli has joined #osdev
Pixi` has joined #osdev
bleb has joined #osdev
eluks has joined #osdev
frytaped has joined #osdev
PublicWiFi has joined #osdev
hbag has joined #osdev
XgFgX has joined #osdev
jistr has joined #osdev
cultpony has joined #osdev
tjf has joined #osdev
DrachenMaus has joined #osdev
night has joined #osdev
isabella has joined #osdev
raggi has joined #osdev
Benjojo has joined #osdev
phr3ak has joined #osdev
hl has joined #osdev
cheapie has joined #osdev
sdomi has joined #osdev
Maja has joined #osdev
bleb has quit [Max SendQ exceeded]
Pixi` has quit [Max SendQ exceeded]
bleb has joined #osdev
Pixi` has joined #osdev
erai has quit [Remote host closed the connection]
ddevault has joined #osdev
baraq has joined #osdev
lucyy has joined #osdev
pitust has joined #osdev
rselim has joined #osdev
yuiyukihira has joined #osdev
noeontheend has joined #osdev
khrbtxyz has joined #osdev
asymptotically has joined #osdev
tommybomb has joined #osdev
humm has joined #osdev
tom5760 has joined #osdev
thinkpol has joined #osdev
xtex has joined #osdev
hanemile has joined #osdev
HeTo has joined #osdev
mzh has joined #osdev
dinkelhacker has joined #osdev
cow has joined #osdev
danlarkin has joined #osdev
sham1 has joined #osdev
SanchayanMaity has joined #osdev
nohit has joined #osdev
j00ru has joined #osdev
imyxh has joined #osdev
mcrod has joined #osdev
wantyapps has joined #osdev
Ellenor has joined #osdev
kristinam has joined #osdev
pitust has quit [Max SendQ exceeded]
baraq has quit [Max SendQ exceeded]
yuiyukihira has quit [Max SendQ exceeded]
lucyy has quit [Max SendQ exceeded]
rselim has quit [Max SendQ exceeded]
tom5760 has quit [Max SendQ exceeded]
Pixi` is now known as Pixi
pitust has joined #osdev
baraq has joined #osdev
lucyy has joined #osdev
yuiyukihira has joined #osdev
tom5760 has joined #osdev
rselim has joined #osdev
m5zs7k_ is now known as m5zs7k
nagitsu has joined #osdev
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
osmten has joined #osdev
kata_ has quit [Quit: ZNC 1.9.1 - https://znc.in]
kata has joined #osdev
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
goliath has joined #osdev
kata has quit [Quit: ZNC 1.9.1 - https://znc.in]
kata has joined #osdev
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
mavhq has joined #osdev
kata has quit [Quit: ZNC 1.9.1 - https://znc.in]
mavhq has quit [Read error: Connection reset by peer]
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
kata has joined #osdev
mavhq has joined #osdev
osmten has quit [Ping timeout: 240 seconds]
dinkelhacker_ has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
osmten has joined #osdev
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
mavhq has joined #osdev
the_oz has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
bauen1 has quit [Ping timeout: 248 seconds]
hwpplayer1 has quit [Remote host closed the connection]
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
Lucretia has joined #osdev
kata has quit [Quit: ZNC 1.9.1 - https://znc.in]
kata has joined #osdev
dinkelhacker_ has quit [Quit: Client closed]
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
bauen1 has joined #osdev
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
GeDaMo has joined #osdev
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
pabs3 has quit [Read error: Connection reset by peer]
pabs3 has joined #osdev
user71 has joined #osdev
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
xenos1984 has quit [Quit: Leaving.]
pounce has joined #osdev
osmten has quit [Quit: Client closed]
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
mavhq has joined #osdev
LainExperiments has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
LainExperiments4 has joined #osdev
LainExperiments has quit [Ping timeout: 240 seconds]
heat has joined #osdev
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
puck has quit [Ping timeout: 265 seconds]
bslsk05 has quit [Ping timeout: 265 seconds]
LainExperiments4 has quit [Ping timeout: 240 seconds]
LainExperiments has joined #osdev
<gorgonical> geist have you seen the fuchsia discussion on hn this morning?
<nikolar> Splitsies
<gorgonical> huh
<gorgonical> ?
mavhq has joined #osdev
puck has joined #osdev
m5_ has joined #osdev
msv has quit [Ping timeout: 260 seconds]
bl4ckb0ne has joined #osdev
user71 has quit [Quit: Leaving]
<Mutabah> gorgonical: One of the last comments was "SPLAAATS" during the netsplits
<gorgonical> Oh I see lol
<gorgonical> I didn't scroll that far back
msv has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
<nikolar> gorgonical: there was a netsplit
<zid> my network topology brings all the boys to the yard
dinkelhacker_ has joined #osdev
<nikolar> zid i added serial out
<zid> dirty bastard
<nikolar> you're welcome
LainExperiments has quit [Quit: Client closed]
<zid> what did you do about outb
<nikolar> i copied the macro kek
<zid> fair
<nikolar> i don't think we'll need it literally anywhere else
<zid> yea unless we add printer support
<nikolar> if there's a third use of outb, then sure, we'll move it to a header
<zid> util.h can have it
<zid> if we need to
LainExperiments has joined #osdev
<dinkelhacker_> what are you guys working on?
<zid> cybersex
<nikolar> i am not waiting to send bytes, but if i ever try on actual hardware with a serial link, i'll worry about it then
<zid> yea it's easy to think "oh i can just while(com1 & busy);
<zid> but you'll lock the kernel up if the uart is shit
<dinkelhacker_> zid: ofc.. I should have known
<zid> I ran into that issue with psx-redux
<zid> hardware has flow control, the emulator does not
<zid> so if I run the code on emu it just gets stuck in the while(com1 & busy);
<zid> had to ifdef it and carefully remember to run hw vs emu builds on the right things, bleh
<zid> should have written auto-detect code for hw vs emu :P
<nikolar> oh does qemu just not signal when ready at all
<nikolar> kek
<zid> psx-redux
<zid> not qemu
<nikolar> oh sorry right
<zid> it just didn't emulate the flow control regs, so they read 0xFF
<zid> which meant tx was always busy
<nikolar> should've made it always ready
<zid> yea but he didn't
<nikolar> rip
<nikolar> btw zid we can already check if we're running in a vm
<zid> cpuid?
<nikolar> we can check if OEM is "BOCHS"
<nikolar> :P
<zid> and that yea
steelswords94361 has quit [Quit: The Lounge - https://thelounge.chat]
<gorgonical> i'm gonna write an emulator where the OEM reports a naughty word
<gorgonical> like 8008135
k0valski18891621 has quit [Quit: Ping timeout (120 seconds)]
<zid> just change it in the seabios source and rebuild
<nikolar> yeah
<nikolar> no need to write the whole emulator
<gorgonical> I also could modify one of the emulators I already wrote
<nikolar> oh the whole thing is in c
<zid> ofc
<gorgonical> when are we gonna invent the next one in the sequence
<gorgonical> where's e
<nikolar> c++ broke the sequence
<gorgonical> and how do we blunt f# and get the original f back
<nikolar> everything else is a kludge
<gorgonical> This guy's name is Chip Morningstar
<gorgonical> Is he a novel character
<nikolar> lol that's a great name
<gorgonical> Something very cyberpunk about it to me
<nikolar> it's both cyberpunk and high fantasy if you ask me
<gorgonical> Still holding on to Shilling Monero
<nikolar> kek
LainExperiments has quit [Ping timeout: 240 seconds]
LainExperiments6 has joined #osdev
edr has joined #osdev
dinkelhacker_ has quit [Quit: Client closed]
user71 has joined #osdev
<heat> haha rest assured the fuchsia hn article is now a shitshow
<nortti> what this time?
<gorgonical> even this morning there was bickering about whether fuchsia was secretly meant to replace linux and/or android
<heat> yep pretty much
<gorgonical> with both sides claiming to be from inside google and to know the real truth
<heat> i didn't see anyone claiming to be "inside google" and saying it is false
<gorgonical> I at least saw someone saying they "knew several people from google" who said the goal was replacement
<heat> i see people with anon nicks saying they were googlers and it is true, and people with non-anon nicks not saying shit because that's obviously legally problematic
<gorgonical> And at least one person who said they worked on it
<gorgonical> yes you are right as the text says it
<heat> and honestly fuchsia intending to replace linux and/or android was pretty clear from the start
<heat> it comes largely from the anti-GPL crowd
<nikolar> i am pretty sure they were quite open about it in the begging
vdamewood has joined #osdev
<heat> i dont think they were ever open, at least i dont remember it
<heat> it was always a mysterious "ooooh no one knows what this generalist new operating system that's completely the opposite of linux kernel-wise will ever be"
<heat> the good news is that GPL STRONK and will always be stronk
<gorgonical> the way to avoid co-opting from big companies is to never write any useful software
dinkelhacker_ has joined #osdev
dinkelhacker_ has quit [Client Quit]
<nikolar> GPL GPL GPL
LainExperiments6 has quit [Quit: Client closed]
Left_Turn has joined #osdev
<the_oz> google insider whistleblowers are not talking about their R&D arm
<the_oz> >we use too much C++, "It was made to replace!" like Golang! >we use too much C++ and golang
<the_oz> I mean...
<the_oz> firstly it even would be a technical feat in the first place
LainExperiments has joined #osdev
<nikolar> zid: guess what
<heat> seems like he's not guessing
<heat> anyway GPL GPL GPL GPL
<nikolar> GPL GPL GPL GPL
LainExperiments has quit [Ping timeout: 240 seconds]
goliath has quit [Quit: SIGSEGV]
<kof673> well, GPL assumes there are laws/courts/etc. to each their own :D
<kof673> i am not against it, just don't think those things exist
<kof673> i'm not against santa claus either, this is a horrible misunderstanding
<heat> you don't think laws and courts exist?
<the_oz> one must LARP in order to partake of fruits therefrom!
<Ermine> typical day in #osdev
<Ermine> we figure out whether laws exist
<heat> quick someone make an scp about courts and laws
<the_oz> it's already a conspiracy, first about postmaster sailing vessels birthing from native waters to the current form free man on the land with babblespeak confusion commie fucked up-ness (on purpose)
<Ermine> strangely enough, this SCP is not about Ohio
<Ermine> > commies
<the_oz> Montana doesn't exist
LainExperiments has joined #osdev
<the_oz> Yes it's a genesis from German international commies to twist language itself
<kof673> not at this time, no. AT LAW. This phrase is used to point out that a thing is to be done according to the course of the common law; it is distinguished from a proceeding in equity.
<nikolar> soo
<nikolar> back on topic
<nikolar> KERNAL
the_oz has quit [Read error: Connection reset by peer]
<heat> KERNIE THE KERNAL
the_oz_ has joined #osdev
<Ermine> right
<Ermine> NTOSKRNL.EXE
<nikolar> no heat, KERNEL SANDERS
<Ermine> KERMITE THE KERNAL
<Ermine> KERMIT*
<nikolar> KERMITE is better
<kof673> dividing things into pro/anti is only sensical if there are only 2 choices, which is not the case: public domain, bsd, gpl-style, non-commercial only, commercial only, etc.
<kof673> non-commercial stuff is fine with me
<kof673> something gpl-like non-commercial i would like
<kof673> and as i've said before, gpl allows an "individual" to be a group, this i would not favor
LainExperiments has quit [Quit: Client closed]
<kof673> with those 2 things fixed, i would be "pro"
<fedaykin> RUST
<nikolar> no rust
<nikolar> only KERNAL
<kof673> same thing, what are the hw requirements to bootstrap rust? i am not against, just too rich for my blood :D
<heat> RUST KERNAL
<fedaykin> RUST
<fedaykin> +)
<nikolar> no rust
<nikolar> ONLY KERNAL
<fedaykin> fight fight fight (c) MAGA =)
<fedaykin> ORANGE MAGA +)
<kof673> basically, give me a non-corporate gpl, and individuals can trade or whatever :D
<nikolar> that's not KERNAL
<kof673> *actual individuals, not groups
goliath has joined #osdev
LainExperiments has joined #osdev
bauen1 has quit [Ping timeout: 252 seconds]
bauen1 has joined #osdev
xenos1984 has joined #osdev
bauen1 has quit [Ping timeout: 268 seconds]
bauen1 has joined #osdev
demindiro has joined #osdev
<demindiro> A change in setup code makes the core interpreter loop way faster even though it should have no effect
<demindiro> God I hate branch alignment
<nikolar> it shouldn't matter?
<nikolar> what cpu do you have
<demindiro> 5800X
<demindiro> I'm pretty sure it has to be branch alignment
<demindiro> I've seen and heard about such weirdness before
<heat> it should definitely matter
<demindiro> Actually, my setup code comes after the interpreter core loop in the same section
<demindiro> So I don't think it has anything to do with alignment either
<demindiro> It could maybe be because of an extra GC collection, but I don't think a single collection should save a whopping 50ms
<demindiro> GC is called 597 times in the old version, 473 times in the new version
<demindiro> So definitely GC, but I fail to understand the difference
<demindiro> Any objects from the setup code should be gone after the first collection
<zid> branch alignment super matters
<zid> also tag collisions and shit can super matter
<zid> nikolar: guess what -> You finally invaded albania?
<GeDaMo> "Performance Matters" by Emery Berger
<nikolar> zid: I added scrolling to the vga console
<nikolar> You're welcome
<zid> with a memcpy
<zid> or with
<zid> vga regs
<nikolar> memcpy
<zid> if we get back to having that vbe console
<nikolar> Though I wrote the loop manually because memcpy technically doesn't like overlapping buffers
<zid> we can triple buffer
<nikolar> Kek nice
xenos1984 has quit [Ping timeout: 245 seconds]
<heat> memmove?
<heat> note that using memcpy or memmove on device memory is UB
<zid> according to who
xenos1984 has joined #osdev
<zid> glibc?
<nikolar> heat we don't have memmove
<nikolar> And I couldn't be bothered to write it
<zid> nor could.. there be any body who could make this UB
<zid> C can't, it doesn't know what 'device memory' is
<nikolar> Exactly
<nikolar> Though what I think heat is trying to say is that you might not get what you expect
<zid> if your device and your mtrrs and everything are set up in the right way, it'll work
<demindiro> Isn't the compiler allowed to elide the memcpy if it thinks it's useless?
<heat> it knows what normal memory is (stores and loads dont have weird side effects)
<nikolar> Because you can memcpy in a billion different ways and the devices might not like 512 bit writes
<zid> but it's probably better if you just rasterize a buffer
<heat> i dont know what exactly is the C standard term but this is somewhat defined, at least implicitly
<zid> reading from vga mem is slooow
<nikolar> zid yeah we could do that
<nikolar> Later
<zid> heat: what would make it 'ub' would be more like, if that memory doesn't comply to the semantics of the C virtual machine
<heat> there was a problem with some arm64 glibc memcpy a few years ago and they said "nope the C standard doesn't allow for this, bugger off"
<nikolar> C standard doesn't deal with that at all though
<demindiro> At the least, memcpy takes a regular pointer and not volatile
<demindiro> And the volatile is probably important
<zid> have you.. read the C standard for the stdlib? it specifies *nothing* lol
<nikolar> Kek
<zid> volatile is not important
<nikolar> memcpy exists
<nikolar> That's all the standard has to say about it
<nikolar> And we're freestanding anyway so there's no stdlib
<zid> volatile adds memory ordering *to the code the compiler generates*, as in, volatile stops it reorderiqng a = 4; with memcpy(c, d, e);
<nikolar> And forces all write and reads instead of caching them
<zid> when it generates the machine code, it's allowed to do call memcpy; mov [a], 4
<demindiro> It also ensures that writes/reads are also actually generated
<heat> volatile is AIUI important because "volatile int *a = /* ... */; *a = 10; *a" is not guaranteed to return 10
<zid> because b/c/d and a don't overlap
<heat> since memcpy arguments aren't volatile there's no way in hell passing non-normal memory would work out
<zid> demindiro: because some loads/stores are redundant, if you know they happen to the same object
<zid> a = 4; a = 7;
<zid> it's allowed to remove the a = 4
<zid> it does nothing to memcpy, each char is unique
<demindiro> And the compiler can also remove the a=7 if it thinks it's not going to matter
<zid> I will admit you do need to *reference that memory* somewhere to stop all of the code disppearing, yes
<nikolar> I forgor, can you ask grub to set up the framebuffer for you
<zid> but the solution to that is not vlatile
<zid> nikolar: yes
<zid> It uses VBE
<zid> we can use VBE from boot.bin if we want :D
<nikolar> Ah yeah
<zid> or
<zid> get an AP to do it lol
<nikolar> Heh
<zid> I wonder if that works
<nikolar> Parallel bring up :P
<nikolar> Probably
<nikolar> Why wouldn't it
<zid> cpuid; cmp ax, 1; jnz over; mov ax, 16h; int 10h
hwpplayer1 has joined #osdev
<zid> gogo
<zid> 13h
<nikolar> Let
<nikolar> Kek
<nikolar> Perfect
<zid> We should hard-target your laptop, and you should read the intel GMA spec
<zid> alternatively
<zid> we dump the VGA bios
<zid> and emulate it
<zid> just map it into the io region and run an interp over it
<zid> :D
<heat> what are yall doing
<heat> writing boros for nikolar's laptop?
<zid> secret project
LainExperiments has quit [Ping timeout: 240 seconds]
<nikolar> My laptop is amd though :P
<zid> fuck sake
<nikolar> Oh did you mean the shitbook
<zid> I thought you had an eeeeeeeepc with an atom or something
gog has joined #osdev
<zid> and gma
<heat> yes i understand, it's nothing big linux should learn about
<nikolar> Oh yeah we can target that
<zid> atom is a fucked up arch
<nikolar> Kek is it
<zid> at least the proper one, that isn't just a rebadged pentium
<nikolar> I don't remember which atom it was
<zid> The original Atom needed you to interleave instructions
<nikolar> 2c 4t though
<zid> yea that's a celeron/pentium rebrandy one I imagine
<nikolar> Probably
<nikolar> It's relatively new
<nortti> the wikipedia page for eeepc is surprisingly good with listing all the different variants
<nikolar> Oh maybe I could dig it up
<nortti> or, well, at least ones relevant to me, so the couple first generations
<nortti> < zid> The original Atom needed you to interleave instructions ← in the sense of dual-issue in-order pipeline, or?
<zid> yea that sense
<zid> like how a pentium 4 had a really long pipeline and sucked, the original atom had no pipeline and sucked
<nortti> do you know if it shares any heritage with pentium the original, or did they just decide to do that again?
<nikolar> It's the opposite issue kek
<zid> I don't know a shit load about how the atom came to be
<heat> s/ had no pipeline and//z
<heat> oh the bot's dead :?
<nikolar> Again kek
<heat> puck, bslsk is no longer with us
<nikolar> Was it netburst that had the stupid long pipeline
<kof673> it's just resting, it'll return :D
<nikolar> And sucked
<zid> yes, p6 (p4)
<zid> (kek)
<nikolar> Kek
<zid> p6 = pentium 4, so p6 == p4, intel clever
<heat> kek = kek
<nikolar> kek == kek
<nortti> huh I thought p6 was the pentium pro–pentium 3 one
<zid> P6 was replaced with 'Core'
<zid> but yea, started at ppro
<nikolar> > A side effect of having no speculative execution is invulnerability against Meltdown and Spectre.
<nikolar> Kek let's switch to atoma
<nikolar> *atoms
<heat> all i know is that we're all running slightly newer pentium 6's since
<puck> <heat> puck, bslsk is no longer with us <- o7
<zid> netburst was P6-adjacement but I'm not sure they bothered to give netburst its own little P code?
<zid> P6..8?
<zid> thanks intel
<nikolar> I think they stopped with p codes thereabouts
<nortti> wasn't netburst quite different from p6
<nortti> like, trace cache and such
<zid> yea but it has all the same errata in the manuals
<nikolar> nortti: p codes don't mean anything
<zid> Like, intel manuals are "If you're on P6, do this instead"
<nortti> heh
<zid> which includes p4, not excludes it
<nikolar> The only thing it means is different number is a different CPU (probably)
<zid> Xeon gets its own blocks too
<zid> But it means the *original* xeon
<zid> before they made it a sky name
<zid> sku
<nortti> "Superpipelining, which increased from Pentium's 5-stage pipeline to 14 of the Pentium Pro and early model of the Pentium III (Coppermine), and eventually morphed into less than 10-stage pipeline of the Pentium M for embedded and mobile market due to energy inefficiency and higher voltage issues that encountered in the predecessor, and then again lengthening the 10- to 12-stage pipeline back to the Core 2
<nortti> due to facing difficulty increasing clock speed while improving fabrication process can somehow negate some negative impact of higher power consumption on the deeper pipeline design."
<heat> yeah i'm still running a pentium 6 and a 1970's operating system with various 70's and 80's physical terminals being emulated
<heat> my chipset? PC-AT
<nikolar> Indeed
<zid> INTEL ATM N270
<nikolar> You just have a shitload of extended memory
<zid> That's a name I haven't heard in a while
<nikolar> Kek
<zid> Main difference between now and the 70s is honestly just pci-e
<zid> and ddr1
<zid> "bus that doesn't suck" took surprisingly a long time?
<nortti> looks like my eeepc's running a pentium m (i.e. the continuation of the p6 line) derived celeron
<zid> pci sucked so graphics cards made their own, different bus, agp, whcih also sucked <3
<nikolar> More like Intel made it
<nikolar> And tried using it
<nikolar> Only to fail at gpu
<kof673> $ cat /proc/cpuinfo [...] model name: Pentium III (Coppermine) [...]
<zid> agp was significantly better than pci
<zid> for gpu
<zid> pci *sucked*
bslsk05 has joined #osdev
<nikolar> But Intel was significantly bad at gpu
<nikolar> So they didn't get a chance to use it themselves kek
<zid> fair
<nikolar> I should check what cpu was in that shitbook later
<zid> you should put secret OS on a usb and boot it
<nortti> kof673: what system is that?
<kof673> an old dell desktop
<nikolar> I will!
<nikolar> It's already on a USB
<zid> might wanna add a memset to mem_phys_alloc though
<zid> :D
<nikolar> Kek we didn't?
<zid> no it's a todo
<nikolar> I forgor to bug you
<kof673> mjg was going to have me test some code once, but vanished :D
<zid> I was waiting until we added the stdlib.c
<kof673> i have since acquired 5 or so "thin clients" but they are p4 i think
<nikolar> We have memset though
<zid> yup
<zid> I added it when I added stdlib.c
<zid> cus I knew todo was waiting for it
<nikolar> Kek
<nikolar> Guess we should properly carve out the lowmem from our allocator too
<zid> BANNED_REGIONS[]
<nikolar> Ye
<kof673> i thought that would be fun for akin to avoiding "bad areas" ^^^
<kof673> i assume linux still supports that...
<kof673> as in bad ram...........just avoid the known bad spots lol
bauen1 has quit [Ping timeout: 244 seconds]
bauen1 has joined #osdev
* geist yawns
<geist> so sleepy
<zid> The gas canisters are working, 3 minutes until we raid the property
surabax has joined #osdev
hwpplayer1 has quit [Remote host closed the connection]
<the_oz_> geist was replaced by an exact replica
<nikolar> zid: how has the raid gone
<zid> We couldn't find anything worth taking, just half a ton of PDPs
m5_ has quit [Ping timeout: 248 seconds]
<kof673> in other words, 1 pdp
<heat> nikolar, does 2.11BSD have SIGSTOP?
<zid> nikolar does windows 95 have fat32?
gmodena has quit [Quit: ZNC 1.8.2 - https://znc.in]
<nikolar> heat I'm not actually sure
<nikolar> I think so
<nikolar> zid only if it wants to
<zid> presumably, with it being windows, that means if it wants to it can't
m5_ has joined #osdev
<geist> heat: it has the ability to ctrl-z and put something in the background, etc
<geist> so i guess so, needs sigstop for that right?
<heat> yes
<geist> you just need a shell withthat capability (tcsh vs csh or sh, for example)
<heat> it turns out unix traditionally handles signals much differently from linux
<geist> when you're using a single terminal over a serial port, ctrl-z and job control becomes far more useful and mandatory basically
<geist> especialyl when it takes some amount of time to start an editor or man something
gmodena has joined #osdev
<nikolar> heat:
<nikolar> #defineSIGSTOP17/* sendable stop signal not from tty */
<nikolar> #defineSIGTSTP18/* stop signal from tty */
<heat> wrt stopping, basically there's this issig or issignal(nowadays, on the BSDs) and it not only handles "do we have a signal pending" but also dequeues and handles stopping and continuing
<nikolar> zid: oh duh youright
<nikolar> *you're right
<heat> which i do find really bizarre
<nikolar> heat: how does Linux do it differently
<heat> but i guess it's UNIX HERITAGE
<heat> linux just checks if a signal is pending and if so aborts the sleep and fully unwinds the stack
<heat> which leads to other problems when doing syscall restarting
<zid> nikolar: What's a good res that fits in 16MB/3
<nikolar> Erm good question
<zid> That's how much vram bochs vbe has
<heat> 720p
<zid> and I want triple buffering
<heat> 720p is around 4M a framebuffer
<zid> hmm yea 1280x720x32bpp is 3686400
<nikolar> Yeah 720p
<zid> so I guess secret OS is 720p?
<nikolar> Kek
<nikolar> I guess
<nikolar> Perfect for the shittop though
<nikolar> *shitbook
<zid> shitbook doesn't have bochs vbe
<zid> it has INTEL GMA
trillion_exabyte has quit [Ping timeout: 272 seconds]
<zid> but designing around 720p means we won't have to change anything once we add a DRIVER though
<nikolar> Recently
<nikolar> *Exactly
<zid> Officially
trillion_exabyte has joined #osdev
<heat> you know, one day i'll go on who wants to be a millionaire, and they'll ask me arcane UNIX implementation questions, and i'll win
<zid> You'll have to go on mastermind
<zid> and tell them your specialize subject is "unix, but pls don't be too obscure"
<nikolar> Yes because that's the kind of questions they ask
<the_oz_> you'll misspell KERNAL and get penalized :(
xenos1984 has quit [Ping timeout: 248 seconds]
<nikolar> Kek
<zid> cus they'll ask you things like "For what feature did Bill Hinkies add demand paging for in 1972?"
<heat> it's the only way signal implementation details will ever be useful
<zid> rather than actual questions about code
<nikolar> heat hey those details will be useful for implementing signals too
<zid> who'd do that
<nikolar> Good question
<heat> exactly, who would do that
<bslsk05> ​www.youtube.com: - YouTube
<zid> 2/2 so far
<heat> there's no Big Signal funding my work
<heat> HOWEVER if there is Big Signal out there, i would be interested
<zid> nikolar: You should write some questions
<zid> in the style of mastermind
<nikolar> Why me
<zid> cus I don't know what signals are
<nikolar> (i don't know what mastermind is)
<zid> I linked a video
<heat> your whole personality for a while was "i use irc on an arcane UNIX-derived system in a pdp11 emulator"
bauen1 has quit [Ping timeout: 268 seconds]
<zid> pfft
<zid> his whole personality is
<zid> "kosovo is rightful serbian clay"
<kof673> i believe win95b has fat32, or whatever 'later revision', but not the original, ditto USB.
<nikolar> You're both right
bauen1 has joined #osdev
LainExperiments3 has joined #osdev
<nikolar> Btw it's not an arcane Unix derived system, it's an arcane actual Unix
<kof673> arcane is like occult...it is only because time has passed that it is 'mysterious' :D it was once the mainstream :D
<heat> it's not an actual UNIX if it didn't come out of AT&T/bell labs
<heat> it's a weird BSD with a large stack of backported patches
LainExperiments has joined #osdev
xenos1984 has joined #osdev
<nikolar> zid can we fit 1080p if we double buffer
<zid> just barely no
<zid> oh just barely yes
LainExperiments3 has quit [Ping timeout: 240 seconds]
<nikolar> Oh neat
<zid> Triple buffering is superior though
<nikolar> Kek
<zid> and I don't actually wanna run qemu with a 1080p back buffer, on this monitor :P
<nikolar> Heh fair enough
LainExperiments5 has joined #osdev
LainExperiments has quit [Ping timeout: 240 seconds]
LainExperiments has joined #osdev
LainExperiments5 has quit [Ping timeout: 240 seconds]
goliath has quit [Quit: SIGSEGV]
m5_ has quit [Ping timeout: 245 seconds]
vdamewood has quit [Quit: Life beckons]
LainExperiments has quit [Quit: Client closed]
netbsduser has joined #osdev
<bslsk05> ​arstechnica.com: Kaizen: A Factory Story makes a game of perfecting 1980s Japanese manufacturing - Ars Technica
<zid> where steam link
<zid> v
<bslsk05> ​'Kaizen: A Factory Story' - ''
<zid> wishlasted
<zid> heat can buy us all a copy with his SUSE money
<heat> no hablo ingles perdon
LainExperiments has joined #osdev
<zid> helo I am brasil gib moni pls
<zid> or i report u
<zid> heat bot
<zid> report 4 bott
LainExperiments has quit [Quit: Client closed]
m5_ has joined #osdev
netbsduser has quit [Ping timeout: 260 seconds]
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
getz has quit [Ping timeout: 252 seconds]
getz- has joined #osdev
Maja_ has joined #osdev
Maja has quit [Ping timeout: 248 seconds]
_koolazer has quit [*.net *.split]
baraq has quit [*.net *.split]
ursa-major has quit [*.net *.split]
lh has quit [*.net *.split]
nur has quit [*.net *.split]
sskras has quit [*.net *.split]
SophiaNya has quit [*.net *.split]
ptrc has quit [*.net *.split]
zenomat has quit [*.net *.split]
urandom__ has quit [*.net *.split]
f_ has quit [*.net *.split]
vismie has quit [*.net *.split]
andreas303 has quit [*.net *.split]
beto has quit [*.net *.split]
DoubleJ has quit [*.net *.split]
shan has quit [*.net *.split]
Xyon has quit [*.net *.split]
FireFly has quit [*.net *.split]
kline has quit [*.net *.split]
Griwes has quit [*.net *.split]
jimbzy has quit [*.net *.split]
baraq has joined #osdev
ursa-major has joined #osdev
lh has joined #osdev
nur has joined #osdev
sskras has joined #osdev
ptrc has joined #osdev
SophiaNya has joined #osdev
zenomat has joined #osdev
vismie has joined #osdev
f_ has joined #osdev
_koolazer has joined #osdev
beto has joined #osdev
andreas303 has joined #osdev
DoubleJ has joined #osdev
shan has joined #osdev
Xyon has joined #osdev
FireFly has joined #osdev
kline has joined #osdev
Griwes has joined #osdev
baraq has quit [Max SendQ exceeded]
lh has quit [Max SendQ exceeded]
ursa-major has quit [Max SendQ exceeded]
getz- is now known as getz
lh has joined #osdev
Etabeta1 has joined #osdev
baraq has joined #osdev
ursa-major has joined #osdev
urandom_ has joined #osdev
LainExperiments has joined #osdev
craigo has joined #osdev
LainExperiments has quit [Ping timeout: 240 seconds]
sauce has quit [Ping timeout: 252 seconds]
demindiro has quit [Quit: Client closed]
LainExperiments has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
LainExperiments has quit [Quit: Client closed]
<kof673> found a new target :D > Note that the size of integral variables is different with c4x-gcc than with gcc for UNIX targets. Usually, the size of a char is 8 bits, short int 16 bits, int 16 or 32 (more often 32), long int 32 bits. The smallest amount of memory the C3x/C4x can handle is 32 bits, therefore all of the above types are 32 bits in size. This is the same as with the TI tools.
<kof673> > The GDB patches also include a C3x/C4x simulator http://bitsavers.org/components/ti/TMS320xx/software/C4x_GNU_Tools.html
<bslsk05> ​bitsavers.org: C4x GNU Tools
<ring0_starr> what is this c4x target?
<kof673> (old presumably) dsp :D
<ring0_starr> oh, TI. should've guessed
<ring0_starr> presumably the predecessor to SHARC?
<ring0_starr> those are nifty cpus, i like them
<kof673> it is not that strange, just mainly, there is a simulator :D
<ring0_starr> super low interrupt latency, dedicated i/o core, configurations where multiple cores run in lockstep
<kof673> and even if it lacks stdin/stdout (no libc that i see) ....i'm sure you can patch a memory hole or some such like bochs lol
<ring0_starr> all kinds of interesting configurations
<ring0_starr> and then a lot of boring ones too
<ring0_starr> you ever write anything for tandem NonStop?
<kof673> i'm that that old j/k heard of it only...
<ring0_starr> mips based, multi-proc running in lockstep kinda thing going on
<ring0_starr> iirc the NYSE were running those for a long time
<ring0_starr> the whole high assurance computing market seems to have shifted to ibm mainframes
<kof673> there are other ti dsps i believe are 16-bit (as smallest addressable unit at least)...just a q what has gcc/binutils support and a simulator in particular .......i assume ti sdks even if "free" are probably not on their website anymore, need to signup, etc.
<kof673> and that might be a big "if"
<ring0_starr> from what i've read, it's really difficult to port stuff because it does wacky platform-specific things at the language level
<kof673> tandem?
<ring0_starr> dont know exactly what it was all about though
<ring0_starr> us
<ring0_starr> yeah*
m5_ has quit [Read error: Connection reset by peer]
<ring0_starr> 16 bit dsps have to be really old, 32 bit dsps were around since late 80s at least
<kof673> realistically, the q is how much ram does the simulator give you...
<ring0_starr> writing software for an obscure platform feels blah when you only have a simulator
user71 has quit [Quit: Leaving]
<ring0_starr> it's just adding extra rules or changing definitions on top of what you usually do
<ring0_starr> it only feels rewarding when you have the big hunk of metal next to you
<kof673> dsps i think it is all asm for real work...c is not good in the first place...except as a "wrapper" around asm routines maybe
<ring0_starr> TI put a lot of effort into their C toolchain for their most recent DSPs. i was watching a presentation on it not too long ago
<ring0_starr> although im gonna be honest i tend to agree with you
<ring0_starr> i just don't see the point of C on dsps
<kof673> i am just a lowly hobbyist, my understanding is they are for crunching data, not "general-purpose programs", audio, video, ......crypto maybe....
heat_ has quit [Read error: Connection reset by peer]
heat has joined #osdev
LainExperiments has joined #osdev
m5_ has joined #osdev
Lucretia has quit [Read error: Connection reset by peer]
Left_Turn has quit [Read error: Connection reset by peer]