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
thinkpol has quit [Remote host closed the connection]
thinkpol has joined #osdev
netbsduser has quit [Ping timeout: 248 seconds]
craigo has quit [Remote host closed the connection]
<gog> hi
<gog> haiku
<heat> hiku
<remexre> is there a good way to allocate regions of virtual memory that doesn't result in mutual dependencies between the virtual memory allocator and the "normal" kmalloc() allocator?
beto_ has joined #osdev
beto has quit [Ping timeout: 265 seconds]
<heat> linux kmalloc does not use the virtual memory allocator
beto_ is now known as beto
<heat> so that's just a way to sidestep the entire problem. it's not even there
<heat> also worth realizing kernel and user (mmap) virtual memory allocation isn't quite the same thing
<nikolar> > linux kmalloc does not use the virtual memory allocator
<nikolar> now that you've mentioned it heat, how's linux doing the memory management in the kernel
<nikolar> does it identity map or something (just in higher half)
<heat> yes
<heat> 64-bit maps it all, 32-bit maps the first ~900MB and calls the rest "highmem"
<heat> highmem meaning it's not permanently mapped and thus can't be used for a bunch of cases
<nikolar> interesting
<nikolar> and i guess it just takes a page at a time for kmalloc needs
<nikolar> 32 bit sounds like a pain to work with heh
<heat> you can halfass it and say "you can't access beyond 900MB" ezpz
<heat> no problems ther
<heat> linux mm people want to do this after some newish 32-bit arm boards (with lots of memory) become irrelevant
<nikolar> want to do what
<heat> get rid of highmem
<heat> oh, to be clear, kmalloc cannot use highmem
<heat> the page cache can, and so can anonymous memory
<nikolar> so they want to get rid of highmem
<nikolar> but also > you can't access beyond 900MB
<heat> highmem is all memory beyond 900MB
<nikolar> So the kernel will just have to deal with working in 900mb
<heat> ok to be clear, they did not halfass it, which is why 32-bit linux systems can use more than 900MB for most cases
<heat> yes
<nikolar> Interesting
heat has quit [Ping timeout: 246 seconds]
m3a has quit [Remote host closed the connection]
zhiayang has quit [Ping timeout: 248 seconds]
beto has quit [Ping timeout: 260 seconds]
m3a has joined #osdev
beto has joined #osdev
beto has quit [Ping timeout: 260 seconds]
gog has quit [Ping timeout: 248 seconds]
X-Scale has joined #osdev
Arthuria has joined #osdev
jedesa has quit [Quit: jedesa]
beto has joined #osdev
zhiayang has joined #osdev
zhiayang has quit [Ping timeout: 265 seconds]
beto_ has joined #osdev
beto has quit [Ping timeout: 252 seconds]
beto_ is now known as beto
jedesa has joined #osdev
goliath has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
cow321 has quit [Remote host closed the connection]
cow321 has joined #osdev
hwpplayer1 has joined #osdev
hwpplayer1 has quit [Remote host closed the connection]
goliath has quit [Quit: SIGSEGV]
GeDaMo has joined #osdev
<kof673> (carefully eyes past few hours) > and i doubt gcc would work with 16mb of ram well there is about 20-30-... years of gcc. you don't have to take the latest.
<kof673> nikolar: Matt Dillon's C compiler (yes, the actor/^H^H^H^H^H^H freebsd/dragonfly matt dillon) # originally for Amiga/68k, but can be used as a generic 68k compiler # compiles on Amiga, linux, or FreeBSD # no floating point constants except on Amiga
<kof673> dice-rel-3.15 see if you can find that. also, dasm 2.16, assembler for 6502/68705/6803/HD6303/6811/68HC11
<kof673> vbcc OTOH can be used for atari jaguar, so "relatively recently" at least it was being used
X-Scale has quit [Quit: Client closed]
xenos1984 has quit [Read error: Connection reset by peer]
cow321 has quit [Remote host closed the connection]
cow321 has joined #osdev
xenos1984 has joined #osdev
Dead_Bush_Sanpa1 has joined #osdev
Dead_Bush_Sanpai has quit [Ping timeout: 260 seconds]
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
bradd_ is now known as bradd
EineNdamen has joined #osdev
steelswords9 has quit [Read error: Connection reset by peer]
EineNdamen has quit [Read error: Connection reset by peer]
steelswords9 has joined #osdev
Dead_Bush_Sanpa1 has joined #osdev
EineNdamen has joined #osdev
Dead_Bush_Sanpai has quit [Ping timeout: 252 seconds]
Dead_Bush_Sanpa1 is now known as Dead_Bush_Sanpai
kfv has joined #osdev
marcopolo2 has joined #osdev
stolen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
EineNdamen has left #osdev [#osdev]
EineNdamen has joined #osdev
EineNdamen has quit [Remote host closed the connection]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
kfv has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
EineNdamen has quit [Read error: Connection reset by peer]
Left_Turn has joined #osdev
kfv has joined #osdev
EineNdamen has joined #osdev
kfv has quit [Ping timeout: 252 seconds]
stolen has quit [Quit: Connection closed for inactivity]
Left_Turn has quit [Ping timeout: 265 seconds]
Left_Turn has joined #osdev
gog has joined #osdev
NicoleATX has quit [Quit: Leaving]
EineNdamen has quit [Read error: Connection reset by peer]
netbsduser has joined #osdev
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 245 seconds]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
xenos1984 has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
xenos1984 has quit [Ping timeout: 252 seconds]
heat has joined #osdev
EineNdamen has joined #osdev
* Ermine kzallocs
xenos1984 has joined #osdev
<heat> kvalloc ftw
EineNdamen has quit [Read error: Connection reset by peer]
marcopolo2 has quit [Quit: Connection closed for inactivity]
<Ermine> and drm has some wrapper around it
jedesa has quit [Quit: jedesa]
<Ermine> also, TIL drm doesn't do power management
<gog> quacc
<nikolar> oi
jedesa has joined #osdev
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
hwpplayer1 has joined #osdev
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
craigo has joined #osdev
gog has quit [Ping timeout: 252 seconds]
beto has quit [Ping timeout: 252 seconds]
gog has joined #osdev
beto has joined #osdev
xenos1984 has quit [Read error: Connection reset by peer]
theyneversleep has joined #osdev
<mjg_> > I quit COBOL
particleflux has quit [Ping timeout: 252 seconds]
particleflux_ has joined #osdev
<mjg_> do i want to watch that video :thinkingface:
particleflux_ is now known as particleflux
hwpplayer1 has quit [Remote host closed the connection]
hwpplayer1 has joined #osdev
<heat> COBOL is like smoking, it's great and you should never quit
pabs3 has quit [Ping timeout: 252 seconds]
xenos1984 has joined #osdev
hwpplayer1 has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
pabs3 has joined #osdev
EineNdamen has joined #osdev
EineNdamen has quit [Read error: Connection reset by peer]
<Ermine> how many kernel heap allocation functions are out there actually?
<Ermine> kmalloc, kzalloc, kvalloc, ... ?
<heat> kmalloc, kvalloc, kmem_cache_alloc, vmalloc
<bslsk05> ​www.kernel.org: Memory Management APIs — The Linux Kernel documentation
<heat> the rest are tiny variants i.e kzalloc is kmalloc with __GFP_ZERO
<heat> krealloc ofc
orccoin has joined #osdev
<heat> ugh i cannot get a fucking dhcp offer back when using qemu tap networking
<Ermine> What GFP means in those macros?
<the_oz> Get Free Page
heat_ has joined #osdev
heat has quit [Ping timeout: 252 seconds]
EineNdamen has joined #osdev
EineNdamen has quit [Client Quit]
<Ermine> thx
<mjg_> ind of redundant innit
<mjg_> how about "get used page LMAO"
goliath has joined #osdev
<Ermine> second-hand page
<mjg_> as good as zeroed
<heat_> get_page is a whole other operation mon
<heat_> i know Traditional UNIX(tm) loves shit like getbuf allocating, but that's not how get is used in linux circles
<mjg_> hipster fuckin' circlen
<mjg_> true unix way or bust
<mjg_> motherfucker
fedaykin has quit [Quit: leaving]
heat_ has quit [Read error: Connection reset by peer]
heat__ has joined #osdev
fedaykin has joined #osdev
heat__ is now known as heat
hwpplayer1 has joined #osdev
<heat> so i was getting actually decent download speeds but i changed some shit around and now i'm doing 500KB/s
<heat> :(
<the_oz> what kinda cable modem have ya got and turning off then on again (so the frequencies get rechosen)
<heat> uhh it's my network stack's fault
<heat> not the hardware
<the_oz> oh, interesting
<the_oz> what'd you change?>
<heat> frankly, no clue
<Ermine> git bisect time?
<Ermine> or flamegraphs
<heat> flamegraphs show me nothing of interest, git bisect is useless because i didn't commit :)
<Ermine> OH
hwpplayer1 has quit [Quit: I'll be back later]
<mjg_> lmao
<mjg_> gj heat
<GeDaMo> diff! :P
<mjg_> dawg you create a temp branch and checkpoing your work in there
<mjg_> you don't even need to push it
<mjg_> the nmassage with rebase -i et voila
<mjg_> you remind me of a poor fucking sap at one of my prevoius jobs
<mjg_> dude avoidably wrote a several K line of diff
<mjg_> in one go
levitating has joined #osdev
<heat> i'm on a temp branch, i'm just not committing atm
<mjg_> and then made it hard for himself to figure out why things broke
<the_oz> maybe if he used sublime text he'd have infinite undo for free
<the_oz> >yes, I am an idiot who needs stuff like that because just in case
<the_oz> I mean you can rely on autism
<the_oz> but my stupid overpowers my autism all the time
hwpplayer1 has joined #osdev
_ngn has joined #osdev
xenos1984 has quit [Ping timeout: 246 seconds]
xenos1984 has joined #osdev
levitating has quit [Ping timeout: 248 seconds]
hwpplayer1 has quit [Remote host closed the connection]
mxs has quit [Quit: The Lounge - https://thelounge.chat]
xenos1984 has quit [Ping timeout: 246 seconds]
Matt|home has joined #osdev
netbsduser has quit [Ping timeout: 260 seconds]
<Ermine> wat
<Ermine> oh, 6.11 is released
<Ermine> we're half-way to 7.0
netbsduser has joined #osdev
xenos1984 has joined #osdev
netbsduser` has joined #osdev
netbsduser has quit [Ping timeout: 252 seconds]
kilic has quit [Quit: Leaving]
<kof673> niko lar: https://www.target-earth.net/wiki/doku.php?id=blog:x68_devtools#gnu_tools wikipedia implies 12M max ram... gcc 2.95.2 and 1.42 at least ran natively, m68k. not saying anything except that was not impossible :D
<bslsk05> ​www.target-earth.net: blog:x68_devtools [Target-Earth]
<heat> ok i found the problem
<heat> the problem is that i am stupid
<heat> it turns out that you need the tcp high performance extensions for actual high performance
<heat> advertising a 64KiB window does not do you any favors, particularly on high-latency links
<heat> i had good performance before, because slirp hides that under the covers, since it's linux doing the actual TCP for you
Matt|home has quit [Quit: Client closed]
<_ngn> i was reading some articles on the wiki about storage devices and i've a question, is IDE/PATA worth implementing? are they still around in 64 bit systems?
Turn_Left has quit [Ping timeout: 260 seconds]
<heat> technically, yes
levitating has joined #osdev
<heat> practically it's really only worth implementing because it's the default storage device for qemu and vbox and probably other VMs
k_hachig_ has joined #osdev
k_hachig_ is now known as k_hachig
Turn_Left has joined #osdev
<_ngn> is that why theres a IDE device in the QEMU vm even tho i don't specify one?
dgz has joined #osdev
<heat> yes
<heat> qemu for the x86(_64) PC platform just emulates whatever chipset you tell it to. the default is PIIX4 (dated 96 IIRC), which does IDE by default
<heat> if you pass -machine q35, it emulates an ICH9 chipset (2009), which does AHCI by default
<heat> although you can ofc manually add AHCI controllers to a 1996 PIIX4 and vice-versa, because qemu is funny like that
Turn_Left has quit [Ping timeout: 252 seconds]
<_ngn> got it thank you
goliath has quit [Quit: SIGSEGV]
dgz has quit [Ping timeout: 252 seconds]
hwpplayer1 has joined #osdev
eluks has joined #osdev
karenw has joined #osdev
heat_ has joined #osdev
heat has quit [Read error: Connection reset by peer]
Arthuria has joined #osdev
karenw has quit [Remote host closed the connection]
karenw has joined #osdev
mxs has joined #osdev
<nikolar> kof673: heh 12mb
<nikolar> verey close to 16mb theoretical
<nikolar> *maximum
levitating has quit [Ping timeout: 248 seconds]
Arthuria has quit [Ping timeout: 252 seconds]
theyneversleep has quit [Killed (mercury.libera.chat (Nickname regained by services))]
obrien has joined #osdev
<netbsduser`> apparently linux doesn't use %x18 for pcpu pointer on aarch64
<netbsduser`> they just use tpidr_el1 and inhibit preemption around all loads. and they store the current task pointer in sp_el0. what an odd choice
<heat_> parent->child[parent->child[1] == old] = new_;
<nikolar> ?
<heat_> just a fun golf
sbalmos has quit [Quit: WeeChat 4.4.1]
<nikolar> what are you golfing
<nikolar> also lol for new_
<zid`> nikolar did you manage to add a loop to my code yet
<nikolar> nope
<nikolar> did you
<heat_> i was trying to write a concise node replacing function for a bst
<zid`> no I built a cpu in mhrd
<heat_> new_ was so i don't break the C++ world :P
<nikolar> knew it
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
mxs has quit [Quit: The Lounge - https://thelounge.chat]
sbalmos has joined #osdev
mavhq has quit [Ping timeout: 244 seconds]
mavhq has joined #osdev
<Maja_> my ocd ass would try to find a neat synonym to avoid having to use the trailing _
karenw has quit [Ping timeout: 252 seconds]
<nikolar> why is your nick Maja_ then
<Maja_> because i haven't bothered beating my irc client with a stick yet >:3
<heat_> try /nick?
_ngn has quit [Quit: WeeChat 4.4.2]
<the_oz> HexChat has a tendency to occasionally use alternative forms, so I also grow a tail
<the_oz> and I'm too old to give a shit
Maja_ is now known as Maja
<Maja> heat_: i wish. i had to poke at nickserv because... some rando was logged in as Maja without auth, if I understand correctly??
hwpplayer1 has quit [Quit: ERC 5.5.0.29.1 (IRC client for GNU Emacs 29.4)]
mavhq has quit [Ping timeout: 265 seconds]
mavhq has joined #osdev
mavhq has quit [Read error: Connection reset by peer]
mavhq has joined #osdev
k_hachig has quit [Ping timeout: 276 seconds]
levitating has joined #osdev
levitating has quit [Remote host closed the connection]
sprock has quit [Ping timeout: 252 seconds]
karenw has joined #osdev
levitating has joined #osdev
sprock has joined #osdev
* gog wags her tail
PublicWiFi has quit [Ping timeout: 245 seconds]
mxs has joined #osdev
mxs has quit [Client Quit]
mxs has joined #osdev
mxs has quit [Quit: The Lounge - https://thelounge.chat]
* Maja pets gog
PublicWiFi has joined #osdev
PublicWiFi has quit [Ping timeout: 265 seconds]
<heat_> just got 500mbps through the onyx tcp stack on my local network :)
<heat_> i seem to suffer quite a lot on higher latency links
PublicWiFi has joined #osdev
orccoin has quit [Ping timeout: 252 seconds]
levitating has quit [Ping timeout: 265 seconds]