HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
s-macke
jor1k
JavaScript2013–2025
s-macke / jor1k

jor1k

Online OR1K Emulator running Linux

9Distinct people
22Mentions
0Explicit recommenders
1.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

Online OR1K Emulator running Linux

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

No recommendation phrase was found in the indexed comments.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

  • copy/v86 · linked in 3 of the same discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 5:04:57 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year22 dated mentions

Observed mentions: 2013-09-17 17:14:29 UTC to 2025-11-03 18:42:37 UTC.

02462013-01-01 00:00:00 UTC to 2014-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments20132014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 2 mentions; 1 submissions, 1 comments2015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 6 mentions; 0 submissions, 6 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 1 mentions; 1 submissions, 0 comments20192020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments2025

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20132013-01-01 00:00:00 UTC2014-01-01 00:00:00 UTC422
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC211
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC606
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC202
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC101
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC101
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC110
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC000
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC101
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC000
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC000
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC413

What Hacker News says

22 sources
That’s fast. Buggy, but fast. I’m totally impressed! Especially because I researched the necessary steps to do the same thing 10 years ago based on [0]. The patches required for this hack touch LLVM, libc, Linux kernel, BusyBox, ... and total approximately 15,000 lines of code. I ran a small performance test with 'bc -lq' and compared with [0]: scale=1000 4*a(1) This WASM architecture compilation completely blows away my old emulation setup, which only managed around 200 MIPS. Maybe this approach can be generalized. Running a full Linux distribution at near-native speed right in the browser would be awesome. [0] https://github.com/s-macke/jor1k
In WebAssembly (WASM) arch support for the Linux kernel
If the title is true, that would be a huge achievement. Unfortunately, the page says nothing about how it works and nothing about the speed advantage you get. For my emulator jor1k [1] I tried something similar years ago [2]. However I haven't continued on this topic because of priority shifts. But the potential speed advantages are astonishing. My proof of context reached more than 1 billion emulated machine instructions per second. [1] https://github.com/s-macke/jor1k [2] https://github.com/s-macke/jor1k/wiki/Breaking-the-1-billion...
In V86: x86 virtualization in the browser, recompiling x86 to WASM on the fly
Just take a look at the link to the third talk I gave a few days ago about jor1k. https://github.com/s-macke/jor1k/wiki/Technical-details This talk give a few details about time frames and what someone has to do to emulate such a machine. If it is just about booting Linux you can do it in around 2000 lines (first commit of jor1k) if you take an easy architecture such as OpenRISC. Take a look at slide no. 10 and you might get an idea about the complexity of the other architectures. Slight 15 and 16 give you an idea why OpenRISC can be emulated much faster than any other architecture. A downside of such an non-mainstream CPU is less support. Indeed as Benjamin said, at least 50% of the time went into bugfixing and enhancing the toolchain. In the end the MIPS architecture might be optimal for a fast emulation and a well maintained toolchain.
In V86 – An x86-compatible CPU and hardware emulator
Author of the repo here. I didn't expect to see this come up again, it was a weekend project done years ago while I was studying x86 internals and emulation. There are much cleaner emulators to study in JS: for the x86 family, I recommend v86 https://github.com/copy/v86 For general emulation, RISC architectures are much simpler to understand, jor1k https://github.com/s-macke/jor1k performs very well, and can simulate the OpenRISC 1000 architecture as well as RISC-V (32bit only). There's also the 64bit ANGEL emulator for RISC-V http://riscv.org/angel/ All of these are probably more useful pedagogically than my hand-unrolled jslinux repo, unless you're particularly interested in that emulator. I would love to see such js emulators one-day used in operating-systems courses, allowing one to step through bootloaders and kernel init code to g
Read the rest
et a real feel for the code, along with other dynamic illustrations of the machine state and various kernel data structures on the same page. If I weren't devoted full-time to synthetic biology I might be tempted to try such a thing myself!
In JSLinux rewritten to be human readable, hand deobfuscated and annotated
Well, just look at these lines of code: https://github.com/s-macke/jor1k/tree/master/js/worker/or1k/... I tried something like this already. I mean to recompile parts of the code into Javascript. In my test cases the speed benefit was a factor of two or three. However in the real world, it was around a factor of two slower for different reasons. 1. The heuristic to find code chunks, which are good to recompile takes a lot of time and memory. 2. To stay on the safe side I can only recompile from jump to jump like QEMU does. Anything else would mean a much more complicated heuristic and recompilation which would beat the complexity of QEMU. 3. asm.js code runs through an foreign function interface. That means, you have to stay very long in the asm.js styled code that it is worthwhile. I got a drop of a factor of 10 in speed when I try to co
Read the rest
mpile ~20 lines of code into asm.js code instead of normal Javascript code.
In Porting Linux to a new processor architecture, Part 2

Showing the 15 most recent of 22 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.