<geist>
also a new feature is you can set the background color of your profile, so if you have more than one you can tweak the color which helps you discover them
<geist>
but yeah what window a click pops up on is really annoying
<geist>
doubleplus so when using focus-follows-mouse since it's frequently literally the last window that had any sort of focus
<geist>
i sometimes have to arrange the windows so that the mouse exits the one last. almost got that as an automatic thing for me
Benjojo has quit [Read error: Connection reset by peer]
Benjojo has joined #osdev
geist has quit [Ping timeout: 240 seconds]
<gorgonical_>
Man. Why qemu do this to me
geist has joined #osdev
<gorgonical_>
Apparently somewhere between qemu 2.11.1 and 6.0.0 they really improved nested virt for arm64. On a whim I built the new version and now IRQs are being delivered
paulbarker_ has quit [Ping timeout: 245 seconds]
<kazinsal>
yeah, three years of changes or so
<gorgonical_>
Well that's two days I spent banging my head into the wall lol
nyah has quit [Quit: leaving]
<j`ey>
gorgonical_: why such an old version anyway?
nyah has joined #osdev
Arthuria has joined #osdev
qookie has quit [Ping timeout: 268 seconds]
[itchyjunk] has quit [Ping timeout: 240 seconds]
<kazinsal>
iirc ubuntu hasn't updated their qemu repo in yeeeeeears
<kazinsal>
ah, my 20.04.2 LTS is showing 4.2 as the latest qemu
<kazinsal>
which was released december 2019
[itchyjunk] has joined #osdev
Burgundy has quit [Ping timeout: 245 seconds]
gog has quit []
gog has joined #osdev
nyah has quit [Ping timeout: 268 seconds]
PapaFrog has joined #osdev
Arthuria has quit [Ping timeout: 240 seconds]
ZetItUp has quit []
ZetItUp has joined #osdev
isaacwoods has quit [Quit: WeeChat 3.3]
ns12 has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.3]
ElectronApps has joined #osdev
MiningMarsh has quit [Ping timeout: 268 seconds]
MiningMarsh has joined #osdev
<geist>
huh you learn something every day. the voice actor doing Silco on Arcane is a programmer and the founder of Symphony OS
<geist>
which is of course some linux distro but interesting anyway
<geist>
jason spisak
<geist>
(i finished arcane last night, so a bit infatuated with it for a while, bear with me)
dude12312414 has joined #osdev
<kazinsal>
it's really good
<geist>
oh absolutely
<kazinsal>
like, if you told me a couple years ago that a league of legends animated TV show on netflix would be one of the best pieces of media released in 2021 I wouldn't believe you
<kazinsal>
but here we are
<kazinsal>
desperately waiting for season 2
<geist>
yah and after an actual good Dune movie too
mctpyt has quit [Remote host closed the connection]
<zid>
nah tss addr is spread all over this damn thing it's annoying
<j`ey>
oh ok, I dunno any x86 details
<zid>
segment limit 0:15, base address 0:15, base 16:23, type, 0, dpl, P, limit 16:19, avl, 0, 0, G, base 24:31, base 32:64, resv, 0, resv
<zid>
those are the bits in order >_<
<zid>
okay yea so I think I was building the tss struct incorrectly but in a way that didn't matter until code churn happened to move things around such that this missing address byte got used
<zid>
I should have just re-made the struct for the TSS, and unioned it with a normal GDT entry
<zid>
but instead I just hand-packed the TSS into a GDT entry, and apparently can't count
<zid>
but yea, Effectively it was doing 'IRQ stack should be located at kernel_stack & 0xFFFFFFFFFFF0FFFF
GeDaMo has joined #osdev
<j`ey>
gg on finding it
<zid>
wasn't *too* bad once I sat down to do it
<zid>
but I could have been here a loong time if I hadn't noticed those addresses being very subtly different, like if it had the wrong number of 00s or somethign that'd hav ebeen hard
Oshawott has joined #osdev
archenoth has quit [Ping timeout: 265 seconds]
scoobydoo has joined #osdev
<kazinsal>
erf. thinking about throwing together a replacement for my old and shambly SB-E xeon box, but while Ryzens aren't that expensive, ones with a proper number of cores don't have any onboard graphics, and even barely-more-than-a-framebuffer cards are unobtanium...
[itchyjunk] has joined #osdev
<MelMalik>
oh...
<zid>
kazinsal: does it have ecc udimms in it by any chance? :)
<zid>
I need some for my sb-ep xeon box
<kazinsal>
my current one? yeah, it's a, uh
<moon-child>
kazinsal: network graphics!
<kazinsal>
I'm not even sure what to call this thing honestly
<bslsk05>
www.ebay.co.uk: 16 GB 4x4GB DDR3 PC3-10600U 1333MHZ NON ECC UNBUFFERED 240 PIN PC RAM WARRANTY | eBay
<zid>
oh scammed by ebay search again nevermind
<zid>
70% of the listings are "non ecc" which makes me want to stab people in the eyes
<kazinsal>
zid: bad news, they're registered
<zid>
rip
<zid>
Thanks for checking
<zid>
That's more like it, 1600MHz ECC UDIMMs, 32GB, £139
<kazinsal>
16x 4 GB DDR3-1600 ECC RDIMM
<moon-child>
zid: wait, 140 gbp for a single dimm??
<zid>
for four
<zid>
8x4
<moon-child>
oh, ok
<moon-child>
oh, nevermind
<moon-child>
i thought you meant 4 32gb sticks
<zid>
I've seen single dimms go for £12 sometimes, but even £48 is kinda dumb just to change a desktop from 2010 to ecc
<zid>
and you'd have to find 4 matching listings
<kazinsal>
well that's... bizarre. event log on one of my VMs is reporting events as occurring on October 3, 2032... but the current time on the VM is correct
<MelMalik>
that's like
<MelMalik>
+11 years
<GeDaMo>
Isn't that when 32 bit timer wraps?
<kazinsal>
That's 2038
<GeDaMo>
Ah
<kazinsal>
aaaaaaaaand this is a Windows machine which has been NTP synced since I installed it so... bwah
<kazinsal>
anyways, as to why I need video output... most AMD boards seem to have realtek NICs instead of Intel ones, and in order to use a realtek NIC on ESXi, you need to install the driver package, which means you need access to the console via either the physical console or via SSH, and SSH isn't going to work if you don't have a NIC driver
<zid>
GT210?
<zid>
GT710
<kazinsal>
yeah, just gotta find one.
<MelMalik>
is there no USB NIC you can use temporarily with ESXi to install the driver over ssh?
<klange>
failed to awaken while blocked on a read of its IPC socket
<klange>
and sure enough I have a pretty obvious, but apparently exceptionally rare (laptop's been sitting here chugging along for... 8 days, 6 hours, 40 minutes), case where that can happen...
dzwdz1 has quit [Ping timeout: 260 seconds]
dzwdz1 has joined #osdev
<MelMalik>
klange: Wayland compositor, or the compositor on Toaru?
jjuran has quit [Quit: Killing Colloquy first, before it kills me…]
<klange>
toaru
jjuran has joined #osdev
dzwdz1 has quit [Ping timeout: 240 seconds]
dzwdz1 has joined #osdev
<MelMalik>
oh
gog has quit [Quit: byee]
nyah has joined #osdev
sdfgsdfg has joined #osdev
Arthuria has joined #osdev
_xor has quit [Ping timeout: 268 seconds]
Burgundy has joined #osdev
pretty_dumm_guy has joined #osdev
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` has joined #osdev
X-Scale` is now known as X-Scale
qookie has joined #osdev
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<gog>
zid do you want to start a cryptocurrency with me
<zid>
nftcoin
<gog>
yes
<zid>
It's a coin that can only be traded for NFTs, and the NFTs are pictures of coins
dutch has quit [Quit: WeeChat 3.3]
<gog>
yes
<heat>
coinft
<jjuran>
coinception
sprock has quit [Quit: brb]
<zid>
*stuffs face with kebab meat*
<jjuran>
If you do that to another to prevent someone from talking, is it a shush kebab?
<zid>
if you tell that joke again, I'll shush kebab you, permanently
<jjuran>
But I didn't tell it often — only once
dutch has joined #osdev
<geist>
zid: re: concerning being helpful. slight suggestion, try to be a little more helpful
<geist>
i'd like us to be a higher tier of helpful than the discord channel
<zid>
I blame gog
<zid>
I posit he already quit before I suggested bill bryson
<gog>
zid was acting under my bad influence
<geist>
now now you two
<geist>
do you two enable each other? do I need to move you to other sides of the classroom?
<gog>
that would be for the best i think
GeDaMo has quit [Remote host closed the connection]
sprock has joined #osdev
<geist>
made a little more progress on the pci stuff, but i'm finding myself getting more and more trapped in the api design cycle instead of pushing through and getting shit done
<zid>
geist gog is making faces at me
<gog>
geist zid is making lewd gestures at me
<geist>
if i send you both back to the supply room will you get it out of your system?
<zid>
kinky
<zid>
gog: bring the wallpaper paste
<gog>
lol
<geist>
so also, maybe it's because i can find it at work, but i was surprised to see that almost all of the pci docs are behind a paywall
<geist>
seriously folks
<zid>
yea they are
<zid>
it's annoy
<geist>
i have some but they're early 2000s era pci
<geist>
not that the basics aren't essentially the same, at least as far as programming is concerned
<gog>
how else is the PCI-SIG supposed to make money
<geist>
I'm sure if i poke around I can get full versions from work but they're probably watermarked, etc
c2a1 has joined #osdev
<heat>
haha google search go brrrrrr
<gog>
i wonder if libgen has it
<heat>
i think libgen only has books
<gog>
first result is a book that has a lot of technical details
<geist>
i did some lightweight grepping of the internet but didn't find much. also predictably the osdev wiki has essentially no links to pdfs
Vercas8 has joined #osdev
<heat>
I have pcie from 2010
<heat>
rev 3
Vercas has quit [Remote host closed the connection]
Vercas8 is now known as Vercas
<geist>
yah that's precisely the one i have too
<geist>
and the plain PCI spec v3
<geist>
though it's only part of it, it mostly discusses the electrical/mechanical and then gives somewhat of an overview of the configuration space, but says there's another doc for firmware and whatnot
<geist>
which makes sense, it doesn't describe how to configure a bus, just what he configuration looks like
<zid>
yea I hate docs like that
<zid>
they're all I ever seemingly find, too
<zid>
"ah good, a register list and stuff" "wait, how do I *use* any of this info"
<geist>
well, it quite specifically mentions that with pci v3 they broke the doc into multiple files
<geist>
and it points you at the other one
<heat>
may I introduce you to intel GPU docs
MrBonkers has joined #osdev
givemeyourpies has joined #osdev
<heat>
has anyone here tinkered with the Raspberry Pi Zero 2W?
<heat>
it looks cute and powerful enough to be used for smaller purposes (even osdev) and it's super cheap
<zid>
osdev and pi in same sentence, you're going to summon clever
<zid>
does it still have mailboxes and a closed gpu
Oli has joined #osdev
<j`ey>
its the same soc as rpi3 I think
<heat>
zid, probably?
<zid>
I don't wanna osdev on it then
<heat>
it's also the only rpi I can possibly have right now
<heat>
because the 4B is completely out of stock
<heat>
waiit I can also get the pico but that one just looks sad
<j`ey>
pico is cortex-m
<heat>
a riscv board would be cute but those are soo overpriced and availability is low
<gog>
is github working for anybody else
<heat>
for the price of a rpi 4B you can get a 32-bit riscv IMAC board (so, no floating point)
<j`ey>
no gog
<gog>
hm i was able to sign in but nothing else is happening
<heat>
yeah it's dead
<heat>
ping works tho
<zid>
I got github to load a page, now it won't
srjek has joined #osdev
sdfgsdfg has joined #osdev
heat_ has joined #osdev
k0valski18 has quit [Ping timeout: 250 seconds]
heat has quit [Ping timeout: 250 seconds]
not_not has joined #osdev
<not_not>
hi all
<geist>
heya
<not_not>
so im either gonna make my first kernel for arm cores on raspberry pi
<geist>
cool. which pi in particular? there's a wide variety of cores across the entire line
<not_not>
or im gonna make my first kernel for multicore x86 descendants
<geist>
and it makes a substantial difference how you go about it
<not_not>
ye i know
<not_not>
3b+ i guess
<not_not>
arm was first system i ever programmed on alone in my life so nostalgic
<geist>
okay, so 3b+ is a cortex-a53. ARMv8 core, with 64 and 32bit modes
<geist>
which are you interested in (I recommend 64bit)
<not_not>
mhm
<not_not>
64 bit ofc
<geist>
perfect
<not_not>
always go for the future
<heat_>
x86 is also fun btw
<geist>
depending on how much you already know about arm32 it may be a bit of an adjustment, since arm64 is fairly different
<not_not>
yeah i only really written shellcode in x86 asm never been close to metal
<geist>
but in general an improvement everywhere, *except* i'd argue the ISA is a bit less 'fun' to program in
<geist>
okay
<klange>
x86 is weird and quirky but we have so much more community documentation for it that's way easier to parse than SDMs
<klange>
unrelated, I've had this remote shell going for a few days on a laptop with over eight days of uptime: https://klange.dev/s/Screenshot from 2021-11-28 08-10-37.png
<bslsk05>
klange.dev: 404 Not Found
<not_not>
i mean like an x86 os kernel would be more fun but i dont have so many x86 computers around that i can code on it without 90% of the time is spendt rebooting
<heat_>
a big advantage of x86 is that it runs almost everywhere you go
<klange>
ah that uh did not copy with the spaces correctly
<heat_>
you can even do firmware development mostly inside a hypervisor, no need to constantly reboot
<not_not>
heat_: ye, going to, just got my old linux harddrives over on the new cheap computer that came preinstalled with windows
<not_not>
are hypervisors hardware driven?
<heat_>
hm?
<geist>
generally speaking nowadays (vs 10-15 years ago) they have hardware assist, yes
<heat_>
they use your CPU's features to accelerate emulation
<klange>
The terms hypervisor, emulator, and virtual machine are all overloaded and interconfused.
<j`ey>
theyre software that ues special hw features
<gog>
hypervisors can leverage hardware capabilities to be transparent to the os
<geist>
right
<gog>
but there are also (older) systems that are hypservisor-aware
<not_not>
well ye, thats why im doing the ARM first, its so nice and neat
<gog>
let me rephrase, there is older hardware on which a hypervisor requires a compatible OS
<not_not>
i feel x86 is so old and thus has to be backwards compatible with so much stuff it perhaps can prevent it in ever thinking outside the box?
<klange>
Old stuff like Xen that used various tricks, but not actual 'hardware virtualization' features, and required the guest OS be aware it was running in the hypervisor...
<gog>
yes xen
<gog>
for example
heat_ is now known as heat
<not_not>
i NEVER used a virtual machine in my life sorry
<geist>
so, fun thing you can do with your 3b+: install linux on it and then use it's hardware virtualization features to actually run 'bare metal' on top of QEMU on top of KVM
<geist>
much the way most folks run virtualized hardware on x86
<not_not>
ahh, but i want controll of the hypervizor
<geist>
what do you precisely mean there?
<gog>
a guest system can know the hypervisor is there and communicate with it
<not_not>
like from the get go my os will BE the hypervizor
<gog>
but in modern environments it doesn't have to know
<geist>
ah, well. while that's a laudible goal
<not_not>
and not take kindly to other hypervizors there
<geist>
may i suggest a bit smaller scope for your first stab
<heat>
why do you want to be a hypervisor as well?
* gog
mutters "it's hypervisors all the way down"
<geist>
that requires a *substantial* amount of architecture knowledge, though it is a bit conceptually simpler on armv8
<heat>
ITS RINGS ALL THE WAY DOWN
<not_not>
like if a hacker has put a hypervizor and runs my os in a blue pill attack
<klange>
Nested virtualization is a thing so you can test being a hypervisor while being in a hypervisor.
<klange>
Turtles for everyone!
<not_not>
geist: im ok about substansial architecture knowledge
<geist>
i'm not sure you are aware of the amount of unknown unknowns you're dealing with there
<heat>
not_not, there are a lot of ways to hide a hypervisor
<not_not>
ye
<heat>
it's *hard hard* to consistentely know if you're inside one
<geist>
writing a hypervisor that's 'hidden' is basically impossible now, i wouldn't worry about it too much
<geist>
you can tell in any number of ways that are nonmaskable
<kazinsal>
hypervisors are terrifyingly complex beasts
<geist>
heat: i disagree. honestly just doing timing analysis and noticing the cpu goes out to lunch when it vmexits is a perfectly good tell
<heat>
geist, if you know what you're targetting you can bypass all sorts of detections
<geist>
i dont know there's a way to mask that
<not_not>
well im not that about "hiding" it, im more about the os running inside the hypervizor KNOWS its MY hypervisor and not some hackers hypervisor
<gog>
who in here was working on a hypervisor as their masters thesis? was it graphitemaster?
<j`ey>
gorgonical
<geist>
gorgincal
<geist>
yah
<gog>
ah ok
<klange>
all you g names look the same
<geist>
they were having interrupt injection issues the other day, but alas it was like 3am here
<gog>
oof
<j`ey>
geist: they were using qemu 2.1
<j`ey>
geist: switched to qemu 6 and it worked lol
<geist>
ooh okay, that makes sense
<gog>
aaay problem solved
<geist>
yeah 2.1 was probably jsut the start of serious arm64 support
<gog>
that's an ancient version jeez
<j`ey>
sorry 2.11
<geist>
ah that's more recent, but still
<geist>
not entirely surprised
<geist>
i thnk the zircon one is still officially based on 2.11 (or was) and stuff is always getting back ported to make it go
<j`ey>
not_not: anyway, the point is to start with a kernel, not a hypervisor
<not_not>
but ye i never even used a VM to host multi oses as a user before so i have 0 in depth knowledge about hypervizing (but i DO know how a CPU works, interrupts, stacks)
<not_not>
j`ey: ye ur right prolly
<geist>
correct. highly recommend. lots of folks here are quite experienced with kernel dev, but generally consider hypervisor dev to be a whole nother level
<kazinsal>
man I don't even trust large vendors to get hypervisors right sometimes
<not_not>
ill go for the arm 64 bit for raspberry pi
<geist>
a KVM like thing on top of an existing kernel is conceptually simpler, but it's because the kernel is already written
<geist>
which a proper type 1 hypervisor would basically be anyway
<geist>
reminds me a lot of that 'how to draw an owl' thing
<not_not>
ye i could start writing a working kernel today and only google to look stuff up, cuz i know what paging is, execution contexts, interrupt handlers all that stuff as a concept and im "somewhat" familliar with how that pans out in hardware
<not_not>
but hypervisors are way more interesting
<geist>
right. key to all of this is there are a tremendous amount of details, and all of them matter
<not_not>
yes
<geist>
step 1: draw a circle
<not_not>
XD
<geist>
step 2: draw the rest of the fucking owl
<j`ey>
download the arm v8 manual
<geist>
anyway, not trying to dissuade you
<not_not>
nah im not desuaded by it it just inspired me
<geist>
absolutely not, just trying to make sure you know what you're getting into. mostly because i've seen countless people in the last 20 something years here that have bitten off more than they can chew and immediately get lost and frustrated and quit
<geist>
most folks that make good progress on osdev stuff it takes years, lots of constant progress
<not_not>
well, first off im set for life in cash never have to work for money again
<heat>
ok
<heat>
weird flex but ok
<not_not>
and im not planning on making a WHOOOOLE OS
<j`ey>
sick flex imo
<geist>
well, hop to it then! would recommend starting with qemu
<j`ey>
not_not: you mean you'd re-use a userspace or?
<geist>
on arm64 specifically i'd highly recommend starting with `-machine virt`
<not_not>
heat: didnt mean it so much as a flex, ur all programmers here if ur not set for life with cash cuz u wrote a while(1) loop that does small trades that get more than 0 dollars ur not interested in money :P
<geist>
it's a simple platform model, you can basicaly get a kernel working in like 20 minutes with that. no loader, no nonsense
<geist>
not_not: eh?
<kazinsal>
I touch datacenters for a living because if I wrote code for a living I feel like I'd end up hating doing it as a hobby
<geist>
kazinsal: that is real, indeed.
<heat>
not_not broke wallstreet
<not_not>
j`ey: firstly in this project im not even going to have multi user/programs, i just need one program that does a very specific task and need 100% controll over the wireless network driver and to ensure no traffic from that network driver overflows ANY buffer
<heat>
expensive trading systems << while(1) loop that does small trades
<geist>
i have some reason to believe that not_not is trying to build some sort of sploit here
<kazinsal>
not_not: planning on writing a router?
<not_not>
geist: no im not trying to build a sploit
<geist>
(wouldn't be the first time someone comes in here wanting precisely that)
<not_not>
kazinsal: almost
<not_not>
geist: writing an exploit?
<geist>
a few years back someone came in wanting to build a hypervisor. and turns out they just wanted to cheat in some game
<geist>
and the progression of questions went much like this :)
* klange
smells high frequency trading
<geist>
though, in your case you wanna do it on a rpi, so that is different :)
<not_not>
meh well if i find something exploitable sure ill write the exploit but main thing is i need this system not to be exploitable
* kazinsal
smells the same thing and lays down another 30 kilometres of spooled up fibre optic cables as a buffer
<geist>
step 1: remove the wifi chip
<not_not>
geist: oh the hypervisor thing is purely for evil
<kazinsal>
step 2: remove the power
<klange>
We're not big on evil here.
<geist>
ah, well then i'mnot sure i'm down with that
<kazinsal>
we're definitely in the Do No Evil category
<gog>
don't speak for all of us pls
<not_not>
hehhehehehhehe
<not_not>
nah i
<not_not>
i've done my share of e-terror in my past
<geist>
sure, but the channel itself doesn't particularly condone evil. if nothing else because it's publically logged, etc
<gog>
yes i'm kidding :p
<klange>
gog, you have demonstrated yourself to be the purest of us all so far
<heat>
pure and evil
<gog>
HAH
<not_not>
well the hypervisor is mainly to protect my own assets from evil
<heat>
tip: you can't protect shit
<kazinsal>
we are now entering the danger zone
<geist>
so anyway, be a little careful what you boast about and whatnot, in case you're actually successful at evil. okay
<not_not>
heat: im well aware
<klange>
other people on irc: expletives and rudeness
<klange>
gog: meow
<not_not>
but i can protect it against 2 bit thieves
<kazinsal>
who would win, a channel full of kernel hackers or one catgirl
<heat>
there are whole teams trying to be evil and whole teams trying to protect stuff from evil
<geist>
kazinsal: it's a trap!
<heat>
kazinsal, a channel full of catgirl kernel hackers
<gog>
geist: watch your mouth :p
<not_not>
wait did the hypervizor guy who came here to do evil in a game
<klange>
I am sure that geist did not mean the slur.
<kazinsal>
heat: the ultimate danger to my personal safety
<not_not>
say anything about wow 3.3.5 private server wotlk?
freakazoid12345 has quit [Ping timeout: 260 seconds]
<geist>
yah, they had some idea that they could actually build a transparent hypervisor under windows to cheat at some game
<geist>
oh gosh no
<not_not>
ok
<not_not>
well, hypervisor to wallhack sounds pretty smart actually
<kazinsal>
we write operating systems here, not game exploits
<gog>
klange: i know i'm just poking fun :p
<geist>
yah exactly
<heat>
kazinsal, it intersects somewhat
<gog>
geist is a good bean
<klange>
speak for yourself, I put a lot of effort into getting Doom cheats working again
<geist>
well, it was more that they had no idea what they were getting into
<geist>
though arguably everyone that starts off with osdev initially doesn't
<not_not>
ye but OS development should keep security and exploits in mind in the design phase
<kazinsal>
it's easy to think you can proactively secure your system
<kazinsal>
it's impossible to actually do so
<kazinsal>
unless you just remove the power cable
<not_not>
yeah i figured that much
<not_not>
yup
<gog>
i've been experimenting with osdev for like a decade now
<not_not>
oh?
<gog>
still have nothing to show for it
<klange>
kazinsal: not good enough, battery still working
<gog>
except a lot of failed experiments
<not_not>
gog nice
* kazinsal
desolders all the voltage regulators
<gog>
and knowing a lot about programming before i even got to uni
<not_not>
mhm
<geist>
yah i just stuck with it. didn't know shit for the first 5 years or so
<heat>
my whole project only exists because of sortie and bare bones / meaty skeleton
<kazinsal>
same
<gog>
klange on the other hand has a beautiful OS
<klange>
kazinsal: no good enough, stole your hard drive
<geist>
i'm just one tracked. still love to make bare metal hardware go, and happesn to be kernels fit the bill
<heat>
I would have given up way way way quicker
<geist>
and embedded stuff
<not_not>
aha
<not_not>
ye i love bare metal stuff
<kazinsal>
klange: well, if you've got physical access to my machine, I've already lost ;)
<not_not>
kazinsal: true
<geist>
in general kernel stuff is like fancy bare metal, so it ticks the same bit in my brain
<not_not>
like my pc is hacked NOW
<geist>
and the farther away from bare metal the less interesting it is to me
<geist>
web programming being the less interesting thing i can think of doing
<not_not>
i know this cuz i drew a picture before dinner of something someone from the game i suspected had some exploitable bug since its old
<not_not>
came back from dinner and he had drawn me new
<klange>
today I will try to beat Doom 2 on Ultra Violence without cheating or resuming after death.
<heat>
C#
<not_not>
but he managed to hide his traffic from wireshark
<heat>
the most boring language ever
<not_not>
heat: eww C#
<heat>
or Java
<heat>
java is probably worse tbh
<not_not>
god i hate Java
<not_not>
ye java way worse
<klange>
C# is actually a really nice language.
<klange>
And the JVM is a really nice platform.
<heat>
they're all nice languages just really really boring ones
<heat>
IMO of course
<klange>
Eh, Java is a demonstrably terrible language saved by its runtime environment.
<geist>
yah i have been around long enough to not particularly hate any given language as much as not prefer. it's a more nuanced opinion i'd like to believe
<geist>
but indeed, 'boring' is a good description of some stuff
<not_not>
well ill always say "asm, c, python3"
<geist>
i put java in the same bucket as things like Fortran or COBOL
<geist>
it lifts weight, but meh, no spark of inspiration
<heat>
the one time I've tried javascript I had fun, it's an OK language in terms of things you can quickly do
<klange>
Friendship ended with Python, now all my scripts are written in Kuroko.
<heat>
bad language tho
<kazinsal>
yeah, python suxxorz
<geist>
rust i'm not sure where i am with the relationship. its sparky and fun and low level enough, but then it sleeps slapping me and i'm not sure i dislike it?
<j`ey>
lol
<heat>
i write all my scripts in POSIX sh scripting 😎
<not_not>
rofl, im sorta kinda experimenting with a quantum programming language called: "not not"
<kazinsal>
I'm still a bit distrustful of a systems programming language with a modern framework oriented package infrastructure
wootehfoot has quit [Read error: Connection reset by peer]
<not_not>
where variables are not "x = 10"
<not_not>
but "x = not 10"
<kazinsal>
like, it's the kind of situation that'll eventually lead to kernel level projects getting npm poisoned
<heat>
is-long-mode
<not_not>
"x = not not 1"
<kazinsal>
where someone hijacks the "leftpad" crate and turns it into a bitcoin miner
<not_not>
OR you could for instance say "x = not not 2;" "x = not not -2"
<heat>
kernels don't/shouldn't use other packages
<heat>
in fact you usually can't unless that package is really portable
<not_not>
wich would be a valid way of saying x could be sqrt(4)
<not_not>
not is not an infinite boolean variable, but not is not not an infinite boolean variable either, and or or is included,instead of 0 or 1 being basic unit of information
<not_not>
not or not not
heat_ has joined #osdev
<not_not>
sec gonna get the arm8 manual
heat has quit [Read error: Connection reset by peer]
<geist>
kazinsal: agreed re: rust package stuff. that's an area i really need to grok before i'm comfortable
heat_ is now known as heat
<geist>
i'm always extremely leery of any magic build system stuff
<geist>
i have to know precisely what's going on
<not_not>
geist: same
<geist>
OTOH it does seem that you can fairly nicely build rust individual stuff and drop it into your C project just fine
<kazinsal>
yeah, my build system is complex enough that it's more shell than makefile at this point, and I can't imagine being able to replace it sanely with cargo
<geist>
i noticed one of the forks of my kernel is actually currently adding rust support to the build system, so now i've seen it done
<geist>
and it didn't seem like a lot of work
<geist>
so apparently they're going that way too
<heat>
fuchsia also works like that
<heat>
doesn't use cargo
<geist>
that's right
<not_not>
but ye decided to go fresh on rpi3,
<geist>
was about to say one of the big complexities of mixing rust and C languages are needing to autogenerate all these structures and whatnot to pass between
<heat>
linux is also integrating rust support I believe
<gog>
cargo cult
<geist>
that's a thing that a lot of the fuchsia build system does, but that's totally no my forte. but its bread and butter for a lot of folks, so yay for them
<heat>
not sure if they already have
<geist>
tons of IPC structure generation stuff for a bunch of languages and whatnot
<j`ey>
heat: not in mailine
<j`ey>
its in linux-next though
<not_not>
geist: im going for armv8 64bit
<geist>
which is the hidden cost of doing any serious microkernel work: at some point you end up spending time building some sort of IDL language stuff
<geist>
and that can be pretty complicated depending on where you go
<geist>
a few years back i dug into what minix and hurd did, and dissapointingly turns out it's all manually generated, and very C centric. but they're going for posix so makes sense
<not_not>
geist: u done any rpi os projects before and failed / suceeded and wanna give a young and promising wow deja vu
<geist>
heat: also the IDL stuff is one of the reasons the fuchsia build system rebuilds large swaths of code at the drop of a hat, any fiddling with something causes lots of code regen and then ripples out from there. especially rust, since it effectively does a LTO compile for everything
<heat>
FIDLing
<heat>
ba dum tss
<geist>
96 cores, 192GB ram! only way to do it
<not_not>
geist: should i MAINLY write the kernel in its native asm?
<kazinsal>
oh christ no
<geist>
not_not: negative. you should not. ideally you end up with maybe 100 lines of asm
<kazinsal>
that's a good way to end up in a padded room
<heat>
port bash and write it in bash
<geist>
but that does beg the question: what languages are you familiar with and want to write your kernel in?
sdfgsdfg has quit [Quit: ZzzZ]
<not_not>
geist: arm7tdmi 32 bit assembly and thumb, little x86 asm, C, python and rest of the programming languages i know
<not_not>
but asm and C
<geist>
okay, so any semi modern implem,entation of a kernel requires very very little asm, so that's good
<geist>
is also why it's fairly easy to write highly portable kernels
<not_not>
yeah but i dont want a portable kernel per say
<geist>
that's mostly an organization and modularity exercise, not an asm/etc thing