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
dude12312414 has joined #osdev
gog has quit [Quit: bye]
pretty_dumm_guy has quit [Ping timeout: 252 seconds]
nostalgia has quit [Remote host closed the connection]
Lukapalooka has quit [Quit: Goodbye :^)]
isaacwoods has quit [Quit: WeeChat 3.2]
heat has joined #osdev
dutch has quit [Quit: WeeChat 3.2]
dutch has joined #osdev
nostalgia has joined #osdev
theruran has quit [Quit: Connection closed for inactivity]
nyah has quit [Ping timeout: 244 seconds]
theruran has joined #osdev
CryptoDavid has quit [Quit: Connection closed for inactivity]
freakazoid333 has quit [Ping timeout: 256 seconds]
gateway2000 has joined #osdev
freakazoid343 has joined #osdev
mahmutov has quit [Ping timeout: 244 seconds]
srjek has quit [Ping timeout: 252 seconds]
gateway2000 has quit [Quit: Leaving]
sts-q has quit [Ping timeout: 252 seconds]
sts-q has joined #osdev
<ZetItUp> is ISA deprecated from PCI devices these days? or is it still mandatory to have it's backwards compatibility?
<Mutabah> Depreceated
<ZetItUp> good :D
regreg has joined #osdev
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
heat has quit [Ping timeout: 240 seconds]
freakazoid343 has quit [Ping timeout: 256 seconds]
freakazoid12345 has joined #osdev
<Affliction> I think Intel were talking about dropping the ISA legacy within their chipset at one point
mhall has quit [Quit: Connection closed for inactivity]
johnjay has quit [Ping timeout: 252 seconds]
johnjay has joined #osdev
ElectronApps has joined #osdev
zaquest has quit [Remote host closed the connection]
zaquest has joined #osdev
nostalgia has quit [Remote host closed the connection]
h4zel has joined #osdev
regreg has quit [Ping timeout: 240 seconds]
ElectronApps has quit [Remote host closed the connection]
<zid> pci still needs detecting from ISA for the most part sadly
<zid> and the PIC needs turning off with it
regreg has joined #osdev
jimbzy has quit [Quit: ZNC 1.6.6+deb1ubuntu0.2 - http://znc.in]
<klange> continuing to work on things that are absolutely not on my release roadmap because of course
V has quit [Ping timeout: 250 seconds]
mhall has joined #osdev
gog has joined #osdev
fwg has joined #osdev
diamondbond has joined #osdev
h4zel has quit [Quit: WeeChat 3.0.1]
ElectronApps has joined #osdev
CompanionCube has quit [Quit: ZNC - http://znc.in]
GeDaMo has joined #osdev
amj has joined #osdev
<klange> Ah, well, that makes sense... Was noticing occasional corruption in my compositor under SMP; turns out I was saving fp regs to a shared buffer before copying them into the process state. Fine for singlecore! Seems to have been an old dumb fix for alignment guarantees.
<zid> hehe
<klange> Other little things: Wrote up a nicer 'chown', fixed some semantics there. Made the dhcp client fall back to /var if /etc is read-only, so the live CDs can boot with read-only initrd and still get working network, added rudimentary timezone offsets to localtime() et al, added `nproc`, and made some of the libc dumb spinlocks not yield in multicore setups
<klange> now the clock on my thinkpad (which has UTC CMOS) shows the correct time :)
pretty_dumm_guy has joined #osdev
heat has joined #osdev
diamondbond has quit [Ping timeout: 244 seconds]
heat has quit [Ping timeout: 245 seconds]
diamondbond has joined #osdev
diamondbond has quit [Ping timeout: 244 seconds]
diamondbond has joined #osdev
diamondbond has quit [Ping timeout: 245 seconds]
AssKoala has joined #osdev
pretty_dumm_guy has quit [Ping timeout: 244 seconds]
nyah has joined #osdev
AssKoala has quit [Ping timeout: 244 seconds]
dude12312414 has joined #osdev
gateway2000 has joined #osdev
gateway2000 has quit [Read error: Connection reset by peer]
gateway2000 has joined #osdev
isaacwoods has joined #osdev
pretty_dumm_guy has joined #osdev
ahalaney has joined #osdev
__sen has quit []
__sen has joined #osdev
pretty_dumm_guy has quit [Remote host closed the connection]
dude12312414 has quit [Ping timeout: 276 seconds]
zagto has joined #osdev
<klange> Unexpected added process times, something that's been missing for years... not sure I did all of this correctly, but I referenced manuals and the results look reasonable...
XgF has quit [Remote host closed the connection]
XgF has joined #osdev
<klange> Also added a very dumb user preemption source for APs... instead of doing what I should be doing and initializing lapic timers, I just made the BSP IPI everyone on the existing clock interrupt....
<klange> Synchronized for maximum contention on the scheduler queue at every preempt tick ;)
<klange> (Doesn't seem to have negatively impacted performance, and gave me an easy fix for two problems: user-heavy tasks hogging cores and not responding to signals (because signal entry only happens on task switch; if something was looping in userspace and never entered the kernel on an AP, it would never actually receive the signal)
<klange> So we've got system times and user times, and have had real time for a while. Now my 'times' shell command looks legit :)
<klange> er, `time`, that one
<klange> Now I just need to... wrap my head around one of these approaches to sliding windows for real-time CPU utilization calculations...
<klange> And yet, none of this was on the 2.0 roadmap. I seem to be doing everything _but_ the things I actually laid out for that.
ElectronApps has quit [Remote host closed the connection]
diamondbond has joined #osdev
mctpyt has quit [Ping timeout: 252 seconds]
jimbzy has joined #osdev
AssKoala has joined #osdev
diamondbond has quit [Ping timeout: 244 seconds]
diamondbond has joined #osdev
diamondbond has quit [Quit: Leaving]
archenoth has joined #osdev
gateway2000 has quit [Quit: Leaving]
fwg_ has joined #osdev
fwg has quit [Ping timeout: 256 seconds]
heat has joined #osdev
mahmutov has joined #osdev
wgrant has quit [Ping timeout: 250 seconds]
srjek has joined #osdev
wgrant has joined #osdev
heat has quit [Ping timeout: 252 seconds]
simpl_e has quit [Read error: Connection reset by peer]
simpl_e has joined #osdev
simpl_e has quit [Read error: Connection reset by peer]
pretty_dumm_guy has joined #osdev
Oli has joined #osdev
simpl_e has joined #osdev
simpl_e has quit [Read error: Connection reset by peer]
tacco has joined #osdev
simpl_e has joined #osdev
simpl_e has quit [Read error: Connection reset by peer]
Oli has quit [Quit: Changing server]
fwg_ has quit [Quit: .oO( zzZzZzz ...]
jimbzy has quit [Read error: Connection reset by peer]
koolazer has joined #osdev
zid has quit []
Oli has joined #osdev
theman515 has joined #osdev
simpl_e has joined #osdev
simpl_e has quit [Read error: Connection reset by peer]
simpl_e has joined #osdev
pretty_dumm_guy has quit [Ping timeout: 240 seconds]
<theman515> So I've followed the setting up long mode tutorial for x86_64-elf but I'm getting an error when I set up paging. I loaded up every page table identically to how the tutorial does and load it up but once I actually turn on paging in CR0 memory address 0x0 = 0x03 and 0x08 = 0x02003 and 0x10 = 0x03003 and so forth
<theman515> what is happening?
simpl_e has quit [Ping timeout: 256 seconds]
YuutaW has joined #osdev
rorx has quit [Ping timeout: 252 seconds]
pretty_dumm_guy has joined #osdev
rorx_ has joined #osdev
<sham1> theman515: it's hard to say with this little info
regreg_ has joined #osdev
regreg has quit [Ping timeout: 240 seconds]
theman515 has quit [Quit: Client closed]
srjek has quit [Ping timeout: 240 seconds]
<zagto> Does anybody know how to make VirtualBox identify itself as hypervisor in CPUID 40000000h (and ideally 40000000h too for TSC frequency)?
<zagto> Supposedly you have to set Paravirtualization to Minimal in settings (https://www.virtualbox.org/manual/ch10.html#gimproviders)
<bslsk05> ​www.virtualbox.org: Chapter 10. Technical Background
mctpyt has joined #osdev
<zagto> But that alone does not seem to do it, it still reads empty for me
AssKoala has quit [Ping timeout: 244 seconds]
johnjay has quit [Ping timeout: 245 seconds]
MiningMarsh has quit [Quit: ZNC 1.8.2 - https://znc.in]
tacco has quit []
MiningMarsh has joined #osdev
jbg has quit []
jbg has joined #osdev
AssKoala has joined #osdev
<moon-child> has any work or thought been done on filesystem-level transactions?
<GeDaMo> Journaling?
<moon-child> no I mean transactions like db transactions or transactional memory. Where multiple operations are executed atomically
<sham1> An ACID filesystem
<sham1> Sounds horrible
<clever> moon-child: i believe zfs treats each syscall as an atomic operation, so either a write/pwrite happens entirely, or it never happened
<clever> but there is no cross-syscall transactions
zagto has quit [Quit: Konversation terminated!]
<clever> and i dont think zfs maintains order between files (enless you force it with fflush)
<clever> but order within a file i believe is maintained
<kazinsal> Transactional NTFS was a thing briefly but then it was decided that it would be better to just tell developers to stop being lazy and pawning off ACID on the filesystem
<kazinsal> Especially because ESE has been shipped natively in every OS release since Windows 2000
<moon-child> 'stop being lazy and pawning off ACID on the filesystem' but it's a useful thing to do on the fs! Consider e.g. updating packages
<clever> moon-child: nixos.org has already solved that
<clever> moon-child: basically, every version of every package, gets installed to a unique --prefix=, and then a collection of packages are organized into one place with symlinks, then you only have to update 1 symlink to swap over to another package set atomicly
<moon-child> clever: hmm, good point
GeDaMo has quit [Quit: Leaving.]
<clever> lrwxrwxrwx 1 root root 93 Aug 30 13:28 /run/current-system -> /nix/store/7k5mh0ad49cbhmyda9fv93xwbqq5lwkp-nixos-system-amd-nixos-21.05pre274021.d496205cf22
<sham1> Nix has it solved, as does ostree
<clever> moon-child: this symlink, points to the entire state of my OS, all of the system-wide packages, all systemd services, kernel, initrd, firmware blobs
<sham1> Sad about the Nix language
<moon-child> so, the general case of this looks like: deep-copying a directory tree, making some modifications, and then moving it back. Which works well with CoW
<clever> moon-child: nix doesnt do a deep-copy either
<clever> thats impure
<clever> nix will instead re-built each piece, from scratch, based on the build directions
<moon-child> no, nix doesn't, it downloads a completely new copy of the package
<clever> yeah
<sham1> A deep-copy of the universe where one thing is changed
<moon-child> but if you wanted to perform a transaction on the existing data, which is not a package~
<sham1> After all, that's the conception of the IO monad as well
<clever> sham1: oh, that reminds me
<moon-child> sham1: making a deep-copy isn't impure. Modifying the deep-copy isn't impure either, because it's unique and private. (We're assuming.) Replacing the original is impure, but it is atomic
<bslsk05> ​hackage.haskell.org: acme-realworld: Primitives for manipulating the state of the universe
<sham1> hah
<clever> sham1: this abuses the real-world type in haskell, to do things like a rollback of the universe
<clever> at a type level, its a perfectly valid thing to do
<clever> but does it actually work?
<sham1> I mean, there's also a time-travel monad
<bslsk05> ​hackage.haskell.org: Acme.RealWorld
<clever> hypothetically will do some computation, then rollback the universe, and return the result from the future
<clever> so all computations now take zero time
<sham1> Oh great. Now everything will be O(1)
<clever> yep!
nvmd has joined #osdev
nvmd has quit [Client Quit]
nvmd has joined #osdev
<moon-child> ;o
<clever> moon-child: another problem with CoW FS's, is GC
<clever> zfs snapshots cheat, with time ranges
<clever> basically, every block has a transaction# of when it was created or last modified
<clever> and a snapshot, is just a transction# and a name
<moon-child> why problem? You can just refcount, same as with any other fs; you just check the refcount before writing
<moon-child> (or, slightly cleverer than that because you also have actual hardlinks, but you get the point)
<clever> and just by comparing the transaction#, you can know if its before or after a snapshot
<clever> and if its in use
<sham1> I wonder if your snapshots or whatever could be cyclic
<clever> moon-child: ref-count is far far more costly, because you need to modify something that tracks the blocks
<sham1> Because if so, ref-count also wouldn't work
<clever> sham1: they cant
<sham1> Okay good
<clever> zfs snapshots, are just a timestamp, and any blocks older then that timestamp are protected from GC
<clever> so if you modify an object, it will keep the old and new version
CompanionCube has joined #osdev
<clever> dedup is the other way to share blocks in zfs, and that requires a hashtable, mapping hash(data) to block-location, and ref-count
<clever> and that requires modifying the dedup table, every time you free a block
<clever> and if your dedup table doesnt fit in ram, then freeing a block suddenly involved multiple IO operations
<clever> potentially turning a simple deletion into a week long operation
CryptoDavid has joined #osdev
mhall has quit [Quit: Connection closed for inactivity]
mctpyt has quit [Ping timeout: 244 seconds]
mctpyt has joined #osdev
h4zel has joined #osdev
johnjay has joined #osdev
immibis has joined #osdev
rorx_ is now known as rorx
johnjay has quit [Read error: Connection reset by peer]
johnjay has joined #osdev
ahalaney has quit [Quit: Leaving]
gxt has quit [Quit: WeeChat 3.2]
freakazoid12345 has quit [Ping timeout: 245 seconds]
gxt has joined #osdev
Belxjander has quit [Quit: AmigaOS PPC 4.1 +E +U1 // AmIRC 68K]
vdamewood has joined #osdev
dutch has quit [Quit: WeeChat 3.2]
dutch has joined #osdev
regreg_ has quit [Ping timeout: 240 seconds]
vdamewood has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
okamura has joined #osdev
<okamura> So this is what i say, fecalists in the world like you should not be employed, you contribute feces only, while chinease contribute all the real thing, you should never be employed to talk about your waste of time sidechannel attacks, you are retards, and you should be by far not even sending any signals to guys like me, but you abuse everything, one they i am on your doorsteps also like you have done to me, and abuse you hard.
CryptoDavid has quit [Quit: Connection closed for inactivity]
<ZetItUp> what?
<okamura> those conflicts only took place cause for years they come to my areas to talk shit to me, my home, what i was suppose to do, if american military fatass is 2months on my doorstep distracting me with hsi delusions
<okamura> i needed to do something otherwise he was not going to leave
<moon-child> Mutabah:
* Mutabah is away (sleep)
<okamura> it was all the way you who provoked those issues consistently it is your circuis
<moon-child> halp
<okamura> you play a victim consistentnly and brainwash all the earths people ontop.
<moon-child> geist: klange: halp
dude12312414 has joined #osdev
<okamura> the events that lead to so bad situation to me, was always one of theirs freak outs hysteria and abuse towards me, the same people who complained to me, onde dude was hired to stalk me and group of deluded people continued that, all his views were twisted even the playboy style attraction need from women, case rather than wanting to screw someone he more like wanted me to have nobody, and there were so many woman next thing he wanted all of them and to
<okamura> keep me on zero, what the fuck? do i miss something or are you idiots to complain to mental institution about all your farts
okamura has quit [Quit: Leaving]
AssKoala has quit [Ping timeout: 244 seconds]
freakazoid343 has joined #osdev
<Mutabah> Sorry, was getting ready for the day
Oli has quit [Quit: Lost terminal]
gog has quit [Ping timeout: 244 seconds]