sorear changed the topic of #riscv to: RISC-V instruction set architecture | https://riscv.org | Logs: https://libera.irclog.whitequark.org/riscv
wingsorc has joined #riscv
seninha has quit [Quit: Leaving]
jacklsw has joined #riscv
lumberjack123 has quit [Ping timeout: 240 seconds]
aburgess_ has joined #riscv
riff-IRC has joined #riscv
aburgess has quit [Ping timeout: 272 seconds]
freakazoid343 has joined #riscv
freakazoid12345 has quit [Ping timeout: 240 seconds]
freakazoid343 has quit [Read error: Connection reset by peer]
freakazoid343 has joined #riscv
EchelonX has quit [Quit: Leaving]
drmpeg has quit [Ping timeout: 250 seconds]
drmpeg has joined #riscv
kaph has joined #riscv
riff-IRC has quit [Quit: PROTO-IRC v0.73a (C) 1988 NetSoft - Built on 11-13-1988 on AT&T System V]
riff-IRC has joined #riscv
handsome_feng has joined #riscv
jmdaemon has quit [Ping timeout: 268 seconds]
jmdaemon has joined #riscv
kaph has quit [Read error: Connection reset by peer]
wingsorc has quit [Quit: Leaving]
elastic_dog has quit [Ping timeout: 252 seconds]
elastic_dog has joined #riscv
freakazoid343 has quit [Read error: Connection reset by peer]
kaph has joined #riscv
freakazoid343 has joined #riscv
clandmeter has quit [*.net *.split]
epony has quit [*.net *.split]
alexfanqi has quit [*.net *.split]
jrtc27 has quit [*.net *.split]
crest has quit [*.net *.split]
prabhakarlad has quit [*.net *.split]
crest has joined #riscv
alexfanqi has joined #riscv
clandmeter has joined #riscv
alexfanqi has quit [Changing host]
alexfanqi has joined #riscv
jrtc27 has joined #riscv
Guest6037 has joined #riscv
riff-IRC has quit [Remote host closed the connection]
riff-IRC has joined #riscv
mrus has quit [Ping timeout: 240 seconds]
mrus has joined #riscv
mrus has quit [Remote host closed the connection]
mrus has joined #riscv
jjido has joined #riscv
___nick___ has joined #riscv
pecastro has joined #riscv
BOKALDO has joined #riscv
winterflaw has joined #riscv
pierce has quit [Quit: Bridge terminating on SIGTERM]
khem has quit [Quit: Bridge terminating on SIGTERM]
TianruiWei[m] has quit [Quit: Bridge terminating on SIGTERM]
pho has quit [Quit: Bridge terminating on SIGTERM]
acharles has quit [Quit: Bridge terminating on SIGTERM]
nsmlzl has quit [Quit: Bridge terminating on SIGTERM]
ahs3[m] has quit [Quit: Bridge terminating on SIGTERM]
psydroid has quit [Quit: Bridge terminating on SIGTERM]
llamp[m] has quit [Quit: Bridge terminating on SIGTERM]
sss123next[m] has quit [Quit: Bridge terminating on SIGTERM]
psydroid has joined #riscv
khem has joined #riscv
pho has joined #riscv
sss[m] has joined #riscv
pierce has joined #riscv
ahs3[m] has joined #riscv
acharles has joined #riscv
llamp[m] has joined #riscv
TianruiWei[m] has joined #riscv
nsmlzl has joined #riscv
jjido has quit [Quit: My MacBook Air has gone to sleep. ZZZzzz…]
radu242 has quit [Ping timeout: 260 seconds]
ivii has joined #riscv
mthall has quit [Ping timeout: 240 seconds]
mthall has joined #riscv
eroux has joined #riscv
jmdaemon has quit [Ping timeout: 252 seconds]
winterflaw has quit [Remote host closed the connection]
freakazoid343 has quit [Read error: Connection reset by peer]
freakazoid343 has joined #riscv
winterflaw has joined #riscv
handsome_feng has quit [Quit: Connection closed for inactivity]
freakazoid343 has quit [Read error: Connection reset by peer]
freakazoid343 has joined #riscv
prabhakarlad has joined #riscv
freakazoid343 has quit [Read error: Connection reset by peer]
freakazoid343 has joined #riscv
raym has quit [Ping timeout: 252 seconds]
raym has joined #riscv
jacklsw has quit [Quit: Back to the real world]
jjido has joined #riscv
jjido has quit [Client Quit]
Sofia has quit [Ping timeout: 240 seconds]
Guest6037 has quit [Quit: QUIT]
Sofia has joined #riscv
epony has joined #riscv
epony has quit [Max SendQ exceeded]
radu242 has joined #riscv
X-Scale` has joined #riscv
X-Scale has quit [Ping timeout: 272 seconds]
X-Scale` is now known as X-Scale
seninha has joined #riscv
seninha has quit [Remote host closed the connection]
pierce has quit [Quit: User was banned]
psydroid has quit [Quit: User was banned]
acharles has quit [Quit: User was banned]
khem has quit [Quit: User was banned]
ahs3[m] has quit [Quit: User was banned]
sss[m] has quit [Quit: User was banned]
nsmlzl has quit [Quit: User was banned]
pho has quit [Quit: User was banned]
TianruiWei[m] has quit [Quit: User was banned]
llamp[m] has quit [Quit: User was banned]
epony has joined #riscv
riff-IRC has quit [Ping timeout: 252 seconds]
riff-IRC has joined #riscv
adjtm has joined #riscv
EchelonX has joined #riscv
zjason` is now known as zjason
seninha has joined #riscv
freakazoid12345 has joined #riscv
freakazoid343 has quit [Ping timeout: 252 seconds]
psydroid has joined #riscv
X-Scale has quit [Ping timeout: 240 seconds]
X-Scale` has joined #riscv
X-Scale` is now known as X-Scale
BOKALDO has quit [Quit: Leaving]
eroux has quit [Ping timeout: 272 seconds]
khem has joined #riscv
acharles has joined #riscv
pho has joined #riscv
ahs3[m] has joined #riscv
sss[m] has joined #riscv
nsmlzl has joined #riscv
llamp[m] has joined #riscv
TianruiWei[m] has joined #riscv
pierce has joined #riscv
freakazoid343 has joined #riscv
freakazoid12345 has quit [Ping timeout: 260 seconds]
adjtm has quit [Ping timeout: 256 seconds]
cwebber has joined #riscv
freakazoid343 has quit [Read error: Connection reset by peer]
freakazoid343 has joined #riscv
freakazoid12345 has joined #riscv
aerkiaga has joined #riscv
freakazoid343 has quit [Ping timeout: 260 seconds]
crabbedhaloablut has quit [Ping timeout: 240 seconds]
crabbedhaloablut has joined #riscv
jacklsw has joined #riscv
BOKALDO has joined #riscv
cwebber has quit [Ping timeout: 260 seconds]
Sofia has quit [Ping timeout: 240 seconds]
Sofia has joined #riscv
aerkiaga has quit [Remote host closed the connection]
aerkiaga has joined #riscv
___nick___ has quit [Quit: https://quassel-irc.org - Chat comfortably. Anywhere.]
___nick___ has joined #riscv
___nick___ has quit [Client Quit]
___nick___ has joined #riscv
jacklsw has quit [Quit: Back to the real life]
jmdaemon has joined #riscv
mahmutov has joined #riscv
chripo has quit [Quit: ""]
chripo has joined #riscv
adjtm has joined #riscv
seninha has quit [Quit: Leaving]
raym has quit [Remote host closed the connection]
raym has joined #riscv
geranim0 has joined #riscv
vagrantc has joined #riscv
Andre_H has joined #riscv
sobkas has joined #riscv
cwebber has joined #riscv
BOKALDO has quit [Quit: Leaving]
ZipCPU has quit [Remote host closed the connection]
ZipCPU has joined #riscv
___nick___ has quit [Ping timeout: 272 seconds]
radu242 has quit [Ping timeout: 272 seconds]
zjason has quit [Read error: Connection reset by peer]
zjason has joined #riscv
seninha has joined #riscv
Andre_H has quit [Quit: Leaving.]
radu242 has joined #riscv
aerkiaga has quit [Quit: Leaving]
mahmutov has quit [Ping timeout: 246 seconds]
jmdaemon has quit [Quit: ZNC 1.8.2 - https://znc.in]
jmdaemon has joined #riscv
freakazoid343 has joined #riscv
freakazoid12345 has quit [Ping timeout: 256 seconds]
mahmutov has joined #riscv
freakazoid12345 has joined #riscv
freakazoid343 has quit [Ping timeout: 256 seconds]
kaph has quit [Ping timeout: 260 seconds]
jtm has joined #riscv
winterflaw has quit [Ping timeout: 240 seconds]
<muurkha> gordonDrogon: nice! I think yosys is enough to support simple CPUs
pecastro has quit [Ping timeout: 260 seconds]
kaph has joined #riscv
<muurkha> dh`: SIGSEGV is a Unix thing, my plan is to implement this on microcontrollers that can't run Unix because they don't have MMUs. the virtual machine providing software transactional memory is the same thing providing memory safety, for which my plan is to fault in objects from SPI Flash when translating their OOPs into physical memory addresses, which I'll do when I load the OOP into a VM register or stack
sobkas has quit [Remote host closed the connection]
<muurkha> subsequently indexing into the object will sometimes require a dynamic bounds check, but I'm optimistic that I can elide bounds checks for load-time-known indexes like those of struct fields. but at first I'll just check those dynamicallytoo
<jrtc27> what if the struct pointer isn't to an actual struct of that type?
<muurkha> well, to some extent I think it's not the transaction system's problem if the program contains type errors, as long as those don't allow it to forge capabilities
<muurkha> I think I need to segregate OOPs (capabilities to objects) from "transparent" data like byte strings, though just tagging every word of memory like the B5000 or Smalltalk-80 is a possible alternative
<muurkha> eliding the bounds checks will require statically knowing that the pointed-to memory segment is at least as big as the one the program was expecting and against which the statically-known indices were checked
<muurkha> but that's a very weak static type system
<muurkha> VM vector instructions similar to the V extension might be a viable alternative to that sort of proof-carrying code, though
Molnija has joined #riscv
<dh`> muurkha: SIGSEGV has an equivalent in every operating environment, except 8-bit CPUs with the address space fully populated (like a C64) in which case you just get UB
<dh`> I suppose you can have a 32-bit machine with a fully-populated address space as well, but I don't know why you would
<dh`> anyway the problem is: if you read uncommitted data and that includes pointers, you either need to maintain invariants where every pointer value is always valid (which is likely expensive) or you might read an intermediate state in which the pointer value isn't valid, e.g. uninitialized trash
<dh`> and if you then go dereference it you end up in trouble
<dh`> not to mention you might follow a valid pointer that then gets freed/reused while you're looking at the memory it points to
mahmutov has quit [Ping timeout: 272 seconds]
<dh`> when I did something like this years back I ended up using optimistic timestamp ordering but pessimistic check and abort on conflict
<dh`> because anything else is just too wobbly
<dh`> it's not like databases where it doesn't matter if you read garbage values as long as the results computed from them are eventually discarded
<muurkha> dh`: right, the equivalent in my environment is that you read or write the wrong object, or possibly unmapped memory space
ivii has quit [Remote host closed the connection]
<muurkha> by "pessimistic check" do you mean something equivalent to "only one transaction is committing at a time"?
<muurkha> I think I can avoid reading a partially overwritten OOP by not overwriting existing objects
<muurkha> reading or writing some random object would be catastrophic for me because it would amount to a way to forge capabilities, which is far worse than crashing
<muurkha> my current thinking on freeing objects is to have a systemwide persistent garbage collector, and this is one of the things I'm most doubtful about because I've never seen a working persistent cyclic garbage collector
<muurkha> LOOM claimed to have one but I don't think LOOM ever really worked, it was just a prototype?