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
<j`ey> but you can always just set it to 1
<remexre> hm, ok
<j`ey> (to start with)
epony has joined #osdev
nyah has quit [Quit: leaving]
<heat> oh haha that's very funny
<heat> the access bit in arm64 is software managed
<heat> j`ey, what happened to your rust OS or whatever you were working on
<j`ey> ditched it
<j`ey> been focusing on other hobbies, now that I'm getting more kernel stuff done at work
<heat> you should work on edk2 as a hobby
<heat> it's really good
<heat> trust me /s
<j`ey> lol
<j`ey> you are trust worthy but I have experience trying edk2 :P
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
<heat> "you are trust worthy"
<heat> awww, you look so cute lying
<j`ey> :P
<geist> remexre, j`ey : not without the accessed bit feature, which comes with v8.1
<geist> ie, it's an optional feature in hardware that you have to enable and deal with. otherwise the bit acts as a fault you take and set yourself (or just set it up front)
<geist> until you care about it, just always set the A bit and you wont get a fault
<j`ey> ah so there is a feature for it, havent look at that
<geist> yeah it's like the D 'bit'. you enable it in the TCR if present
<geist> but then you have to be a lot more careful about how you access entries, because of weakly ordered atomics
<kaichiuchi> hi
m3a has quit [Ping timeout: 268 seconds]
m3a has joined #osdev
eryjus has joined #osdev
eryjus has quit [Client Quit]
spikeheron has quit [Quit: WeeChat 3.7]
spikeheron has joined #osdev
<heat> damn you got me to want to write arm64 code
<heat> :/
elastic_dog has quit [Killed (calcium.libera.chat (Nickname regained by services))]
elastic_dog has joined #osdev
heat has quit [Remote host closed the connection]
heat has joined #osdev
eryjus has joined #osdev
eryjus has quit [Client Quit]
vdamewood has joined #osdev
joe9_ has quit [Remote host closed the connection]
eryjus has joined #osdev
eryjus has quit [Read error: Connection reset by peer]
gog has quit [Ping timeout: 260 seconds]
diamondbond has joined #osdev
<zid> I spent 10 mins designing a weird cpu arch in case I wanted to pick up my logisim project ever
<zid> I made a register then went "I don't have an ISA" several years ago
<zid> and have been meaning to do it since
<heat> I've spent an hour adding x86 mitigations to my OS
<heat> fwiw I still need KPTI :)
<epony> the 25 year boot loader project objects (no TSR cheating)
diamondbond has quit [Remote host closed the connection]
diamondbond has joined #osdev
diamondbond has quit [Quit: Leaving]
joe9 has joined #osdev
<zid> I tried to make it sort of orthogonal but I ended up replacing the A,A B,B etc variants with the imm8s, so it has a diagonal going across some bits of it
<zid> I'm going to mask rom it anyway though so whatever
xenos1984 has quit [Quit: Leaving.]
xenos1984 has joined #osdev
eryjus has joined #osdev
eryjus has left #osdev [#osdev]
heat has quit [Ping timeout: 256 seconds]
divine has quit [Ping timeout: 256 seconds]
<zid> I need a new excuse for the next 5 years though
<Mondenkind> you made a register? What kinda register?
<zid> one with latches, and blackjack
<Mondenkind> where's your ecc
<zid> thanks, that'll do for 5 more years
sicrs has joined #osdev
sicrs has quit [Client Quit]
phr3ak has quit [*.net *.split]
nisa has quit [*.net *.split]
nisa has joined #osdev
phr3ak has joined #osdev
<remexre> hm, does qemu's virt-5.0 not support initrds? I don't get an error when specifying one that doesn't exist, it doesn't seem to appear in the dtb (using dumpdtb), and strace doesn't show it trying to open the path I specify
froggey has quit [*.net *.split]
froggey has joined #osdev
<remexre> ugh, looks like that's only the case when the -kernel is an ELF...
<mrvn> should work with raw multiboot too
<mrvn> not sure about it getting added to the dtb though
carbonfiber has joined #osdev
eroux has quit [Ping timeout: 260 seconds]
eroux has joined #osdev
nick64 has joined #osdev
nyah has joined #osdev
orthoplex64 has quit [Ping timeout: 260 seconds]
GeDaMo has joined #osdev
Burgundy has joined #osdev
nick64 has quit [Quit: Connection closed for inactivity]
awita has joined #osdev
eroux has quit [Remote host closed the connection]
y0m0n has joined #osdev
y0m0n has left #osdev [#osdev]
Burgundy has quit [Ping timeout: 264 seconds]
carbonfiber has quit [Quit: Connection closed for inactivity]
elastic_dog has quit [Remote host closed the connection]
elastic_dog has joined #osdev
heat has joined #osdev
spikeheron has quit [Quit: WeeChat 3.7]
TkTech has quit [Ping timeout: 260 seconds]
spikeheron has joined #osdev
elastic_dog has quit [Killed (erbium.libera.chat (Nickname regained by services))]
elastic_dog has joined #osdev
xenos1984 has quit [Quit: Leaving.]
xenos1984 has joined #osdev
Vercas6 has quit [Quit: Ping timeout (120 seconds)]
Vercas6 has joined #osdev
dude12312414 has joined #osdev
epony has quit [Read error: Connection reset by peer]
awita has quit [Ping timeout: 264 seconds]
xenos1984 has quit [Ping timeout: 260 seconds]
xenos1984 has joined #osdev
gog has joined #osdev
<heat> my gender has become football
<gog> what are your pronouns
<gog> goal/goal?
<heat> yes
<GeDaMo> Offside! :P
<gog> red card
xenos1984 has quit [Ping timeout: 260 seconds]
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
Burgundy has joined #osdev
xenos1984 has joined #osdev
<heat> geist: yo, are you familiar with your KPTI stuff?
<heat> waiiiiit, does fuchsia not have KPTI?
Vercas6 has quit [Ping timeout: 255 seconds]
Vercas6 has joined #osdev
invalidopcode has joined #osdev
cyao has joined #osdev
cyao has quit [Client Quit]
<remexre> urkh, new day new problem; I tweaked my linker script a bit to squeeze out some padding by allowing mapping the ELF headers
<remexre> but now when I set a breakpoint in gdb, it gets set to (offset of .text) + (absolute address of the symbol)
<remexre> hm, okay, looks like it's the second arg to add-symbol-table; with the old linker script, it always just worked to set it to 0 (since everything was absolute anyway)
<remexre> er, add-symbol-file*
<zid> that's actually really impressive
<zid> breaking the symbol table via linker script
<remexre> i was having misaligned sections earlier today, so... my impression is that it's not hard to break anything via linker script :P
<zid> alignment is easy to break with a linker script, that's what they do afterall, order sections and place them
<remexre> it seemed perfectly happy to add padding to preserve alignment before :P
hmmmm has joined #osdev
<zid> https://gist.github.com/zid/7d25a68f4cb01e5b2ef2fe9ae63f72e8 What do you think of my amazing ISA?
<bslsk05> ​gist.github.com: isa.txt · GitHub
<GeDaMo> No jmp or call indirect?
<zid> function pointers are for plebs, but should be easy to add
<zid> I just need to add some 16bit regs first
<GeDaMo> jump if negative?
<zid> there's space for more flags if I get the effort for it
<GeDaMo> Arithmetic shift right?
<zid> but then I'd want asl too and it doesn't fit
<kazinsal> time for two-byte opcodes
<zid> E and F columns for two byte escapes? :P
<zid> idk how to implement those off the top of my head so I was hoping to avoid them for rev1
<\Test_User> "use rwe memory to do function pointers"? :P
dude12312414 has joined #osdev
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<remexre> it would be kinda fun to try and implement patricia trees where the tree itself is code to do the lookup
Vercas61 has joined #osdev
Vercas6 has quit [Ping timeout: 255 seconds]
Vercas61 is now known as Vercas6
<mrvn> remexre: items can have alignment and those the linker will usually pad. But otherwise you can do whatever.
<mrvn> remexre: like a global "uint64_t foo;" will have 8 byte alignment.
<mrvn> zid: where is "move B, A"?
<\Test_User> 08?
<\Test_User> (or 80, not sure which direction that should be read)
<mrvn> oh, didn't see the scrollbar. My window ends at column 6
<\Test_User> zid: does it have an absurd bitorder so shl/etc are weird to use? :D
[itchyjunk] has joined #osdev
<zid> 08 or 80 what?
<zid> oh the table
<mrvn> zid: doesn't look like it has a nice encoding, like <op><reg1><reg2>
<zid> 08 = mov b, a
<mrvn> is that an illusion because how it is aranged?
<zid> 80 = sub A, imm8
<mrvn> call imm16 seems to be an outlier. only opcode with 3 byte length.
<mrvn> no ASL, ROR and ROL?
<zid> we could make shl/r have a weird encoding if you want, we have 5 bits to spare
<mrvn> No indirect load/store? MOV A, (B)?
<\Test_User> nah I mean the bitorders of the numbers, e.g. shl 1 causes 0x10 -> 0x80, shl 1 0x80 -> 0x02
<zid> what numbers
<\Test_User> registers
<zid> shl isn't a lookup table
<\Test_User> yes, I mean it does a shift according to the bit order and not the logical byte value :P
<\Test_User> (and a very non-standard bit order)
<mrvn> zid: If you swap OR and SHL you have space for ASL next to it
<mrvn> zid: "we have 5 bits to spare"? You mean because "imm3"? You could put the direction, carry/no carry, sign/no sign, rotate, zero/one fill in there
<mrvn> zid: That would free up a whole row and then you could have "call imm12"
<\Test_User> ooo yes now that's an idea, imm12, followed by shifting instructions off by 4 bits
<mrvn> \Test_User: imm12 would have 4 bits in the opcode and an extra byte.
<geist> heat: fuchsia does not have KPTI
<\Test_User> ah
<geist> we had actually kinda started on it but i recently rolled it back since it was incompatible with the upcoming PCID changes
<mrvn> 0xBx xx
<\Test_User> less cursed that way though
<mrvn> And shift goes to 0x98 - 0x9F xy
<mrvn> zid: ADD A,B and ADD B,A are the same. Do you need both?
<mrvn> If you only have the unique pairs then you can fit in AND/OR/XOR with reg,reg
<mrvn> What register does push/pop work on? Is there an SP and how to you set that?
wxwisiasdf has joined #osdev
<wxwisiasdf> Hiii ^-^
<wxwisiasdf> i love cobol
<wxwisiasdf> does anyone know how well is gcc's java jni support?
<geist> not a clue!
<mrvn> yes, someone surely will know. What has that got to do with Cobol?
<zid> That's a medical condition isn't it
<zid> loving cobol
<kazinsal> yeah I think there's a pharmaceutical for that
<mrvn> kazinsal: algol?
<geist> SNOBOL
<kazinsal> I wonder if there are modern PL/I enthusiasts
<geist> huh that's a strange looking language: https://en.wikipedia.org/wiki/SNOBOL#Example_programs
<bslsk05> ​en.wikipedia.org: SNOBOL - Wikipedia
<geist> the transfer thing at the end of the line is kinda interesting
<wxwisiasdf> there is also the CHILL language
<wxwisiasdf> zid: It's not a condition, is a natural human emotion
<mrvn> geist: can't remember the name of the talk but it was one of those "worst programming language" talks and the idea was that you have to add "please" in the source. If you don't then the compiler fails because you are rude. But if you say it too often that's also a failure: too polite.
<geist> need some sort of hardcore language where if you dont please the erratic overlord they just fire you
<mrvn> geist: Are you a Rockstar programmer?
<geist> ROKSTAR
<wxwisiasdf> twitter
<mrvn> Midnight takes your heart and your soul
<mrvn> While your heart is as high as your soul
<mrvn> Put your heart without your soul into your heart ...
<mjg> you guys shitting on twitter?
<geist> not me, i'm just obliquely mentioning things and other people are connecting the dots, thus ruining the more interesting experience of being opaque
<mrvn> mjg: my ksyslog-twitter is really happy with the service
<mjg> my apologies
<mjg> literally all tech channels but this one i'm on do it :]
<mjg> well that or ftx
<mrvn> Keeping syslog entries below 140 chars realy helps logs to be readable too
<geist> meh, it's getting old to be hoest. but i'm literally watching a discord shit on it right now
<mjg> mrvn: do you support emojis
<geist> so it bleeds through soewhat
<mjg> :]]
<geist> but yeah lets not
<mrvn> mjg: I support length prefix blocks of bytes. emojis are your problem.
m3a has quit [Ping timeout: 260 seconds]
<wxwisiasdf> i added emojis to my os
m3a has joined #osdev
<jjuran> geist: Vigil is pretty hard-core: https://github.com/munificent/vigil
<bslsk05> ​munificent/vigil - Vigil, the eternal morally vigilant programming language (66 forks/2643 stargazers)
<mrvn> jjuran: self modifying source code, jipee.
<mrvn> jjuran: this looks like it's python where "implore"/"swear" are basically "assert" but with that deleting feature added.
<mrvn> #!/usr/bin/env python yep, I'm right
epony has joined #osdev
dude12312414 has quit [Remote host closed the connection]