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
k0valski18891621 has quit [Quit: Peace out !]
Shaddox404 has joined #osdev
mrpops2ko has quit [Ping timeout: 248 seconds]
guideX_ has joined #osdev
nitrix has quit [Ping timeout: 276 seconds]
nitrix_ has joined #osdev
mrpops2ko has joined #osdev
edr has quit [Quit: Leaving]
mrpops2ko has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
mrpops2ko has joined #osdev
m257 has joined #osdev
m257 has quit [Client Quit]
Matt|home has quit [Quit: Matt|home]
fedaykin has quit [Quit: leaving]
fedaykin has joined #osdev
<GreaseMonkey> looking at the ISA DMA page on the wiki (trying to get an actual ISA SB16 working), and there's something claiming that 16-bit ISA DMA doesn't cross 64 KB boundaries
<GreaseMonkey> unfortunately this contradicts the schematic for the IBM PC/AT, where it actually *does*, and the low bit of the page address is ignored
<GreaseMonkey> this seems to not be the problem i'm hitting with trying to get this working on real hardware though
<zid`> the 8237 can only index that much bus I think
<zid`> so I assume there's some trickery that sticks the high bits, and the 8237 just uses the lower? would have to be 64k *aligned* then though...
<zid`> oh external page register byte, yup
mrpops2ko has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
<zid`> 16 bits from the 8237, 8 bits from an external latch, for 16MB of range, but the 8237 can't tell the external latch to increment, so it just wraps after nnFFFF
<zid`> GreaseMonkey: re low bit, there's 8bit and 16bit dma, one on each 8327, you obviously don't need a low bit on one of those, is that maybe what you're looking at?
mrpops2ko has joined #osdev
<Shaddox404> Is the website down again?
<Shaddox404> I am unable to access it
<GreaseMonkey> zid`: yeah i'm looking at that... and the MAR84 schematic for the IBM PC/AT (specifically pg96-97, sheets 14,15) backs up the claim earlier on in the doc that it can transfer a block of up to 128KB
<GreaseMonkey> sheet 14: U112 connects the 16-bit 8237's XD7 line to XA16 when its ~OE line goes low, this line is called ~AEN2. the 8-bit one connects XD7 to XA15, the line being called ~AEN1.
<GreaseMonkey> sheet 15: U124 contains the page registers. MD1 through MD7 drive A17 through A23. MD0 goes through a buffer gated by ~AEN1 before going into XA16. if ~AEN1 is high, this doesn't go through.
<GreaseMonkey> i'll get the link for the actual reference manual
<GreaseMonkey> i *think* DOSBox-X might follow the PC/AT on this matter, as i was actually having issues when i didn't factor stuff in properly
<GreaseMonkey> it's quite feasible that a lot of boards omit the upper address bit from the 8237 instead of omitting the lower address bit from the page register
Shaddox404 is now known as [AWAY]
[AWAY] is now known as Shaddox404
<GreaseMonkey> ...oh what the hell, checking the DOSBox-X source, it seems ISA chipsets tend to behave how i've described it, while PCI chipsets and later tend to behave like the wiki describes it
<GreaseMonkey> and it's a config option there, defaulting to the 128KB case
<GreaseMonkey> the actual target machine with the actual ISA SB16 on it on the other hand is a PCI chipset
<GreaseMonkey> ...update: the reference manual for the 82317AB (PIIX4) used in said target machine is documented as *also* behaving as per the PC/AT
Shaddox404 has quit [Quit: (╯°□°)╯︵ ┻━┻]
guideX_ is now known as guideX
asarandi has quit [Quit: WeeChat 4.5.2]
asarandi has joined #osdev
mrpops2ko has quit [Ping timeout: 272 seconds]
karenw has quit [Ping timeout: 248 seconds]
eluks has quit [Remote host closed the connection]
eluks has joined #osdev
parabirb has quit [Quit: WeeChat 4.5.2]
zach has joined #osdev
parabirb has joined #osdev
zach is now known as tuttza
Matt|home has joined #osdev
jedesa has quit [Read error: Connection reset by peer]
jedesa has joined #osdev
ThinkT510 has quit [Quit: ThinkT510]
netbsduser has joined #osdev
GeDaMo has joined #osdev
ThinkT510 has joined #osdev
netbsduser has quit [Ping timeout: 260 seconds]
_whitelogger has joined #osdev
fkrauthan has joined #osdev
fkrauthan has quit [Remote host closed the connection]
fkrauthan has joined #osdev
nitrix_ is now known as nitrix
_whitelogger has joined #osdev
dotexe1337 has joined #osdev
tuttza has quit [Quit: tuttza]
kata has quit [Read error: Connection reset by peer]
kata has joined #osdev
<kof673> eliminating read-only string data for meta reasons :D (since the location is seemingly either fixed, or the linker and loader handles, don't want either of those) https://0x0.st/s/Cl3614rk5rDX8FOBdsrqnQ/8DtO.c
<araxestroy> what
<kof673> i just don't want a separate section for those
<kof673> a local variable solves that lol
<kof673> then it is on the stack lol
<kof673> like any other local variable lol
<araxestroy> I mean rodata exists for a reason
<araxestroy> but if your goal is to construct static strings on the stack and tank your cacheability for no reason I guess that one's on you chief
<kof673> rodata is a property of whatever object format, this is generic
xenos1984 has joined #osdev
<kof673> ideally, linker would have an option for either behavior, i just will use a define
<kof673> *toolchain/linker/compiler, wherever
ThinkT510 has quit [Ping timeout: 252 seconds]
ThinkT510 has joined #osdev
_whitelogger has joined #osdev
kata has joined #osdev
dotexe1337 has quit [Remote host closed the connection]
<kof673> a global variable or static would work too, it is just when you write: puts("foo") does it make a variable? is it just a pointer into some read-only data stored somewhere? linker magic does all this, i imagine the ability it could be rewritten by a script as: puts( get_datum_address("foo_string") ) and be dynamic/meta-tized
<kof673> i'm not saying it is a good idea, how many of these types of thinsg are there :D
<kof673> eliminating one class is a win for that
<kof673> may have to write simple code and forgo some features, etc.
<kof673> it will actually become something like that :D but have to handle datums too *( (cast_to_foo_function_pointer_type)( get_fn_address("foo") ) )( ...arg_for_puts, meta-tized as well lol... )
<kof673> sXfooXputsX
jcea has joined #osdev
<\Test_User> you can make the linker put it in whatever section you want with a linker script. if you just care about as few sections as possible, you *could* make it stuff everything into a single rwx section (not recommending that, but it is an option)
averymt has quit [Read error: Connection reset by peer]
Kryptik has joined #osdev
Kryptik has quit [Remote host closed the connection]
Kryptik has joined #osdev
karenw has joined #osdev
dutch has joined #osdev
<kof673> it is just a stupid meta experiment, i imagine it will hit some wall, but how much can be meta-tized lol
<kof673> ideally you would have -fDÿnamic_object -fmagiclink_at_runtime_with_code it is just how much can you get away with without writing a custom compiler dynamic object versus Dÿnamic code /s
<kof673> an intermediate representation would be the proper place for such things perhaps, something that knows "that's a function call" and can rewrite it. or a bytecode/VM :D
<kof673> my example pseudocode already has chicken and egg problem if itself uses a string for lookup, so would have to 2nd pass with script if those should be eliminated too, or use an enum, or defined integer values, etc. anyways :D
<kof673> it is just how much late binding can we do basically :D
jcea has quit [Ping timeout: 252 seconds]
goliath has joined #osdev
karenw has quit [Ping timeout: 276 seconds]
eluks has quit [Remote host closed the connection]
eluks has joined #osdev
sprock has quit [Ping timeout: 260 seconds]
tuttza has joined #osdev
goliath has quit [Quit: SIGSEGV]
netbsduser has joined #osdev
innegatives has quit [Quit: Connection closed for inactivity]
innegatives has joined #osdev
goliath has joined #osdev
tuttza has quit [Quit: tuttza]
Matt|home has quit [Quit: Matt|home]
<geist> woot, just scored a mac SE/30
<nortti> :o
<nortti> what kinda setup?
<nikolar> geist: very nice
GeDaMo has quit [Quit: 0wt 0f v0w3ls.]
<Kryptik> epic
<Kryptik> make a mac68k operating system =0
<nikolar> that sounds like fun
<Kryptik> i have a powerbook 180 which has an 030 as well
<Kryptik> tunnel vision though =<
<nikolar> an 030, means you can write a proper memory protected os :P
<Kryptik> yes, the se30 has an 030 too
<nikolar> oh makes sense
<nikolar> i forget which one is which
<Kryptik> all of the other 030 models had "x" suffixed at the end, but they decided calling it the mac SEx wasnt a great idea
<Kryptik> so that one became the se/30
<Kryptik> XD
<nikolar> kek fair enough
<Ermine> so this week it was the first time i've saw a risc-v board
<nikolar> they are pretty cheap to get online
<nikolar> about the price of a raspi
<nikolar> i mean they suck, but they are cheap
<netbsduser> nikolar: at the cost of having to deal with the 030 mmu
<bslsk05> ​github.com: lk/arch/m68k at master · littlekernel/lk · GitHub
<netbsduser> i love the 030 mmu but it's frightening
<nortti> how does it differ from the 040 mmu?
<heat> nikolar: yeah rpi priced but still far from the value package
<nikolar> heat: yeah, but if you want riscv, it's affordable
<netbsduser> i only currently support the 040/060 mmu in my kernel for that reason (also because qemu emulates those but not 030 mmu)
<nikolar> can't you just use 030 mmu as if it were 040
<nikolar> i think 040 was a subset of 030
<nikolar> feature wise
<Kryptik> heat: all assembly? epic
<Kryptik> ill take a look at this later
<heat> not really?
<Kryptik> ah, most is C except for arch
<nikolar> also not heat's
<heat> but this is geist's m68k OS
<Kryptik> i been up all night soz xD
<netbsduser> nortti: for instance page size can be any pow2 between 128 byte and 64 kib; there are up to 6 levels of tables (5 true table levels (pick how you want bytes in a vaddr to be split; table size customisable) + indirection (one pte says goto another pte)
<zid`> that seems fine, the hard part is picking a system to use
<nikolar> netbsduser: did you mean to ping me
<zid`> nortti: We love you
<netbsduser> i think 040 is a *feature* subset but it's more complex
<netbsduser> nikolar: the both of you
<nikolar> ah ok
<heat> Ermine: this riscv board, was it running the nova nvidia driver
<heat> on the rtx 4050
<nikolar> no
<heat> ah ok
<nikolar> netbsduser: i think geist mentioned that he wrote his 68k mmu code for the 040 because it would work on 030 more or less as is
<heat> maybe the BSP only supports linux 2.7
<heat> that's fine
<zid`> I'd just 512 byte map everything in as few levels as possible
<zid`> fuck all the complexity
<zid`> or 4k if lazy
<nikolar> but your page tables eat up a lot of memory then kek
<netbsduser> nikolar: it may be true, i haven't looked at it closely enough to say for sure
<heat> 512 byte map will have near the most levels possible i assume
<nikolar> neither have i
<zid`> heat: not if they're variable size and have a 'stop'bit
<zid`> which is how I assume how you implement that thing
<nikolar> zid`: basically everyone just picked one set of settings and stuck to them
<zid`> nikolar: yea I figured
<nikolar> that's why they scaled back on the 040
<zid`> like ring0/ring3
<zid`> intel could have removed r1/r2 in 1980
<zid`> and nobody owuld have noticed :P
<nikolar> they were officially removed on amd64 iirc, right
<zid`> no idea
<netbsduser> they talk a bit about the reasoning for the flexibility in the 68030 manual
<zid`> I don't remember reading it, but I wouldn't be surprised
<nikolar> netbsduser: except that in reality, most people didn't need or didn't want to bother
<nikolar> like most unused hardware features kek
<netbsduser> for example "if you are doing an AI system then you want small pages and lots of levels because that suits AI languages like lisp" or words to that effect
<nikolar> i liked ai better when it was lisp
<netbsduser> i was about to say the same
<nikolar> now that it's python, it sucks
<heat> nikolar: yes they don't exist for IA32e
<nikolar> yeah neato
<netbsduser> talk about an, as the zoomers say, aura loss
<nikolar> kek
<nikolar> zoomer here, can confirm, we talk like that all the time
<zid`> we're back to good old 80s AI now at least
<nikolar> right heat
<zid`> where it's a stack of if() statements, but now they have an LLM underneath
<heat> yessir
<zid`> if(query.contains("blah blah")) query.replace("blah", "xxx"); + llm
<heat> AI is most definitely not python
<netbsduser> designing a new os built from the ground up for ai and perfect to post on hacker news, reddit, twitter, etc (it's a LISP machine)
<heat> it's mostly C++ with some C helping
<zid`> It's mostly python all calling into the same cuda
<nikolar> heat: sure, but glue code is all python
<heat> and then python for the people that don't care about speed
<nikolar> netbsduser: turns out, we had perfect ai machines decades ago
<heat> AI on emacs LISP?
<bslsk05> ​'Richard Stallman's Email Song' by Hevo
<Ermine> but what about pytorch
<kof673> > aura loss # mistranslation of aurum surely :D
vdamewood has joined #osdev
goliath has quit [Quit: SIGSEGV]
<nikolar> heat: that won't work on zid`
<heat> yeah he's probably a catholic
<nikolar> he's definitely not a workaholic, i can tell you taht
<zid`> I am a socialist, other people should do all the work
<zid`> and I should be there to paint nudes or other artistic pursuits
<nikolar> you can't even paint
<nikolar> (probably)
<zid`> I am a greet artiste
<zid`> but what defines great anyway, commercially viable? fuck that
netbsduser has quit [Ping timeout: 252 seconds]
Matt|home has joined #osdev
<Ermine> or likes on pixiv
<zid`> It's art when someone says "wtf dude"
Left_Turn has joined #osdev
TkTech2 has joined #osdev
TkTech has quit [Ping timeout: 248 seconds]
TkTech2 is now known as TkTech
LostFrog has quit [Quit: ZNC 1.8.2+deb3.1+deb12u1 - https://znc.in]
PapaFrog has joined #osdev
Shaddox404 has joined #osdev
arminweigl has quit [Ping timeout: 276 seconds]
karenw has joined #osdev
vdamewood has quit [Quit: Life beckons]
arminweigl has joined #osdev
Lucretia has quit [Remote host closed the connection]
Left_Turn has quit [Ping timeout: 268 seconds]
<Ameisen> geist: I've wondered in the past why there aren't any SBCs with 68k chips.
da5id has joined #osdev
mavhq has quit [Ping timeout: 265 seconds]
mavhq has joined #osdev
mavhq has quit [Ping timeout: 252 seconds]
mavhq has joined #osdev