Benjojo has quit [Read error: Connection reset by peer]
mxshift has quit [Read error: Connection reset by peer]
paulbarker has quit [Read error: Connection reset by peer]
nohit has quit [Ping timeout: 268 seconds]
seds has quit [Read error: Connection reset by peer]
philpax_ has quit [Read error: Connection reset by peer]
SanchayanMaity has quit [Read error: Connection reset by peer]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
mxshift has joined #osdev
philpax_ has joined #osdev
dutch has quit [Quit: WeeChat 3.3]
dutch has joined #osdev
mxshift has quit [Ping timeout: 264 seconds]
philpax_ has quit [Ping timeout: 268 seconds]
dmj` has joined #osdev
mxshift has joined #osdev
geist has joined #osdev
philpax_ has joined #osdev
theruran has joined #osdev
nohit has joined #osdev
SanchayanMaity has joined #osdev
ElectronApps has joined #osdev
isaacwoods has joined #osdev
[itchyjunk] has quit [Ping timeout: 245 seconds]
[itchyjunk] has joined #osdev
seds has joined #osdev
paulbarker has joined #osdev
Benjojo has joined #osdev
CryptoDavid has joined #osdev
srjek|home has joined #osdev
eryjus has quit [Ping timeout: 250 seconds]
nyah has quit [Quit: leaving]
eryjus has joined #osdev
eryjus has quit [Read error: Connection reset by peer]
eryjus has joined #osdev
CryptoDavid has quit [Quit: Connection closed for inactivity]
tacco has quit [Remote host closed the connection]
wootehfoot has joined #osdev
CaCode- has joined #osdev
CaCode_ has quit [Ping timeout: 256 seconds]
wootehfoot has quit [Ping timeout: 245 seconds]
gdd has joined #osdev
k0valski186 has quit [Ping timeout: 268 seconds]
<klys_>
having significantly less free time means I may be looking for something like littlekernel but with acpica and hoping someone else may have developed it.
ElectronApps has quit [Remote host closed the connection]
smeso has quit [Quit: smeso]
gxt has quit [Remote host closed the connection]
<vin>
Is there a way to introduce fixed latencies to your stores and loads?
<klys_>
presumably you're using paging? does the latency include time for a page fault?
<kazinsal>
as in, make each load always take exactly X ms?
<kazinsal>
or I guess us or ns
<vin>
No add X us to loads and stores
gxt has joined #osdev
<Mutabah>
For what purpose?
<vin>
Mutabah: this is to mimic RDMA calls
<vin>
so I need my stores and loads to be slower than actual
<Mutabah>
But why?
<Mutabah>
(Short of disabling caching on a region of memory, I don't know of any way of changing access latency)
<Mutabah>
But maybe you don't need to?
smeso has joined #osdev
<vin>
I don't have ready access to RDMA so I want to emulate it.
<Mutabah>
But why does the timing matter?
<klys_>
what's rdma?
<kazinsal>
remote direct memory access
<kazinsal>
tech for zero-copy networking
<Mutabah>
Ah, wait, you want to profile with those access costs?
<vin>
That's correct Mutabah
<klys_>
are there two or three free projects out there with acpica?
[itchyjunk] has quit [Read error: Connection reset by peer]
ecs has quit [Ping timeout: 268 seconds]
ecs has joined #osdev
justyb11 has quit [Quit: Leaving]
arahael has quit [Ping timeout: 260 seconds]
raggi has quit [Quit: No Ping reply in 180 seconds.]
raggi has joined #osdev
arahael has joined #osdev
vin has quit [Quit: WeeChat 2.8]
dmh has quit [Remote host closed the connection]
CaCode_ has joined #osdev
<geist>
klys_: it's pretty easy to work with acpica
CaCode- has quit [Ping timeout: 256 seconds]
<geist>
could fairly easily port it to LK
<geist>
what are you looking to do with it?
<geist>
i was just thinking about tossing together a acpi lite library, just enough to parse the trivial tables (ones not involving bytecode interpretation)
<kazinsal>
yeah, that's be handy for a lot of folks to get a leg up
<geist>
but, we had acpica in zircon for a long time, and i remember it wasn't hard at all to port. just have to provide some stub routines for locks and whatnot and bobs your uncle
<kazinsal>
because while it's good to know that kind of stuff, ACPI is just... a pain
<geist>
yah i started a 'acpi lite' library for zircon a while back, wrote it in C and then it was converted to fancy C++
<geist>
but can go into history and grab the C version of it before it was complified
<bslsk05>
fuchsia.googlesource.com: 645dbffdfbf52f72491187a1c59af1a677e3dd00 - fuchsia - Git at Google
<geist>
think i might pull this over right now..
<klange>
I just want battery status, but that's complicated stuff...
<kazinsal>
I think there's some bytecode involved there yeah
<kazinsal>
that's one of the really annoying things about ACPI imo. you need to evaluate bytecode for so many little things
<kazinsal>
get AC status? bytecode. shut the computer off? bytecode. interrupt routing on the IOAPIC? ooh, you better believe that's a bytcode
<sham1>
The fact that one needs the AML for even doing something "simple" like shutting down the computer is silly
<sham1>
Although now I'm wondering if one could readily JIT AML
<sham1>
Probably not, but it'd be funny
<klange>
toaruos will get an AML interpreter eventually...
<klange>
random anecdote: should one look at the history of kernel/arch/x86_64/smp.c in my git repo, one will find that it was previously called kernel/arch/x86_64/acpi.c before I said "screw it, I just need the madt and I'm outta here"...
<sham1>
Meanwhile I need to deal with a different type of bytecode... I can't even compile this though since this Java I need to study for my work is too darn ancient
xenos1984 has quit [Quit: Leaving.]
<kazinsal>
gonna start planning the 64-bit rewrite of my kernel core tonight I think
<kazinsal>
I'm now on vacation until the 22nd so I've got plenty of time to fiddle around with osdev stuff
geist has quit [Ping timeout: 256 seconds]
ZetItUp has joined #osdev
geist has joined #osdev
mach`` has joined #osdev
<Ermine>
klange: do you plan writing your own interpreter or use acpica
mach`` has quit [Quit: q]
<geist>
noice. i got acpi_lite working
<geist>
will polish this up and get it in the build
<kazinsal>
rad
eschaton has quit [Quit: ZNC 1.8.x-git-16-0982d826 - https://znc.in]
ecs has quit [Read error: Connection reset by peer]
ecs has joined #osdev
dzwdz has quit [Ping timeout: 264 seconds]
YuutaW has quit [Ping timeout: 260 seconds]
YuutaW has joined #osdev
<geist>
it is still written in lightweight C++, but can be converted back to C fairly easily. mostly jsut static casts and whatnot
<bslsk05>
github.com: lk/lib/acpi_lite at master · littlekernel/lk · GitHub
<geist>
basically probes around and finds the ACPI tables and then gives you an ability to iterate over some of the basic ones. more tables can easily be added
CaCode has joined #osdev
CaCode_ has quit [Ping timeout: 256 seconds]
xenos1984 has joined #osdev
<geist>
ugh, the MCFG table is described in the PCI Firmware specification
<kazinsal>
huh. don't think I've ever actually read that one
<geist>
which seems to be behind PCI SIGs password protection
kspalaiologos has joined #osdev
<kazinsal>
aaaand that would be why
<geist>
it doesn't look complicated, but it basically just has a single entry that says 'yer pcie config table is here'
<geist>
looks like it's documented on the osdev wiki, so *shrug*
geist has quit [Read error: Connection reset by peer]
theruran has quit [Ping timeout: 256 seconds]
philpax_ has quit [Ping timeout: 268 seconds]
mxshift has quit [Ping timeout: 256 seconds]
dmj` has quit [Ping timeout: 264 seconds]
SanchayanMaity has quit [Ping timeout: 268 seconds]
paulbarker has quit [Ping timeout: 240 seconds]
Benjojo has quit [Ping timeout: 256 seconds]
geist has joined #osdev
nohit_ has joined #osdev
seds has quit [Ping timeout: 256 seconds]
nohit has quit [Ping timeout: 268 seconds]
nohit_ is now known as nohit
CaCode has joined #osdev
CaCode has quit [Remote host closed the connection]
CaCode has joined #osdev
wleslie has quit [Quit: ~~~ Crash in JIT!]
lg has joined #osdev
CaCode_ has joined #osdev
CaCode has quit [Ping timeout: 264 seconds]
lg has quit [Read error: Connection reset by peer]
lg has joined #osdev
ThinkT510 has quit [Quit: WeeChat 3.3]
ThinkT510 has joined #osdev
geist has quit [Ping timeout: 268 seconds]
nohit has quit [Ping timeout: 260 seconds]
[itchyjunk] has joined #osdev
geist has joined #osdev
CaCode_ has quit [Quit: Leaving]
nohit has joined #osdev
Benjojo has joined #osdev
wizzo has joined #osdev
srjek|home has joined #osdev
dutch is now known as SweetLeaf
gproto23 has joined #osdev
ElectronApps has quit [Remote host closed the connection]
gproto23 has left #osdev [Leaving]
mxshift has joined #osdev
wootehfoot has joined #osdev
elastic_dog has quit [Ping timeout: 268 seconds]
elastic_dog has joined #osdev
edro is now known as edr
wootehfoot has quit [Quit: Leaving]
C-Man has joined #osdev
mahmutov_ has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]
pretty_dumm_guy has joined #osdev
dude12312414 has joined #osdev
xenos1984 has quit [Quit: Leaving.]
c2a1 has joined #osdev
SweetLeaf is now known as Spikeheron
k0valski18 has joined #osdev
qookie has joined #osdev
tacco has joined #osdev
X-Scale has quit [Ping timeout: 246 seconds]
X-Scale` has joined #osdev
X-Scale` is now known as X-Scale
freakazoid333 has joined #osdev
sortie has quit [Remote host closed the connection]
sortie has joined #osdev
freakazoid333 has quit [Ping timeout: 246 seconds]
immibis has joined #osdev
lkronnus has quit [Ping timeout: 256 seconds]
lkronnus has joined #osdev
xenos1984 has joined #osdev
FreeFull has joined #osdev
<qookie>
hi, so i got pcie working on the rpi4 to the point where i can enumerate the devices and access the config space, but trying to access the xhci's bar (after allocating it before) yields an serror
<qookie>
does anyone habe any ideas how i can approach this?
<j`ey>
it has some quirks, so you should probably look at another OS, to see how it handles it
<clever>
qookie: there are 2 traps on the pi4, first is that the ECAM is wonky, and second is the vl805 firmware may be missing
<clever>
qookie: do you know if the vl805 eeprom is present or not?
<qookie>
clever: yeah i already experienced ecam being wonky (and worked around it by doing the same linux does, not enumerating anything but the first child on the downstream port)
<qookie>
i also told the firmware to upload the vl805 fw via the mbox property interface, but i'm not sure if that 100% worked
<clever>
i believe that must be done after you assign an address to each BAR
<qookie>
that is the case here
<clever>
if the vl805 eeprom is present, you can also skip that mailbox call
<bslsk05>
imgur.com: Imgur: The magic of the Internet
Ermine has joined #osdev
<qookie>
oh yeah my board has it
<clever>
qookie: when you configure the xhci scratch space (as the specs explain), the vl805 will copy its own firmware from flash to host ram, and then begin executing that firmware
<clever>
it doesnt have enough ram to hold its own firmware (lol), so it has to steal some host ram
<clever>
but then RPF decided to save 25 cents on each board, and just ditch that spi chip
<clever>
so some non-standard code has to be side-loaded into the vl805, to make it load firmware that is already in ram
<clever>
that spi chip is how the vl805 "just works" when used as a pci-e card on x86, with nothing more then the standard xhci drivers
<qookie>
ah
<qookie>
well my problem is that i get an serror on the very first read the driver does (reading CAPLENGTH)
<qookie>
ig i have to dig through the linux code some more
<clever>
yeah, that sounds like you cant even set the scratch space up
<clever>
of note, the pci-e controller on the bcm2711, has some inbound and outbound window setup
<clever>
which kinda acts like an iommu
<qookie>
yeah i do that, but i could've misread the linux driver or made a typo
<qookie>
would be nice if i had an actual datasheet and not just the linux code but oh well :^)
<clever>
i'm dealing with the exact same issue in the 2d subsystem
<clever>
dumping the config that the closed firmware did, reveals it doing things that the linux drivers claim isnt valid
srjek|home has quit [Ping timeout: 264 seconds]
<qookie>
typical broadcom :^)
<chibill[m]>
I am having issues just getting interrupts xD (on x86) Really need to get some more experience at this stuff. (Also trying to decide if I should transfer into Long Mode before I do anything or not.)
<Bitweasil>
chibill[m], unless you've got some explicit reason not to, step 1 ought to be get into long mode, and then step 2, everything else.
<Bitweasil>
You avoid a LOT of the weird historical complexity that way.
<chibill[m]>
I wonder if I can get the multiboot header to drop me into long mode.
<qookie>
clever: looks pretty odd and cool at the same time, do you have any clue as to why that happens?
<clever>
qookie: well, for one, i wrote a 17bit int into a 16bit field...
wootehfoot has joined #osdev
<qookie>
lol
<chibill[m]>
ouch
<clever>
capping it doesnt help though
<clever>
ok, so when its glitching, the scale factor is 0x9e41 (a 5.16bit fixed-point int)
<clever>
0x9e41 / (1<<16) == 0.6181793212890625
<clever>
so the source image is ~61% the size of the output image
<clever>
and doing x * 0.61 will give you an x coord within the source image, but it glitches out
wootehfoot has quit [Remote host closed the connection]
<clever>
the linux source did say that this mode was only for downscaling, and this is upscaling...
<clever>
let me implement the proper upscaling mode...
<chibill[m]>
I think I am going to hang out in Protected Mode for now, so I can figure out how to set everything up properly. As I am still figuring out how to set up my IDT.
<chibill[m]>
Currently I have a kernel that is basically a lightly modified Bare Bones C Kernel. (I reworked the console output a bit to make it better.)
<Bitweasil>
Seems reasonable.
* Bitweasil
kind of wants a Frame.Work laptop but has no use for one and shouldn't own modern hardware.
freakazoid343 has joined #osdev
<gog>
the spec i want is $2849
<j`ey>
I'll take two
<gog>
doesn't have a discrete graphics option tho
<gog>
that's kindof a dealbreaker for me rn
<gog>
also the fact that i don't have $2849
<gog>
plus whatever customs makes me pay in tariff
<gog>
XD
<j`ey>
gog: any luck re: job?
<gog>
nothing.
<gog>
well, sort of
<gog>
it's a part-time store clerk job
<j`ey>
better than nothing
<gog>
better than nothing and the manager is a cool guy
<j`ey>
does the manager need an OS?
<geist>
same: re framework laptop
<geist>
though i didn't think they went that expensive
<geist>
also right now if i got an x86 laptop i'd want a zen based one
<gog>
geist: i picked the highest spec plus the 4TB nvme
<gog>
but also i agree
<gog>
i'd actually like a zen APU
<gog>
with actually good integrated graphics unlike intel :p
<gog>
also i absolutely do not need 4TB of storage
<gog>
it's not like i'm making videos
<gog>
unless...
<chibill[m]>
I think I got my IDT working, just need to figure out the proper way to configure the PIC and I should be able to test it properly.
CaCode has joined #osdev
<qookie>
chibill[m]: why not test it with something like "int 3" or division by zero?
<Bitweasil>
^^
<Bitweasil>
You can induce faults that go through the IDT without external interrupts.
<Bitweasil>
gog, if I'm going to do anything that requires that much storage, I'll either use externals, or a good desktop. I don't need 4TB on a laptop.
<Bitweasil>
And if I *did*, I'd probably be fine with "slow" storage for it.
<Bitweasil>
What's the issue with discrete graphics? The new Intel stuff is tolerable for desktop use, same as it's always been.
<Bitweasil>
Hardware accelerated cursors and other modern features like that.
<qookie>
my intel hd graphics 4000 is still working fine for me :^)
<Bitweasil>
But for that money, if you're not opposed to it, you could get a M1 laptop of some variety that would be a lot quicker.
<Bitweasil>
My... hrm.
<gog>
Bitweasil: gaymes
<Arsen>
qookie becomes an irc regular part 1
<Bitweasil>
I've got... is 965 the old chipset stuff that's used on the Atoms?
<c2a1>
How can HD 4000 do chrome even
<c2a1>
Yes
<qookie>
it working fine
<Bitweasil>
At some point, you just treat it as a framebuffer-to-monitor driver. :p
<Bitweasil>
What generation is the HD 4000 in?
<qookie>
7th iirc
<qookie>
ivy bridge
<Bitweasil>
... what graphics *does* this laptop have? *pokes*
<Bitweasil>
Oh, new stuff.
gog has quit []
<c2a1>
Ivy bridge is like 2011 if I'm not wrong
<Bitweasil>
I thought it was a bit newer.
<Arsen>
2013?
<Bitweasil>
Maybe it's the same era as this netbook.
<Arsen>
>From April 29, 2012 to June 5, 2015
<Bitweasil>
I've got an Atom D525.
<c2a1>
Bitweasil, what kind of computer are you using
<Bitweasil>
Ok, that sounds right for Ivy. IIRC that was the first gen with unrestricted guest support.
<c2a1>
Oh
<Bitweasil>
er, which one?
<Bitweasil>
Right now, a RasPi4.
<c2a1>
I used an atom n270 and it moved at a snails pace.
<Bitweasil>
This netbook is an old ASUS netbook, D525, "Intel Corporation Atom Processor D4xx/D5xx/N4xx/N5xx Integrated Graphics Controller."
<Bitweasil>
Oh, certainly.
<c2a1>
It can do regular opengl even so I could probably put that to the test if I werent likely going homeless soon
<Bitweasil>
The Pi4 however is not portable.
<Bitweasil>
In a useful sense of the word.
freakazoid343 has quit [Ping timeout: 246 seconds]
<clever>
Bitweasil: pi400?
<Bitweasil>
Doesn't have a monitor.
<Bitweasil>
I have a perfectly good little ARM laptop too.
<Bitweasil>
But some of what I have to do when I'm mobile is better served by x86 and a physical ethernet port.
<c2a1>
Pinebook?
<Bitweasil>
Pro, yeah.
<c2a1>
Oh that's cool.
<Bitweasil>
It's my daily driver in the house, but I don't have good x86/WINE translation going on it, and some of the network admin tools I use are x86 (Winbox).
<bslsk05>
'Finally! A Raspberry Pi Linux Tablet that works!' by Jeff Geerling (00:26:30)
<Bitweasil>
So I keep the old netbook around for that, and it's actually... if not, fast, tolerable with Linux and Win10.
<Bitweasil>
lulz, you should know better than to link me to a video.
gog has joined #osdev
<Bitweasil>
This box has neither sound nor working video at the moment.
<c2a1>
Do you have anything more powerful?
<Bitweasil>
Yeah, but I feel dirty using them.
<c2a1>
I had a MacBook air but I lost it in transit.
<Bitweasil>
I've got an ODroid N2+ desktop... ;)
GeDaMo has quit [Remote host closed the connection]
<Bitweasil>
I actually have some more modern x86 stuff.
<Bitweasil>
I've got a... oh, what's in it...
<c2a1>
Its GPU was giving me errors though. Overheated memory probably.
<Bitweasil>
Skull Canyon NUC?
<c2a1>
Who knew steam games could kill a laptop
<Bitweasil>
i7-6770HQ?
<c2a1>
Apple used to have notoriously bad laptop build quality and now they're hailed for it
<Bitweasil>
And I've got a tolerable recent desktop in the house, maybe 8000 something or other Intel? I should replace it.
<Bitweasil>
8700K, maybe?
<Bitweasil>
And an old 980 GPU.
<Bitweasil>
But I feel dirty using modern computers of the fast x86 variety.
<Bitweasil>
Even though nothing actually works on ARM. :(
<c2a1>
Heh most open source linux packages do
<Bitweasil>
Node stuff still really struggles with AArch64 builds.
<j`ey>
as in, node.js?
<Bitweasil>
So I don't have Signal, Element is iffy (no native stuff gets built so search doesn't work), Spotify is a problem (ncspot is OK but has some weird issues with garbling audio badly), etc.
<Bitweasil>
Yeah.
<Bitweasil>
:/
<Bitweasil>
"The environment in which everything is written anymore."
freakazoid12345 has joined #osdev
<Bitweasil>
I also have a couple x86 servers that are fairly powerful.
<Bitweasil>
But could replace at least one of them with a little ARM box, if I could bolt enough storage in.
<Bitweasil>
(An 8 core ARM box with 32GB or 64GB RAM, for not "custom server" prices, would solve a lot of my problems)
<Bitweasil>
A bunch of X2 cores or something.
<j`ey>
(and not apple :P)
<c2a1>
Are they cheaper than x86 servers usually
<Bitweasil>
Right now, no.
<c2a1>
I'd buy an arm based Xserve comeback
<Bitweasil>
... yeah, and not Apple. Unfortunately, "Win10 VMs" are something I make use of.
<Bitweasil>
For DRM stripping ebooks and such.
<c2a1>
Then power efficiency is the only selling point right now
<Bitweasil>
I disagree.
<Bitweasil>
Anandtech has done quite a few reviews, and in a lot of workloads, not only are the ARM servers more power efficient, they're absolutely faster.
<c2a1>
What are the others?
<Bitweasil>
It depends a bit on your workloads, but for stuff that's not single thread performance bound, the high core count ARM boxes really put in a good showing.
<c2a1>
Heh
<c2a1>
Amd could do better
<Bitweasil>
Their recent high core count chips are pretty solid too.
<Bitweasil>
I'm just over x86... unless someone wants to pay me a lot.
<Bitweasil>
ARM is ugly too.
<Bitweasil>
I honestly think I'm burning out of low level tech and computers entirely.
<c2a1>
How is an isa ugly lol
<c2a1>
They're all ugly trust me
<Bitweasil>
I'm in ARMv7 at the moment.
<Bitweasil>
It's the worst of all the ARM worlds from what I hear. Lots of banked registers and stuff hacked in.
<Bitweasil>
"Bolt it on and ship it!" style stuff.
<c2a1>
x86 for one is actually the ugliest
<c2a1>
Forgot what channel I was in
<Bitweasil>
Trade you for the horrors of the ARMv7 MMU, dealing with banked registers for monitor/hypervisor/os/user, both secure and non, if implemented. That's a mess. :(
<Bitweasil>
x86 is ugly as well.
<Bitweasil>
But in some ways, ARMv7 has "more crap bolted on."
<Bitweasil>
Supposedly ARMv8 cleans up a lot of it, but I've not started reading that reference doc yet.
<Bitweasil>
And I'm at the other end, I'm writing emulators, so I have to implement the stuff in software.
<Bitweasil>
You can ignore a lot of the ugly if you're just writing an OS for it.
<chibill[m]>
<Bitweasil> "What's the issue with discrete..." <- I have a dislike of their handling of drivers for Windows. My sandybridge had issues on Win10. Xd