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
cy6erlion has joined #osdev
<zid> k that'll do
<zid> 20 mins to get to sen's isn't too bad
netbsduser has quit [Ping timeout: 245 seconds]
nyah has quit [Quit: leaving]
cy6erlion has quit [Quit: Leaving.]
gog has quit [Quit: byee]
MiningMarsh has quit [Ping timeout: 245 seconds]
SGautam has quit [Quit: Connection closed for inactivity]
<linkdd> https://wiki.osdev.org/C%2B%2B#The_Operators_.27new.27_and_.27delete.27 <-- the fact that there is no mention of the requirement for new/new[] to return a non-null pointer or raise an std::bad_alloc is disturbing. there is std::nothrow_t (the type) and std::nothrow (the value) which can then be used as: `new (std::nothrow) T` to explicitly return a null pointer instead of raising an exception. The example
<bslsk05> ​wiki.osdev.org: C++ - OSDev Wiki
<linkdd> given on this wiki page is not conforming to the C++ standard, shall I propose a change or is there a reason i'm missing?
<Mutabah> The reason is likely just an oversight :)
carbonfiber has quit [Quit: Connection closed for inactivity]
<linkdd> alright then, i'm gonna propose a change this weekend
<linkdd> with a code sample that do not require exceptions
<\Test_User> fixing that to throw exceptions would collide with the section a few down about "disable exceptions"
<Mutabah> I think that's the idea
ajunior has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
ajunior has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<mjg> static void shmem_init_inode(void *foo)
<mjg> { struct shmem_inode_info *info = foo; inode_init_once(&info->vfs_inode);
<mjg> }
<mjg> lol
<mjg> why not "jabberwocky"
<heat> huh?
<mjg> "foo"
<heat> *shrug*
<kazinsal> tradition
<heat> its late pal, can you stop digging into linux internals and getting into lkml threads
<heat> this is not good for your health
<bslsk05> ​datatracker.ietf.org: RFC 3092 - Etymology of "Foo"
<kazinsal> I've used plugh and xyzzy a couple times
<kazinsal> but if I'm past baz and quux and I'm not actually using real variable names something has gone wrong
<kof123> eh, would just use "vp" for a generic void *, and a prefix if i know what it really is
<kof123> *i would
<kof123> foo bar baz quux i think i would only use for pseudocode/examples
<heat> void *p >>
<heat> if i feel verbose, void *ptr
heat has quit [Quit: Client closed]
deflated8837 has joined #osdev
Pixi has joined #osdev
elderK has joined #osdev
ewwphoria has joined #osdev
rorx has quit [Ping timeout: 260 seconds]
deflated8837 has quit [Read error: Connection reset by peer]
Burgundy has joined #osdev
deflated8837 has joined #osdev
deflated8837 has quit [Read error: Connection reset by peer]
deflated8837 has joined #osdev
SGautam has joined #osdev
deflated8837 has quit [Read error: Connection reset by peer]
stolen has joined #osdev
vinc has joined #osdev
deflated8837 has joined #osdev
bradd has quit [Read error: No route to host]
bradd has joined #osdev
GeDaMo has joined #osdev
ThinkT510 has quit [Quit: WeeChat 4.0.2]
ThinkT510 has joined #osdev
deflated8837 has quit [Read error: Connection reset by peer]
Burgundy has quit [Ping timeout: 246 seconds]
lojik has joined #osdev
diamondbond has joined #osdev
vinc has quit [Read error: Connection reset by peer]
deflated8837 has joined #osdev
diamondbond has quit [Remote host closed the connection]
diamondbond has joined #osdev
lojik has quit [Quit: ZNC 1.8.2 - https://znc.in]
bradd has quit [Remote host closed the connection]
bradd has joined #osdev
diamondbond has quit [Ping timeout: 260 seconds]
randm has quit [Remote host closed the connection]
randm has joined #osdev
xvmt has quit [Ping timeout: 245 seconds]
deflated8837 has quit [Read error: Connection reset by peer]
xvmt has joined #osdev
xvmt has quit [Remote host closed the connection]
xvmt has joined #osdev
ajunior has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<SGautam> So now I can print strings using freetype to the graphics output. But a problem I have is monospacing the fonts. The way I'm doing right now is extracting the glyphs of characters from \0 to \xff, and then copying the bitmap to a 16x16 array (as the font size is 16x16 but ofc FreeType doesn't return a fixed 16x16, so I'm basically shifting the returned glyph to center and ensuring the bottom of the glyph is at the bottom of the
<SGautam> bitmap) and then sending those bitmaps to the graphics buffer.
deflated8837 has joined #osdev
<SGautam> Of course the issue is that my ouput looks like this: https://usercontent.irccloud-cdn.com/file/UHkb7NMa/image.png
<SGautam> If I increment the x-coordinate by mono_width / 2 (In this case monowidth is 16 as I showed before) the result is better, although there are still imperfections with letters like 'q', 'g', 'y'. https://usercontent.irccloud-cdn.com/file/0snNcZVb/image.png
<SGautam> I'm not sure if my way is the correct way to render monospaced fonts, but I need all characters to be the same size as this will be used to render a terminal buffer eventually.
deflated8837 has quit [Read error: Connection reset by peer]
deflated8837 has joined #osdev
janemba has quit [Read error: Connection reset by peer]
[_] has joined #osdev
[itchyjunk] has quit [Ping timeout: 260 seconds]
janemba has joined #osdev
xvmt has quit [Remote host closed the connection]
m3a has quit [Ping timeout: 244 seconds]
m3a has joined #osdev
vinc has joined #osdev
xvmt has joined #osdev
vinc has quit [Read error: Connection reset by peer]
bauen1 has quit [Ping timeout: 246 seconds]
rorx has joined #osdev
<klange> SGautam: when you bake a bitmap for a glyph, freetype will give you an offset pair to use when rendering it. You definitely shouldn't put the bottom of every glyph at the bottom of your final bitmap, that's not how baselines work
randm has quit [Remote host closed the connection]
randm has joined #osdev
deflated8837 has quit [Read error: Connection reset by peer]
deflated8837 has joined #osdev
xvmt has quit [Remote host closed the connection]
xvmt has joined #osdev
<ddevault> getting there https://l.sr.ht/uDxQ.png
<ddevault> praise lwext4
<sham1> Very nice
stolen has quit [Quit: Connection closed for inactivity]
gareppa has joined #osdev
goliath has joined #osdev
sortie has joined #osdev
nyah has joined #osdev
<ddevault> read-only support is more or less complete: https://git.sr.ht/~sircmpwn/ext4srv/
<bslsk05> ​git.sr.ht: ~sircmpwn/ext4srv - ext4 support for Mercury - sourcehut git
zxrom has quit [Quit: Leaving]
<ddevault> anyone know of a nice, small, portable ed(1) implementation?
<nortti> how portable are we talking about? "runs on most unix-like systems" or "only uses standard C functionality"?
<ddevault> looks like sbase has it, maybe that will be reasonably easy to port
<ddevault> I mean ideally it just uses fopen/fclose/fread/fwrite
<ddevault> getchar, etc
<ddevault> stdio
<ddevault> I think sbase is the right one, looking over the code it should be fairly easy to port
gog has joined #osdev
vinc has joined #osdev
<Ermine> I thought about implementing it. It should react to some signals as per posix, so it probably will involve event loop
<gog> meow
<Ermine> gog: may I pet you
<ddevault> just as a starting base, rather than a direct port
<ddevault> will remove signal handling, my OS does not have signals because fuck signals
<gog> Ermine: yes
* Ermine pets gog
* gog prr
<Ermine> fuck signals indeed
elderK has quit [Quit: Connection closed for inactivity]
<nortti> ddevault: how do you handle stuff like ctrl-c, injecting a thread?
<ddevault> I haven't implemented ctrl-c yet, but the basic idea will just be that you add it to your event loop
<ddevault> then if you really want a process dead and it doesn't care to listen to polite requests you can kill it impolietely
<nortti> makes sense
<ddevault> I will implement signals in the POSIX compatibility layer but it'll definitely not be the recommended approach for native software
xvmt has quit [Remote host closed the connection]
vinc has quit [Ping timeout: 245 seconds]
vinc has joined #osdev
MiningMarsh has joined #osdev
<zid> Tough, all software will be unix ports
<zid> and any non-native like performance is a bug
<zid> so you have to make it first class and fast
netbsduser has joined #osdev
<ddevault> I intend to write a lot of the software myself, of course
<SGautam> klange: Oh boy thanks a lot
<SGautam> Yeah glyph->bitmap_top it was
<SGautam> Look at that TrueType Font lads. https://usercontent.irccloud-cdn.com/file/sarpguFp/image.png
<zid> now do subpixel x positioning
<zid> (probably not needed at all for monospace)
<sham1> I hope my locks work properly
<bslsk05> ​www.warp.dev: Adventures in Text Rendering: Kerning and Glyph Atlases | Warp
<SGautam> Right now I'm taking in an argument called font_size and setting the height and width to font_size and advance_x by half the size, which seems to work.
<SGautam> It sounds hacky but it is what works.
<SGautam> FT_Set_Pixel_Size(ft_face, size, size) basically.
gildasio has quit [Quit: WeeChat 4.0.2]
deflated8837 has quit [Read error: Connection reset by peer]
[_] is now known as [itchyjunk]
deflated8837 has joined #osdev
vinc has quit [Read error: Connection reset by peer]
osdev-guest has joined #osdev
osdev-guest has quit [Client Quit]
osdev-guest has joined #osdev
<osdev-guest> I would like to start a small kernel research project and was wondering if I should use a virt platform. In that case, would it be easier to use aarch64-virt or riscv64-virt? The project is not intended to use the quirks of some platform, but to build a sort of arch agnostic kernel that I can then easily port.
netbsduser has quit [Ping timeout: 260 seconds]
<gog> idk i'm a scrub and i only amd64 :D'
netbsduser has joined #osdev
<osdev-guest> I'm a bit tired of amd64, and feel that a virt platform (like aarch64-virt and riscv64-virt) would provide a cleaner base. Maybe I'm wrong, but that's why I'm asking :^)
<Mutabah> rv64 is probably the simpler of the two, just because it's newer and greenfield
<osdev-guest> Interesting, what advantages would you have over choosing the aarch64 target?
<osdev-guest> Simplicity is certainly something I would like.
<Mutabah> slightly simpler
<osdev-guest> What about documentation and existing projects?
<osdev-guest> I have heard of xv6-riscv, which might be interesting to check out.
<osdev-guest> And it looks nice.
bgs has joined #osdev
<osdev-guest> Oh, also, what about things like setting up interrupts and such. Is it any simpler? I would like to keep the arch-related code as small and simple as possible.
<bslsk05> ​groups.google.com: Message from the family of Bram Moolenaar
xvmt has joined #osdev
<sham1> :(
xvmt has joined #osdev
wblue has joined #osdev
deflated8837 has quit [Read error: Connection reset by peer]
bgs has quit [Remote host closed the connection]
deflated8837 has joined #osdev
wblue has quit [Quit: wblue]
<mcrod> hi
<mcrod> oh man..
<mcrod> not the news I wanted to wake up to
<Ermine> RIP
osdev-guest has quit [Ping timeout: 246 seconds]
netbsduser has quit [Ping timeout: 240 seconds]
netbsduser has joined #osdev
<zid> I cut up a single chilli, washed my hands with water, soap, oil, anything
<zid> went to smoke and now my lips tingle :D
<mcrod> i beat gravelord nito
<zid> gj
<zid> was it a piece of piss once you figured out how?
<mcrod> yes
netbsduser has quit [Ping timeout: 260 seconds]
<zid> who's next on the agenda?
<mcrod> valley of drakes
<zid> there isn't a gold door there, but it's got a cool ring!
<mcrod> uh...
<mcrod> how do I open the door after killing all of the dragons
<zid> you don't
<mcrod> great, so I killed them all for nothing
<mcrod> wtf is the point of this place
<zid> it connects various areas together
<zid> and has some cool items
<mcrod> oh
<mcrod> yes I did end back up at darkroot basin
<zid> go fight doggo
<mcrod> who
<zid> darkroot has a weird door
<zid> if you go straight from parish
<zid> or right from the below area, once you're back on the top route
osdev-guest has joined #osdev
<mcrod> oh
<mcrod> yes
<mcrod> i know
<mcrod> near the bonfire
<zid> The end of said door area is an dog
<zid> which you should ruthlessly kill, you murderer
<mcrod> ok, "locked by some contraption"
<zid> need the spoiler of spoiler
<zid> from spoiler
<mcrod> ok I need the crest of artorias
<mcrod> or I could just kill andre but that's stupid
<zid> I mean you get it from him either way
<mcrod> i know
<zid> you either buy or kill, not get it or kill andre
<mcrod> but I don't want to kill him
dennis95 has joined #osdev
<mcrod> so i need to buy
<mcrod> for 20k souls
<zid> at your point in the game it isn't the end of the world, but yea, I'd keep him alive
<zid> there's actually a back entrance into darkroot but it's a MEGA slog
<zid> and requires you to fight the worst trash npcs in the game
<mcrod> i wonder why ds:r is crashing so often now
<zid> if you haven't killed butterfly you could go do that
<mcrod> i did
<zid> cus your graphics card isn't a glorious nvidia
<mcrod> it is.
<zid> on windows (r)(tm)
<mcrod> it's a 3090ti
<zid> I've never had either version of ds crash ever
<zid> even on my crashy gpu
<zid> cus it didn't put it under enough load
<mcrod> yay
<mcrod> perfect timing
<mcrod> armor at risk
<mcrod> fuck me
<zid> I forgot that was even a thing
<mcrod> ok those NPCs are actually annoying
<zid> hehe
<zid> there's a very very easy cheese if they piss you off too much, casual
<zid> or just run right past em :P
<mcrod> there we go
<mcrod> why is there a mushroom
<zid> why would there not be a mushroom
<zid> they give good hugs
netbsduser has joined #osdev
<mcrod> they... hurt
<mcrod> a lot
<zid> good hugs.
<gog> hi
* gog hug
* mcrod hug gog
<zid> best part about beating dark souls is that you can finally watch ymfah's giantdad video
<gog> so something i hate about makefiles
<gog> when you reference a variable by $(whatever) and it's not defined
<gog> it just silently fails
<gog> and inserts a blank
<gog> i guess that's fine in most circumstances
<gog> but i misspelled one by omitting a single letter and it took me way too long to spot it
<gog> i guess that's what happens when you smash a macro processor with a dependency engine
<gog> you get a flaky DSL that has novel failure modes
<zid> sripting languages gunna scripting
<mcrod> aw
<zid> non-compiled languages are bad
<mcrod> i don't wanna kill this thing
<zid> YOU MURDERER
<mcrod> easy though
<mcrod> ok so
<mcrod> who should I face next
<SGautam> I've been thinking of implementing UTF-8 but the way I do it right now for performance purposes makes me think of the amount of memory I'm going to consume
<SGautam> Basically right now on initialisation I cache all the glyphs into an OpenGL texture, since there's only 256 of them, that seems fine
<SGautam> But imagine caching something like 65,000+ glyphs
<zid> adding each glyph as you see it to the glyph cache is honestly fine
<SGautam> Ah
<zid> if it *becomes* a problem, add a LRU to it
<SGautam> I'm guessing it would be wise to cache ASCII 256 as is, and then for other characters, implement an LRU cache
<mcrod> why is crestfallen knight hollow
<zid> racist
<zid> both of you
sakasama has quit [Write error: Connection reset by peer]
acharles has quit [Write error: Connection reset by peer]
selfsigned has quit [Read error: Connection reset by peer]
raggi has quit [Read error: Connection reset by peer]
chibill has quit [Read error: Connection reset by peer]
<mcrod> oh i found the key of the seal by pure accident
<zid> ingbro
netbsduser` has joined #osdev
<mcrod> holy shit
<mcrod> this shit leads back to the valley of drakes too
<zid> Everywhere does
utzig has quit [Ping timeout: 246 seconds]
<zid> even blight town is connected to valley
netbsduser has quit [Ping timeout: 264 seconds]
bauen1 has joined #osdev
utzig has joined #osdev
vismie has quit [Ping timeout: 246 seconds]
gorzon has joined #osdev
tommybomb has quit [Ping timeout: 246 seconds]
alecjonathon has quit [Ping timeout: 246 seconds]
<gorzon> i make a decision, i will not support fork. i hate hate hate it
Bitweasil has quit [Remote host closed the connection]
Bitweasil has joined #osdev
<gorzon> "you would create a new process? then i will recurse through your page tables to mark everything copy on write and send IPIs to all the cores your other threads run on to flush TLBs. all so that in exactly 25 milliseconds new process can replace entire address space to make the work pointless"
vismie has joined #osdev
tommybomb has joined #osdev
alecjonathon has joined #osdev
simpl_e has quit [Remote host closed the connection]
<Mutabah> Yep, fork is bad
<Mutabah> My method is a syscall that clones a small portion of the address space, and then the parent passes the rest of the state etc via message passing
<mjg> :)
<mjg> no criticizing unix!
<gog> i can reimplement unix well
<gog> but if i do it poorly it's not like anybody will notice
* gog dabs
<mjg> i'm lookin at userspace rust tooling
<mjg> would you be surprised if it was mostly insane?
<mjg> i mean tools written in rust for supposed replacement of the unix stuff
<gog> i know literally nothing about rust except that i read some code and the syntax was really verbose and that made me cringe a bit
<gog> i don't really use editors with LSP or autocomplete on my own projects
<mjg> rust is webdeveloper's idea of a systems language
<gog> maybe it's smart that i learned systems development before web development heh
gildasio has joined #osdev
<mjg> guy spawns 6 threads for find-replacement
<mjg> 1 comes from "ctrlc" crate to handle ^C
<mjg> 1 is spawned in order to spawn maxcpu threads (got 4 on my laptop)
<mjg> making 6 in total
<mjg> i don't see anything resembling a limit and i'm scared to run this sihte on something bigger
<gog> why does it need 6 threads when it's gona be all io bound
<mjg> checked on an 8-core vm, got 8
osdev-guest has quit [Quit: Client closed]
<mjg> the host is a 104-way sapphire rapid
<mjg> runinng the socker over there...
<mjg> and only 105 clone3 calls
<mjg> i'm impressed
<mjg> did i mention all this shite is written by webdevs who thing all hw out there is sized like their laptop
simpl_e has joined #osdev
<zid> I'd just make an exec that replaces an empty process instead
<mjg> s/thing/think
<zid> execvpercr
<zid> zx89
<mjg> btw
<mjg> % time seconds usecs/call calls errors syscall
<mjg> ------ ----------- ----------- --------- --------- ------------------
<mjg> 87.95 5.010497 626312 8 futex
<mjg> 3.17 0.180320 1717 105 clone3
<mjg> 4.16 0.236857 1122 211 rt_sigprocmask
<mjg> lol
* Ermine tries hard to avoid engaging into phoronix forums shitstorms
<gog> jesus
deflated8837 has quit [Read error: Connection reset by peer]
deflated8837 has joined #osdev
<zid> JOISUS
<zid> CHROIST
<gorzon> mutabah: yes I decided not to fork and in favour I plan to make operations for operating on e.g. the file handle table to take a process handle on which to operate
<gorzon> i think i can implement a pseudo-fork using this with some trickery
<mcrod> zid: should I eventually kill gwynevere
<mcrod> seems like it's something you should not do, insofar as anor londo going dark
<gorzon> mutabah: i think i remember you name from the osdev.org forum
<gorzon> inventor of asess os
<mjg> Mutabah is a casual user
deflated8837 has quit [Read error: Connection reset by peer]
<Mutabah> gorzon: yep
ajunior has joined #osdev
heat has joined #osdev
deflated8837 has joined #osdev
zxrom has joined #osdev
deflated8837 has quit [Read error: Connection reset by peer]
deflated8837 has joined #osdev
<zid> I think it is time for more John Darksoul
bauen1 has quit [Ping timeout: 250 seconds]
<heat> john gravelord
<zid> Time to fuckin die to O&S
<heat> classic
<heat> if you still have the bkh it's not that bad
<zid> It's +0 and I am naked with no rings though
<mjg> did any of you nabs ever raid in world of warcraft
<zid> so still vaguely hard
<heat> meh, that works
<heat> charge ornstein to shit
<heat> you'll melt him
<zid> He melted me, unfortunately
<zid> oneshot me with a random spear tag
<zid> I don't have the stamina or damage to stagger him
<zid> 2nd attempt I died to that thing where he gets stuck behind smough, then flies at you at 800mph
<gorzon> mjg: i like unix
<gorzon> but i like not some things about it
<gog> hi
<heat> hi hi hi hi hi hihi hi gog
<gog> hihihihi
<mcrod> gog may I pet you
<heat> how are you
<gog> yes
* mcrod pets gog
<gog> i'm ok
* gog prr
<heat> im still annoyed that the FUCKING POPE HASNT FUCKING DASHED YET
<gog> you mean
<gog> the bishop of rome
<heat> yes, the bishop of rome aka the pope
<heat> those two titles tend to alias each other
<heat> have aliased each other for 1500 years
<gog> oh he's in lisbon today
<zid> smh not even an archbishop
<heat> he and the CATHOLICS have been in lisbon for almost a week now
<heat> it's impossible to be outside and do things because they're fucking everywhere
<zid> have you considered
<zid> protestant reformation
<heat> only if the pope doesn't divorce me and my wife
<gog> as somebody who grew up in the lutheran church
<mcrod> you have a wife?
<gog> that's not much better
<heat> i'll roll my own church, with blackjack and hookers
<mcrod> hey i grew up with in the lutheran church too
<mcrod> what a nightmare
<zid> That's what I said
<gog> aaayyy
<zid> protestant reformation
<heat> mcrod: learn history pal
<gog> no that's hwo the anglican church started
<gog> they're also another catholic lite faction distinct from lutherans
<mcrod> martin luther was a funny guy
<mcrod> allegedly most of his works he wrote on the toilet due to intractable digestive issues
<gog> he had some not funny attributes
<zid> anglican is catholic zero not catholic lite
<gog> antisemitism in particular
<heat> bruh
<zid> 1500s german
<heat> in 1500?
<gog> i mean yeah
<zid> it'd be amazing if he wasn't
<gog> but he was a little more than average for the time i think
<zid> well he WAS a religious nut
<gog> yes
<gog> that does come with the territory
<zid> who said catholocism was not the CORRECT form of religion
<zid> not that it was bad
<heat> pope is a bitch - martin luther
<zid> "jesus is a bro tho"
<zid> catholciscicism is weird to me, like, why is the pope a thing
<zid> there's no biblepope
<heat> it's like a big bishop
<mcrod> this just in: the pope is a turtle
<heat> the bishopest of bishops
<mcrod> like the turtle pope
<mcrod> in elden ring
<gog> they started talking about transsubstantion and i misunderstood
<gog> now i'm a woman
<zid> like yea sure, maybe a religion needs a corporate structure
<zid> but why is the CEO of jesus also an important religion man
<zid> and not a man in a suit
<heat> tradition dawg
<zid> Yes, I am asking why
<heat> gog: have you considered moving to transnistria?
<zid> did they just lie that he's important to jesus?
<zid> "I fucking love popes, respect them pls" --Jesus, 20AD
<gog> no i'm moving to transylvania
<gog> i like the forest better than rivers
<zid> ewww romania
<heat> zid: supposedly all popes "descend" from peter, who jesus did love
<zid> oh is that it? til
<zid> even though
<zid> none of the popes are related
<heat> yeah peter was the first pope
<zid> are they sucking their souls out of each ohter in some kind if ritual
<zid> their soul turns into black smoke and the new pope is sat there huffing it
<mjg> heat: ey heat check out kernel code generated by chatgpt https://dpaste.com/8H86LZ7NB
<bslsk05> ​dpaste.com <no title>
<mcrod> have to admit, that one made me laugh
<heat> mjg: impressive-ish
<heat> completely wrong, but impressive-ish
<mjg> > write a linux syscall which acts as a brainfuck interpreter
<mjg> you know what this fuck had the audacity to respond with?
<mjg> that it is a bad idea
<mjg> instead gave me a userspace program
<mjg> i suspect this only happened because it does not know how to do it
<mjg> when i pressed to do it anyway, it gave me this:
<mjg> SYSCALL_DEFINE1(brainfuck_length, const char __user *, code)
<mjg> char code_buffer[1024];
<mjg> int code_len;
<mjg> return -EFAULT;
<mjg> }
<mjg> if (copy_from_user(code_buffer, code, sizeof(code_buffer))) {
<mjg> code_len = strlen(code_buffer);
<mjg> return code_len;
<mjg> }
<mjg> apart from being useless it happens to be wrong as the buf does not have to be nul terminated:s
<zid> No books came out today
<zid> :(
<heat> zid: erm i believe that they think that if you get voted by all the cardinals and shit it was kind of an act of god so you're good and very holy
<heat> but i really am the wrong person to ask this to
<zid> You're from portugal, that makes you a de facto expert, as an act of god
<heat> anyway, this is getting too catholic too quickly, so here's some inquisition: https://upload.wikimedia.org/wikipedia/commons/thumb/5/52/Rogo_inquisizione_iberica.jpg/1280px-Rogo_inquisizione_iberica.jpg
<mjg> used the relative exploit
<mjg> it generated some code, but it does not work
ajunior has quit [Ping timeout: 246 seconds]
<mjg> case '.': /* Output character */ break;
<mjg> case ',': /* Input character */ break;
<mjg> i'm *guessing* this is why it did not want to do it
<heat> huh first time i'm noticing they rebuilt it in a similar way
<mjg> i bet it does not tell people their ideas are stupid when webdevs ask
<heat> https://www.google.com/maps/@38.7073828,-9.1356484,2a,75y,270.6h,91.91t/data=!3m7!1e1!3m5!1swHTplcx6fHPbt4j2wJHX4Q!2e0!6shttps:%2F%2Fstreetviewpixels-pa.googleapis.com%2Fv1%2Fthumbnail%3Fpanoid%3DwHTplcx6fHPbt4j2wJHX4Q%26cb_client%3Dmaps_sv.tactile.gps%26w%3D203%26h%3D100%26yaw%3D67.71332%26pitch%3D0%26thumbfov%3D100!7i13312!8i6656?entry=ttu
<bslsk05> ​www.google.com: Before you continue to Google Maps
<heat> all of this shit got fucking tsunami'd + earthquake'd but they cared enough to rebuild it in a similar way
<zid> they should have rebuilt it but not underwater
ajunior has joined #osdev
gildasio has quit [Quit: WeeChat 4.0.2]
<bslsk05> ​lkml.org: LKML: Qu Wenruo: Please don't waste maintainers' time on your KPI grabbing patches (AKA, don't be a KPI jerk)
<zid> what's a kpi
<moon-child> key performance something-or-other
<moon-child> some business bullshit
<moon-child> 'you wrote x linux patches this month, so you get a raise'
<bslsk05> ​www.folklore.org: Folklore.org: -2000 Lines Of Code
vinc has joined #osdev
Harriet has quit [Quit: stop]
Harriet has joined #osdev
ajunior has quit [Ping timeout: 246 seconds]
ajunior has joined #osdev
<heat> mjg: yo can you help me out with an RCU question here? or are u not familiar?
ajunior has quit [Ping timeout: 245 seconds]
<heat> i'm wondering how 1) rcu_assign_pointer can get away with smp_store_release/WRITE_ONCE 2) list_del_rcu can get away with a WRITE_ONCE. is there a hidden smp_rmb on quiescent states or something, that I'm not seeing?
deflated8837 has quit [Ping timeout: 240 seconds]
xenos1984 has quit [Ping timeout: 246 seconds]
<heat> if not, i can imagine you doing something like rcu_assign_pointer + kfree_rcu and the store not showing up to the other CPUs in time, while the pointer has been freed by a quiescent state
<heat> and the WRITE_ONCE shit I don't even understand how that's supposed to happen
xenos1984 has joined #osdev
deflated8837 has joined #osdev
ajunior has joined #osdev
vinc has quit [Read error: Connection reset by peer]
xenos1984 has quit [Ping timeout: 246 seconds]
ajunior has quit [Ping timeout: 246 seconds]
<mjg> heat: going on and off cpu is expected to provide a full fence
Pixi has quit [Read error: Connection reset by peer]
Pixi has joined #osdev
<heat> is that standard for a schedule() function or just when RCU is in the picture?
Pixi` has joined #osdev
ajunior has joined #osdev
Pixi` has quit [Max SendQ exceeded]
xenos1984 has joined #osdev
Pixi has quit [Ping timeout: 246 seconds]
Pixi` has joined #osdev
Pixi__ has joined #osdev
ajunior has quit [Ping timeout: 246 seconds]
<heat> oh yeah I guess you must do an mfence for every schedule?
Pixi` has quit [Ping timeout: 246 seconds]
<heat> so shit like "static int a = 0; a = 10;" doesn't disappear after getting scheduled to a different CPU
<heat> i have a bug eh
Pixi__ has quit [Ping timeout: 246 seconds]
deflated8837 has quit [Ping timeout: 245 seconds]
ajunior has joined #osdev
ajunior has quit [Ping timeout: 246 seconds]
ajunior has joined #osdev
deflated8837 has joined #osdev
ajunior has quit [Ping timeout: 246 seconds]
deflated8837 has quit [Ping timeout: 240 seconds]
ajunior has joined #osdev
deflated8837 has joined #osdev
ajunior has quit [Ping timeout: 245 seconds]
Left_Turn has joined #osdev
ajunior has joined #osdev
Maja has joined #osdev
ajunior has quit [Ping timeout: 246 seconds]
deflated8837 has quit [Ping timeout: 246 seconds]
deflated8837 has joined #osdev
<SGautam> It is done
ajunior has joined #osdev
<SGautam> No more bitmap fonts, we're going full TTF baby.
<nortti> using freetype?
<SGautam> Yeah
ajunior has quit [Ping timeout: 245 seconds]
ajunior has joined #osdev
m3a has quit [Ping timeout: 258 seconds]
ajunior has quit [Ping timeout: 246 seconds]
Turn_Left has joined #osdev
simpl_e has quit [Remote host closed the connection]
Left_Turn has quit [Ping timeout: 245 seconds]
ajunior has joined #osdev
<zid> is your shader just doing postprocessing?
<zid> I've never actually done postprocessing before, I just go MMM GEOMETRY, YUMMY
Burgundy has joined #osdev
<zid> heat give up on CK3, your children are too ugly and deformed, kill O&S for me
<zid> I don't wanna have to backtrack pre-lordvessel to find havel's ring or something that'd help, and I'm also too lazy to just kill them
ajunior has quit [Ping timeout: 245 seconds]
ajunior has joined #osdev
ajunior has quit [Ping timeout: 240 seconds]
<gog> hi barbie
<heat> zid: i just won a crusade for andalusia
<heat> catholic poggers moment
<zid> your children are too ugly and deformed, though
ajunior has joined #osdev
<zid> tbh it's probably related
<zid> and so are your children, more times than normal
gareppa has quit [Quit: WeeChat 3.8]
* kof123 hears "debaser" play in the background
ajunior has quit [Ping timeout: 246 seconds]
ajunior has joined #osdev
justache is now known as reddit-boat
reddit-boat is now known as justache
ajunior has quit [Ping timeout: 245 seconds]
ajunior has joined #osdev
ajunior has quit [Ping timeout: 246 seconds]
ajunior has joined #osdev
ajunior has quit [Ping timeout: 246 seconds]
<geist> SGautam: so did you write that terminal? I think i missed the picture
<geist> looks a bit like cool retro term
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
vinc has joined #osdev
vinc has quit [Read error: Connection reset by peer]
<heat> zid: I need to play imperator one of these days
<heat> i have the game but played like 30 minutes of that shit and uninstalled it
[itchyjunk] has quit [Ping timeout: 246 seconds]
<heat> geist: btw can you point me to your context switching code (zircon)?
<heat> i wanna see where you mfence, if you do
[itchyjunk] has joined #osdev
<mjg> normally the fence comes from general locking
<mjg> e.g. for the scheduler
elastic_dog has quit [Ping timeout: 258 seconds]
<heat> right, I understand lock + unlock has the same effect
<heat> but it does sound... very accidental
<heat> and if one really does rely on this for the fence I'd hope for a nice big comment on how you cannot go lockless without subtly fucking over people
Burgundy has quit [Ping timeout: 240 seconds]
elastic_dog has joined #osdev
dennis95 has quit [Quit: Leaving]
dude12312414 has joined #osdev
gorzon has quit [Quit: CGI:IRC (Session timeout)]
<gog> hi barbie
deflated8837 has quit [Read error: Connection reset by peer]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
vinc has joined #osdev
deflated8837 has joined #osdev
heat50 has joined #osdev
* heat50 checks the random number
<heat50> whew
<heat50> not today!
heat50 is now known as __heat
heat has quit [Ping timeout: 246 seconds]
<mcrod> hi
<__heat> hi mcrod
<gog> hi mcrod
<gog> hi double underscore heat
__heat is now known as heat
<heat> hi gog without no double underscore
<mcrod> hi gog
xenos1984 has quit [Read error: Connection reset by peer]
<mcrod> hi heat
<heat> when are you writing an OS mcrod
<gog> he's like everybody else here
<gog> he's not
<heat> shut up you're writing an OS too
<moon-child> at least two people here are writing oses
<moon-child> possibly as many as three
<mcrod> heat: eventually
<mcrod> as I said, it is named anubis in my head at least
<mcrod> and it will be a vanilla unix clone because as much as I hate it I want to understand it more
<gog> i'm not writing an OS so much as i am doing weird experiments implementing POSIX syscalls in UEFI
<sham1> Of course, the hardest two things in computer science are cache invalidation, naming things and off-by-one errors
<sham1> So anubis seems like an interesting name
<gog> dog god
<gog> dog god
<moon-child> dog god
* moon-child pets god
<sham1> It's actually a jackal
* gog prr
<gog> a jackal is a dog
<heat> mcrod fork hsd
<mcrod> no
<heat> ok
<gog> mew
<zid> heat: derusted RL slightly :o
<zid> diamond1 -> diamond2, I started touching the ball!
<heat> nice
<heat> im almost D3
<Ermine> gog: may I pet you
<gog> yes
* Ermine pets gog
* gog prr
xenos1984 has joined #osdev
Maja has quit [Remote host closed the connection]
<heat> https://www.reddit.com/r/osdev/comments/15ir3z3/about_aml_in_acpi/ hi can someone summarize a 1000 page spec for me thanks
<bslsk05> ​www.reddit.com: Reddit - Dive into anything
<mcrod> you know
<mcrod> it really pisses me off that whenever i look up something, e.g., temperature sensor
<mcrod> I only see one thing on google ever
<mcrod> i.e., adafruit
* gog fruits
<mcrod> for example
<mcrod> I want to find LCDs that can be hooked up via GPIO and all I find is fucking RASPBERRY PI
<kof123> you joke but: gpt/ai please summarize 1000 pages for me
<heat> mcrod have you considered just using a raspberry pi? thanks
<mcrod> no
<heat> the nano is very very cheap
<heat> sorry, pico*
<mcrod> what if I wanted to build something from scratch
<heat> i don't build things from scratch
<heat> no one here builds things from scratch
<mcrod> hm, interesting channel name
netbsduser` has quit [Remote host closed the connection]
netbsduser` has joined #osdev
<sham1> Scratch but as a "serious" programming language would be interesting. And those do exist but do people use stuff like labview
<mcrod> i'm seriously sitting here wondering if adafruit just took over every supplier of everything
<mcrod> or if my google-fu is bad
<sham1> AdaFruit is everywhere
<mcrod> yes i know
<sham1> But it is also actually just a popular thing
<mcrod> but we sure as shit don't use any adafruit things in our units
<mcrod> and I feel like we just didn't google for shit either
freakazoid332 has joined #osdev
<geist> heat: there's a fence per arch, depending on if the arch needs it
<geist> down in the arch context switch
<geist> but yeah otherwise locking does it
<heat> what arch would require more than a lock?
<heat> arm?
dh` has quit [Ping timeout: 246 seconds]
vinc has quit [Read error: Connection reset by peer]
wblue has joined #osdev
deflated8837 has quit [Read error: Connection reset by peer]
<mcrod> it is hot.
wblue has quit [Quit: wblue]
<moon-child> sorry, that's me
wblue has joined #osdev
deflated8837 has joined #osdev
Turn_Left has quit [Read error: Connection reset by peer]
wblue has quit [Quit: wblue]
dh` has joined #osdev
simpl_e has joined #osdev
nyah has quit [Quit: leaving]
bauen1 has joined #osdev
simpl_e has quit [Remote host closed the connection]
simpl_e has joined #osdev
simpl_e has quit [Remote host closed the connection]
simpl_e has joined #osdev
simpl_e has quit [Remote host closed the connection]