• Stars
    star
    167
  • Rank 220,280 (Top 5 %)
  • Language
    Nim
  • License
    MIT License
  • Created over 9 years ago
  • Updated about 9 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Translate xv6 to nim

nim-xv6

Translate xv6 to nim

Build

Build depends on a devel version of Nim (0.10.3) and a C compiler that can emit x86_64

export GCC=gcc
export LD=ld
export OBJCOPY=objcopy
export NIM=nim
export QEMU=qemu-system-x86_64
make


While working on this I realized that instead of trying to build up
the kernel from scratch in Nim, a potentially better approach could be
to "infuse" Nim into working kernel. This way, I could have a "working
kernel" all the time. So I started
[email protected]:ckkashyap/nimxv6.git - and looks like the idea is
working. I took a working 64bit C version of xv6 and replaced uart.c
with uart.nim and it works! So, essentially, I have a working kernel
that has Nim source in it. Now, it's a matter of replacing more and
more of the C source with Nim - but always having the pleasure of a
working unix kernel.

More Repositories

1

rustix

Unix kernel in rust
Rust
98
star
2

nimxv6

Infuse nim into xv6 till it replaces all the "C"
C
13
star
3

really-simple-xml-parser

A really simple xml parser in Haskell using Parsec
Haskell
5
star
4

portablegraphics

A VNC server in PicoLisp
PicoLisp
5
star
5

rails_editable_grid

An editable grid for rails
Ruby
4
star
6

nimsdl

Explore SDL2 with Nim
Nim
3
star
7

newminix

Port minix to newer tools
C
3
star
8

myminix

Port Minix to GRUB based kernel
C
3
star
9

scheme-to-c-compiler

A sceme to c compiler
Clojure
3
star
10

s2c

A Scheme to C compiler
Python
3
star
11

parsec

parsec
Go
3
star
12

callgraph

A pin tool for generating a call graph
C++
3
star
13

racoon

An x86 microkernel
C
3
star
14

gmail

Build a DLL/shared object in Haskell to download gmail attachments. Such that it could be linked to C/C++ programs ... why? not sure yet
Haskell
2
star
15

visualize

Use TinyGL
C
2
star
16

LearningPrograms

Programs to learn stuffs
Haskell
2
star
17

diagram

A diagram generation tool in ruby
C
2
star
18

xml2json

A simple library to convert arbitrary xml to json
Nim
2
star
19

x64_bootstrap

Just the boot bit from https://github.com/swetland/xv6
C++
2
star
20

midi

Racket
2
star
21

extempore-compositions

For extempore compositions
2
star
22

hurlant

ActionScript
2
star
23

robovnc

programmatic access to vnc
2
star
24

picoLisp

PicoLisp
2
star
25

minix3

minix3
C
1
star
26

Dancer

A Dance animation EDSL in Haskell
Haskell
1
star
27

Presentations

My presentations in markdown format
JavaScript
1
star
28

miniPicoLisp-dev

miniPicoLisp from picolisp.com
C
1
star
29

MiniPicoLispOld

A version of miniPicoLisp geared towards readability and running across GNU, MacOS and Windows
C
1
star
30

notebook

A repository to capture all my ideas
1
star
31

EDSL

A project to explore EDSLs in Haskell
Haskell
1
star
32

LiveCoding

Live coding in Nim
Nim
1
star
33

UtilityPrograms

Some utility programs that I usually rewrite each time I need it
Ruby
1
star
34

parse-pdf

A clojure library to parse pdf
Clojure
1
star
35

Chitra

Haskell library for platform independent graphics using VNC
Haskell
1
star
36

picolispAppPractice

PicoLisp
1
star