<grumbler>
If one were a mediocre programmer and wished to learn how to build one's own VM, where would you OS-dev folks direct such a person? (Asking for uh... "a friend")
<heat>
what's a VM
<heat>
(that's a vague acronym)
<grumbler>
Virtual Machine, A simple one though - so that one could learn how these things are built and how they work etc.
<zid>
as in, using hardware exceptions to create a hypervisor, or as in interpreting a bytecode to create an imaginary computer?
<zid>
extensions*
<grumbler>
The latter
<zid>
chip-8 emulator tutorials will do
<grumbler>
Interpreting something like bytecode to create an imaginary computer
<grumbler>
Ah, I see
<grumbler>
Thank you
<zid>
or if you wanna go full boss mode, gameboy emulator
<grumbler>
understood
<zid>
The basic premise is pretty simple though
<heat>
full boss mode is x86 PC lol
<grumbler>
My aspirations are quite modest, I must admit and x86 PC sounds well beyond my current abilities
<zid>
opcode = memory[instruction_pointer]; switch(opcode){ case 0x74: /* ADD A, n */ A += memory[instruction_pointer+1]; instruction_pointer +=2; break; }
<bslsk05>
github.com: gameboy/cpu.c at master · zid/gameboy · GitHub
<grumbler>
Thank you, I've made a note of this
<netbsduser`>
grumbler: i learnt it by implementing first forth, then lisp, then smalltalk
<netbsduser`>
forth is very simple and a little unusual but a good first step for that reason
<grumbler>
netbsduser`, do you mean that you built an interpreter/compiler for those languages and that involved making the VM as part of the process?
<netbsduser`>
grumbler: yes, exactly that
<grumbler>
Understood, thank you
<netbsduser`>
and it was the latter + some experience contributing to illumos and netbsd that actually gave me the confidence to try osdev
<grumbler>
I see
<grumbler>
What are you working on nowadays?
<netbsduser`>
i have a little kernel and operating system (well, nearly everything else but the kernel is third-party ports, but still)
<heat>
windows storage driver warcrimes
<zid>
heat talked me out of writing anything
<blockhead>
heat: that's a phrase for my cookie file ;)
<netbsduser`>
i'm quite pleased with the windows storage driver warcrimes
<netbsduser`>
finally an impetus to implement a scsi stack
wblue has quit [Quit: wblue]
SGautam has quit [Quit: Connection closed for inactivity]
heat has quit [Read error: Connection reset by peer]
heat has joined #osdev
goliath has quit [Quit: SIGSEGV]
wblue has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
wblue has quit [Quit: wblue]
<zid>
wimdows.
vdamewood has joined #osdev
netbsduser` has quit [Ping timeout: 244 seconds]
heat has quit [Remote host closed the connection]
heat has joined #osdev
heat has quit [Ping timeout: 240 seconds]
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
heat has joined #osdev
heat has quit [Ping timeout: 240 seconds]
grumbler has quit [Quit: It's time]
[itchyjunk] has quit [Remote host closed the connection]
<kof13>
openbsd had pf ... but it was ported elsewhere. this was a nice reason to use it a long time ago
netbsduser` has joined #osdev
netbsduser` has quit [Ping timeout: 240 seconds]
agent314 has joined #osdev
netbsduser` has joined #osdev
netbsduser` has quit [Ping timeout: 240 seconds]
Burgundy has joined #osdev
Arthuria has joined #osdev
MiningMarsh has quit [Ping timeout: 258 seconds]
Arthuria has quit [Ping timeout: 240 seconds]
netbsduser` has joined #osdev
<kazinsal>
this isn't exactly osdev related but has anyone ever written anything using apple push notifications from web callbacks? trying to get a FFXIV plugin to send a push notification through an HTTP request
netbsduser` has quit [Ping timeout: 244 seconds]
Burgundy has quit [Ping timeout: 240 seconds]
<moon-child>
I have not. HTH.HAND
<zid>
+++ATH0
stolen has joined #osdev
<kof13>
atttttttttttttttttttttttheos
Affliction has quit [Quit: Read error: Connection reset by beer]
<zid>
works on affliction I see
Affliction has joined #osdev
weinholt has quit [Server closed connection]
weinholt has joined #osdev
GeDaMo has joined #osdev
netbsduser` has joined #osdev
netbsduser` has quit [Ping timeout: 240 seconds]
zaquest has quit [Remote host closed the connection]
gbowne1 has quit [Remote host closed the connection]
[itchyjunk] has joined #osdev
agent314 has quit [Ping timeout: 244 seconds]
agent314 has joined #osdev
Terlisimo has quit [Quit: Connection reset by beer]
Terlisimo has joined #osdev
gog` has joined #osdev
stolen has quit [Quit: Connection closed for inactivity]
remexre has quit [Read error: Connection reset by peer]
remexre has joined #osdev
cloudowind has quit [Quit: see you next time fellows]
<heat>
>I haven't been able to find any information in the man pages or on Bing
<netbsduser`>
when i ported systemd to openbsd they declared it offtopic and refused to permit anyone to post about it
<heat>
> or on Bing
<heat>
> Bing
rustyy has quit [Ping timeout: 240 seconds]
<heat>
To: linux-mm@vger.kernel.org
<ChavGPT>
that's not the address of the list though
<heat>
hey yall how does linux do memory allocation i tried yahooing this but nothing came up
<ChavGPT>
:X
<heat>
i know
<heat>
it's like kvack something
<Ermine>
netbsduser`: expectable btw. Openbsd is one of the harbours of systemd haters, so they don't like any kind of such ports
<heat>
but fuck it you get the joke
<ChavGPT>
i get all the genz jokes
<netbsduser`>
Ermine: but that's the whole joke
<ChavGPT>
:X
<netbsduser`>
i did the port first to have fun, second to learn more about systemd which i always criticised from afar, and third to startle the natives
<immibis>
did you rewrite the kernel to make it more systemd compatible? That's what Lennart would have done
<geist>
keep adding more linux syscalls to it, openbsd people will thank you for it
<Ermine>
hi geist
<geist>
hola
<immibis>
no hablo español
* CompanionCube
vaguely remembers someone making a port called 'initware'
<Ermine>
Actually it would be nice to have an OS with reasonable set of features but immune to pegasus. Is that utopian?
<immibis>
isn't that called linux
<Ermine>
Is it so?
<immibis>
problem being that linux is not an OS but rather an OS construction kit (this applies doubly if you are using gentoo linux)
<netbsduser`>
CompanionCube: that's mine
<immibis>
while it's possible to make a linux OS that's immune to pegasus, it's also possible to make one that isn't
<Ermine>
If those people manage to attack the kernel, none of linux distributions will be secure against it
<netbsduser`>
immibis: i was surprised recently when i learned that some people actually run gentoo directly
<netbsduser`>
i always supposed it was more of a toolkit for building a GNU/Linux distro, like ChromeOS
<Ermine>
What you're referring to as ChromeOS is, in fact, GNU/ChromeOS
<Ermine>
(Sorry)
<immibis>
netbsduser`: you might be thinking of yocto. they use very similar build scripts, so there must be some relation
<immibis>
i use gentoo
<immibis>
i also used yocto at work, for an embedded system
<immibis>
gentoo is clearly a distribution itself as it can update itself for example. But it's a lot closer to automated Linux From Scratch, than to Ubuntu
<immibis>
whereas yocto is something you use to make a distribution for another device
grumbler has quit [Remote host closed the connection]
grumbler has joined #osdev
* CompanionCube
is happy enough with current inits to not use initware, but it's a good idea anyway
flom84 has quit [Ping timeout: 240 seconds]
<geist>
hmm what's this pegaus that you speak of?
<geist>
ah some sort of spyware
rustyy has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
tixlegeek has joined #osdev
<kof13>
yes, i was worried it was some systemd or something, but this maintains his magical properties, so...i see no problem with the name