00:03
<
klange >
< radens> I'm on aarch64 btw ← gold
00:20
<
moon-child >
I thought if you set the return address as null, it'll consider that to be the bottom of the stack?
00:24
<
Mutabah >
oh, aarch64 is relatively easy
00:25
<
Mutabah >
... wait, I thought I had it implemeted, maybe not
00:26
zid has quit [Ping timeout: 248 seconds]
00:31
zid has joined #osdev
00:46
Matt|home has quit [Quit: Leaving]
00:51
<
jjuran >
moon-child: Typically it's a null stack frame pointer that terminates a stack crawl.
00:56
gog has quit [Quit: byee]
01:06
gog has joined #osdev
01:27
isaacwoods has quit [Quit: WeeChat 3.7.1]
02:00
Matt|home has joined #osdev
02:28
smach has joined #osdev
03:33
[itchyjunk] has quit [Read error: Connection reset by peer]
03:37
sortiecat has quit [Quit: Leaving]
03:46
dude12312414 has joined #osdev
03:51
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
04:17
dutch has joined #osdev
04:19
spikeheron has quit [Ping timeout: 256 seconds]
04:20
ka80 has quit [Ping timeout: 260 seconds]
04:28
ka80 has joined #osdev
04:37
ka80 has quit [Quit: Leaving]
05:12
smach has joined #osdev
05:13
heat has quit [Ping timeout: 256 seconds]
05:33
epony has quit [Ping timeout: 268 seconds]
05:35
TkTech has quit [Ping timeout: 256 seconds]
05:41
ckie has quit [Quit: *poof*]
05:42
ckie has joined #osdev
05:51
JerryXiao has quit [Quit: Bye]
05:51
JerryXiao has joined #osdev
06:20
Burgundy has joined #osdev
06:31
bgs has joined #osdev
06:43
SGautam has joined #osdev
07:14
Burgundy has quit [Ping timeout: 256 seconds]
07:17
epony has joined #osdev
07:28
jafarlihi has joined #osdev
07:29
<
jafarlihi >
Hey, I'm trying to learn more about UEFI and have already read osdev wiki material. I picked up Quick Boot and Beyond BIOS books but they are too complicated and I have hard time understanding them. Can you suggest some material for me to learn more about UEFI so I can create a bootloader and UEFI apps?
07:33
<
jafarlihi >
Is reading 2500 pages of spec the only way?
07:37
bgs has quit [Remote host closed the connection]
07:37
xenos1984 has quit [Quit: Leaving.]
07:38
<
Mutabah >
Find examples elsewhere? E.g. pre-existing projects
07:39
<
bslsk05 >
github.com: rust_os/Bootloaders/uefi at master · thepowersgang/rust_os · GitHub
07:40
<
jafarlihi >
I need a more complete treatment so I can write UEFI apps
07:40
<
jafarlihi >
is Beyond BIOS the only UEFI book out there?
07:41
<
Mutabah >
Grab the spec and just jump to the relevant section?
07:42
<
jafarlihi >
Ok, guess that's the only way
07:42
<
Mutabah >
I'm not saying it's the only way... but it's the only one I know of
07:43
<
Mutabah >
With specs, you don't need to read every page - just the ones that matter
07:43
<
Mutabah >
You can usually skim of a LARGE amount (e.g. all of the detailed method descriptions)
07:52
jafarlihi has quit [Quit: WeeChat 3.5]
07:56
xenos1984 has joined #osdev
08:23
Burgundy has joined #osdev
08:29
gog has quit [Ping timeout: 256 seconds]
09:00
chibill has quit [Quit: You have been kicked for being idle]
09:00
ZipCPU has joined #osdev
09:12
SGautam has quit [Quit: Connection closed for inactivity]
09:16
Burgundy has quit [Ping timeout: 260 seconds]
09:37
ElementW_ has quit [Ping timeout: 255 seconds]
09:37
ElementW has joined #osdev
10:11
GeDaMo has joined #osdev
10:17
heat has joined #osdev
10:19
<
heat >
beyond the bios is the only UEFI book useful for muggles (non-fw devs)
10:23
<
heat >
well, from the ones I can remember. I can't think of another UEFI book like that
10:23
<
heat >
certainly not a better one
10:33
<
heat >
(to be clear, not that you really need a book for a basic UEFI bootloader)
10:36
<
zid >
heat: Fix my day 12, I wrote out the skeleton but it gives infinite loop and now I am reading a book
10:42
smach has joined #osdev
10:42
smach has quit [Client Quit]
10:45
sortiecat has joined #osdev
10:54
sortiecat has quit [Read error: Connection reset by peer]
11:01
vdamewood has joined #osdev
11:21
gildasio has quit [Remote host closed the connection]
11:22
gildasio has joined #osdev
11:35
smach has joined #osdev
11:38
Burgundy has joined #osdev
11:51
<
zid >
Okay my tail tracking needs special casing for if the list goes empty but then gets re-pushed to apparently? TIL
11:52
<
bslsk05 >
gist.github.com: 2011-day12.c · GitHub
11:52
<
zid >
line 63/64 needed adding, wonder if there's a better impl.
12:14
lkurusa has joined #osdev
12:15
netbsduser has quit [Quit: Leaving]
12:15
heat has quit [Read error: Connection reset by peer]
12:15
heat_ has joined #osdev
12:18
lkurusa has quit [Ping timeout: 252 seconds]
12:32
heat_ is now known as heat
12:32
heat has quit [Remote host closed the connection]
12:33
heat has joined #osdev
12:40
<
heat >
zid, bazinga
12:42
<
heat >
I guess i'll finally do some aoc's I've been putting down for some days
12:58
awita has joined #osdev
13:21
nyah has joined #osdev
13:26
netbsduser has joined #osdev
13:43
sav_ has joined #osdev
13:43
sav_ has quit [Client Quit]
13:45
<
bslsk05 >
github.com: aoc2022/day7.c at main · heatd/aoc2022 · GitHub
13:47
<
heat >
i kinda cheated and stole the linked list from myself
13:47
<
heat >
i aint playin by yo rules playa
13:48
<
zid >
You missed a couple of optimizations that I made
13:49
vdamewood has quit [Quit: Life beckons]
13:49
<
heat >
i didn't need the files, just the dirs
13:49
<
heat >
that's an easy one
13:50
<
zid >
Looks like you're parsing too much
13:50
gildasio has quit [Quit: WeeChat 3.6]
13:51
<
zid >
I only check for ^c, and ^[0-9], everything else is ignored
13:51
gildasio has joined #osdev
13:51
<
zid >
ls and dir are superfluous
13:51
<
heat >
the strncmp could just be cmd = *buf == 'c' ? CMD_CD : CMD_LS;
13:51
<
zid >
CMD_LS is pointless
13:51
<
heat >
and then an unconditional += 3;
13:51
<
bslsk05 >
gist.github.com: 2022-day7.c · GitHub
13:52
<
zid >
I wrote dir but left it commented, I realized it wasn't needed, cd implements the same thing, and never even handled ls
13:52
<
zid >
Your 'walk the parents and update the size' thing is cute, I just do a depth first search at the end
13:53
<
zid >
so needs a small amount of recursion, but no parent pointers
13:54
<
zid >
oh I do have parents anyway
13:55
<
zid >
didn't think to use them to calculate the sizes inline to the additions
13:55
<
zid >
I'd do it at cd . time though
13:55
netbsduser has quit [Ping timeout: 246 seconds]
13:56
<
heat >
nothing tells you you'll end up at / though
13:57
<
zid >
which is why I did it by walking forwards, easier to not fuck up :D
13:58
<
heat >
day8 looks odd
13:59
<
shikhin >
Anyone doing anything on RISC-V?
14:00
<
zid >
let me remember last week
14:00
<
zid >
(actual trees, not computer trees)
14:00
<
zid >
I'm surprised this was the first time in AoC this year I wrote a macro to stop me going outside the bounds of a 2D grid
14:01
<
heat >
shikhin, yes
14:01
<
heat >
what do you need
14:01
<
shikhin >
Thinking of starting an OS project for it, trying to decide what development board to target first.
14:01
<
heat >
use qemu lol
14:01
<
shikhin >
Not QEMU, that's no fun.
14:01
<
heat >
most riscv boards are unobtanium or 32-bit and notveryobtanium
14:03
<
heat >
oh yeah most of them are also pricey for sure
14:03
Burgundy has quit [Ping timeout: 260 seconds]
14:03
<
heat >
particularly the "proper" sifive ones with pci and shit
14:04
<
shikhin >
Don't think having PCI is such a necessity.
14:04
<
heat >
so, suit yourself with QEMU or go for another arch
14:04
<
heat >
arm64 is much cheaper and more available
14:04
<
heat >
I got a pi zero 2 w for like 15 euro
14:05
<
heat >
quad core, 512MB, 64-bit, wireless, all the GPIO you want, etc
14:05
<
heat >
granted, it's slow, but it's also 15 euro
14:05
<
heat >
not like you're getting speed with the riscv boards anyway
14:06
<
heat >
even the top of the line stuff is slow af
14:06
<
shikhin >
Mh, well, I'm not the only one on this project, and RISC-V it shall be, me thinks.
14:07
<
heat >
haaaaaaaaaaaaaaaaaave you considered x86
14:07
<
heat >
👻descriptor tables👻
14:07
<
shikhin >
RISC-V -> x86, seems reasonable.
14:08
<
heat >
well you lose a good bit of the cheesyness of riscv
14:08
<
mrvn >
zid: You can just recurse every time you see a "cd dir" and return the accumulated size at "cd .." or EOF.
14:08
<
heat >
i'm not gonna say riscv is a trashy architecture, but it kinda is a trashy architecture
14:09
<
heat >
the spec still has the default LaTeX look, it's that bad
14:09
<
heat >
it also... reads weird
14:10
<
heat >
otoh it's much simpler than x86 so for a first experience it's a good choice
14:11
<
shikhin >
This isn't a first experience, mh.
14:21
gildasio has quit [Ping timeout: 255 seconds]
14:21
isaacwoods has joined #osdev
14:22
gildasio has joined #osdev
14:27
<
mrvn >
heat: is that look a bad thing? Better than a M$ Word look.
14:29
<
zid >
heat stop getting distracted
14:29
<
zid >
you're not up to 12 yt
14:40
<
heat >
you're hurting my feelings
14:40
<
zid >
stop getting distraced by your feelings too
14:44
* mrvn
sends heat to the Kolinahr
14:49
heat has quit [Read error: Connection reset by peer]
14:49
heat has joined #osdev
14:51
<
zid >
A real man bottles that shit up until he takes out all of his co-workers in a rage spree
14:55
<
Ermine >
heat: do you consider arm64 a good arch?
14:59
<
Ermine >
xv6 was redone in RISC-V btw.
15:10
<
zid >
heat: how are your trees?
15:13
<
bslsk05 >
lwn.net: Introducing maple trees [LWN.net]
15:13
<
zid >
>(actual trees, not computer trees)
15:15
<
Ermine >
Maple trees are real.
15:15
<
Ermine >
s/real/actual/
15:15
<
zid >
and yet, the link is not about them
15:26
vdamewood has joined #osdev
15:27
bgs has joined #osdev
15:53
heat_ has joined #osdev
15:54
heat has quit [Read error: Connection reset by peer]
15:58
xenos1984 has quit [Quit: Leaving.]
15:59
<
heat_ >
zid, im doing things that I need to do
15:59
<
heat_ >
I'll have to postpone aoc a bit
15:59
heat_ is now known as heat
16:01
<
heat >
do my day8 then
16:01
<
zid >
should I write it in the style of you
16:02
<
zid >
tr -d 'static '
16:03
<
zid >
Remove all the static keywords from mine
16:03
<
heat >
how is that my style
16:03
<
heat >
at the very least make it STATIC VOID and wrap it in EFI protocols
16:03
<
zid >
everything you've posted for aoc
16:03
<
zid >
I've never looked at edk2, I'm sane
16:05
<
bslsk05 >
github.com: aoc2022/day7.c at main · heatd/aoc2022 · GitHub
16:05
<
heat >
i bet you look pretty dumb right now
16:05
<
zid >
you copy pasted that
16:05
<
zid >
from outside of aoc
16:05
<
zid >
you even admitted to it
16:05
<
heat >
static void init_list_head(struct list_head *lh) was written from scratch
16:05
<
heat >
with a static
16:06
<
zid >
this is the important thing you had to do is it
16:07
<
heat >
no I'm writting haskell for uni
16:08
<
GeDaMo >
fibs = 0 : 1 : zipWith (+) fibs (tail fibs)
16:10
dude12312414 has joined #osdev
16:44
awita has quit [Ping timeout: 260 seconds]
16:58
awita has joined #osdev
17:10
Burgundy has joined #osdev
17:46
gog has joined #osdev
17:47
FreeFull has joined #osdev
17:49
nanovad has joined #osdev
17:58
sortiecat has joined #osdev
18:33
<
zid >
heat: oi, michaelsoft binbows, where day
18:34
<
heat >
still on the haskell
18:34
<
heat >
this thing fucking sucks
18:34
<
heat >
it's completely alien to me
18:34
<
heat >
pointer where
18:36
<
zid >
good thing about haskell is that it's illegal for it to show you the result
18:36
<
zid >
just compile if it was calculable
18:36
<
zid >
so you can just interchange every haskell program for while(1);
18:36
gxt__ has joined #osdev
18:37
gxt_ has quit [Ping timeout: 255 seconds]
18:38
vdamewood has quit [Read error: Connection reset by peer]
18:39
<
GeDaMo >
At least it's not Prolog :P
18:39
vdamewood has joined #osdev
18:42
<
zid >
GeDaMo: Do advent in prolog
18:44
<
GeDaMo >
No thanks :|
18:48
<
zid >
prolog looks like a scripting lanaguage designed to solve einstein puzzles
18:48
<
zid >
(Jim lives next door to the man who smokes a pipe, the man with the cat has a yellow front door, ...)
18:53
wootehfoot has joined #osdev
18:53
awita has quit [Remote host closed the connection]
18:58
gog` has joined #osdev
18:58
gog` has quit [Client Quit]
19:15
gxt__ has quit [Remote host closed the connection]
19:15
xenos1984 has joined #osdev
19:16
gxt__ has joined #osdev
19:41
wootehfoot has quit [Read error: Connection reset by peer]
19:50
nyah has quit [Quit: leaving]
20:06
bgs has quit [Remote host closed the connection]
20:17
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
20:26
<
linearcannon >
honestly prolog might actually be good for advent of code, i might give it a shot
20:26
<
linearcannon >
wouldn't try writing a kernel in it though
20:37
<
mrvn >
but it has so many pros and is so logical :)
20:39
gxt__ has quit [Remote host closed the connection]
20:41
gxt__ has joined #osdev
20:44
<
kaichiuchi >
for once I come on a mission
20:44
<
kaichiuchi >
a mission of actually asking an osdev question
20:45
<
kaichiuchi >
how difficult is it to get a kernel debuggable with gdb?
20:45
<
kaichiuchi >
because I want to just play with it on real hardware from the get-go
20:45
<
gog >
with qemu, fairly trivial if you're using a compiler that generates DWARF symbols
20:45
<
gog >
real hardware not so easy
20:47
<
kaichiuchi >
well, can't I just pipe shit to a serial port?
20:51
<
mrvn >
kaichiuchi: 7
20:52
<
mrvn >
on scale from 5 to 10
20:52
<
kaichiuchi >
you mean 7 out of 10 on the difficulty scale?
20:52
<
kaichiuchi >
hm, I see
20:52
<
zid >
The problem is that gdb needs software support to respond to messages
20:52
<
zid >
so it's fairly useless in debugging kernel crashes etc
20:53
<
mrvn >
you need a serial driver, multitasking (or at least IRQs) and a few lines of gdb stubs.
20:53
<
zid >
That's why hw debugging over jtag etc exists
20:53
<
kaichiuchi >
so what I'm hearing is: "please, for the love of god, start with an emulator"
20:53
<
mrvn >
If you have multiple cores you can halt cores when they crash but keep the serial IRQ running for gdb.
20:54
<
mrvn >
kaichiuchi: it's always best to start with an emulator. booting real hardware takes too long
20:54
<
mrvn >
Note: qemu has builtin GDB support, no kernel stubs needed
20:55
<
mrvn >
greate for debugging your gdb stubs by connecting 2 GDB, one internal and one on the serial.
20:59
<
zid >
I think your best bet would just be to run under a hypervisor that implements a gdb stub
21:24
terrorjack has quit [Ping timeout: 265 seconds]
21:26
terrorjack has joined #osdev
21:33
smach has quit [Ping timeout: 260 seconds]
21:35
<
mrvn >
PIZZAAAAAAAAA
21:36
<
mrvn >
zid: oh damn, now you give me even more ideas for raspbootin
21:46
smach has joined #osdev
21:47
gxt__ has quit [Remote host closed the connection]
21:47
gxt__ has joined #osdev
21:53
<
gog >
mrvn: bring me pizza
21:53
* Ermine
is cooking pizza
21:53
<
Ermine >
or baking?
21:54
vdamewood has quit [Quit: Life beckons]
22:23
<
mrvn >
Ermine: grilling?
22:23
<
mrvn >
are you making pizza or just heating it?
22:24
<
Ermine >
Let's assume I'm making it.
22:28
<
mrvn >
so much work. Have to double size it to make up all the calories lost.
22:36
<
zid >
rip honzuki, is it monday yet?
22:39
<
mrvn >
it's still monday, for an cruciatingly long 21 more minutes
22:39
<
heat >
non-GMT moment
22:40
<
zid >
heat we're timezone buddies, can you wake me up at 10pm on monday?
22:40
<
heat >
next week? for sure
22:40
<
zid >
okay sleepy time
22:41
<
zid >
maybe 9pm monday, so that I can do 7 days of advent before 10pm
22:43
<
jjuran >
But can you do six impossible things before breakfast
23:01
<
mrvn >
survived another monday
23:03
<
heat >
central european moment
23:51
<
heat >
i have escaped the hell that is functional programming
23:56
<
Ermine >
tfw word cannot render its own documents properly.
23:57
<
heat >
typical MICROSHIT WINCRAP