[Kalisto] has quit [Read error: Connection reset by peer]
[Kalisto] has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
gildasio has quit [Remote host closed the connection]
gildasio has joined #osdev
Left_Turn has quit [Ping timeout: 268 seconds]
Arthuria has quit [Ping timeout: 260 seconds]
gog has quit [Ping timeout: 240 seconds]
[Kalisto] has quit [Read error: Connection reset by peer]
[Kalisto] has joined #osdev
Left_Turn has joined #osdev
Left_Turn has quit [Read error: Connection reset by peer]
[Kalisto] has quit [Read error: Connection reset by peer]
[Kalisto] has joined #osdev
[Kalisto] has quit [Read error: Connection reset by peer]
nikolapdp has quit [Remote host closed the connection]
[Kalisto] has joined #osdev
[Kalisto] has quit [Read error: Connection reset by peer]
<Ermine>
> This flag [CR0.WP] facilitates implementation of the copy-on-write method of creating a new process (forking) used by operating systems such as UNIX --- I lol'd
<heat>
memory protection is for losers
netbsduser has quit [Ping timeout: 256 seconds]
voidah has joined #osdev
nikolapdp has joined #osdev
<nikolapdp>
pdp11's back
<zid`>
OH NO
<zid`>
I mean, oh no, my keyboard needs its cable fixing
<zid`>
surprised the tape solution lasted as long as it did
navi has quit [Ping timeout: 260 seconds]
nikolapdp has quit [Ping timeout: 264 seconds]
edr has quit [Quit: Leaving]
nikolapdp has joined #osdev
<nikolapdp>
that's sad zid
<zid`>
The poor piggies, or the surprisingly-long-term-tape-fix?
<zid`>
This keyboard had cargo cult strain relief. It was the shape of strain relief, but was actually made of hard plastic, so it just rubbed the cable through.
<zid`>
like those apple cables
<nikolapdp>
not sure about the poor piggies so i'll go with the weird fix
<zid`>
I was watching Clarkson's Farm, s03e04 is about their piggies
mctpyt has quit [Remote host closed the connection]
mctpyt has joined #osdev
Matt|home has quit [Quit: Leaving]
<geist>
huh that show looks actually pretty good
<geist>
when i first heard about it i assumed it'd just be too much clarkson silliness, but it looks like it is fairly well reviewed
skipwich has quit [Quit: DISCONNECT]
skipwich has joined #osdev
srjek has quit [Ping timeout: 264 seconds]
heat has quit [Ping timeout: 268 seconds]
Gooberpatrol66 has joined #osdev
ZpCola has joined #osdev
ZpCola has quit [Quit: Client closed]
ZpCola has joined #osdev
ZpCola has quit [Client Quit]
Arthuria has joined #osdev
voidah has quit [Ping timeout: 240 seconds]
MakaAlbarn has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
<MakaAlbarn>
I'm looking for a recommendation. Which of these three should I work on first? the FILE descriptor, Serial I/O, or refining the Memory Manager?
<Mutabah>
Serial is nice for debugging
<Mutabah>
By `FILE` descriptor do you mean your custom libc, or just the general concept of files/streams in the user-kernel API?
<MakaAlbarn>
...both
<Mutabah>
filesystems can be fun :)
<MakaAlbarn>
On that note, is there a way for GRUB to check what the filesystem of the boot device is?
<MakaAlbarn>
also, I'm saving filesystems for after I have module Un/Loading
<kof673>
i jump around a bit to prevent going insane...as long as some progress in made on some portion i do not worry about such
<kof673>
*is made. it really depends whether things are supposed to be "integrated" or "separate libraries" etc. and how closely tied they are, whether they can be used alone or not, etc.
jjuran_ has joined #osdev
jjuran has quit [Ping timeout: 268 seconds]
jjuran_ is now known as jjuran
gildasio has quit [Ping timeout: 260 seconds]
gildasio has joined #osdev
simpl_e has quit [Remote host closed the connection]
rustyy has quit [Ping timeout: 260 seconds]
gbowne1 has quit [Read error: Connection reset by peer]
nikolapdp has quit [Ping timeout: 252 seconds]
vai has joined #osdev
vai is now known as Jari--
MakaAlbarn has left #osdev [#osdev]
teardown has quit [Ping timeout: 260 seconds]
teardown_ has joined #osdev
rustyy has joined #osdev
gildasio has quit [Remote host closed the connection]
<bslsk05>
github.com: Raam/nvme.c at 618268608bf9a3c736280f21965802f7d72cd225 · robstat7/Raam · GitHub
<osdev199>
is it because the admin entry was never processed or is there something wrong with the commands I submitted to the nvme controller beginning line #250?
osdev199 has quit [Remote host closed the connection]
osdev199 has joined #osdev
oldgalileo has quit [Ping timeout: 268 seconds]
osdev199 has quit [Remote host closed the connection]
gog has quit [Quit: Konversation terminated!]
Turn_Left has joined #osdev
Left_Turn has quit [Ping timeout: 240 seconds]
srjek has joined #osdev
MrCryo has joined #osdev
oldgalileo has joined #osdev
bauen1 has quit [Ping timeout: 264 seconds]
goliath has joined #osdev
stolen has joined #osdev
rustyy has quit [Ping timeout: 264 seconds]
wlemuel has quit [Quit: wlemuel]
wlemuel has joined #osdev
m257 has joined #osdev
PublicWiFi has quit [Ping timeout: 268 seconds]
rustyy has joined #osdev
[Kalisto] has joined #osdev
wlemuel has quit [Read error: Connection reset by peer]
<bslsk05>
drewdevault.com: Writing a Unix clone in about a month
<heat>
"sbase is good software written by questionable people. I do not endorse suckless. "
<heat>
upvote
<heat>
btw you have a memory leak somewhere
<ddevault>
I'm sure I have lots of memory leaks
<heat>
if, at the login prompt, you ctl+d a bunch of times, it ends up crashing on fork with a OOM
<ddevault>
hah
<heat>
also i couldn't exit doom
<heat>
nor shoot
<ddevault>
oh yeah I know about the doom exit issue
<ddevault>
shoot is rshift
<heat>
ah
<heat>
wasnt it supposed to be ctrl?
<ddevault>
dunno, I didn't bother making the keybindings good
<ddevault>
I had a todo to fix that and never got around to it
<ddevault>
>Tip: the DOOM keybindings are weird. WASD to move, right shift to shoot, and space to open doors. Exiting the game doesn’t work so just reboot when you’re done playing. I confess I didn’t spend much time on that port.
<ddevault>
added to the blog post
freakazoid332 has quit [Ping timeout: 240 seconds]
srjek has quit [Ping timeout: 268 seconds]
<Ermine>
I probably should finish my portable-utils project so people have an alternative to sbase
<ddevault>
there is a core utilities project in Hare but it's woefully incomplete
leg7 has joined #osdev
<Ermine>
My project is in the same state
<ddevault>
I think sbase is fine
<ddevault>
I might fork it if I ever feel the urge to flesh out more core utils stuff
<ddevault>
upsetream is slow, only a handful of commits per year
<ddevault>
upstream*
<ddevault>
I think when I sit down to write A Serious Operating System (lol) I have learned most of what I need to design it right by now
<ddevault>
the only big thing I've never messed with is SMP
<ddevault>
glad I saw both sides of the micro/monolithic fence
<heat>
SMP is a pretty big thing
<ddevault>
yeah, I'll probably write a simple OS with SMP support to start off just so I can run into all of the design problems upfront
<Ermine>
what about knightos? wasn't it monolithic?
<ddevault>
then throw it out before starting A Serious Operating System
<GeDaMo>
MultiBunnix :P
<ddevault>
I was a kid when I wrote KnightOS
<heat>
as soon as you start thinking about performance and SMP you'll find it a lot harder to design something properly
<heat>
and actually writing it
<ddevault>
it doesn't have much useful design inspiration to source for a serious project
m257 has quit [Ping timeout: 250 seconds]
<ddevault>
it's monolithic in some sense but the z80 lacks a decent MMU or privilege rings and I took advantage of that throughout the design
<ddevault>
so it's not particularly suitable for applying to any real project
<ddevault>
dear god I've lived half my lifetime between now and when I started KnightOS
Halofreak1990 has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
stolen has quit [Quit: Connection closed for inactivity]
osdev199 has joined #osdev
<osdev199>
Hi, what is the way to look at why the admin command was never processed by the nvme?
<heat>
is this qemu?
<osdev199>
no, real machine
<heat>
have you tested in qemu? does it work?
<osdev199>
no I didn't tested it.
<osdev199>
*test
<heat>
then test in qemu first
<heat>
-trace pci_nvme* if need be
FreeFull has joined #osdev
<osdev199>
I'm having an issue on qemu regarding the MCFG table (couldn't found). I'm thinking if I can test it on my real machine directly atm!
<osdev199>
I'm building the command struct like this: *((uint32_t *) ((char *) nvme_asqb + 4)) = cdw1;// CDW1
<FireFly>
don't drop this sortix or it might explode
<FireFly>
sortie: anyway, neat ^^
<sortie>
FireFly, I really love this feature, it makes Sortix really useful dynamically for real server workloads and system maintenance
<kof673>
gog: see genesis/alchemy. "dry land" is "caked" around "day 3"...for "the worm" ...basilisk, medusa, the shamir perhaps lol the phoenix lays a golden egg, a serpent eats it, every year lol
<kof673>
point: conway's law.....it is all the same
<kof673>
just lost in translation :D
<sortie>
Plus it hooks directly into the true power of the init's reference counted graph, basically it lets you add/remove edges at runtime, plus restarts/reloads, and the init core will automatically take care of starting/stopping daemons as needed to actuate the new graph
node1 has quit [Quit: Client closed]
<sortie>
One might think of daemons in a simple "oh we just need to check if they're running or not" manner but my init really does have a powerful internal data model ala systemd where it's all based on dependencies and daemon readiness signals and all of that internal data model is what makes my init shine, plus it's robustness
<sortie>
It's one of the things I love the most about osdev: Building really excellent underlying primitives on which everything else can be built perfectly. The primitives matter so much and needs to be right, you cut corners there, and the issues will affect you all the way up. Gotta build it right.
Turn_Left has quit [Read error: Connection reset by peer]
<dostoyevsky2>
sortie: does your init also depend on libxz?
<sortie>
dostoyevsky2, hi, no such dependency, you have to backdoor your sshd separately
<sortie>
Curiously I never packaged a vulnerable liblzma for Sortix because I noticed the tarball had switched download locations which was a bit weird and I wanted to wait until it had stabilized and well
<sortie>
My debian testing daily driver did get the vulnerable xz :(
<sortie>
dostoyevsky2, but nope, my init is actually a no-dependencies kind of deal, it's all the base system, and kept intentionally minimal
<sortie>
Well ok it does use libmount from my base system to create the partitions and identify filesystems
<dostoyevsky2>
sortie: isn't mounting usually done by the kernel? I never understood so far what the advantage is to do mounting in systemd
<heat>
no
<heat>
mounting is done by userspace, kernels can usually mount the root filesystems themselves (if the fs driver is loaded)
<Ermine>
kernel doesn't mount anything, unless instructed to do so by userspace. Except rootfs or initrd
<heat>
yeah
heat has quit [Remote host closed the connection]
<netbsduser>
sortie: i prefer "ala SMF"
<netbsduser>
or even "ala AIX's SRC"
<netbsduser>
you speak of a graph concept and that is much more like those; systemd is internally structured quite differently
<Ermine>
It's structured like the rabbit hole
<nikolar>
Lol
<nikolar>
Some consider SMF to be the best service manager thing ever
<netbsduser>
yes, me
<Ermine>
It's Solaris, so SMF fans kiss girls
<netbsduser>
i should know, i ported systemd to all 5 BSDs
<nikolar>
Lol why
<nikolar>
Why didn't you port smf
<Ermine>
Because some people want features
<nikolar>
Like
<netbsduser>
smf is harder to port because it exploits solaris features more thoroughly than systemd exploits linux's
<nikolar>
Kek
<Ermine>
service management for starters, user services
<netbsduser>
smf does do service management
<Ermine>
lack of user services is what haunts me in Alpine
<nikolar>
And systemd is the only option around?
<nikolar>
Ermine: run an instance of runit or something
<Ermine>
s6-rc, but its dependency model is too strict and UI is subpar
<netbsduser>
it doesn't do user services, that's not an inherent attribute of it that it could never do so, it just wasn't something solaris apparently needed urgently at the time, and the death of solaris put an end to any hope of it evolving
<nikolar>
:(
<Ermine>
We use openrc. And no, runit is just a supervisor, not a service manager
<Ermine>
And for maintainer's pov, I reckon that integration into distro would go poorly
<netbsduser>
s6-rc was supposed to be succeeded by a new thing from bercot, i think actually under your sponsorship (assuming you are a representative of the alpine organisation)
<Ermine>
1) New thing is s6-rc v1, 2) His name is Laurent, 3) Alpine doesn't sponsor it
Arthuria has joined #osdev
<netbsduser>
i thought he was laurent bercot
* CompanionCube
vaguely recalls systemd being about jobs than the graph
<netbsduser>
i didn't want to be disrespectful by calling him by his first name
<nikolar>
Ermine: I run runit just fine as my init
<Ermine>
1) and s6-frontend for nice ui
<netbsduser>
CompanionCube: yes, you can identify a "graph" in the sense that loaded units are connected by edges - there are many different kinds of edges, they are collectively called "atoms"
<netbsduser>
they used to be called "dependencies" but they were broken up because the dependencies have various overlapping meanings
<Ermine>
nikolar: I said that I look from maintainer pov. WORKSFORME solutions aren't that
goliath has joined #osdev
<nikolar>
Ermine: I'm the maintainer
* Ermine
facepalms
<netbsduser>
but there exists no systemd dependency that says "X depends on Y" in the strict sense
<nikolar>
Wonder how exactly are they modeling it internally
<netbsduser>
we can limit what we consider initially to two axes: 1) ordering of generated jobs, and 2) what causes a job, when it's prepared for issuing, to bring in other jobs
<Ermine>
They initially wanted to have deps for early boot, and everything else working through various activation schemes
<zid`>
nikolar: You are the captain now
<nikolar>
I'm
<Ermine>
But everybody is using it as dependency-based
<netbsduser>
for example, there is an atom "UNIT_ATOM_PULL_IN_START" which will cause a start-job on a given unit to pull in a start-job on another unit, and if the other unit's start-job fails, the entire job group is regarded as a failure
<nikolar>
Ermine: so the whole activation scheme thing is unused mostly
<netbsduser>
but that says nothing about ordering. the start can happen *after*wards
<Ermine>
Also, 🤮🤮🤮 runit
<nikolar>
Also, 🤮🤮🤮 systemd
<netbsduser>
so here we see one of the two axes that people tend to care about. the other axis is ordering - by default there is none (except for units ending in .target, those implicitly order). but atoms UNIT_ATOM_BEFORE and UNIT_ATOM_AFTER do exactly as they sound like they would do
<Ermine>
If you're trying to hurt me this way, you've missed. I don't like systemd either
<netbsduser>
so for a service to "depend" on another implies UNIT_ATOM_AFTER with UNIT_ATOM_REQUIRES
<netbsduser>
however, that doesn't mean that if X "depends" on Y, and Y goes up, X goes up, then Y goes down, that X will also be brought down
<netbsduser>
that requires UNIT_ATOM_RETROACTIVE_STOP_ON_STOP
<Ermine>
And the way systemd deps work leads to some interesting cases
<nikolar>
Like what
<netbsduser>
so now the imperative, event-based nature of systemd becomes clearer
<bslsk05>
<maehem> A gentleman named Paul Khoury approached me about getting a retro computer he'd acquired up and running. The computer is a Sun SPARCstation UPN (1997), a prototype for a super small desktop computer that preceded the Mac mini by about 6-7 years. Only about 20 were ever made. I was the designer on the project and had poured my soul into it, so I was proud to help him get it running. I dug out the schematics from storage and ga[…] https://fi
<nikolar>
Me want
<Ermine>
Like valid transactions with nonexistent units
<zid`>
nikolar wants someone to sparc his station?