00:02
thinkpol has quit [Remote host closed the connection]
00:04
thinkpol has joined #osdev
00:25
netbsduser has quit [Ping timeout: 248 seconds]
00:37
itrsea has quit [Remote host closed the connection]
00:37
itrsea has joined #osdev
00:43
itrsea has quit [Quit: leaving]
01:11
edr has quit [Quit: Leaving]
01:11
msv has quit [Remote host closed the connection]
01:12
msv has joined #osdev
01:45
colona has quit [Server closed connection]
01:46
colona has joined #osdev
01:54
msv has quit [Remote host closed the connection]
02:06
msv has joined #osdev
02:25
\Test_User has joined #osdev
02:34
itrsea has joined #osdev
02:46
jcea has quit [Ping timeout: 248 seconds]
03:04
MrBonkers has quit [Read error: Connection reset by peer]
04:08
_whitelogger has joined #osdev
04:10
frkazoid333 has quit [Ping timeout: 260 seconds]
04:28
fedaykin has joined #osdev
04:31
eluks has quit [Remote host closed the connection]
04:32
eluks has joined #osdev
05:21
goliath has joined #osdev
05:37
<
Ermine >
i found a null dereference in amdgpu
05:54
<
clever >
Ermine: ive found one before
05:54
<
clever >
i was trying to run the vc4 userland half of mesa, to pre-compile shaders for the rpi
05:55
<
clever >
first thing the userland half did, was an ioctl to query the vc4 version in the kernel, via /dev/dri
05:55
<
clever >
that ioctl, did something totally different on amdgpu!
05:55
<
clever >
because the struct was too small, the kernel defaulted to nulls in the fields that userland didnt populate
05:55
<
clever >
and then OOPS, kernel null pointer!
06:23
<
AmyMalik >
i wonder if that's the problem i've been having trying to upgrade to khardenedbsd14.3
06:23
<
AmyMalik >
unlikely
06:31
<
Ermine >
And i've broke it by accessing a file in debugfs
06:31
karenw has quit [Ping timeout: 252 seconds]
06:32
chiselfuse has quit [Remote host closed the connection]
06:32
chiselfuse has joined #osdev
06:32
<
Ermine >
and it tried to access structure which corresponds to hardware not present on my gpu
06:32
<
Ermine >
clever: is your use case even supported
06:47
Lucretia has joined #osdev
06:47
<
clever >
Ermine: there is a benchmarking tool in mesa, that is meant to take a given shader, and then compile it for every gpu the userland supports
06:47
<
clever >
and the plan was to repurpose that, to compile shaders and then run them in baremetal
06:47
<
clever >
so only the userland half of mesa needs to be active
06:48
<
clever >
but the userland half, went and tried to probe the kernel, to see if the kernel half was usable!
06:48
<
clever >
and the ioctl's clash
08:13
pabs3 has quit [Read error: Connection reset by peer]
08:14
pabs3 has joined #osdev
08:15
netbsduser has joined #osdev
08:54
GeDaMo has joined #osdev
09:00
zid` has quit [Ping timeout: 252 seconds]
09:57
netbsduser` has joined #osdev
09:57
netbsduser` has quit [Client Quit]
10:43
<
pog >
'ate if-else, 'ate statements. luv expressions. love me ternary operator
10:48
<
GeDaMo >
Lookup tables! :P
10:54
<
pog >
fuck explicit branching
10:54
<
pog >
do that as little as possible
10:59
<
mjg >
i recently realised i hate performance
10:59
<
nikolar >
that's PESSIMAL
10:59
<
heat >
i have just realised i love performance
10:59
<
nikolar >
i have just realised
11:00
<
mjg >
i also i'm kind of webdev
11:00
<
heat >
2) you work on a network product
11:00
<
nikolar >
heat: you work on a network product (the kernel)
11:01
<
nikolar >
you're a webdev too
11:01
<
nikolar >
we're all webdevs
11:01
<
heat >
proud webdev
11:01
<
mjg >
this was a toxicity test
11:01
<
mjg >
and heat, you turned out to be an asshole
11:01
<
nikolar >
mjg: and that's news how exactly
11:02
<
mjg >
nikolar: it is not, but i needed hard evidence
11:02
<
nikolar >
of course
11:03
<
heat >
oh i'm hard alr-i shouldn't say this i'm a professional at work
11:04
<
nikolar >
professional
11:04
<
nikolar >
you haven't even sold a single sles license
11:04
<
mjg >
alr-i? what does that mean?
11:04
<
heat >
apparently it wasn't a BGP hijack
11:04
<
heat >
they stopped announcing the 1.1.1.1 routes
11:05
<
heat >
due to good old misconfiguration
11:06
<
heat >
mjg: you know, i had to try to bpftrace some static functions lately
11:06
<
heat >
such a crapshoot :(
11:07
zid has joined #osdev
11:10
<
mjg >
maybe it would have worked if you were not so toxic
11:10
<
heat >
can you PLEASE add a kprobe for this function
11:10
<
nikolar >
literally
11:11
<
mjg >
i have some recollection systemtap was able to trace this shit tho
11:11
<
mjg >
provided the thing was not optimized away
11:11
<
heat >
i mean with kprobes you can technically do it if you find the inlined spot(s) in the binary
11:14
<
kof673 >
deliberate misconfiguration redirection /s
11:14
<
kof673 >
good old misdirection /s
11:29
mjacob has quit [Remote host closed the connection]
11:50
<
zid >
heat when will my PC next reboot
12:04
<
zid >
none of these are times
12:07
<
GeDaMo >
zid: what's causing your computer to reboot?
12:07
<
zid >
GeDaMo: Suggestions welcome
12:07
<
zid >
I pulled spare pci card, updated nvidia driver, wiggled ram, underclocked cpu
12:08
<
GeDaMo >
I had a problem a while ago where the power connection to the motherboard didn't have a latch and it was lsightly loose
12:08
<
nikolar >
does it crash/bluescreen
12:08
<
nikolar >
or is it a hard reboot
12:08
tronexte has joined #osdev
12:08
<
zid >
triplefault only
12:08
<
zid >
never a crash so far
12:09
<
zid >
so cpu and ram psu and gpu are actually all unlikely suspects
12:09
<
zid >
hypervisor bug? :P
12:09
<
GeDaMo >
BIOS virus :|
12:10
<
nikolar >
better rip out that flash chip
12:12
EuclidDivision has joined #osdev
12:12
<
nikolar >
heat, when are we getting an ia64 machine
12:12
EuclidDivision44 has joined #osdev
12:14
<
Ermine >
you should ask hp employee about that
12:14
<
nikolar >
there's one for 220 euro in germany
12:14
<
nikolar >
how the heck is shipping only 23 euro
12:14
<
mjg >
they ship it broken
12:16
EuclidDivision44 has quit [Client Quit]
12:25
<
EuclidDivision >
I hope it is appropriate to post here. In my Rust implementation of xv6-riscv, having multiple function calls in _start causes the first to loop infinitely, preventing the others from running. Using next in GDB either loops back to execute the same function or leaves only a blinking cursor.
12:26
edr has joined #osdev
12:30
<
zid >
I dove into my wsl setup and fixed it it was always weird and buggy
12:30
EuclidDivision11 has joined #osdev
12:30
<
zid >
lots of weird powershell commands to run
12:30
<
zid >
maybe that fixed it
12:30
EuclidDivision11 has left #osdev [#osdev]
12:32
<
EuclidDivision >
I use Ubuntu 24.04
12:33
<
GeDaMo >
EuclidDivision: have you checked the asm being generated? Is it possible something is fiddling with the return stack?
12:34
<
zid >
wsl --status is no longer throwing Error: 0x893439...
12:34
<
zid >
which seems positive
12:35
<
nikolar >
what did you do
12:35
<
zid >
[13:30] <zid> I dove into my wsl setup and fixed it it was always weird and buggy
12:35
<
zid >
[13:30] * EuclidDivision11 (~EuclidDiv@user/EuclidDivision) has joined #osdev
12:35
<
zid >
[13:30] <zid> lots of weird powershell commands to run
12:37
<
nikolar >
so just splattered random powershell commands kek
12:42
<
zid >
nikolar: does http/ssh work for me?
12:43
<
nikolar >
yup, works fine
12:44
<
zid >
my terminal emulator no longer does though? :p
12:44
<
nikolar >
just ssh into your own machine, duh
12:44
innegatives has joined #osdev
12:46
<
zid >
I might need to reboot and shit though
12:46
edr has quit [Ping timeout: 268 seconds]
12:47
<
zid >
I think I broke it again
12:48
<
zid >
cmd.exe works
12:48
<
zid >
pwoershell does not work
12:48
<
zid >
mintty does not work
12:51
EuclidDivision has quit [Quit: EuclidDivision]
13:12
jcea has joined #osdev
13:16
zid has quit [Remote host closed the connection]
13:21
EuclidDivision has joined #osdev
13:22
EuclidDivision has quit [Client Quit]
13:23
karenw has joined #osdev
13:33
EuclidDivision has joined #osdev
13:35
zid has joined #osdev
13:35
<
zid >
Okay yea a reboot fixed a bunch of things
13:35
<
zid >
let's hope the machine is actually stable now
13:35
<
EuclidDivision >
Can anyone please help me?
13:39
<
GeDaMo >
EuclidDivision: have you checked the asm being generated? Is it possible something is fiddling with the return stack?
13:39
<
kof673 >
what ge damo said........see what the assembly is actually doing ^^^^^^^^^^^^
13:40
<
zid >
To be fair your question so far was "code not work"
13:40
<
zid >
not much we can help with
13:40
<
zid >
just make random guesses
13:44
<
pog >
cosmic radiation
13:44
<
pog >
move to a shielded enclosure
13:48
goliath has quit [Quit: SIGSEGV]
14:02
frkazoid333 has joined #osdev
14:05
<
EuclidDivision >
The assembly file contains about 3700 lines. Should I read and try to understand every line?
14:11
tronexte has quit [Ping timeout: 252 seconds]
14:12
<
heat >
what assembly file?
14:12
<
nikolar >
what do you mean what assembly file
14:12
<
nikolar >
assembly file, duh
14:13
<
EuclidDivision >
The assembly file that objdump gives
14:13
tronexte has joined #osdev
14:13
<
heat >
objdump doesn't give you an assembly file
14:13
<
heat >
it gives you... instructions
14:14
<
heat >
if you're disassembling a whole binary worth of C/C++/rust/whatever, yeah, you don't need to read it or understand it (certainly it will often change)
14:16
<
EuclidDivision >
But aren't those instructions assembly instructions. Here's a line: `auipc a0,0x10`
14:17
<
heat >
i mean, they are
14:17
<
heat >
but what are you trying to get from reading whatever GCC crapped out?
14:20
<
EuclidDivision >
GeDaMo advised me to check the assembly file to find out what causes the unexpected behaviour.
14:21
<
GeDaMo >
That's right, blame me :|
14:27
<
nikolar >
it's all your fault GeDaMo
14:36
vdamewood has joined #osdev
14:45
tronexte has quit [Ping timeout: 268 seconds]
14:45
c0co has joined #osdev
14:46
tronexte has joined #osdev
14:49
<
EuclidDivision >
In my code i'm making the stack pointer point to `kernel_stack_for_kernel_use`
14:55
<
heat >
that's wrong
14:55
<
heat >
you're pushing over .text
14:55
<
heat >
stacks (generally) grow
_down_
14:55
Left_Turn has joined #osdev
14:55
Left_Turn has quit [Read error: Connection reset by peer]
14:55
<
heat >
so you set the sp to the high address, pushing subtracts (downwards), popping adds (upwards)
14:56
<
heat >
in this case a stack push will just write over your .text, which might explain the crashes
14:56
Left_Turn has joined #osdev
15:02
<
EuclidDivision >
```
15:02
<
EuclidDivision >
.bss : ALIGN(4K) {
15:02
<
EuclidDivision >
PROVIDE(bss_start = .);
15:02
<
EuclidDivision >
*(.bss);
15:02
<
EuclidDivision >
. += 4096;
15:02
<
EuclidDivision >
PROVIDE(stack_top = .);
15:02
<
EuclidDivision >
. += 4096;
15:02
<
EuclidDivision >
PROVIDE(global_pointer = .);
15:02
<
EuclidDivision >
PROVIDE(bss_end = .);
15:02
<
EuclidDivision >
```
15:02
<
EuclidDivision >
I might be wrong.
15:03
<
heat >
that linker script looks written by a person that doesn't know what they're doing
15:03
<
nikolar >
it allocates 4k for the stack
15:03
<
nikolar >
but also don't do that, yea
15:04
<
heat >
but yeah it also uses 4K for the stack with that += 4096 before the stack_top = .;
15:05
<
zid >
It's not awful
15:06
<
heat >
that second . += 4096; looks cargo culted
15:06
<
zid >
NEGATIVE OFFSET GUARD PAGE :P
15:06
<
heat >
and the global pointer is also not supposed to be there, fwiw
15:07
<
EuclidDivision >
Well, I have a 20KiB stack (my linker script). I believe that, the larger the stack the better.
15:07
<
heat >
it's also not picking up shit like .sbss, .bss.something, .text.something
15:07
<
heat >
which are minor problems but all add up to clueless person writing a linker script
15:09
<
nikolar >
EuclidDivision: no, you have 20kib after the stack
15:10
<
heat >
zid: adorable
15:10
<
zid >
it is very cute and functional
15:10
<
heat >
i need to properly add a preprocessor for mine
15:11
<
nikolar >
you're doing way to much stuff lol
15:11
<
zid >
heat's linker scripts are complicated and dumb
15:12
<
heat >
nikolar: i need most of those things
15:12
<
zid >
You just haven't figured out how to not
15:12
<
nikolar >
what are these levels btw
15:13
<
zid >
what the fuck heat
15:13
<
zid >
that makes even less sense
15:13
<
heat >
basically each level corresponds to a stage in boot
15:13
<
zid >
figure out how to rework your shit to get rid of that :P
15:13
<
heat >
and when the kernel reaches that stage, it executes all funcptrs in the section and moves on
15:13
<
heat >
it is the defacto standard way to do this sort of stuff
15:13
<
heat >
i learned it from geist, lk does it, fuchsia does it, linux does it
15:14
<
nikolar >
so geist does it and you copied linux
15:14
<
zid >
NOTHING CAN BE IMPROVED
15:14
<
zid >
ONLY LINUX COPIED
15:14
<
zid >
heat, every year
15:14
goliath has joined #osdev
15:14
<
heat >
i didn't take this from linux you idiot
15:14
jcea has quit [Ping timeout: 252 seconds]
15:19
<
Ermine >
it's not canon if openbsd doesn't do that
15:20
<
heat >
i don't know what openbsd does
15:20
<
heat >
i would definitely not be surprised if they ended up doing something similar
15:20
<
Ermine >
i don't know either
15:21
<
Ermine >
unrelated, iirc clangd doen't like those funcptrs
15:21
<
heat >
oh yeah they definitely do something similar
15:21
<
heat >
with the SYSINIT stuff
15:21
<
heat >
but their ordering is even more contrived
15:22
<
nikolar >
heat: what's the benefit compared to just doing `kmain() { f1(); f2(); f3(); }`
15:22
<
heat >
this is useful and needed because having a single main doesn't scale
15:23
<
heat >
you end up having
_a lot_ of subsystems that want to be initialized (in various amounts) at certain points in boot
15:23
<
heat >
where they depend on some event or some other subsystem to have initialized
15:23
<
Ermine >
and probably those subsystems depend on build configuration
15:24
<
heat >
it also ties in nicely with drivers just registering a INIT_LEVEL_DRIVERS(rtl8139_init); and things Just Working
15:24
<
EuclidDivision >
I changed my linker script to
15:24
<
EuclidDivision >
```
15:24
<
EuclidDivision >
. += 20480;
15:24
<
EuclidDivision >
PROVIDE(kernel_stack_for_kernel_use = .);
15:24
<
EuclidDivision >
```
15:24
<
EuclidDivision >
As can be seen, even now the program does not seem to ever reach breakpoint 3 and the cursor just blinks.
15:28
<
Ermine >
anybody with relatively new amd gpu, could you please send me contents of /sys/kernel/debug/dri/1/amdgpu_dm_capabilities ?
15:29
<
nikolar >
mall supported: no, enabled: no
15:29
<
nikolar >
sub-viewport supported: no, enabled: no
15:29
<
zid >
supported no enabled yes would be more fun
15:29
<
Ermine >
nikolar: thank you
15:29
<
nikolar >
> AMD Radeon 840M Graphics [Integrated]
15:30
<
nikolar >
rdna3 something something iirc
15:30
<
heat >
same for my AMD Radeon 780M
15:30
<
heat >
i'll check in a bit on my desktop
15:32
<
nikolar >
mall supported: yes, enabled: no
15:32
<
nikolar >
sub-viewport supported: yes, enabled: no
15:33
<
nikolar >
i think that's AMD Ryzen 7 7700X
15:33
<
nikolar >
i mean AMD Radeon RX 7800 XT
15:34
<
Ermine >
seems like dGPUs have this kind of thing
15:37
EuclidDivision has quit [Quit: Client closed]
15:38
<
GeDaMo >
I have mall supported: no, enabled: no; sub-viewport supported: no, enabled: no on 5700g iGPU
15:38
<
zid >
good news btw I finally beat the uma finale race
15:38
<
zid >
I am a horse girl master
15:43
<
heat >
nikolar: nvidia suspend is borked btw
15:43
<
heat >
but that's the only problem i have with nvidia
15:43
Left_Turn has quit [Ping timeout: 260 seconds]
15:43
Turn_Left has joined #osdev
15:58
<
nikolar >
i can't use my laptop if suspend is broken for example
15:59
<
heat >
my laptop (with a much older nvidia GPU) doesn't have problems
15:59
<
heat >
it might be that it's just too new
15:59
<
nikolar >
yeah probably
16:00
<
nikolar >
i had issues with with my laptop on lts
16:00
<
nikolar >
on mainline, works fine
16:04
karenw has quit [Ping timeout: 252 seconds]
16:13
Left_Turn has joined #osdev
16:15
Turn_Left has quit [Ping timeout: 260 seconds]
16:21
<
Ermine >
suspend is a pain point on linux
16:21
<
Ermine >
my pc had problems with it recently
16:21
<
Ermine >
laptop panicked on unsuspend
16:22
<
zid >
suspend is for evil monsters true fact
16:22
<
Ermine >
issues arise, then go away, then new bugs come, etc
16:26
<
zid >
when are we replacing acpi with a string table pointing to some ebpf
16:41
<
heat >
Ermine: the 9900X's igpu has no for everything as well
16:42
<
heat >
why are you kek'ing? just because you have a threadripper? smh
16:59
<
Ermine >
threadripper's igpu doesn't have mall either
17:00
<
Ermine >
heat, GeDaMo: thank you
17:00
<
AmyMalik >
zid, that obsoletes all other OSes
17:02
<
heat >
EFI EFI EFI EFI EFI
17:03
<
zid >
Ameisen: Tragic
17:03
* Ermine
gives pog a piece of cheese and efi firmware
17:17
itrsea has quit [Remote host closed the connection]
17:17
itrsea has joined #osdev
17:24
edr has joined #osdev
17:40
* geist
mysteriously keks, their true intentions unknown
18:20
Turn_Left has joined #osdev
18:23
Left_Turn has quit [Ping timeout: 248 seconds]
18:26
goliath has quit [Quit: SIGSEGV]
19:09
tjf has quit [Quit: l8r]
19:10
tjf has joined #osdev
19:57
goliath has joined #osdev
20:36
gmodena has joined #osdev
20:38
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
20:49
goliath has quit [Quit: SIGSEGV]
20:58
itrsea has quit [Remote host closed the connection]
20:58
itrsea has joined #osdev
21:04
Shaddox404 has joined #osdev
21:06
<
heat >
i'm adding flushing support on the block stack
21:06
<
heat >
it turns out i'm not doing this, and this is bad, mkay
21:07
<
heat >
i have to ask at work but i'm curious wrt the performance difference of FUA'ing all writes vs normal writes + flushing at the end
21:07
<
nikolar >
> it turns out i'm not doing this, and this is bad, mkay
21:07
<
heat >
yeah it is bad, mkay
21:08
<
heat >
for DATA CONSISTENCY
21:08
<
nikolar >
thus, lol
21:08
<
heat >
it's not that much of a biggie, usually
21:08
<
nikolar >
keyword usually
21:10
<
heat >
that's why i want to fix it
21:10
<
nikolar >
well fix it
21:10
<
nikolar >
you're welcome
21:10
<
heat >
you're cut out to be a manager
21:10
<
nikolar >
i know right
21:11
<
nikolar >
but i can't unleash that talent on the world, so i'll stay as a programme
21:13
vdamewood has quit [Quit: Life beckons]
21:20
netbsduser has quit [Ping timeout: 260 seconds]
21:35
gmodena has joined #osdev
21:46
karenw has joined #osdev
22:05
frkazoid333 has quit [Ping timeout: 276 seconds]
22:19
Shaddox404 has quit [Quit: (╯°□°)╯︵ ┻━┻]
22:31
xenos1984 has quit [Ping timeout: 248 seconds]
22:32
xenos1984 has joined #osdev
22:39
jcea has joined #osdev
22:52
Turn_Left has quit [Read error: Connection reset by peer]
22:57
Lucretia has quit [Remote host closed the connection]
23:19
V has joined #osdev
23:24
V has quit [Quit: We're here. We're queer. Connection reset by peer]
23:37
freakazoid332 has joined #osdev