Posts
4534
Following
316
Followers
479
Linux kernel hacker and maintainer etc.

OpenPGP: 3AB05486C7752FE1

Jarkko Sakkinen

making new tracks over the weekend, here's one released last june https://nullzone2007.bandcamp.com/track/lumo-ava-2
1
0
0

Jarkko Sakkinen

Edited 1 year ago

@jmorris given that this is possible i would give it a shot in the similar situation. there’s lot of nostd stuff that you can probably easily adapt to this framework like my go-to rust library heapless.

i’ve taken practice even in non-embedded (user space) rust that i prefer nostd and heapless structures to the max over features when picking dependencies for a rust program. sort of addition of minimizing the number of unsafe regions is to minimize the number of heapful regions.

0
0
0
@jawnsy @jonmasters i'm in the process of selling my soul to riscv
0
0
0
I don't know how I ever came up with this but looks pretty useful to remember :-)
0
0
0

Jarkko Sakkinen

Edited 1 year ago
macro(import_binary_as_elf Path Symbol Target)
    set(objcopy_flags -I binary -O default -B riscv)
    string(MAKE_C_IDENTIFIER ${Path} unstripped)
    add_custom_command(
        OUTPUT ${Path}.elf
        DEPENDS ${Target}
        COMMAND 
             ${CMAKE_OBJCOPY} ${objcopy_flags}
             ${Path} ${Path}.elf
        COMMAND
              ${CMAKE_OBJCOPY} -N
              _binary_${unstripped}_end ${Path}.elf
        COMMAND
              ${CMAKE_OBJCOPY} --redefine-sym
              _binary_${unstripped}_start=${Symbol}_start
              ${Path}.elf
        COMMAND
              ${CMAKE_OBJCOPY} --redefine-sym
              _binary_${unstripped}_size=${Symbol}_size
              ${Path}.elf
    )
    add_custom_target(${Symbol}_elf DEPENDS ${Path}.elf)
endmacro()

#cmake #riscv #embed #binary #elf #note

1
0
0
@hasheddan The only thing I've read with thought is your "RISC-V Bytes" series. Salute and huge appreciation for writing those! Sound stuff.
1
1
1

I’d consider rewriting it with Rust and adr-hal.

1
0
1

quick jam during kid's naptime

3
2
1
Are you someone who has a simple fix for something in the Linux kernel, but haven't bothered submitting a patch because you find the email workflow daunting? Can be a bugfix, spelling correction, anything at all.

If so, I want to talk to you! I have tools that simplify this process quite a bit, but I need more feedback from people who aren't long-term Linux maintainers.

Please reach out, either via here or by emailing mricon@kernel.org.
9
426
333

Jarkko Sakkinen

Edited 1 year ago
My SATP and PTE issues might have been just ignorance. I've learned the ISA so far almost purely by trial and error. Should look at the spec but it is good to learn to swim first...
0
0
0

Jarkko Sakkinen

Edited 1 year ago
I like in RISC-V that it is pretty fast to build kernel alike environments for S-mode because it has the cleanest state transformations I've seen so far in any CPU, It is a "unikernel first" CPU architecture. And different subsets of the specification scale from CPU cores to application cores, such as GPU cores as demonstrated recently: https://www.tomshardware.com/pc-components/cpus/imagination-and-ventana-to-build-a-risc-v-cpu-gpu-platform
2
1
2

Jarkko Sakkinen

Edited 1 year ago

Some learnings of RISC-V, at least from CVA6 perspective:

  1. If there is any SATP or PTE sync issue, sprinkle first sfence.vma together with fence.i. It is not optimal but usually ensures stability. Once things are functionally together sync points can be reduced.
  2. Might be CVA6 specific issue but I’ve sometimes had issues with W PTE’s created without having also D, causing odd crashes. So again, I’ve taken the habit of first binding these together and later on reduce.

I’ve yet use ASIC boards, have only used FPGA so far and development versions of CPU’s. I guess these sort of fail-safe practices are more important in early development

#riscv #fpga #note

1
0
0
@mjg59 I've had friends with kids at least at LPC so I see that as a plus tbh.
0
0
2
@AndreasBackx comedy writing itself is not a new thing open source have to admit :---) E.g. Ulrich Drepper and EGLIBC drama is one of the classics in this area (not to insult the person, I still have cpumemory.pdf always at hand, exceptionally smart guy).
0
0
0
@hiljaisuus @lari Ja sitten se on mielenkiintoista kanssa, että miksi ihmisille joiden käsissä meidän elämä on tavalla tai toisella kuten poliisille, sairaanhoitajille yms. maksetaan aivan helvetin huonosti. Ne on kuitenkin eksistentiaalisen kriittisiä duuneja...
0
0
2
Show older