Search logs:

channel logs for 2004 - 2010 are archived at ·· can't be searched

#osdev2 = #osdev @ Libera from 23may2021 to present

#osdev @ OPN/FreeNode from 3apr2001 to 23may2021

all other channels are on OPN/FreeNode from 2004 to present

Monday, 10 January 2022

00:00:00 <clever> but i can configure it such that the lower 16mb of the physical space, is coherent at what the arm will see as the L3 level
00:00:00 <clever> so you just flush L1 and L2, then tell dma to read thru the L3
00:00:00 <gog> i'm trying to think of anything on modern systems that'll still need ISA DMA
00:00:00 <clever> but, the L3 is only 128kb, so you have to heavily limit the size of your buffers, and avoid using that 16mb page for anything else
00:00:00 <gog> floppy controller?
00:01:00 <zid> >modern
00:01:00 <zid> a single ide slot but not a floppy one was about all you managed over a decade ago now
00:02:00 <gog> maybe some disk controllers can still pretend to be ISA devices?
00:16:00 <kazinsal> most probably still can if you set them to IDE mode in the BIOS
00:34:00 <geist> gog: exactly. there's only a handful of things that you *might* want to do that uses isa dma, so worst case 10 blocks of 64k is totally sufficient
00:35:00 <geist> then just always push that stuff through a bounce buffer since it's intrinsically slow stuff anyway
00:36:00 <gog> yeah it's going a fraction of the speed of the speed of anything else lol
00:36:00 <gog> department of redundancy department
01:13:00 <zid>
01:15:00 <moon-child> feels
01:22:00 <gog> mood
02:00:00 <vai> morning all
02:00:00 <moon-child> moin
08:43:00 <radens> Can anyone identify this programming language? It's part of the l3 sources:
08:43:00 <bslsk05> ​ hastebin
08:49:00 <energizer> radens: looks like it's for z/OS
08:50:00 <radens> energizer: how can you tell?
08:50:00 <energizer> radens: i just googled some of the uppercase words and they seem to match
08:51:00 <energizer> DATASPACE, PROC
08:53:00 <energizer> i dont see THESAURUS but z/OS does apparently have something called a thesaurus
08:54:00 <kingoffrance>
08:54:00 <bslsk05> ​ ELAN (programming language)
08:54:00 <kingoffrance> he operating systems L2 and L3 were written for the most part in ELAN. L2 is also known under the name EUMEL ( " Extendable multiuser Microprocessor ELAN System").
08:55:00 <kingoffrance> also
08:55:00 <energizer> oh, ok
08:55:00 <bslsk05> ​ Der ELAN Compiler
08:55:00 <kingoffrance> The ELAN compiler integrated in the L3 operating system
08:55:00 <energizer> radens: ^
08:56:00 <radens> Thank you kingoffrance
08:57:00 <radens> kingoffrance: it looks like the l3 installer files on the floppy disks are packed in a strange archive format. Do you know how to unpack them so I can learn more about l3?
08:57:00 <klange> thought it looked algoly
08:59:00 <kazinsal> the comment syntax and some of the keywords looked pascal-y but the lack of begin/end threw me off
09:00:00 <radens> Yeah it's something which looks not quite familiar
09:00:00 <kingoffrance> radens, no sorry never heard of it. i just day "boundvar somethign or other" and thought that was a good search term
09:01:00 <kingoffrance> s/day/saw/
09:01:00 <radens> Thanks
09:02:00 <klange> more on elan:
09:02:00 <bslsk05> ​ The L3 operating system - ELAN
12:38:00 <GeDaMo>
12:38:00 <bslsk05> ​ BeOS rebuild Haiku has a new feature that runs Windows apps • The Register
13:04:00 <gog>
13:05:00 <blockhead> people still use discord?
13:05:00 <blockhead> no, don't answer that, i really don't want to know :/
13:06:00 <j`ey> more than irc :|
13:12:00 <sham1> gog: that's the most Facebook looking meme I think I've seen come from Discord
13:54:00 <gog> I'm in a few servers, only really participate in like 2
16:04:00 <sortie> ← Um, so, contributor running my OS on a Pentium 2
16:05:00 <zid> and it's set to.. runic?
16:06:00 <sortie> Of course. Trianglix uses the paradigm that everything is a triangle, in stark contrast to the Unix principle that everything is a file. Each triangle has three edges (input, output and error) and represents a Turing-computable triangular function, expressed through well-formed Triscript written in Runes and senary digits.
16:06:00 <zid> I saw a triangle method for expressing logs/powers
16:06:00 <zid> but it's useless because time is a cube
16:07:00 * gog morphs into a cube
16:07:00 <sortie> Yeah that's why I use senary digits for time
16:07:00 <zid> I've still not tried to boot my code in real HW
16:07:00 <zid> I'm too lazy to reboot my desktop for it
16:07:00 <zid> vmware and qemu are *clearly* the same thing as real hw
16:09:00 <gog> yes
16:10:00 <GeDaMo> And easier to carry :P
16:20:00 <sortie> yeaaa
16:22:00 <GeDaMo> Is that a pie menu?
16:47:00 <sham1> No. It's a triangle menu
16:48:00 <GeDaMo> :|
16:48:00 <sortie> The spinning triangle is a revolutionary new user interface
16:48:00 <sham1> "the unattainable is unknown with trianglix"
16:48:00 <gog> "with zombocom you can do anything. the only limit is yourself"
16:50:00 <sham1> Yes
18:08:00 <j`ey> build times for kernel: x86 desktop: -j70 1min, macbook air: -j12 2min6s (building the same linux kernel config)
18:09:00 <gog> -j70?
18:09:00 <gog> is this a threadripper?
18:09:00 <j`ey> i have some xeon thingy
18:09:00 <gog> ah ok
18:09:00 <zid> did you drop caches before each test
18:10:00 <gog> but damn 1min
18:10:00 <j`ey> zid: no
18:10:00 <j`ey> going to retry the m1, this time without running it with a hypervisor
19:52:00 <sham1> Speaking of building kernels, I'm annoyed that I haven't found a good solution for doing builds yet. I might just hack something together in Perl that can generate ninja files
19:52:00 <gog> my makefile setup is pretty good. i want to change it though but i'm afraid
19:52:00 <gog> because it works and i don't want to break it
19:58:00 <sham1> I'm somewhat reluctant about using make because for example, dependencies are annoying
19:59:00 <GeDaMo> cc *.c -o kernel
20:00:00 <gog> gcc can generate makefile deps
20:00:00 <gog> pretty ezpz actually
20:00:00 <sham1> But POSIX make cannot include them
20:01:00 <gog> so require gnu make :p
20:05:00 <sham1> But that's the thing I want to explicitly avoid
20:06:00 <j`ey> POSIX doesn't specify ninja though
20:06:00 <sham1> That's true
20:06:00 <sham1> If only the Austin Group added imports
20:07:00 <zid> imagine avoiding gnu make
20:08:00 <sham1> Well it's more that I'm avoiding an explicit dependency on it
20:09:00 <zid> If that computer builds software at all
20:09:00 <zid> it has make
20:09:00 <sham1> Well it's less about make and more about GNU
20:09:00 <sham1> y'know
20:10:00 <zid> nope
20:11:00 <zid> do you also not depend on gcc?
20:11:00 <zid> cat? echo?
20:11:00 <sham1> I don't in fact have a hard dependency on gcc
20:12:00 <zid> CFLAGS?
20:12:00 <sham1> Those can be set per compiler. Also clang
20:13:00 <zid> not seeing the logic here
20:13:00 <sham1> I mean, do you *like* the GPL
20:13:00 <zid> make will be on 99.99% of the machines trying to build your code, and probably your project is like.. 6 lines of makefile, but you're trying to avoid it, but you'll provide compilation steps for multiple compilers
20:13:00 <zid> GPL is irrelevent
20:14:00 <gog> yeah i like the GPL - Girls Telling Me I'm Pretty
20:14:00 <sham1> Again, I'm not avoiding make. I'm avoiding a specific implementation and not even avoiding it that much, just so it's not a hard requirement
20:14:00 <zid> What's the L standing for there gog? :p
20:14:00 <gog> Lesbian
20:14:00 <zid> oh snap I'm also a lesbian
20:15:00 <gog> can we not with this today
20:15:00 <zid> okay cheater
20:15:00 <radens> I have a question about gdb stack unwinding on arm64. When I get an interrupt and hit a breakpoint and do `bt` in gdb I get a stack trace like this:
20:15:00 <bslsk05> ​ hastebin
20:16:00 <radens> How do I tell gdb to stop walking the stack there? Right now I zero the frame pointer (x29) in trap_synchronous_lower_entry but that doesn't cause gdb to terminate the stack walk
20:17:00 <sham1> You could make the base pointer point to a stack slot with a zero
20:17:00 <zid> you've inspected the stack there and it isn't filled with that?
20:17:00 <zid> for all we know the stack actually says that
20:17:00 <radens> zid: the stack is fine
20:18:00 <radens> sham1: yep, I xor the fp register against itself
20:18:00 <zid> define fine, what's in the 'empty' part, 0s?
20:18:00 <sham1> radens: that's not enough
20:20:00 <radens> sham1: Are you saying I need to do something like this? `push {lr, xzr}; mov fp, sp`?
20:21:00 <sham1> What is that
20:23:00 <radens> Put two pointer sized values on the stack as a dummy stack frame and point the frame pointer at the dummy stack frame
20:23:00 <sham1> I think that should work, but don't quote me on that
22:15:00 <graphitemaster> What damn library is _Unwind_Resume@@GCC_3.0 in
22:17:00 <zid> sounds like exceptions, libstdc++?
22:17:00 <graphitemaster> libgcc.a most likely
22:18:00 <zid> libgcc is a mystery box I dare not make assumptions about
22:19:00 <sham1> It's like a box of chocolates
22:27:00 <remexre> sham1: have you seen redo? a couple hundred lines of posix sh to implement a make replacement which does actually handle GCC-style deps (and pretty much any other dynamic dependencies)
22:28:00 <graphitemaster> Humm no
22:28:00 <remexre> make replacement in the sense of functionality, it's not similar syntax or anything
22:28:00 <graphitemaster> I'm curious why it says missing DSO on command line for, so I add -lgcc_s and then it says "cannot find -lgcc"
22:29:00 <graphitemaster> Is there some bullshit with underscores?
22:29:00 <graphitemaster> That I don't know about
22:35:00 <kingoffrance> <wild guess> bullshit with _s ? isnt that shared? maybe it just wants -lgcc and it will figure out shared or static?
22:38:00 <sham1> remexre: I have. I just need to motivate myself to implement the redo idea one of these days