aboutsummaryrefslogtreecommitdiff
path: root/tests/extmod/machine_mem.py
diff options
context:
space:
mode:
authorPaul Sokolovsky2015-07-06 00:08:33 +0300
committerPaul Sokolovsky2015-07-08 11:37:23 +0300
commit354d17523f599746a84e5b22fa670c9910137947 (patch)
treebfea06b4d85306803cd9a9bb0a3ec6bcdfd25d6c /tests/extmod/machine_mem.py
parenta0a3de60becb0147be209ab5a32139ea9cec3d2e (diff)
modmachine: Implement physical memory access using /dev/mem (Linux, etc).
This requires root access. And on recent Linux kernels, with CONFIG_STRICT_DEVMEM option enabled, only address ranges listed in /proc/iomem can be accessed. The above compiled-time option can be however overriden with boot-time option "iomem=relaxed". This also removed separate read/write paths - there unlikely would be a case when they're different.
Diffstat (limited to 'tests/extmod/machine_mem.py')
-rw-r--r--tests/extmod/machine_mem.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/extmod/machine_mem.py b/tests/extmod/machine_mem.py
new file mode 100644
index 000000000..7d8a9ac01
--- /dev/null
+++ b/tests/extmod/machine_mem.py
@@ -0,0 +1,16 @@
+# This test requires root privilege, so is usually skipped
+# It also assumes x86 legacy hardware (with Video BIOS present).
+
+try:
+ import machine
+except ImportError:
+ print("SKIP")
+ import sys
+ sys.exit()
+
+try:
+ print(hex(machine.mem16[0xc0000]))
+except OSError:
+ print("SKIP")
+ import sys
+ sys.exit()