Differences
This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
kernel_space [2007-07-12 18:32] – nik | kernel_space [2012-06-26 10:34] (current) – nik | ||
---|---|---|---|
Line 2: | Line 2: | ||
- | using scheme | + | using [[scheme |
actually, a way of accessing hardware from a userspace repl. | actually, a way of accessing hardware from a userspace repl. | ||
- | taken from news://comp.lang.scheme .. . | + | taken from newsgroup |
From: Rob Warnock (rpw3 (at) rpw3 (dot) org) | From: Rob Warnock (rpw3 (at) rpw3 (dot) org) | ||
- | <file> | + | <html>< |
+--------------- | +--------------- | ||
| Harri Haataja wrote: | | Harri Haataja wrote: | ||
Line 90: | Line 89: | ||
-Rob | -Rob | ||
- | + | </ | |
- | -- | + | |
Just go for it! It's really easy to get started: | Just go for it! It's really easy to get started: | ||
- | 1. Run some O/S on your machine that allows you to " | + | - Run some O/S on your machine that allows you to " |
- | into user mode (possibly requiring superuser privilege, but hey, it's | + | |
- | *your* machine, right? | + | |
- | though device special files per se, but *do* let you use some other | + | |
- | access path, such as /dev/mem, /dev/kmem, or /dev/mmem, etc., to map | + | |
- | at least the memory space of I/O busses into use process space. | + | |
- | 2. Run some Scheme on your machine that allows you to dynamically link in | + | - Run some Scheme on your machine that allows you to dynamically link in libraries at runtime (almost any of the popular ones, at least if the answer to #1 was some flavor of Unix or Linux), or use one of the ones that compile to C and let you link in stuff statically. |
- | libraries at runtime (almost any of the popular ones, at least if the | + | |
- | answer to #1 was some flavor of Unix or Linux), or use one of the ones | + | |
- | that compile to C and let you link in stuff statically. | + | |
- | 3. Find *some* card or chip whose memory register layout you know. | + | - Find *some* card or chip whose memory register layout you know. (Older ones are sometimes easier to find documentation for.) |
- | (Older ones are sometimes easier to find documentation for.) | + | |
- | 4. Hack up a peek/ | + | - Hack up a peek/ |
- | card (or chip), and start poking around to see what you can see. | + | |
WARNING! It is *very* likely that you will crash the host several times | WARNING! It is *very* likely that you will crash the host several times | ||
while getting this all to work. DO NOT USE A CRITICAL OR SHARED COMPUTER! | while getting this all to work. DO NOT USE A CRITICAL OR SHARED COMPUTER! | ||
- | |||
- | </ | ||