karenw has quit [Quit: Deep into that darkness peering...]
asarandi has quit [Quit: WeeChat 4.5.2]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
goliath has joined #osdev
agent314 has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
ZetItUp has quit [Ping timeout: 256 seconds]
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Client Quit]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
asarandi has quit [Quit: WeeChat 4.5.2]
asarandi has joined #osdev
asarandi has quit [Read error: Connection reset by peer]
asarandi has joined #osdev
GeDaMo has joined #osdev
ring0_starr has quit [Ping timeout: 260 seconds]
Haven0320 has quit [Ping timeout: 256 seconds]
netbsduser` has quit [Ping timeout: 248 seconds]
fgarcia has quit [Read error: Connection reset by peer]
Lucretia has joined #osdev
Haven0320 has joined #osdev
fgarcia has joined #osdev
Haven0320-2 has joined #osdev
Haven0320 has quit [Ping timeout: 258 seconds]
ZetItUp has joined #osdev
agent314 has quit [Ping timeout: 245 seconds]
agent314 has joined #osdev
gog has joined #osdev
dude12312414 has joined #osdev
dude12312414 has quit [Client Quit]
gog has quit [Client Quit]
gog has joined #osdev
Gooberpatrol_66 has joined #osdev
Gooberpatrol66 has quit [Ping timeout: 260 seconds]
Left_Turn has joined #osdev
marr-ales-fios has joined #osdev
<Ermine>
geist: does lk boot off u-boot on armv7-a or does it run by itself?
<geist>
either, depends on how the project/target/platform wants to run
<geist>
like if it's a bootloader it would not require somethin gin front of it
<Ermine>
oic
Turn_Left has joined #osdev
<geist>
in general it assumes nothing at all from the previous state, unless you set it up so that it does (ie, parsing FDT, ACPI, etc for particular platforms)
marr-ales-fios has quit [Remote host closed the connection]
Left_Turn has quit [Ping timeout: 255 seconds]
marr-ales-fios has joined #osdev
agent314 has quit [Ping timeout: 256 seconds]
marr-ales-fios has quit [Remote host closed the connection]
marr-ales-fios has joined #osdev
agent314 has joined #osdev
<Ermine>
ok thanks
marr-ales-fios has quit [Quit: Konversation terminated!]
marr-ales-fios has joined #osdev
c0co has quit [Read error: Connection reset by peer]
marr-ales-fios has quit [Remote host closed the connection]
marr-ales-fios has joined #osdev
marr-ales-fios has quit [Remote host closed the connection]
marr-ales-fios has joined #osdev
marr-ales-fios has quit [Client Quit]
gog has quit [Quit: byee]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 260 seconds]
sentinel1980 has joined #osdev
agent314 has quit [Ping timeout: 248 seconds]
xenos1984 has quit [Read error: Connection reset by peer]
<heat>
yeah lk is/was the bootloader for (IIRC) qualcomm SoCs
<heat>
on stuff like android phones, etc
chromoblob has quit [Ping timeout: 258 seconds]
chromoblob has joined #osdev
<Ermine>
lk can be everything
<pog>
there's a bit of geist everywhere
<pog>
always with us in our hearts and pockets
chromoblob has quit [Read error: Connection reset by peer]
chromoblob has joined #osdev
xenos1984 has joined #osdev
Turn_Left has joined #osdev
agent314 has joined #osdev
Left_Turn has quit [Ping timeout: 260 seconds]
agent314 has quit [Ping timeout: 258 seconds]
<nikolar>
how does he fit in our pockets
<pog>
carefully
<pog>
but i mean lk
<heat>
pog pog pog pog pog pog pog pog pog
<pog>
heat heat heat heat heat
<heat>
bazonga
<pog>
bazel
<FireFly>
pog: your heart runs lk?!
<heat>
my heart runs openindiana
<pog>
FireFly: my heart can run 5k, but not much more
<FireFly>
i see :o
<pog>
:P
sentinel1980 has quit [Quit: Client closed]
<nikolar>
heat: ILLUMOS
<FireFly>
ah I need to go for a run again soon
chromoblob has quit [Ping timeout: 260 seconds]
chromoblob has joined #osdev
chromoblob has quit [Ping timeout: 260 seconds]
mm_x_ has joined #osdev
bauen1 has joined #osdev
marr-ales-fios has joined #osdev
jcea has joined #osdev
marr-ales-fios has quit [Quit: Konversation terminated!]
marr-ales-fios has joined #osdev
karenw has joined #osdev
mm_x_ has quit [Quit: Konversation terminated!]
chromoblob has joined #osdev
chromoblob has quit [Read error: Connection reset by peer]
chromoblob has joined #osdev
karenw has quit [Quit: Deep into that darkness peering...]
karenw has joined #osdev
agent314 has joined #osdev
karenw has quit [Quit: Deep into that darkness peering...]
karenw has joined #osdev
jimbzy has joined #osdev
marr-ales-fios has quit [Ping timeout: 255 seconds]
marr-ales-fios has joined #osdev
marr-ales-fios has quit [Remote host closed the connection]
chromoblob has quit [Ping timeout: 258 seconds]
chromoblob has joined #osdev
goliath has quit [Quit: SIGSEGV]
ZipCPU has quit [Ping timeout: 258 seconds]
ZipCPU has joined #osdev
agent314 has quit [Ping timeout: 258 seconds]
agent314 has joined #osdev
karenw has quit [Ping timeout: 258 seconds]
foxdrodd has joined #osdev
chromoblob has quit [Read error: Connection reset by peer]
chromoblob has joined #osdev
\Test_User has quit [Ping timeout: 245 seconds]
\Test_User has joined #osdev
da5id has joined #osdev
agent314 has quit [Ping timeout: 260 seconds]
chromoblob has quit [Ping timeout: 248 seconds]
chromoblob has joined #osdev
jcea has quit [Ping timeout: 245 seconds]
karenw has joined #osdev
goliath has joined #osdev
da5id has quit [Quit: WeeChat 4.7.1]
ring0_starr has joined #osdev
xenos1984 has quit [Ping timeout: 252 seconds]
xenos1984 has joined #osdev
netbsduser` has joined #osdev
rez has joined #osdev
bauen1 has quit [Ping timeout: 260 seconds]
chromoblob has quit [Read error: Connection reset by peer]
chromoblob has joined #osdev
bauen1 has joined #osdev
rez has quit [Quit: much snoozes...]
xenos1984 has quit [Ping timeout: 245 seconds]
karenw has quit [Quit: Deep into that darkness peering...]
pogchamp has joined #osdev
xenos1984 has joined #osdev
pogchamp is now known as gog
<geist>
gosh i hope LK isn't part of some pacemaker software
<geist>
(i'm sure it isn't)
<heat>
how are you sure
<heat>
anyway how does lk follow the cyber resilience act
<heat>
do you want an email about that? or 10
bauen1 has quit [Ping timeout: 248 seconds]
<Ermine>
geist: fwiw i was asking in personal capacity
<geist>
sure
<geist>
basically it is highly portable to various platforms, and generally the core OS doesn't care how it was booted, it's up to the platform specific code to deal with how it was loaded, either by assuming there's some firmware or a specific handoff, or not
<geist>
so some platforms basically are hard coded to boot on one thing and assume nothing, whereas some of them read things like FDT or ACPI to get info about it
<geist>
definitely makes things more complicated, but it's a hidden complexity that's not terribly obvious but i think one of the reasons various folks use it for projects
<gog>
if i ever need a pacemaker i'm going to demand that it runs lk
<gog>
lk or death
<zid>
and*
da5id has joined #osdev
DoubleJ5 has joined #osdev
nagitsu_ has joined #osdev
noeontheend_ has joined #osdev
arminweigl_ has joined #osdev
sm2n_ has joined #osdev
Ram-Z_ has joined #osdev
stux|away has joined #osdev
wantyapps_ has joined #osdev
Whooa21 has joined #osdev
bliminse has quit [Ping timeout: 248 seconds]
sm2n has quit [Ping timeout: 248 seconds]
JTL has quit [Ping timeout: 248 seconds]
koolazer has quit [Ping timeout: 248 seconds]
nagitsu has quit [Ping timeout: 248 seconds]
qookie has quit [Write error: error:80000068:system library::Connection reset by peer]
gmodena has quit [Write error: error:80000068:system library::Connection reset by peer]
XgF has quit [Remote host closed the connection]
wantyapps has quit [Read error: Connection reset by peer]
noeontheend has quit [Read error: Connection reset by peer]
alice has quit [Read error: Connection reset by peer]
stux has quit [Ping timeout: 248 seconds]
arminweigl has quit [Ping timeout: 248 seconds]
FireFly has quit [Ping timeout: 248 seconds]
nagitsu_ is now known as nagitsu
noeontheend_ is now known as noeontheend
arminweigl_ is now known as arminweigl
GreaseMonkey has quit [Read error: Connection reset by peer]
FireFly has joined #osdev
Ram-Z has quit [Read error: Connection reset by peer]
KitsuWhooa has quit [Read error: Connection reset by peer]
<heat>
> add all sorts of image decoder libs, use GOP plot
<heat>
> watch it work
<heat>
> a few months later, get 5 CVEs
<jimbzy>
That sounds like something I'd come up with, gog. XD
<gog>
jimbzy!
<jimbzy>
Gog!
<gog>
howdy what's shakin
<sbalmos>
replace init and systemd with clauded, just tell the kernel to write its own drivers and userspace
<gog>
heat: i'm actually about to look at what i need to ship libjpeg
<jimbzy>
Not a whole lot, so I figured I'd pop in and see how my IRC fwends were doing.
<jimbzy>
How have you been?
<gog>
struggling, but i have a big holiday coming up
<jimbzy>
Score!
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<gog>
yes
chromoblob has quit [Ping timeout: 256 seconds]
<jimbzy>
The last couple of weeks were rough, but I see light at the end of the tunnel. I just hope it's not a locomotive. :P
<gog>
choo choo
<geist>
funny i spent like an hour yesterday trying to figure out why 16k page support wasn't working in LK (hadn't tested it in a while, made it a real target now)
<geist>
kept manually walking through page tables, looking at all the bits set in control regs, etc
<geist>
turns out i had set qemu to emulate a cortex-a53
<geist>
which has no 16k page support
<jimbzy>
That'll do it.
chromoblob has joined #osdev
<geist>
anyway so now i have a proper target for 16k and 64k page support. works like a champ
<heat>
i've been enabling hugetlb support for onyx
<heat>
it's annoying
<heat>
basically every codepath that works with ptes also needs to take into account other page table levels
<geist>
so i think i decided that the strategy that looks complicated but is actually really flexible for iterating page tables is the one the arm64 code in LK uses (was contributed by someone at google years ago)
<geist>
insted of precomputing or whatnot computing things like how many levels to go, what size each page is at each level
<geist>
it just recursively drills into the walker routines passing through in power of 2 things like the page size shift, and how many remaining bits of vaddr to deal with
<geist>
so it naturally arrives at the terminal level and/or computes the higher page sizes from that
<heat>
yeah i take the linux strategy of having a preset number of page table levels, some of them may not exist
<geist>
it also can per address space use different page sizes, since the only two runtime constants it needs is the base page size shift and how many bits are in the aspace, which sets how far it needs to drill to get to the bottom
<geist>
it ends up being very clean and dynamically can handle different page sizes and different aspace sizes
<bslsk05>
github.com: lk/arch/arm64/mmu.c at master · littlekernel/lk · GitHub
<geist>
can use some general more modern code cleanup, but its perfectly functional, since it only needs 12/48 at the top (for 4k pages with 48 bits of aspace)
<bslsk05>
github.com: Onyx/kernel/include/onyx/x86/include/platform/pgtable.h at master · heatd/Onyx · GitHub
<bslsk05>
github.com: Onyx/kernel/kernel/mm/memory.c at master · heatd/Onyx · GitHub
<heat>
FULLY SHARED
<heat>
GEIST IN SHAMBLES
<geist>
yeah it's written in a pure C style with declarations up on top, etc
<geist>
omg you're inflicting stuff like PMD, P4D, etc on the rest of the architectures?
<heat>
YESSIR
<geist>
that's the part i haaaate about x86. call it level 1, 2, 3, 4 like it is
<heat>
YOU JUST GOT PUD'ED
<heat>
the best part is that these acronyms have no real meaning
<heat>
they were just made up by linux
<geist>
even ARM is stupid in their docs, they call it 0, 1, 2, 3 from the top down. what happens when they added 5 layers? they call it -1
<geist>
groan
<heat>
pte table (yes, page table entry table)
<heat>
page middle directory
<heat>
page upper directory
<heat>
then they gave up and p4d'd
<geist>
and p5ded
<geist>
i think those are in the intel docs
<heat>
not yet
<geist>
the PUD was added when they added the third level? or what did intel call it?
<heat>
PDPT
<gog>
PDPT
<gog>
jinx
<geist>
oh yeah that. i haaaaate that
<gog>
it's dumb on 32-bit PAE
<geist>
i think i mostly excised that from my x86 PT code in LK, but it was originally contributed by intel
<heat>
for x86 it's PT, PD, PDPT, PML4, PML5
<geist>
and.... turns out it was not very good
<geist>
but yeah if you're actually having the PTs be a core structure it makes sense to pull it up into mm
<geist>
i'd just suggest calling it somehting like LEVEL N
<gog>
i think in my code i just call them PMnE
<gog>
or some branch of experimental code
<gog>
idk, having different names for different levels is kinda silly
<geist>
agree
<geist>
i think theonly real reason ARM gives them an official name is when you take a page fault exception it actually puts it in a field of the ESR at what level it occurred
<geist>
so it has to be codified what levels mean
<gog>
no i just call them PTEs regardless of level
<geist>
oh totally, i prefer to just have them be PT at level X
<geist>
and PTE is an entry at any level
<heat>
you can't really call them all PTEs because some architectures have very weird page table layouts
<heat>
that differ
<geist>
my general pref is to refer to PT level 0 as the terminal level, if you walk all the way, and based on how many levels you have enabled (3, 4, 5) you start at level N and walk towards zero
<zid>
PDPTPDE OR RIOT
<heat>
like x86, or x86 PAE as even worse
<geist>
and then based on what mode you're in or how many bits you have enabled, etc you start at level N which is easy to calculate
<gog>
it's a little annoying on x86 because the 0th level indexes 12 bits but every level above 9
<zid>
Guys, what is your consensus on array names being plural or singular
<geist>
that might get into an american vs UK english thing too
<zid>
I like that computer[i] is singular
<geist>
since plural names are treated differently in lots of cases
<zid>
but int computer[] is wrong
<heat>
plural honestly
<geist>
i would generally do plural yeah
<heat>
you're indexing into "computers"
<heat>
not indexing into "computer"
<zid>
They're both wrong, for different things
<zid>
computer[i] -> ith computer
<heat>
now, int computer = computers[i];
<heat>
now that is nice
<geist>
yah i have been okay with it being singular but i can't tell you the context that looks 'correct'
<zid>
I always flip flop around
<zid>
depending on whether I care more about the set or the element at the time
<geist>
'collective nouns' is i think the term
<zid>
so if the code has lots of computer[i] I will end up naming the array computer
<geist>
ie, a noun that refers to a collection of things. UK and american english tend to treat them differently
<zid>
but if I like, only memcpy it, it's 100% computers
<zid>
geist: There's one veyr small difference, and it's whether a company is plural or singular
<geist>
you hear it in some cases on sports teams and other stuff
<geist>
it always sticks out to me when i hear the UK version
<heat>
oh yes
<geist>
of course the american 'attorneys general' also sounds weird every time i hear it
<zid>
v
<zid>
In British English (BrE), collective nouns can take either singular (formal agreement) or plural (notional agreement) verb forms, according to whether the emphasis is on the body as a whole or on the individual members, respectively
<heat>
the manchester united football club
<heat>
vs oakland raiders or golden state warriors
<zid>
so maybe this makes me CARE more
<zid>
but american still makes the same distinction here
<zid>
heat: exactly
<gog>
kernels linux
<heat>
the linux kernels
<geist>
heat: well that's where it is weird, americans generally treat companies as singular
<geist>
but teams as plural huh. never noticed that. but the plurality of teams is generally baked into the name
<zid>
apparently tne NYT does treat teams as plural
<zid>
even if singular in form
<geist>
yah but it's baked into the name so hard to tell. it's perhaps just a tradition
<bslsk05>
github.com: sophia/api/kernel/memory/paging.h at main · adachristine/sophia · GitHub
<gog>
idk what these macros even mean anymore
<heat>
yeah but the UK does not do that
<heat>
nor does any other country i can think of, at least in europe
<geist>
though there are some counterexamples: the seattle Kraken
<geist>
we dont call it plural. it's The Kraken
<zid>
Looks normal gog
<gog>
maybe
<heat>
also US sports teams are always expected to be prefixed with a "the"
<heat>
so the kraken, or the miami heat, or the heat, or the warriors
<zid>
They heat.
<geist>
oh theres another example: the heat
<geist>
but i think that's a case of if it's a collective noun that refers to something a bunch of people are part of: plural
<zid>
I think this is all backformed though
<heat>
The heat is looking to offload terry rozier because he's old
<heat>
s/is/are/
<bslsk05>
<heat*> The heat are looking to offload terry rozier because he's old
<zid>
things are singular in american -> so the names are singular
<heat>
versus Manchester United is looking to offload Mason Mount because he sucks ass
<zid>
are
<geist>
right, also you say something like 'apple is going to release a new ipad' in american english
<zid>
Apples is would just look weird
<zid>
so things have to be Apple
<heat>
zid: i think i've heard it both ways
<zid>
heat: probably
<geist>
yah as is apple are. i hear it if listening to BBC or something
<gog>
Apples Macintosh
<zid>
"In British English (BrE), collective nouns can take either singular (formal agreement) or plural (notional agreement) verb forms, according to whether the emphasis is on the body as a whole or on the individual members, respectively"
<gog>
or Apple Macintoshes
<geist>
funny i pointed it out to folks t work the other day and they had never noticed it (UK style)
<zid>
That one *should* be are, but some people don't care about the difference
<zid>
like the difference between less and fewer, or good and well
<zid>
Americans, mainly
<heat>
gog: Linuses Torvald
<geist>
well and good i think has something to do with it being an adjective or an adverb
<zid>
geist: good is just what superman does
<geist>
but less and fewer i dont see much of a diff
<zid>
well is what you did
<gog>
i'm the insufferablypedantic type who once the distinction was pointed out to me, i started to correct people on their use of less vs fewer
<zid>
I've never not had the distinction
<geist>
makes sense
<geist>
aaaanyway, i think i as pointing out that maybe the collective noun thing applies to arrays
<zid>
but the thing I keep pasting agrees with me
<geist>
int heat[5];
<zid>
That it comes down to whether the heat is important, or the heats are important
<zid>
memcpy(heats) but heat[i]
<geist>
yep, i'm agreeing with you
<gog>
gog_t gogs[MAX_GOGS];
<geist>
though that's from a UK english point of view
<heat>
struct gog
<zid>
Another thing for the pile of 'english is a bad language for programming', like it being SOV
<zid>
instead of OSV
<geist>
but english is SVO
<zid>
err SVO*
<zid>
tyop
<geist>
yah
<zid>
png_kill is the correct namespacing, but the natural grammar is kill_png
<zid>
so we should just program in a language that puts object first
<zid>
and then everything will namespace without me having to think
<gog>
class GogFactory(IOptions<GogFactoryOptions> options){}
<bslsk05>
'2 Minute Deep Acid in Strudel (from scratch)' by Switch Angel
<geist>
looks like a fun language
<gog>
oh yeah my wife showed me this the other day
<zid>
one thing I have ruthlessly stolen from american grammar
<zid>
is gotten
<gog>
the fusion of synthesizers and programming
<gog>
the joke writes itself
<heat>
zid: there's a really great linuxism there
<heat>
do_kill_png
<heat>
and then obviously __do_kill_png and ____do_kill_png
<heat>
and __do_kill_png_noprof_node
<zid>
BrE distinguishes "in future" ('from now on') from "in the future" ('at some future time'); AmE uses "in the future" for both senses.
<zid>
TIL
<geist>
for which word pair was this?
<jimbzy>
All I learned this weekend is that 3D printing is more complicated than 2D printing.
<zid>
idk, ink jets are pretty magic
<zid>
Thankfully they come pre-calibrated and there's been tens of billions of print-heads sold
<zid>
to get the price down and the design refined
<jimbzy>
I imagine it'd be easier if my printer had documentation. My buddy built this one a few years ago and didn't bother documenting anything.
<zid>
You're what's known as an 'alpha tester'
<zid>
enjoy
karenw has joined #osdev
<gog>
in the year 3000... in the year 3000
<geist>
yah both of those phrases are valid in american english, it's just probably not used much in everyday english
<geist>
or at least in situatios where the precision isn't necessary
Haven0320-2 has quit [Ping timeout: 256 seconds]
<geist>
well okay if someone said 'in future' it would sound like they left out 'the'
<geist>
i think you might hear something like 'starting now' maybe
tigerbrother has quit [Quit: Ping timeout (120 seconds)]
tigerbrother has joined #osdev
Haven0320 has joined #osdev
<kof673>
foo_p[] i generally have taken to _p and _pp etc. void * vp struct bar * bar_p that is neither hither nor thither re: plural or singular
<kof673>
array? never heard of 'em
<heat>
hungarian notation
<kof673>
yeah, i am just not consistent/formalized
<kof673>
i horribly "mark" stuff up so that scripts can know types, but that is not related to names. names is just for the coder, there is no enforcement :D
Lucretia has quit [Remote host closed the connection]
bauen1 has joined #osdev
jcea has joined #osdev
<gog>
ioctl or more syscalls
da5id has quit [Quit: WeeChat 4.7.1]
gog has quit [Quit: byee]
Turn_Left has quit [Read error: Connection reset by peer]