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?
<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
<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