cashewlater has quit [Remote host closed the connection]
dude12312414 has joined #osdev
<jjuran>
Good news if you have mission-critical FizzBuzz requirements
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
bradd has joined #osdev
andydude has quit [Quit: andydude]
[itchyjunk] has quit [Ping timeout: 260 seconds]
[itchyjunk] has joined #osdev
<geist>
question: ages ago a topic came up in the channel re: which MMIO instructions you should pick on x86 for optimal KVM emulation
<MelMalik>
;-;
<geist>
iirc, there was some note somewhere that said something to the effect of 'if you use this simple MOV instruction form for register accesses, the emulation in the kernel has a fast path'
<geist>
i cannot find it yet, and have been tracing through the KVM emulator but dont see the special case
<Mutabah>
Might just be "pick the simplest form to reduce branching"?
<geist>
but iirc it was something like use 'mov %rax, [%rdx]' and 'mov [%rdx], %rax' for all MMIO accesses
<geist>
yah that's almost certainly the case anyway, like avoid complicated addressing modes and whatnot
<geist>
we just bumped into a case in zircon where darn clang was emitting a SSE XMM -> MEM move instruction for a MMIO write
<geist>
which libvirt and/or KVM threw up on and tossed a #UD
<geist>
there was a loop preceeding the register wwrite that was accumulating bits from multiple sources, and the darn compiler autovectorized it and did it in parallel, then shuffled the bits in a XMM register and tried to store it
<geist>
basically i have for years been getting awawy with volatile memory accesses for MMIOs but that day of reckoning is upon us
<geist>
*really* you should force all MMIO accesses through soe sort of inline asm to force the compiler to use precisely the instruction you want
<Mutabah>
and also reduce the chance of the compiler deciding to do a spurious read/write
<geist>
even on something like ARM the compiler is technically free to break it into multi read/writes though i think in practice no compiler will do so (yet)
SanchayanMaity has quit [Read error: Connection reset by peer]
SanchayanMaity has joined #osdev
geist has quit [Ping timeout: 264 seconds]
geist has joined #osdev
Oshawott has quit [Ping timeout: 264 seconds]
Mikaku has joined #osdev
andydude has quit [Quit: andydude]
ravan has joined #osdev
ElectronApps has quit [Remote host closed the connection]
ravan has quit [Quit: Leaving]
ravan has joined #osdev
scoobydoo has quit [Read error: Connection timed out]
mahmutov has joined #osdev
scoobydoo has joined #osdev
bgs has quit [Ping timeout: 268 seconds]
bgs has joined #osdev
scoobydoo has quit [Read error: Connection timed out]
scoobydoo has joined #osdev
bgs has quit [Read error: Connection reset by peer]
m3a has quit [Ping timeout: 260 seconds]
bgs has joined #osdev
gog has joined #osdev
ElectronApps has joined #osdev
scoobydoo has quit [Read error: Connection timed out]
scoobydoo has joined #osdev
GeDaMo has joined #osdev
mahmutov has quit [Ping timeout: 265 seconds]
dormito has quit [Quit: WeeChat 3.3]
vdamewood has quit [Quit: Life beckons]
scoobydoo has quit [Ping timeout: 268 seconds]
scoobydoo has joined #osdev
dormito has joined #osdev
mahmutov has joined #osdev
skipwich has quit [Ping timeout: 258 seconds]
skipwich has joined #osdev
dormito10 has joined #osdev
dormito has quit [Read error: Connection reset by peer]
xenos1984 has quit [Quit: Leaving.]
dormito10 has quit [Ping timeout: 264 seconds]
dormito10 has joined #osdev
Oli has joined #osdev
[itchyjunk] has joined #osdev
sprock has quit [Ping timeout: 245 seconds]
sprock has joined #osdev
dennis95 has joined #osdev
ahalaney has joined #osdev
dormito10 is now known as dormito
xenos1984 has joined #osdev
jjuran has quit [Ping timeout: 245 seconds]
mahmutov has quit [Ping timeout: 258 seconds]
[itchyjunk] has quit [Remote host closed the connection]
[itchyjunk] has joined #osdev
sprock has quit [Ping timeout: 264 seconds]
cheapie has joined #osdev
cooligans has joined #osdev
<cooligans>
Hello!
<cheapie>
I've noticed that at https://wiki.osdev.org/AHCI#Detect_attached_SATA_devices there is a claim that "there are four kinds of SATA devices". As far as I can tell, this is inaccurate as host-managed zoned drives (ATA ZAC, in this case) are considered to be their own type, with their own signature.
<bslsk05>
wiki.osdev.org: AHCI - OSDev Wiki
<cheapie>
If I'm correctly understanding the mapping between the fields and the way that code snippet handles them, the signature would be 0xABCD0101.
<cheapie>
I would edit it myself, but I'm not sure if it's been left out for a reason, and I'm not experienced enough with this sort of development to be sure I got it right.
cooligans has quit [Quit: Leaving]
srjek has joined #osdev
cooligans has joined #osdev
cooligans has quit [Ping timeout: 260 seconds]
jjuran has joined #osdev
help has joined #osdev
jjuran has quit [Remote host closed the connection]
jjuran has joined #osdev
<help>
Is this server always this empty, or is it just my wifi
help is now known as cooligans
<GeDaMo>
It's not empty!
<GeDaMo>
The activity level varies depending on time of day
<cooligans>
ooh
<cooligans>
I thought it was empty, since IRC is not like Discord
<cooligans>
Discord you can see how many people are online at a given time
<cooligans>
afaik you can't do that with IRC
<cheapie>
It's possible to mark yourself as away/not away, but most people don't bother.
<GeDaMo>
I can see a user list, 218 in this channel
<GeDaMo>
Your client may have a way of showing who's in the channel
<cooligans>
nvm, I found what you're talking about
<cooligans>
I can see 218 also
<junon>
Most servers give you the userlist and also server/network stats sometimes too
<junon>
Not mandatory per the spec thoug
<cooligans>
ok
<MelMalik>
on IRC everyone is online unless they're disconnected. If they're away, they get set away and some IRC software reflects that
<MelMalik>
if they're disconnected they don't receive messages
ElectronApps has quit [Remote host closed the connection]
Raito_Bezarius has quit [Ping timeout: 245 seconds]
ZipCPU has quit [Remote host closed the connection]
ZipCPU has joined #osdev
Raito_Bezarius has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]
mahmutov has joined #osdev
archenoth has joined #osdev
sprock has joined #osdev
cooligans has quit [Ping timeout: 264 seconds]
CryptoDavid has joined #osdev
gxt_ has quit [Ping timeout: 276 seconds]
gxt_ has joined #osdev
Benjojo has quit [Ping timeout: 244 seconds]
Belxjander has quit [Ping timeout: 244 seconds]
Benjojo has joined #osdev
<Bitweasil>
Yup. And even if they have a bouncer set up, that'll relay (most) stuff.
<junon>
irc is just a glorified transport protocol, typically plaintext as opposed to binary (there are some extensions/exceptions).
<junon>
What you do on top of it per-server is up to you. E.g. services (nickserv/chanserv/whatever) are just users on the network that have elevated privileges to the rest of the network, all of which is defined at the application level - not (entirely) by the IRC spec
<junon>
e.g. halfop and stuff I don't think is specified by IRC, but is just a widely accepted mode, since servers can also create custom modes and whatnot
<Ameisen_>
another interesting optimization test, based on an /r/cpp post
<Ameisen_>
don't ask for MSVC results (or ICC). They're both depressing.
<clever>
sometimes, the irc services (nickserv/chanserv) are not actually clients to an irc server, but rather a whole irc server, that lies about clients connected to it
<clever>
so those servers have direct control of the server<->server protocol
<clever>
services*
<junon>
MSVC doesn't even compile even for /std:c++latest
<junon>
curious, has anyone actually done any OSDev with MSVC compilers? I'm struggling to think how that'd work.
<junon>
Unless you (ab)use its native format or whatever, and then write a custom bootloader to be able to load it or something.
<Bitweasil>
The EFI firmware builds with MSVC, so...
<GeDaMo>
Presumably Microsoft do :|
<Bitweasil>
I've done plenty of work in that space with MSVC, I don't care for it (the lack of inline assembly in 64-bit is annoying).
CaCode has joined #osdev
<Bitweasil>
But it's not particularly painful, just carry around a intrinsics.h/intrinsics.S file that has leaf functions for all the crap you'd want to do in inline asm and it's fine.
<junon>
Yes :|
* Bitweasil
wanders off to go dig in the dirt.
<junon>
How do you do that? If intrinsic.h is just prototypes for the .S stubs, that's still incurring `call` overhead right?
<Bitweasil>
Yea.
<Bitweasil>
But those functions aren't doing anything with the stack, just "load value into rax and return."
<junon>
:| there's no optimizing assembler that I know of that could handle that gracefully
<Bitweasil>
For stuff like vmread, in/out, vmcall, etc.
<junon>
like, inlining intrinsics like that. It'd be nice to do that in a cross platform way, at least.
<junon>
Yeah I suppose. Still annoying.
<Bitweasil>
*shrug* When they're hardware specific, how do you cross platform them?
<Bitweasil>
What's "in" or "out" mean on ARM? Utterly nothing.
<Bitweasil>
The platform lacks the concept of port IO entirely.
<junon>
That's cross-arch for me, but my point was more the tools were cross platform
<Bitweasil>
Oh, ok.
<junon>
to be able to write intrinsics like that without needing inline asm, and still inline the .S stubs when they're used from C
<junon>
like macros almost, but done at codegen time
<Bitweasil>
I think Microsoft's answer is that you call the intrinsics, but they lack ring 0 intrinsics.
<Bitweasil>
So no idea what they do for Windows.
<Bitweasil>
Anyway, dirt, later! :D
<junon>
Probably hand written asm
<junon>
have fun with the dirt!
<graphitemaster>
Going to ask this here because I cannot find an answer anywhere in POSIX or UNIX
<graphitemaster>
write/send/sendto/what ever on a NONBLOCK socket will always transfer the whole thing right?
<graphitemaster>
Is it possible for it to write some of the bytes and return EAGAIN
<graphitemaster>
I know that is possible for read/recv/recvfrom/what ever
<bslsk05>
docs.microsoft.com: PE Format - Win32 apps | Microsoft Docs
<Ameisen_>
wouldn't be surprised if common tools could, I just wanted no dependencies
help has joined #osdev
Brnocris1 is now known as Brnocrist
<help>
junon: My osdev project that I am currently working on compiles under MSVC/GCC/Clang, but only runs under MSVC/Clang, I am working on getting the GCC version to work
<junon>
Huh interesting.
<help>
its a pain
<help>
but it works
<zid>
help is in opposite land
<junon>
Is there a benefit to putting in the work to support MSVC builds?
<junon>
Aside from the obvious (MSVC only devs can compile it, of course)
<help>
MSVC/Clang also generate PDBs, which is my second-to-main point of implementing MSVC support
<help>
besides my os is NT based (takes *many* concepts from Windows), and you can't really have a NT-Style OS withought MSVC support
<help>
it took a lot of work at first
<help>
but i don't modify much these days
Dreg has joined #osdev
help has quit [Quit: Leaving]
<Ameisen_>
you can technically get line-by-line debugging working in MSVC.
<Ameisen_>
technically.
dude12312414 has joined #osdev
tacco has joined #osdev
CryptoDavid has quit [Quit: Connection closed for inactivity]
srjek has quit [Ping timeout: 264 seconds]
sprock has quit [Ping timeout: 245 seconds]
meisaka has quit [Remote host closed the connection]
meisaka has joined #osdev
wootehfoot has joined #osdev
dormito has joined #osdev
sprock has joined #osdev
pitust[m] has joined #osdev
Starfoxxes has quit [Read error: Connection reset by peer]
dormito has quit [Ping timeout: 246 seconds]
wootehfoot has quit [Ping timeout: 246 seconds]
CaCode_ has joined #osdev
CaCode_ has quit [Remote host closed the connection]
CaCode has quit [Ping timeout: 264 seconds]
tacco has quit [Remote host closed the connection]
<geist>
yep!
sprock has quit [Ping timeout: 264 seconds]
<geist>
also yay responding to something while scrolled up
<geist>
anyway hi!
<gog>
hi!
<junon>
yep!
<gog>
yep!
<geist>
roger!
<HeTo>
10-4
<jimbzy>
mmhmmm
<j`ey>
HeTo: ummm 6!
<jimbzy>
j`ey, 10 - 4 = 720?
<j`ey>
jimbzy: you out bamboozled me!
Starfoxxes has joined #osdev
<zid>
Can anyone help me solve 39+9(12-3)? I keep getting 5!
<jimbzy>
gog, I think it does, and it has really helped some of the people I have tutored.
CryptoDavid has joined #osdev
GeDaMo has quit [Remote host closed the connection]
<gog>
yes
<gog>
with the confusion over which is first between MD and AS
dormito has quit [Quit: WeeChat 3.3]
mctpyt has quit [Ping timeout: 268 seconds]
sprock has quit [Ping timeout: 260 seconds]
wootehfoot has joined #osdev
sprock has joined #osdev
_eryjus has joined #osdev
srjek has joined #osdev
eryjus has quit [Ping timeout: 264 seconds]
ahalaney has quit [Quit: Leaving]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<zid>
gog: 9*9 = 81, 81+39 = 120, 120 = 5!
<zid>
Yes, I am a massive troll.
* gog
pets zid
mathway has joined #osdev
<phy1729>
zid: next time try 200-100/2-25+0/5
<phy1729>
wait dammit that's 125 for real, do you know how hard it is to solve an equation the right AND wrong way at the same time?
<phy1729>
-30+0/4
<_eryjus>
the answer is: pistachio ice cream
<gog>
mmmm pistaschio
<zid>
too expensive, how about a packet of cheap peanuts
<gog>
damn now i want gelato
* cheapie
waves to gog
<gog>
oh hey
* gog
pets cheapie
* cheapie
purrs
<cheapie>
I was mostly just here for my usual "hey your <thing> doesn't support host managed zoned devices" thing again... there wasn't much interest in that :P
<gog>
i just idle here lately
<gog>
i haven't even looked at my kernel code in two weeks
<gog>
if i was boasting i'd be bragging about how hot and annoying i am
<klange>
I got this same panic a week or two ago but sans traceback (wasn't printing one) and now that I have the traceback I know exactly what's happening - it's a file descriptor leak!
<zid>
I think your cpuinfo might have a small issue there klange
<zid>
oh it just eventually reallocs the fdset and explodes on the size?
<klange>
The panic is from the system monitor app leaking a file descriptor.
<zid>
oh dang
<zid>
I was happy i recently picked up a 4TB
<cheapie>
(hey, it's almost on topic, it's a device of the type in question)
<zid>
I did the riskiest thing in the world and bought it 2nd hand with no warrenty, but it appears to work
<gog>
what are you gonna fill that 20TB with
<cheapie>
This one has no warranty either (was a sample from the manufacturer) but also appears to work.
<klange>
It has a few different things it's constantly reopening to check status, and it wasn't closing one of them (network device ioctl interface)
<zid>
well if you get bored of it I can give you my address :p
<klange>
So every second it would open two or more of these to gather rx/tx counts, and after sitting for a few days eventually the descriptor table in the kernel would reach the point the safety check for the kernel heap was just like nah you done
<gog>
klange: so you can fix it then?
<zid>
ye just fclose
<klange>
Sure, just add the missing close()
<gog>
heh
<cheapie>
zid: The person I was talking to asked me to not sell it. I would think giving it away falls under that too, more or less :P
<klange>
Without the traceback I had no idea who was being naughty with the heap :)
* gog
gets naughty on the heap
<gog>
it was me
* cheapie
kernel panics at gog
<zid>
cheapie: Nobody has to know, we'll file the serial number out of the firmware
<gog>
yes
<gog>
do it
<zid>
and if anybody asks, I am your NAS
<zid>
It just happens to be attached by a few miles of tesco's finest clothesline
<cheapie>
The fun part is that there's basically no documentation for this model either. Try searching Google for the model number (WSH722020ALN604).
<zid>
yea I bet, if it's an eng sample
<cheapie>
There is at least documentation for the WSH722020ALN6L4, so *shrug*.
<gog>
what's the difference betwen the 604 and the 6L4?
[itchyjunk] has joined #osdev
<zid>
I have a..
<cheapie>
604 has the power disable "feature", 6L4 does not.
<gog>
aha
<gog>
power disable as in for staggered spinup?
<zid>
WD1001FALS-00J7B1 and WD40EFRX-68WT0N0
<cheapie>
You know, the one where putting 3.3V on pin 3 (which used to be a 3.3V pin) makes it not work...
<zid>
1TB black, 4TB red (not the shingled one)
<cheapie>
gog: Supposedly for remote reset support with some fancy backplane.
<zid>
That 1TB black is godlike
<gog>
oh i see
<cheapie>
zid: This thing *is* shingled, but it's host-managed.
<zid>
*possibly* it's over-reporting on that one I feel
<zid>
Is it full of exotic gasses that can leak
<cheapie>
It's not, it was put into service in 2003 and ran almost nonstop from then until last year.
<zid>
20TB in 2003?
<zid>
oh GB
<zid>
haha
<cheapie>
The 20TB one is from this year. The 20GB one is a bit older :P
<cheapie>
And yes, the 20TB one is helium-filled, the 20GB one is of course not.
<zid>
yea my black is from 07 and has basically not been turned off
<zid>
except for reboots
<gog>
i had a trio of seagate 250GB disks that are probably still running in my old rig
<gog>
got them all in 2009
wootehfoot has quit [Ping timeout: 260 seconds]
<cheapie>
I have an ST3000DM001 here that still works, somehow.
<zid>
Drives tend to be sealed and fine forever, for slighly dusty inside and fail immediately, I've found
<zid>
until the bearings go, anyway, but I've not had a modern bearing go either
<gog>
this was from a pretty solid set of products
<gog>
back when seagate didn't suck
<zid>
when I was a kid I'd get through like a few 1-10GB drives a year scrouged from people's PCs and ewaste and stuff
<gog>
they'll probably outlast the SSDs i put in
<cheapie>
I have products from both before and after when Seagate sucked, but a perhaps alarming number from during the time they did :P
<zid>
My SSD's got a lot of write endurance left on it, even though windows is slowly chewing through it
<zid>
and by slowly I mean rapidly
<cheapie>
I think the worst SSD I have here is at like 90%, but we've had some where I work that are down to around 60% already.
<zid>
I know someone doing chia so he's cooked a few
<gog>
lol whoops
<zid>
It's like every other crypto, it turns hardware into internet points
<zid>
or I guess, electricity into ewaste :P
<zid>
speaking of ewaste, I need to get a new monitor
<gog>
and fossil fuels into CO2
<zid>
mine is dying but I don't wanna crack it open and try fix it until I have a spare
<zid>
some monitors are awful for going back together, lots of glue and easily snapped ribbon cables and stuff
<zid>
chia friendo just bought some fancy new OLED monitor for lots of money, and apparently the backlight goes nuts as he scrolls webpages because it does auto-backlight shenanigans to try keep the OLEDs as un-powered as possible
<zid>
so that they last longer than a few weeks
<gog>
my phone has an oled screen and i noticed that it's prone to ghosting
<gog>
i was worried at first but it faded
wootehfoot has joined #osdev
<gog>
then it blocked me on social media and didn't return any of my texts
<gog>
ha-ha
<zid>
die
* gog
dies
<zid>
The world is at peace again
* gog
haunts zid with her hot, annoying ghost
<kazinsal>
boo!(bs)
* kazinsal
shows himself out, rapidly
<gog>
i wish :{
<zid>
do ghosts have genitals
<gog>
god i hope not
Brnocrist has quit [Ping timeout: 264 seconds]
<zid>
bit of a tease if they do imo
mctpyt has joined #osdev
Brnocrist has joined #osdev
wootehfoot has quit [Ping timeout: 260 seconds]
<junon>
this channel got weird
<junon>
s'pose it's almost halloween anyway
<klange>
This channel has always been weird.
dude12312414 has joined #osdev
<junon>
:D
<MelMalik>
Osdev is weird
<gog>
it attracts innately weird people i think
<gog>
which is part of why i love y'all
<gog>
<3
<zid>
we should be careful about conversations like this :p
<gog>
agreed
<MelMalik>
eh, i'm not really an osdev
<MelMalik>
maybe i will be
<zid>
first step is apparently to wonder if ghosts have boobs
dude12312414 has quit [Client Quit]
<junon>
osdev is laden with philosophy which entails a lot of weird people.
<MelMalik>
philosophy
<MelMalik>
lol
<junon>
I mean, templeOS is a literal manifestation of that lol
<gog>
rest in peace terry
<klange>
at least the cia is no longer after him
mctpyt has quit [Ping timeout: 258 seconds]
<gog>
nah they're after me now
<kazinsal>
taken down not by the cia, but by BNSF
<gog>
kazinsal: ooooooooof
<junon>
what's the context behind the CIA thing?
<gog>
terry was schitzophrenic and had paranoid delusions
<kazinsal>
terry was severely mentally ill and believed that the CIA and black people were conspiring to assassinate him
<gog>
alternatively, the CIA actually was after him and is just terribly incompetent
<junon>
I see
<klange>
Turns out it was trains. Trains were conspiring to assassinate him.
<kazinsal>
gog: well, the CIA *is* terribly incompetent
<gog>
kazinsal: that's where i was going with that lmao
<kazinsal>
clearly it's dark humour hour in #osdev
<kazinsal>
OS related chat: I am currently dealing with the most horrible command-line interface I think I've had to use in years. it's an old NetApp 7-Mode CLI, and it's like using a weird alternate-universe unix with no man pages and most of the commands are storage-related
<kazinsal>
and it's old enough that the documentation is extremely hard to find and mostly just says "WHY ARE YOU DOING THIS PLEASE UPGRADE YOUR SYSTEM"
<kazinsal>
with a little disclaimer that says "upgrading from 7-mode to Clustered Ontap will make you want to forsake technology forever"
<gog>
lol
<gog>
the cure is worse than the disease, in a sense
<kazinsal>
Clustered ONTAP is the way you want to run NetApp filers but the upgrade process from 7-Mode to Clustered ONTAP takes like eight hours and has a whole bunch of terrible potential failure points
dormito has joined #osdev
<kazinsal>
most enterprise platforms with bespoke CLIs have context-sensitive help systems where if you type a question mark it will immediately print a detailed help thing for the command you've started tpying
<kazinsal>
7-Mode does not.
sprock has quit [Ping timeout: 260 seconds]
<kazinsal>
you have to type ? and then hit enter, which then just dumps basically a list of switches or subcommands with no descriptions or actual help
<kazinsal>
and also clears your command buffer so you have to type the whole thing again
<kazinsal>
it is arguable that this CLI is actually worse than the shitty quick debugging one in my osdev project
<kazinsal>
because at least if I type ? in my CLI, it prints out some useful information and lets you keep typing from where the ? was
<zid>
netsh is the thing I sometimes use with the weirdest interface
mathway has quit [Quit: WeeChat 3.3]
<kazinsal>
oh christ, this storage system is so old it doesn't have distributed parity support, just dedicated parity disks.
cryptonix has joined #osdev
cryptonix has left #osdev [WeeChat 3.1]
<geist>
odd. i used to be able to create a loopback device with losetup and it would punch discard through
<geist>
but for some reason it doesn't work today
X-Scale has quit [Ping timeout: 268 seconds]
X-Scale` has joined #osdev
X-Scale` is now known as X-Scale
flx- has quit [Read error: Connection reset by peer]
flx has joined #osdev
srjek has quit [Ping timeout: 264 seconds]
CryptoDavid has quit [Quit: Connection closed for inactivity]