aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2006-06-06 07:51:04 -0700
committerH. Peter Anvin <hpa@zytor.com>2006-06-06 07:51:04 -0700
commit5d5d7bda3335cde8c8bf0c3a53e1796ad6d3c905 (patch)
tree6c62f84894bdc3b0c558018d09bf2e98350e7ca3
parentc7d1f0de0ebfcbc8174e79586d3ab131b2fabae2 (diff)
parentc2a362d0389e70b6c40b5bffe78e1e5d3340b737 (diff)
downloadklibc-5d5d7bda3335cde8c8bf0c3a53e1796ad6d3c905.tar.gz
Merge with git+ssh://master.kernel.org/pub/scm/libs/klibc/klibc.gitklibc-1.3.28
-rw-r--r--usr/include/arch/arm/klibc/asmmacros.h30
-rw-r--r--usr/kinit/initrd.c4
-rw-r--r--usr/klibc/version2
3 files changed, 33 insertions, 3 deletions
diff --git a/usr/include/arch/arm/klibc/asmmacros.h b/usr/include/arch/arm/klibc/asmmacros.h
new file mode 100644
index 0000000000000..4ed6149e7a1c6
--- /dev/null
+++ b/usr/include/arch/arm/klibc/asmmacros.h
@@ -0,0 +1,30 @@
+/*
+ * usr/include/arch/arm/klibc/asmmacros.h
+ *
+ * Assembly macros used by ARM system call stubs
+ */
+
+#ifndef _KLIBC_ASMMACROS_H
+#define _KLIBC_ASMMACROS_H
+
+/* An immediate in ARM can be any 8-bit value rotated by an even number of bits */
+
+#define ARM_VALID_IMM(x) \
+ ((((x) & ~0x000000ff) == 0) || \
+ (((x) & ~0x000003fc) == 0) || \
+ (((x) & ~0x00000ff0) == 0) || \
+ (((x) & ~0x00003fc0) == 0) || \
+ (((x) & ~0x0000ff00) == 0) || \
+ (((x) & ~0x0003fc00) == 0) || \
+ (((x) & ~0x000ff000) == 0) || \
+ (((x) & ~0x003fc000) == 0) || \
+ (((x) & ~0x00ff0000) == 0) || \
+ (((x) & ~0x03fc0000) == 0) || \
+ (((x) & ~0x0ff00000) == 0) || \
+ (((x) & ~0x3fc00000) == 0) || \
+ (((x) & ~0xff000000) == 0) || \
+ (((x) & ~0xfc000003) == 0) || \
+ (((x) & ~0xf000000f) == 0) || \
+ (((x) & ~0xc000003f) == 0))
+
+#endif /* _KLIBC_ASMMACROS_H */
diff --git a/usr/kinit/initrd.c b/usr/kinit/initrd.c
index 2bc6c016fb9f8..1371333e3f0a0 100644
--- a/usr/kinit/initrd.c
+++ b/usr/kinit/initrd.c
@@ -191,9 +191,9 @@ int initrd_load(int argc, char *argv[], dev_t root_dev)
if (err)
fprintf(stderr, "%s: running linuxrc: %s\n", progname,
strerror(-err));
+ return 1; /* initrd is root, or run_linuxrc took care of it */
} else {
DEBUG(("kinit: permament (or pivoting) initrd, not running linuxrc\n"));
+ return 0; /* Mounting initrd as ordinary root */
}
-
- return 1; /* initrd is root, or run_linuxrc took care of it */
}
diff --git a/usr/klibc/version b/usr/klibc/version
index 10e70bde7ea16..5574de9b764c9 100644
--- a/usr/klibc/version
+++ b/usr/klibc/version
@@ -1 +1 @@
-1.3.27
+1.3.28