Search logs:

channel logs for 2004 - 2010 are archived at ·· can't be searched

#osdev2 = #osdev @ Libera from 23may2021 to present

#osdev @ OPN/FreeNode from 3apr2001 to 23may2021

all other channels are on OPN/FreeNode from 2004 to present

Sunday, 8 January 2023

00:03:00 <zid> Just seems like a nice soundbyte to me
00:03:00 <zid> not something to genuinely strive for because it's so useful
00:03:00 <heat> here's some food for thought: unified doesn't mean open
00:03:00 <heat> is UEFI open? (spoiler: no)
00:04:00 <heat> is x86 open? (spoiler: absolutely not)
00:04:00 <kof123> is openvms open?
00:05:00 <heat> Is OpenBSD open?
00:05:00 <heat> *illuminati all seeing eye*
00:05:00 <zid> There are presumably 0 open bioses for x86 now
00:05:00 <kof123> *eyes <shakes head>
00:06:00 <heat> zid, depends on what you mean by open and BIOS
00:06:00 <heat> seabios and OVMF are open in every sense of the word
00:06:00 <heat> coreboot is open in only some sense of the word, varying per platform
00:07:00 <heat> if you boot blobless on your x86 processor (the best case coreboot scenario) you still have another 7 or 8 coprocessors that aren't, right there in your board
00:09:00 <epony> "open up all the things" --theSauron
00:10:00 <epony> reprogrammability will help solve these challenges
00:10:00 <epony> nothing impedes that other than proprietary control and monopolistic system designs
00:11:00 <epony> so it's a self-stabilising problem, mostly (optimism and more progress in standardisation that is reprogrammable / reconfigurable)
00:11:00 <epony> openness comes with access, access to the programming model.. solves it
00:14:00 <heat> you know, I think that in a way, the more standardized something is, the less open it is
00:14:00 <epony> there are open and free standards
00:14:00 <epony> and there is closed and proprietary implementation even without standards, it's just incompatible and thus limited use
00:15:00 <heat> sure, you can do SBI calls in riscv to do IPIs, arm the timer, etc, fully standardized. is it more open than x86?
00:15:00 <epony>
00:15:00 <bslsk05> ​ Soft microprocessor - Wikipedia
00:15:00 <epony> eventually designs improve..
00:15:00 <epony> and these get "affixed" in high-performance implementation in mass production
00:16:00 <epony> technically it is open (to the design and production business units)
00:16:00 <epony> not for the clients and reimplementers
00:17:00 <epony> at some time, saturation of the market is reached, no more exploitative sales of incomplete or limited or partial programmability is acceptable, and more opening happens
00:18:00 <epony> it can be sped up with regulation and steering
00:18:00 <epony> it can be cracked open 40 years ago
00:18:00 <epony> it's not a very tough nut..
00:20:00 <epony> it is an artificial inefficiency / defect in design
00:21:00 <epony> businesses demand it
00:21:00 <epony> users hate it strongly
00:23:00 <epony> re-implementing different internals that provide the same instruction specification is "a way at it"
00:23:00 <epony> fabless provides that capability long available now
00:23:00 <epony> architectures have "licensees" and re-implementers
00:25:00 <epony> lack of standardisation is the single most inefficient challenge in engineering, it happes from simple machines and their specification parameters to complex machines
00:25:00 <epony> standardisation is opening it for reimplementation
00:26:00 <epony> non-standard and incompatible ever changing designs and their bundling as "unit" of compute is an anti-standardisation practice
00:26:00 <epony> that's what arm reimplementers do, and that is a general engineering fault
00:27:00 <epony> it's acceptable to some level in embedded and simplified (small units) but it becomes infeasible with time
00:28:00 <epony> even functional blocks in microprocessors and microcontrollers have standards internally (not only externally)
00:28:00 <epony> so they are interfacing inside the central computing machine in a standards and interface specified way
00:29:00 <epony> no other way to achieve complex and reliable designs, technically it becomes an overly complex task to design highly coherent non-standards and non-interfaced functional blocks
00:30:00 <epony> it's a main principle of engineering and machine construction and is an integral part of electronics design
00:30:00 <epony> how accessible that information is, is just a matter of control and secrets of commerce and competition (artificial)
00:31:00 <epony> internally these things do not exist (non-standard and incompatible interfaces, just a different component is used which matches or is re-imlpemented anew)
00:31:00 <epony> this is part of the modular-composable machinery construction
00:32:00 <epony> it's efficient and reliable, when done well
00:32:00 <epony> it can be done without the business obstruction to its propagation and use
00:33:00 <epony> eventually, it is needed to unblock progress and improvements industry wide in a class of components and machine elements
00:33:00 <epony> design for standards is happening all the time
00:34:00 <epony> when there is no standard, one is invented by the implementers as a specification or a de-facto standard and traded around as a licensed technology etc
00:34:00 <epony> access to that to a broader audience of programmers and software implementers is then a business decision too
00:35:00 <epony> with a standard and reference implementation, that is open and free / public access, it's not that important who manufactures it, but how well and how reliable / efficient / affordable / mass-scaled / compatible
00:36:00 <epony> these are the properties needed by programmers and other engineers
00:38:00 <epony> SoC are not that much different but they hide their internals and do not standardise these for competitive reasons not because it is not important and not needed, it is a real problem
00:39:00 <epony> the more complex the functional blocks in the microprocessors and integrated semiconductors become, the more it is needed
00:39:00 <epony> and withheld for commercial and lock-in reaons
00:39:00 <epony> 25-30 years (or half a career) is the aimed lock-in proprietary grab, and it's sustained between a cartel of business licensees
00:40:00 <epony> only when there are no other machines a regulator steps in and hits that nut with a policy staff to crack it open
00:40:00 <epony> Intel and IBM had their "nuts" addressed in that way
00:41:00 <epony> AT&T too, supposedly
00:42:00 <epony> the virtual machine specification are subject to similar notes of applied co-existence
00:43:00 <epony> that means that byte-code / intermediate-representation are a virtual machine technology that has to have at least one open / accessible / generally free variant (or these get created)
00:43:00 <epony> applies to compilers and application models too
00:44:00 <epony> not only physical microprocessors and highly integrated circuits and modular-composable units of computing and communications
00:44:00 <epony> it's typically sorted with arrangements and license models between big businesses or lawsuits and such dramaturgy
00:45:00 <epony> crossing nations borders and regions, nothing exists from that economic-financial and legal-political reality, other than the standards, the physical units components and ther desing, manufacturing and programming models
00:46:00 <epony> if leadership and technical superiority is needed in one very large super-power, it better has standards and licensees otherwise it gets surpassed by other such
00:47:00 <epony> inefficiencies are only sustainable in an internal econo-political control region
00:47:00 <epony> and these get challenged by international competition and cooperations of others to overcome that problem ;-)
00:48:00 <epony> machines are after all supposed to serve humanity and not the other way.. so modularity and composability are princilpes used to improve the machines so they can offload work from the people and achieve human development that way with better results
00:48:00 <epony> standardisation is a part of that
00:48:00 <epony> and.. we used larger machines to design smaller machines
00:49:00 <epony> that's what the mainframes were used for, so electonics simulation and desing were the primary objectives, and computation and communication are applications of that process
00:51:00 <epony> at least physics and their mathematical and analytic models are standardised scientifically, then the machines are a matter of efficient modelling of these inventions and found applied use of engineering
00:51:00 <epony> so there is always some "standard" understanding and reproducible designs
00:52:00 <epony> efficiency requires that it propagates as much as possible into refined and elaborate recurring design and manufacturing stages
00:52:00 <epony> microprocessors and other integrated electronics devices are not an exclusion, they are the most important application of these principles ;-)
00:53:00 <epony> businesses are just organisational units
00:53:00 <epony> better organisation solves inefficiencies
00:53:00 <epony> designs improve, things move forward to better applied use of computing and communications
00:54:00 <epony> sometimes there can be shor term glitches in that but their sustained inefficiency is temporary
00:54:00 <epony> markets and consumption are a form of regulation too, competition and reimplementation and redesigns too
00:55:00 <epony> failed machine designs are many, but overall the optimal designs are kept or reproduced
00:55:00 <epony> we call that technological progress, and it produces engineering textbooks and standards
00:56:00 <epony> there is always a solution to roadblocks and artificial problems
00:57:00 <epony> there are standards for electronics, computer hardware, and software too
00:58:00 <epony> and communications protocols
00:58:00 <epony> even for industrial process and automation
00:58:00 <epony>
00:58:00 <bslsk05> ​ List of computer standards - Wikipedia
00:59:00 <epony> it's a very large topic, but even operating systems standardise somewhat on interfaces and organisation
00:59:00 <epony> at least the better ones strive for interoperable and portable / better modelling and programming of the machines, in both languages and implementation as operating environments
01:00:00 <epony> so programming languages are standardised too, and data exchange / interchange formats
01:01:00 <epony> a machine that implements standards, being slightly non-standard internally is taken as a small unit of computing and replaced later with a standard one internally too
01:02:00 <epony> but it's standardised, just not accessible and open, as it's comprised of functional and logic blocks with interconnects internally
01:03:00 <epony>
01:03:00 <bslsk05> ​ Communication protocol - Wikipedia
01:04:00 <epony> and even applied use of languages then..
01:04:00 <bslsk05> ​ Coding conventions - Wikipedia
01:06:00 <epony> it was also provided as "personal computers requirements" from dominant software providers too
01:06:00 <bslsk05> ​ PC System Design Guide - Wikipedia
01:08:00 <epony> and then there are international standards organisations from different reagions that provide comparable and open/free/public standards (some of these are commercial but still accessible)
01:09:00 <epony>
01:09:00 <bslsk05> ​ ISO/IEC JTC 1 - Wikipedia
01:10:00 <epony> for the programming languages it's subcommitee 22
01:10:00 <bslsk05> ​ ISO/IEC JTC 1/SC 22 - Wikipedia
01:11:00 <epony> others have de-facto language standards as specifications
01:11:00 <epony> you know about POSIX/SUS too
01:12:00 <epony> applying these to a newer and more enthusiastic and emmerging class of machines is not only fun but really important and useful to everyone
01:12:00 <epony> in the process, improving the standards and reference implementations are a net benefit too
01:12:00 <epony> and compatible machine designs and classes interoperability is a result of that
01:13:00 <epony> I am sure you can find some standards and quirks of programming various machinery on the osdev wiki too ;-)
01:13:00 <epony> at least pointers where to go find specifications
01:19:00 <epony> in my opinion, standards are not everything, but the useful parts of them are important
01:20:00 <epony> therefore standardisation on machine initialisation and preparation for work is subject to standardisation too
01:20:00 <epony> or at least should provider a standard machine model after that
01:21:00 <epony> if the realistic / physical machines can not be standardised, at least a virtual and emulated one can
01:22:00 <epony> that's the bytecode/intermediate representation/managed runtimes and their match towards an efficient model/emulation/simulation of a realistic machine on which they are running or which they will simulate with its standards
01:24:00 <epony> that's also the reason why these seemingly non-tandard PC 97-01 specifications are part of the virtualisation software implementation as various "devices" and "buses"
01:25:00 <epony> and also match a generation of vary popular mainstream middle class computers, which even when obsoleted are replaced as virtualisation and emulation for their programming model (that many many applications rely on)
01:26:00 <epony> to the extend that new systems are realised now first in emulators / virtual machines and standards specifications now, for example the Risc-V
01:26:00 <epony> "extent"
01:27:00 <epony>
01:27:00 <bslsk05> ​ RISC-V - Wikipedia
01:29:00 <epony> and then there are theoretic machines and programming "instructions sets" and "languages" for them
01:29:00 <bslsk05> ​ List of educational programming languages - Wikipedia
01:30:00 <epony> some of which even have software toolchains support
01:31:00 <epony> this is where RISC comes from
01:31:00 <bslsk05> ​ Berkeley RISC - Wikipedia
01:31:00 <zid> who's in charge of bslsk05
01:31:00 <epony> and can be considered as a "draft" standardisation / design specification for that family of microprocessors
01:31:00 <zid> and does it have a blacklist
01:35:00 <heat> cc puck
01:47:00 <kazinsal> it's not bslsk's fault, don't take it out on the poor innocent bot
02:00:00 <zid> I'm wondering if it has a blacklsit feature
05:24:00 <epony> "awh make it stawhp" --malody gogo
06:22:00 <heat> TIL
06:22:00 <heat> this is kind of nuts
06:22:00 <zid> If I got more than 20kB/s I'd comment
06:23:00 <zid> is that the special CIS mirror
06:24:00 <heat> i don't think mirrors
06:25:00 <zid> oh it's literally just the glibc docs
06:29:00 <heat> yes, its the complete docs in a single pdf
06:29:00 <heat> and *not in GNU info*
06:30:00 <zid> I need you to listen to all of this then tell me your favourite, heat
06:30:00 <bslsk05> ​'메이드 인 어비스(Made In Abyss) OST [1,2,3] Full Soundtrack' by w eee (05:22:00)
06:31:00 <clever> doit!
06:47:00 <epony> mandoc can output to pdf
06:48:00 <epony>
06:48:00 <bslsk05> ​ mandoc(1) - OpenBSD manual pages
11:21:00 <puck> <zid> I'm wondering if it has a blacklsit feature <- no blacklsit, but yes blacklist
15:19:00 <x8dcc> hi, I am trying to read data from the RTC and I am trying to add IO support, but I am pretty sure there is something wrong with my assembly
15:19:00 <x8dcc> in here (32bit) the first and second args should be [esp + 8] and [esp + 10], right?
15:19:00 <bslsk05> ​ <no title>
15:21:00 <zid> why not just breakpoint it and make sure the regs have what you thought they should?
15:21:00 <zid> but +10 make no sense
15:21:00 <zid> that's 2 pushes + 1/2 push
15:22:00 <x8dcc> I thought 1/2 push because of the size (uint16_t), but you are right
15:22:00 <x8dcc> I tried debugging, but I couldn't debug that part
15:23:00 <zid> as in you didn't know how to mix C and assembly wrt your debugger?
15:23:00 <zid> if it's gdb try layout asm and stepi not step
15:24:00 <x8dcc> ah, didn't know about stepi
15:24:00 <x8dcc> and yeah, changing 10 to 12 fixed it, thank you! :)
15:24:00 <zid> diassembling get_reg would have shown it
15:24:00 <zid> also
15:25:00 <x8dcc> show what? the 2 argument pushes before calling io_outb?
15:25:00 <zid> yea
15:26:00 <x8dcc> yeah, I saw that, thats precisely when I noticed that in 32bit the calling convention its not the same as 64 bit
15:26:00 <x8dcc> (edi, esi, ...)
15:26:00 <zid>
15:26:00 <bslsk05> ​ Compiler Explorer
15:26:00 <x8dcc> but for some reason I didn't think it pushed the whole register even if the arg was smaller
15:26:00 <zid> You'd get something like this
15:27:00 <zid> loads ax from incoming param b, pushes eax and 12, call g. Specifically doesn't push ax, pushes eax.
15:27:00 <x8dcc> yes exactly
15:27:00 <x8dcc> it's what I saw when trying to debug with gdb (thats why I noticed 32bit doesn't use edi and esi)
15:28:00 <x8dcc> but for some reason I thought 2bytes were pushed instead of 4 :p
15:29:00 <zid> Best part would be if you had truncated a pointer or bitmask or something and it still worked but behaved insanely
15:30:00 <ornx> what is happening here exactly? how is rax changed even though nothing should have modified it? or is gdb displaying incorrect information?
15:30:00 <bslsk05> ​ (attached to qemu debugger running grub+multiboot2 payload)Reading symbols fro -
15:33:00 <ornx> wait a second, the dec instruction starts with 0x48... i'm probably still in 32 bit mode nevermind lol
15:34:00 <zid> What's cooler is that you managed to get qemu and gdb to disagree on the cpu mode
15:35:00 <zid> if I do that I get big errors about the size of messages not being correct
15:49:00 <x8dcc> I got those messages too
15:50:00 <x8dcc> I had to patch gdb
15:50:00 <ornx> yeah grub's multiboot2 seems to drop you into 32-bit mode unless you specify the entry address for amd64 efi mode in the header, specifically, which i guess makes sense although i thought if it was going to do that then it would complain about the 64-bit ELF
15:50:00 <zid> you're supposed to compile it with xml enabled
15:50:00 <zid> I found out
15:50:00 <zid> lets it do negotiation and stuff
15:51:00 <x8dcc> here is the patch I modified for gdb in case anyone wants it
15:51:00 <bslsk05> ​ cross-compiler/remote-packet-patch.diff at main · fs-os/cross-compiler · GitHub
15:52:00 <x8dcc> I did not make it, I just updated it for version 12.1 btw
15:55:00 <zid> yea that patch is oold
15:55:00 <zid> I saw it when googling my error, but the solution was xml
15:55:00 <x8dcc> well I tried everything I could find because I didn't want to patch it
15:56:00 <x8dcc> but I ended up trying it and it worked, just installed it to a different folder so I don't overwrite my normal one
15:56:00 <zid> for me that's just echo "sys-devel/gdb xml" > /etc/portage/package.use/gdb && emerge -1 gdb
15:58:00 <x8dcc> I just tried adding the multitarget use flag
15:58:00 <x8dcc> but it looks like I don't have the xml flag enabled with emerge --info
15:58:00 <zid> ^
15:58:00 <x8dcc> so I'm gonna try that now
17:20:00 <x8dcc> zid: that... actually fixed it. Thank you so much
17:32:00 <zid> ta-da
17:32:00 <zid> took you a blood while lol
17:39:00 <zid> I just tried it, 5 mins 4 seconds :( I blame having to download it for not cracking sub 5
18:37:00 <kaichiuchi> hi
18:48:00 * geist yawns
18:48:00 <geist> been out of town the last week. a week long visit to canada
18:48:00 <geist> was fun, if a bit cold
18:55:00 <gog> hi
19:01:00 <Ermine> gog
19:01:00 <gog> Ermine:
19:01:00 <Ermine> hi
19:01:00 <gog> hi
19:01:00 <Ermine> may I pet you?
19:01:00 <gog> yes
19:01:00 * Ermine pets gog
19:01:00 * gog prr
19:02:00 <Ermine> How are you doing
19:02:00 <gog> i'm well
19:02:00 <gog> how you
19:02:00 <Ermine> I'm having an exam tomorrow
19:03:00 <geist> oh!
19:03:00 <gog> nice
19:04:00 <Ermine> phuny
19:09:00 <Ermine> So I'm going to disgrace myself tomorrow
19:35:00 <gog> :(
19:35:00 <gog> why disgrace
19:44:00 <heat> lol
19:44:00 <heat> my system can't reliably resume from S3 anymore
19:45:00 <Ermine> gog: this is my second attempt and I'm not really ready
19:49:00 <gog> oof :(
19:49:00 <gog> heat: lol
19:49:00 <gog> lmao
19:49:00 <gog> lmfao
19:49:00 <gog> roflmfao
19:52:00 <heat> sux
19:52:00 <heat> it's probably age
19:52:00 <heat> this has what, 4.5 years of heavy usage?
19:52:00 <heat> mighty laptop served me well but it's getting old
20:00:00 <gog> 4.5 years isn't that old
20:01:00 <gog> my old one went 9 years
20:01:00 <gog> then an unknown corrosion problen killed it
23:17:00 <kaichiuchi> i should get a pihole
23:19:00 <gog> i should get pie
23:20:00 <moon-child> i should get hole
23:20:00 <moon-child> (with apologies)
23:22:00 <zid> I can put you into a hole