<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
<clever>
so you just flush L1 and L2, then tell dma to read thru the L3
<gog>
i'm trying to think of anything on modern systems that'll still need ISA DMA
<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
<gog>
floppy controller?
<zid>
>modern
<zid>
a single ide slot but not a floppy one was about all you managed over a decade ago now
<gog>
maybe some disk controllers can still pretend to be ISA devices?
mahmutov has quit [Ping timeout: 256 seconds]
<kazinsal>
most probably still can if you set them to IDE mode in the BIOS
skipwich has joined #osdev
skipwich has quit [Read error: Connection reset by peer]
skipwich has joined #osdev
lkurusa is now known as lkurusa|afk
<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
<geist>
then just always push that stuff through a bounce buffer since it's intrinsically slow stuff anyway
<gog>
yeah it's going a fraction of the speed of the speed of anything else lol
<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").
<bslsk05>
os-inf-tu--dresden-de.translate.goog: Der ELAN Compiler
<kingoffrance>
The ELAN compiler integrated in the L3 operating system
<energizer>
radens: ^
<radens>
Thank you kingoffrance
<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?
<klange>
thought it looked algoly
Lycurgus has joined #osdev
<kazinsal>
the comment syntax and some of the keywords looked pascal-y but the lack of begin/end threw me off
<radens>
Yeah it's something which looks not quite familiar
<kingoffrance>
radens, no sorry never heard of it. i just day "boundvar somethign or other" and thought that was a good search term
<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.
<zid>
I saw a triangle method for expressing logs/powers
xenos1984 has quit [Ping timeout: 268 seconds]
<zid>
but it's useless because time is a cube
* gog
morphs into a cube
<sortie>
Yeah that's why I use senary digits for time
<zid>
I've still not tried to boot my code in real HW
<zid>
I'm too lazy to reboot my desktop for it
<zid>
vmware and qemu are *clearly* the same thing as real hw
<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
<gog>
my makefile setup is pretty good. i want to change it though but i'm afraid
<gog>
because it works and i don't want to break it
Lycurgus has joined #osdev
<sham1>
I'm somewhat reluctant about using make because for example, dependencies are annoying
<GeDaMo>
cc *.c -o kernel
<gog>
gcc can generate makefile deps
<gog>
pretty ezpz actually
<sham1>
But POSIX make cannot include them
<gog>
so require gnu make :p
Lycurgus has left #osdev [#osdev]
<sham1>
But that's the thing I want to explicitly avoid
<j`ey>
POSIX doesn't specify ninja though
<sham1>
That's true
<sham1>
If only the Austin Group added imports
biblio has joined #osdev
<zid>
imagine avoiding gnu make
<sham1>
Well it's more that I'm avoiding an explicit dependency on it
<zid>
If that computer builds software at all
<zid>
it has make
<sham1>
Well it's less about make and more about GNU
<sham1>
y'know
<zid>
nope
<zid>
do you also not depend on gcc?
<zid>
cat? echo?
<sham1>
I don't in fact have a hard dependency on gcc
<zid>
CFLAGS?
<sham1>
Those can be set per compiler. Also clang
<zid>
not seeing the logic here
<sham1>
I mean, do you *like* the GPL
<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
radens has joined #osdev
<zid>
GPL is irrelevent
<gog>
yeah i like the GPL - Girls Telling Me I'm Pretty
<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
<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
<sham1>
You could make the base pointer point to a stack slot with a zero
<zid>
you've inspected the stack there and it isn't filled with that?
<zid>
for all we know the stack actually says that
<radens>
zid: the stack is fine
<radens>
sham1: yep, I xor the fp register against itself
<zid>
define fine, what's in the 'empty' part, 0s?
<sham1>
radens: that's not enough
<radens>
sham1: Are you saying I need to do something like this? `push {lr, xzr}; mov fp, sp`?
<sham1>
What is that
<radens>
Put two pointer sized values on the stack as a dummy stack frame and point the frame pointer at the dummy stack frame
<sham1>
I think that should work, but don't quote me on that
[itchyjunk] has quit [Remote host closed the connection]
CryptoDavid has joined #osdev
vdamewood has joined #osdev
lkurusa has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
sdfgsdfg has joined #osdev
blockhead has joined #osdev
gdd has quit [Ping timeout: 250 seconds]
gdd has joined #osdev
GeDaMo has quit [Remote host closed the connection]
Piraty has quit [Quit: -]
Piraty has joined #osdev
ahalaney has quit [Quit: Leaving]
biblio has quit [Quit: Leaving]
isaacwoods has quit [Quit: WeeChat 3.4]
sdfgsdfg has quit [Quit: ZzzZ]
DaftMouse has joined #osdev
ahalaney has joined #osdev
mahmutov_ has quit [Ping timeout: 256 seconds]
<graphitemaster>
What damn library is _Unwind_Resume@@GCC_3.0 in
<zid>
sounds like exceptions, libstdc++?
<graphitemaster>
libgcc.a most likely
<zid>
libgcc is a mystery box I dare not make assumptions about
<sham1>
It's like a box of chocolates
<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)
<graphitemaster>
Humm no
<remexre>
make replacement in the sense of functionality, it's not similar syntax or anything
<graphitemaster>
I'm curious why it says missing DSO on command line for libgcc_s.so.1, so I add -lgcc_s and then it says "cannot find -lgcc"
<graphitemaster>
Is there some bullshit with underscores?
<graphitemaster>
That I don't know about
srjek has joined #osdev
<kingoffrance>
<wild guess> bullshit with _s ? isnt that shared? maybe it just wants -lgcc and it will figure out shared or static?
jjuran has quit [Ping timeout: 256 seconds]
<sham1>
remexre: I have. I just need to motivate myself to implement the redo idea one of these days
lkurusa has joined #osdev
jjuran has joined #osdev
sortie_ has joined #osdev
sortie has quit [Quit: Leaving]
CaCode has joined #osdev
[itchyjunk] has joined #osdev
sortie has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]