klange changed the topic of #osdev to: Operating System Development || Don't ask to ask---just ask! || For 3+ LoC, use a pastebin (for example https://gist.github.com/) || Stats + Old logs: http://osdev-logs.qzx.com New Logs: https://libera.irclog.whitequark.org/osdev || Visit https://wiki.osdev.org and https://forum.osdev.org || Books: https://wiki.osdev.org/Books
h4zel has quit [Ping timeout: 252 seconds]
h4zel has joined #osdev
h4zel has quit [Ping timeout: 252 seconds]
h4zel has joined #osdev
kingoffrance has joined #osdev
pretty_dumm_guy has quit [Quit: WeeChat 3.3]
h4zel has quit [Ping timeout: 246 seconds]
h4zel has joined #osdev
sdfgsdfgDropBear has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
h4zel has quit [Quit: WeeChat 3.0.1]
sdfgsdfgDropBear has quit [Quit: sdfgsdfgDropBear]
sdfgsdfgDropBear has joined #osdev
freakazoid343 has quit [Ping timeout: 268 seconds]
moon-child has quit [Ping timeout: 245 seconds]
moon-child has joined #osdev
mctpyt has joined #osdev
sdfgsdfgDropBear has quit [Quit: sdfgsdfgDropBear]
srjek|home has quit [Ping timeout: 246 seconds]
terrorjack has quit [Quit: The Lounge - https://thelounge.chat]
Oli has quit [Ping timeout: 268 seconds]
Oli has joined #osdev
les has quit [Quit: Adios]
les has joined #osdev
froggey has quit [Remote host closed the connection]
froggey has joined #osdev
novasharper has quit [Ping timeout: 265 seconds]
divine has quit [Ping timeout: 265 seconds]
divine has joined #osdev
novasharper has joined #osdev
dutch has quit [Ping timeout: 245 seconds]
[itchyjunk] has quit [Read error: Connection reset by peer]
Burgundy has joined #osdev
dutch has joined #osdev
noircode has left #osdev [#osdev]
mahmutov has quit [Ping timeout: 245 seconds]
kuler has joined #osdev
kuler has quit [Remote host closed the connection]
sdfgsdfgDropBear has joined #osdev
sdfgsdfg has joined #osdev
sdfgsdfgDropBear has quit [Quit: sdfgsdfgDropBear]
sdfgsdfgDropBear has joined #osdev
sdfgsdfgDropBear has quit [Client Quit]
sdfgsdfgDropBear has joined #osdev
ElectronApps has joined #osdev
sdfgsdfgDropBear has quit [Quit: sdfgsdfgDropBear]
sdfgsdfgDropBear has joined #osdev
nyah has joined #osdev
vdamewood has quit [Quit: Life beckons]
GeDaMo has joined #osdev
pretty_dumm_guy has joined #osdev
arahael has joined #osdev
dormito has quit [Quit: WeeChat 3.1]
sm2n_ is now known as sm2n
Vercas has quit [Remote host closed the connection]
Vercas has joined #osdev
dormito has joined #osdev
Vercas has quit [Quit: buh bye]
sdfgsdfgDropBear has quit [Quit: sdfgsdfgDropBear]
edro is now known as edr
sdfgsdfgDropBear has joined #osdev
junon has quit [Ping timeout: 245 seconds]
darkstardevx has quit [Ping timeout: 245 seconds]
darkstardevx has joined #osdev
junon has joined #osdev
Mutabah has quit [Ping timeout: 252 seconds]
sdfgsdfgDropBear has quit [Quit: sdfgsdfgDropBear]
Mutabah has joined #osdev
dutch has quit [Ping timeout: 265 seconds]
Obscenity has joined #osdev
sdfgsdfgDropBear has joined #osdev
[itchyjunk] has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
[itchyjunk] has joined #osdev
Vercas has joined #osdev
MiningMarsh has quit [Ping timeout: 252 seconds]
junon has quit [Ping timeout: 265 seconds]
elastic_dog has quit [Ping timeout: 246 seconds]
dutch has joined #osdev
MiningMarsh has joined #osdev
ahalaney has joined #osdev
elastic_dog has joined #osdev
dutch has quit [Ping timeout: 265 seconds]
dutch has joined #osdev
NeoCron has joined #osdev
<Affliction> Only time I flashed my BIOS was to fix a rare refusal-to-post if ambient temperature was relatively low.
<Affliction> I suspect it was memory related
<Affliction> This board doesn't have top swap or USB flashing so, it's fun watching the progress bar advance painfully slowly while anticipating the many ways something could fail
<Affliction> no idea if I can flash the chip with a programmer, don't really want to have to find out
dutch has quit [Ping timeout: 245 seconds]
sdfgsdfgDropBear has quit [Quit: sdfgsdfgDropBear]
<zid> I m ean, you definitely can
<zid> the question is how easy it'd be
dude12312414 has joined #osdev
<Affliction> Yeah, I've not looked into it.
dude12312414 has quit [Client Quit]
<Affliction> No plans to update right now, anyway. Got a stable system, let's not change that.
<Affliction> Though I did have an old core2 era intel board seemingly corrupt itself
<Affliction> Rewriting the chip brought it back
<zid> I had a board not posting once, I reseated the rom chip it was socketed
<zid> but accidentally twisted it 90 degrees, it got very hot, whoops
<zid> ...then posted completely fine after I rotated it back
<clever> ive heard that at least with the rpi soc, that causes physical damage to the silicon that will spread over time
<clever> and eventually, the chip will just entirely die
Vercas has quit [Remote host closed the connection]
Vercas has joined #osdev
<Affliction> latchup perhaps?
<Affliction> if VCC was unpowered and you have power connected to a data line, it could probably find a path to ground
<zid> That's why you're supposed to make the power pins shorter, so they disconenct first
<zid> everybody knows that
* zid pictures ICs mounted at funny angles
<Affliction> Any PCB layout engineers here want to comment on that? :)
Arthuria has joined #osdev
<Oli> I find myself learning about, and appreciate anyone to expand in regards to making power pins shorter, for them to disconnect first, in context of power connected to a data line finding a path to ground.
<Mutabah> ground should be longest iirc, then signal, then power?
<zid> sounds like a conspiracy by big copper to sell you more traces to me mutabah
<__sen> yep, gnd-signal-power, and depending on power use you may want a pre-charge power pin to connect through a resistor and bring the power rail up slowly before the main power pin connects as well
<Affliction> SATA power cable is a good example there, with its 3 tiers
<zid> don't forget that it should have a violent snapping action, so that you don't get arcing that damages the contact
<zid> it should be like a mouse trap
<Affliction> ground connects first, then there's leading power pins with a resistance on them, then power connected directly
<Affliction> Oli: on some chips, if you have a voltage above vcc, that can cause latch up
<Affliction> which is, due to the layers of silicon doping, where a 'parasitic transistor' is formed that passes current until power is removed
<Affliction> it's a problem with electronics in space too, xrays can trigger it
<Affliction> so, that could be a situation where you want power to connect before data, which USB does for instance
<Affliction> And that's why, on systems with multiple voltages, power sequencing is a thing
sprock has quit [Ping timeout: 268 seconds]
<Affliction> that is, a voltage above vcc on data lines
<zid> Affliction did you remember to connect your usb by firing it out of a usb connector canon
<zid> cannon
<Affliction> and, it does depend on the chip
<Affliction> (am I missing a joke?)
<Affliction> I have the same problem everyone else does with USB A - having to flip the connector 3 times. Damn 4 dimensional connector keying!
<zid> Affliction: ctrl-f mousetrap
<Affliction> oic!
h4zel has joined #osdev
<h4zel> osdev in theory > osdev in practice
<h4zel> I wanted to write drivers not debug an itoa implementatin
<h4zel> implementation*
<Affliction> Incidentally, that USB-PD standard that runs 48V 5A - that's going to be interesting.
<zid> You can steal my %d if you want :p
<Affliction> I'm pretty sure USB devices have to deal with supply voltage on the data lines, I'm sure there's fun challenges getting 20gbps through 48V-tolerant receivers
<h4zel> lol I've tried multiple and they all have the same weird issue of not printing '0', so I'm thinking it's an issue with my tty_print function
<Affliction> transmitter would have to survive 48V being driven back too
<Oli> Thank you, Affliction, for bringing up about: I wasn't aware about the phenomenon regarding latch up caused by voltage above vcc itself.
<h4zel> but thank you! I might take you up on that :p
<Affliction> and I'll bet it'll arc on disconnect
h4zel has quit [Client Quit]
<zid> that was fast
<Affliction> you solved all his problems!
h4zel has joined #osdev
<zid> oh they a back
<h4zel> I'm back! Sorry
<h4zel> It's weird, I just can't get a leading "0". It's converting "10" to "1", 500 to "5", etc
<zid> show yours
<h4zel> I'll just have to mess around with it :p
<zid> I showed you mine, show me yours
<h4zel> I stole the one from the interwebs when mine didn't work, http://www.strudel.org.uk/itoa/
<h4zel> also tried the osdev wiki one
<zid> wtf
<zid> I thought I was the only person silly enough to do the indexing backwards
<zid> oh I guess theirs isn't backwards, nevermind
<zid> yea you need a do while otherwise it's going to have issues with 0
<zid> also they have their * on the wrong side, and they're off by one on the initializer for i, and they're clearing the entire string for no reason
<zid> other than that, perfect
<h4zel> I'm using v4, not the first one
<h4zel> but ahh, I'll look into that, ty
<zid> "An idiot golfs a simple library function badly" should be the <title> of that page
<h4zel> Honestly I'll take the worst itoa impl if I can get something that works at this point
<h4zel> i'm assuming it's definetly something I'm doing wrong considering multiple have had this issue
k0valski has quit [Quit: Ping timeout (120 seconds)]
<h4zel> also yeah, the mirrored alphabet is pretty stupid lol
<zid> mine works fine, and works enough for %d
<zid> (%.8ld etc is why it takes so many params)
<zid> also works for %x
<h4zel> Would you send your implementation?
<h4zel> It'd be a huge help to get to steal it lol
<zid> I already linked it
<zid> you apparently missed it when you quit
<h4zel> Oh yup, I missed it, whoops
<h4zel> Thank you so much!
<zid> You could guard against base being >16 but that code doesn't have a good way to signal errors like that so it doesn't
<zid> and as long as you use a constant for the base the compiler will warn about it anyway ;)
<h4zel> what's the argument `width`, btw?
<h4zel> just out of curiosity
<zid> %.8d
<zid> pads to 8
<zid> err 8d even
<h4zel> Ohhh, thats cool
<zid> and either with spaces or 0s
<zid> depending on 08 or 8
<zid> so that's why it takes the args it does
<h4zel> Same issue with no 0s!!
<h4zel> So it DEFINETLY is something on my end
<zid> your putchar is checking for *p == '0' or something for no reason?
<h4zel> It doesn't even have 0s through a serial port, so I'm not sure where the point of failure is
<h4zel> printf impl loops with while (*strptr), and incs the pointer, so I'm not sure
<zid> sounds like you're confusing 0 and \0 *somewhere*
<h4zel> I have no idea how, the serial send function is litterally just three lines and the issue is still there
<h4zel> But yeah, that would be the simplest answer
<zid> so if you print "abc0123" what happens?
<h4zel> prints normally
<h4zel> "abc0123"
k0valski has joined #osdev
k0valski has quit [Remote host closed the connection]
<zid> and "0" ?
<h4zel> Also normal
<h4zel> Just "0"
<zid> time for a debugger then
ElectronApps has quit [Remote host closed the connection]
<h4zel> Yup, haven't written a GDB stub yet
<h4zel> I tried isolating the code and building on my OS, and it works fine then lol
<zid> qemu has one
<h4zel> so this won't be fun
<h4zel> qemu monitor is useful for asm, but I cant print C variables (I don't think)
k0valski5 has joined #osdev
<h4zel> huh, when looking at the memory, itoa is converting "10" to ['1','6'], but printing "1"
srjek|home has joined #osdev
<h4zel> wow. it's only printing the first character. that's why it doesn't include 0s
k0valski5 has quit [Quit: Ping timeout (120 seconds)]
k0valski has joined #osdev
k0valski8 has joined #osdev
h4zel has quit [Ping timeout: 245 seconds]
ahalaney has quit [Quit: Leaving]
ahalaney has joined #osdev
dennis95 has joined #osdev
k0valski8 has quit [Ping timeout: 245 seconds]
dutch has joined #osdev
sprock has joined #osdev
[itchyjunk] has quit [Read error: Connection reset by peer]
YuutaW has quit [Quit: WeeChat 3.2]
vdamewood has joined #osdev
MiningMarsh is now known as MummyMarsh
h4zel has joined #osdev
YuutaW has joined #osdev
dennis95 has quit [Quit: Leaving]
mahmutov has joined #osdev
freakazoid12345 has joined #osdev
<dzwdz> is it just me or is the wiki page on ATA PIO mode a mess
<sortie> We'll DMA a better page out momentarily
<dzwdz> i'd fix it myself, i just don't know enough about ATA yet
<dzwdz> so i don't want to mess it up
<Bitweasil> ATA PIO being a mess seems somehow appropriate...
h4zel has quit [Ping timeout: 245 seconds]
<dzwdz> is it only an x86 thing? or do other archs use ata too
<Bitweasil> I can't imagine you're going to find it many other places, but I believe at least some Compact Flash cards support ATA commands as well.
Arthuria has quit [Ping timeout: 245 seconds]
wille has joined #osdev
<zid> the wiki pages are all a mess tbh
<clever> my rough understanding, is that in the OLD days, PATA was just an extension of ISA
<clever> it just exposed a single IO port to each drive, with some buffer gates to boost the signal and cut it off when its not being spoken to
<clever> and PIO mode is still using the same protocol as back then? even if the bus has radically changed since
<Bitweasil> Sounds familiar, but I've not dealt with ATA at that level.
<clever> > When the CPU accessed a disk IO port, there was a chip that shorted the CPU's IO bus pins directly onto the IDE cable
<clever> yeah, the wiki agrees with me on some of that
h4zel has joined #osdev
Dreg has quit [Read error: Connection reset by peer]
sprock has quit [Ping timeout: 245 seconds]
<gog> i make pasta
<gog> wrong channel but i guess y'all can have some pasta too
srjek|home has quit [Ping timeout: 245 seconds]
mmohammadi9812 has joined #osdev
srjek|home has joined #osdev
Oli has quit [Ping timeout: 245 seconds]
<geist> mmm pasta
gmodena has quit [Quit: ZNC - http://znc.in]
unmanbearpig has quit [Ping timeout: 245 seconds]
simpl_e has joined #osdev
sprock has joined #osdev
<dzwdz> oh no, i missed the pasta :(
<dzwdz> how was it?
<gog> delicious
<geist> was it cooked from the heat of Fagradalsfjall?
<geist> or maybe Eyjafjallajökull
<gog> in a sense
<geist> yay volcano pasta is best pasta
<gog> about 1/4 of our electric power is geothermal so it cooked 1/4 of the pasta
Oli has joined #osdev
<geist> we have a volcano here but sadly it's dormant right now, so no volcano pasta
<gog> you have the kind of volcanoes that explode violently tho
<geist> yah kinda hard to make pasta in a violent eruption
<gog> yes
<Bitweasil> It's light and fluffy, though!
<gog> a delicate flavor from an indelicate geophysical process
<geist> hah once again looked at the wikipedia side on mt rainier and how bad it would be if it went off
* geist closes the page quietly and tries to think of something else
<Bitweasil> How about the subduction zone and earthquakes? :D
<gog> everybody loves a good megathrust
<gog> and the tsunami that follows
<geist> yah i'm far enough away that i wont get swept up in a lahore, but a tsunami on the puget sound would be Real Bad
<geist> though my house is about 80m elevation and maybe 300m in from the water
<geist> more like 500 or so
<gog> i'm pretty close to the dead center of the peninsula that reykjavík sits on so a tsunami would spare me
<gog> but also destroy the majority of the city
<geist> yah a month or two of ash would super suck too
<geist> apparently it was pretty bad after st helens, even as far north as seattle
<Bitweasil> IIRC even places like Nebraska had heavy ash fall from it.
<geist> reading up on it, apparently most of the st helens ash went to the east, makes sense
<geist> so actually seattle was probably mostly spared
<geist> so yeah nebraska and whatnot would have gotten a lot of it
<geist> well either way, mt rainier is really pretty... but it has that effect where i just dont know how to take a picture of it. your brain does this thing where it makes mountains and whatnot look so much more impressive in person. same effect as the moon near the horizon
<geist> but you take a picture and it's tiny
<gog> yeah the mountains around the city are all like that
unmanbearpig has joined #osdev
<gog> they look very imposing because they are, they're like 4x taller than the height of any structure from sea level but pictures don't really tell that story, especially phone cameras with their digital focus trickery
<gog> a good camera from a distance would, but nothing at ground level shows it
<geist> yah that's the real problem. the phone cameras cant do it
<geist> even if you zoom in it's doing a digital zoom, etc
<geist> need a proper telephoto or whatnot
<geist> or at least on like a 70mm or so lens
mmohammadi9812 has quit [Remote host closed the connection]
GeDaMo has quit [Quit: Leaving.]
terrorjack has joined #osdev
dormito has quit [Quit: WeeChat 3.1]
h4zel has quit [Ping timeout: 245 seconds]
h4zel has joined #osdev
sprock has quit [Ping timeout: 245 seconds]
noircode has joined #osdev
<noircode> Is power management/efficiency outside of OS control?
<mjg> no
<noircode> ah yeah that's pretty useful
<noircode> thanks
dormito has joined #osdev
NeoCron has quit [Quit: Leaving]
NeoCron has joined #osdev
srjek|home has quit [Ping timeout: 245 seconds]
<Bitweasil> It *can* be, but... usually it's under OS control. And you want it under OS control.
<Bitweasil> There are typically various valid setpoints for frequency/voltage that the OS ought obey.
<Bitweasil> Dynamic voltage and frequency scaling (DVFS) <-- Might do some searching for that too.
<clever> Bitweasil: however, on the rpi, the freq/voltage pairings are hidden in the firmware blob, and linux just asks the firmware for a given freq, and maybe the firmware will listen
<clever> when thermal throttling, the firmware will just ignore linux, and use a lower freq, without telling anybody
<Bitweasil> Yes, but that's because the Raspberry Pi is an abomination. :p
<clever> yep
<clever> ive also done some extensive testing with a pi0, and found that the freq has almost zero impact on the heat generation
<clever> its all about voltage
<clever> ive also found, that the firmware is very dumb about its freq/voltage pairs
<clever> the lowest freq, gets the lowest voltage
<clever> and if you tell it to underclock things, that same freq, now gets a higher voltage
<clever> because that freq isnt the lowest freq anymore
<Bitweasil> That surprises me exactly zero. :(
<clever> i filed a bug, and i think the answer was basically "working as intended"
<clever> your supposed to also change the voltage range when you change the freq
<clever> but i dont think the config allows setting a voltage at each freq in the curve
<clever> and it just blindly creates 100mhz steps
<clever> in my mind, you should instead step the voltage up, in small increments, and then find the max freq for each voltage
<clever> changing the freq but not voltage, is a zero-gain change
Burgundy has quit [Ping timeout: 252 seconds]
<clever> Bitweasil: for the bcm2835, the core voltage is generated by a SMPS built into the SoC itself, so a simple MMIO write can change the voltage freely
mahmutov has quit [Ping timeout: 265 seconds]
<clever> Bitweasil: i think the pi2, uses i2c to the pmic for that task, but ive not confirmed that
nostalgia has joined #osdev
freakazoid12345 has quit [Ping timeout: 246 seconds]
EtherNet has quit [Ping timeout: 245 seconds]
EtherNet has joined #osdev
MummyMarsh is now known as MohrgMarsh
eremitah has joined #osdev
<ZetItUp_> sigh my ata driver seems messed up :( reading from position 0 seems to work, but if i jump to a sector, it gets stuck waiting for the poll to complete hmm :P
ZetItUp_ is now known as ZetItUp
ahalaney has quit [Quit: Leaving]
noircode has left #osdev [#osdev]
<ZetItUp> should i keep the polling in an infinite loop for the ata driver and poll every tick, or should i do the 400 ns wait before doing another status check?
<ZetItUp> does it matter i guess the question is
freakazoid343 has joined #osdev
sprock has joined #osdev
NeoCron has quit [Quit: Leaving]
nyah has quit [Ping timeout: 245 seconds]
jafarlihi has quit [Quit: WeeChat 3.3]
sdfgsdfgDropBear has joined #osdev
Obscenity has left #osdev [#osdev]
nvmd has joined #osdev
dutch has quit [Ping timeout: 265 seconds]
dutch has joined #osdev