whily / yalo Goto Github PK
View Code? Open in Web Editor NEWLisp OS running on bare metal x86-64 hardware (WIP)
License: GNU General Public License v2.0
Lisp OS running on bare metal x86-64 hardware (WIP)
License: GNU General Public License v2.0
Please consider adding a few examples when in qemu:
Start your journey on yalo v0.0.0!
REPL>
... and then what? some demo with print-screens would be useful.
On OS X with recent Emacs, SBCL, SLIME, Git, etc., and following the Emacs+SLIME instructions from the README, I get the following trace.
match-instruction: unsupported instruction (JC NO-BGA-ERROR)
[Condition of type SIMPLE-ERROR]
Restarts:
0: [RETRY] Retry SLIME REPL evaluation request.
1: [*ABORT] Return to SLIME's top level.
2: [ABORT] Abort thread (#<THREAD "repl-thread" RUNNING {1003620023}>)
Backtrace:
0: (CC::MATCH-INSTRUCTION (CC::JC CC::NO-BGA-ERROR) (CC::JC CC::LABEL) 16)
1: (CC::MATCH-N-ENCODE (CC::JC CC::NO-BGA-ERROR) 32259 16 0)
2: (CC:ASM ((CC::BITS 16) (CC::ORG 31744) (CC::XOR CC::AX CC::AX) (CC::MOV CC::DS CC::AX) (CC::MOV CC::ES CC::AX) (CC::MOV CC::FS CC::AX) (CC::MOV CC::GS CC::AX) (CC::MOV CC::SS CC::AX) (CC::MOV CC::AX (..
3: (CC:WRITE-KERNEL "floppy.img")
4: (SB-INT:SIMPLE-EVAL-IN-LEXENV (CC:WRITE-KERNEL "floppy.img") #<NULL-LEXENV>)
5: (EVAL (CC:WRITE-KERNEL "floppy.img"))
6: (SWANK::EVAL-REGION "(cc:write-kernel \"floppy.img\") ..)
7: ((LAMBDA NIL :IN SWANK::REPL-EVAL))
8: (SWANK::TRACK-PACKAGE #<CLOSURE (LAMBDA NIL :IN SWANK::REPL-EVAL) {100384615B}>)
9: (SWANK::CALL-WITH-RETRY-RESTART "Retry SLIME REPL evaluation request." #<CLOSURE (LAMBDA NIL :IN SWANK::REPL-EVAL) {100384609B}>)
10: (SWANK::CALL-WITH-BUFFER-SYNTAX NIL #<CLOSURE (LAMBDA NIL :IN SWANK::REPL-EVAL) {100384607B}>)
11: (SWANK::REPL-EVAL "(cc:write-kernel \"floppy.img\") ..)
12: (SB-INT:SIMPLE-EVAL-IN-LEXENV (SWANK:LISTENER-EVAL "(cc:write-kernel \"floppy.img\") ..)
13: (EVAL (SWANK:LISTENER-EVAL "(cc:write-kernel \"floppy.img\") ..)
14: (SWANK:EVAL-FOR-EMACS (SWANK:LISTENER-EVAL "(cc:write-kernel \"floppy.img\") ..)
15: (SWANK::PROCESS-REQUESTS NIL)
16: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS))
17: ((LAMBDA NIL :IN SWANK::HANDLE-REQUESTS))
18: (SWANK-BACKEND::CALL-WITH-BREAK-HOOK #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LAMBDA NIL :IN SWANK::HANDLE-REQUESTS) {10036280FB}>)
19: ((FLET SWANK-BACKEND:CALL-WITH-DEBUGGER-HOOK :IN "/Users/jaccarmac/git/dot-emacs-dot-d/build/.cask/24.3.1/elpa/slime-20140127.1046/swank-sbcl.lisp") #<FUNCTION SWANK:SWANK-DEBUGGER-HOOK> #<CLOSURE (LA..
20: (SWANK::CALL-WITH-BINDINGS ((*STANDARD-OUTPUT* . #1=#<SWANK-BACKEND::SLIME-OUTPUT-STREAM {1003602FF3}>) (*STANDARD-INPUT* . #2=#<SWANK-BACKEND::SLIME-INPUT-STREAM {100353E4B3}>) (*TRACE-OUTPUT* . #1#)..
21: (SWANK::HANDLE-REQUESTS #<SWANK::MULTITHREADED-CONNECTION {1005E44403}> NIL)
22: ((FLET #:WITHOUT-INTERRUPTS-BODY-1137 :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
23: ((FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE))
24: ((FLET #:WITHOUT-INTERRUPTS-BODY-535 :IN SB-THREAD::CALL-WITH-MUTEX))
25: (SB-THREAD::CALL-WITH-MUTEX #<CLOSURE (FLET SB-THREAD::WITH-MUTEX-THUNK :IN SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE) {9215C8B}> #<SB-THREAD:MUTEX "thread result lock" owner: #<SB-THREAD:THREAD "..
26: (SB-THREAD::INITIAL-THREAD-FUNCTION-TRAMPOLINE #<SB-THREAD:THREAD "repl-thread" RUNNING {1003620023}> #S(SB-THREAD:SEMAPHORE :NAME "Thread setup semaphore" :%COUNT 0 :WAITCOUNT 0 :MUTEX #<SB-THREAD:MU..
27: ("foreign function: call_into_lisp")
28: ("foreign function: new_thread_trampoline")
29: ("foreign function: _pthread_body")
30: ("foreign function: _pthread_struct_init")
31: ("foreign function: thread_start")
Reading over the wall of text I just pasted, it would seem that, perhaps, an x86_64 host is required to cross-compile. Is this correct?
I'm trying yalo out in VMware (maybe that's the source of my problem?). Anyway, the SHIFT key doesn't appear to work, so I am unable to type parentheses, double quotes, colons, etc. Is this something you're aware of?
Project has no license.
In VirtualBox. Using latest image.
VillaMoirai% ./write-kernel-sbcl
unhandled ASDF:MISSING-COMPONENT: Component "cc" not found
Backtrace for: #<SB-THREAD:THREAD "main thread" RUNNING {11AE4A59}>
0: (SB-DEBUG::DEBUGGER-DISABLED-HOOK Component "cc" not found #<unavailable argument>)
1: (SB-DEBUG::RUN-HOOK *INVOKE-DEBUGGER-HOOK* Component "cc" not found)
2: (INVOKE-DEBUGGER Component "cc" not found)
3: (ERROR ASDF:MISSING-COMPONENT :REQUIRES "cc")
4: ((LAMBDA NIL :IN ASDF:FIND-SYSTEM))
5: ((LAMBDA NIL :IN ASDF:OPERATE))
6: (ASDF::CALL-WITH-SYSTEM-DEFINITIONS #<CLOSURE (LAMBDA NIL :IN ASDF:OPERATE) {121979FD}>)
7: ((:METHOD ASDF:OPERATE (T T)) ASDF:LOAD-OP CC) [fast-method]
8: ((SB-PCL::EMF ASDF:OPERATE) #<unused argument> #<unused argument> ASDF:LOAD-OP CC)
9: (SB-INT:SIMPLE-EVAL-IN-LEXENV (ASDF:OOS (QUOTE ASDF:LOAD-OP) (QUOTE CC)) #<NULL-LEXENV>)
10: (EVAL-TLF (ASDF:OOS (QUOTE ASDF:LOAD-OP) (QUOTE CC)) 1 #<NULL-LEXENV>)
11: ((FLET SB-FASL::EVAL-FORM :IN SB-INT:LOAD-AS-SOURCE) (ASDF:OOS (QUOTE ASDF:LOAD-OP) (QUOTE CC)) 1)
12: (SB-INT:LOAD-AS-SOURCE #<SB-SYS:FD-STREAM for "file /Users/VillaMoirai/Downloads/yalo-master/write-kernel-sbcl" {11AE6BD9}> :VERBOSE NIL :PRINT NIL :CONTEXT "loading")
13: ((FLET SB-FASL::LOAD-STREAM :IN LOAD) #<SB-SYS:FD-STREAM for "file /Users/VillaMoirai/Downloads/yalo-master/write-kernel-sbcl" {11AE6BD9}> NIL)
14: (LOAD #<SB-SYS:FD-STREAM for "file /Users/VillaMoirai/Downloads/yalo-master/write-kernel-sbcl" {11AE6BD9}> :VERBOSE NIL :PRINT NIL :IF-DOES-NOT-EXIST T :EXTERNAL-FORMAT :DEFAULT)
15: ((FLET SB-IMPL::LOAD-SCRIPT :IN SB-IMPL::PROCESS-SCRIPT) #<SB-SYS:FD-STREAM for "file /Users/VillaMoirai/Downloads/yalo-master/write-kernel-sbcl" {11AE6BD9}>)
16: ((FLET #:WITHOUT-INTERRUPTS-BODY-139 :IN SB-IMPL::PROCESS-SCRIPT))
17: (SB-IMPL::PROCESS-SCRIPT "./write-kernel-sbcl")
18: (SB-IMPL::TOPLEVEL-INIT)
19: ((FLET #:WITHOUT-INTERRUPTS-BODY-42 :IN SAVE-LISP-AND-DIE))
20: ((LABELS SB-IMPL::RESTART-LISP :IN SAVE-LISP-AND-DIE))
unhandled condition in --disable-debugger mode, quitting
Why is yalo going to use a new dialect of Lisp? Has there been any work done on it?
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.