diff --git a/libc/README b/libc/README
new file mode 100644
index 0000000..4e29f12
--- /dev/null
+++ b/libc/README
@@ -0,0 +1,53 @@
+Welcome to Bionic, Android small and custom C library for the Android platform
+
+Bionic is mainly a port of the BSD C library to our Linux kernel with the
+following additions/changes:
+
+- no support for locales
+- no support for wide chars (i.e. multi-byte characters)
+- its own smallish implementation of pthreads based on Linux futexes
+- support for x86, ARM and ARM thumb CPU instruction sets and kernel interfaces
+
+Bionic is released under the standard 3-clause BSD License
+
+Bionic doesn't want to implement all features of a traditional C library, we only
+add features to it as we need them, and we try to keep things as simple and small
+as possible. Our goal is not to support scaling to thousands of concurrent threads
+on multi-processors machines; we're running this on cell-phones, damnit !!
+
+Note that Bionic doesn't provide a libthread_db or a libm implementation.
+
+
+Adding new syscalls:
+====================
+
+Bionic provides the gensyscalls.py Python script to automatically generate syscall
+stubs from the list defined in the file SYSCALLS.TXT. You can thus add a new syscall
+by doing the following:
+
+- edit SYSCALLS.TXT
+- add a new line describing your syscall, it should look like:
+
+   return_type  syscall_name(parameters)    syscall_number
+
+- in the event where you want to differentiate the syscall function from its entry name,
+  use the alternate:
+
+   return_type  funcname:syscall_name(parameters)  syscall_number
+
+- additionally, if the syscall number is different between ARM and x86, use:
+
+   return_type  funcname[:syscall_name](parameters)   arm_number,x86_number
+
+- a syscall number can be -1 to indicate that the syscall is not implemented on
+  a given platform, for example:
+
+   void   __set_tls(void*)   arm_number,-1
+
+
+the comments in SYSCALLS.TXT contain more information about the line format
+
+You can also use the 'checksyscalls.py' script to check that all the syscall
+numbers you entered are correct. It does so by looking at the values defined in
+your Linux kernel headers. The script indicates where the values are incorrect
+and what is expected instead.
