- Jan 21, 2013
-
-
Avi Kivity authored
Using the redzone means any interrupt can clobber local variables, so disable it. This isn't a full solution since the payload is not built this way, but it's better than nothing for now.
-
- Jan 20, 2013
-
-
Dor Laor authored
* 'master' of github.com:cloudius-systems/osv: libc: implement putenv() libc: implement getpwuid() libc: implement uname() pthread: increase default stack size pthread: fix pthread_self() main: switch payload loading to be in a pthread
-
Avi Kivity authored
-
Avi Kivity authored
-
Avi Kivity authored
Pretend we're another OS to avoid confusing the payload.
-
Avi Kivity authored
Java stomps all over a 64k stack.
-
Avi Kivity authored
The pthread_self() implementation was inconsistent with pthread_create(), leading to corruption. Switch to a simpler implementation using thread-local storage.
-
Avi Kivity authored
This way, the payload may use the pthread APIs in the thread it started in.
-
Dor Laor authored
* 'master' of github.com:cloudius-systems/osv: (30 commits) elf: relocate R_X86_64_64 correctly sched: make thread stack be controlled by the thread creator main: don't destroy DriverFactory for now bootfs: disable read01.so temporarily mmu: don't map NULL libc: fix confstr(NULL, ...) elf: fix segfault on unmatched symbol mmu: move physical memory map to ffff800000000000 implement positional I/O (pread/pwrite/preadv/pwritev) implement vectored I/O (readv/writev) uio-ify the read/write path clean up the vnode operation defintion a bit import basic uio support code from FreeBSD add a real strerror() implementation from musl add misc routines from musl more stat variants add getuid/getgid stubs implement lxstat implement a real console layer simplify the console abstractions ...
-
Dor Laor authored
-
Dor Laor authored
-
Dor Laor authored
host side reset calls
-
Dor Laor authored
-
Avi Kivity authored
Fixes generated code going nuts over incorrect JVM_NanoTime.
-
Avi Kivity authored
Needed for pthread_attr_*() (and in general to make sure the stack is a regular vma as expected by the payload).
-
Avi Kivity authored
segfaults.
-
Avi Kivity authored
breaks the build
-
Avi Kivity authored
-
Avi Kivity authored
Keep the first 2MB unmapped for null pointer refernences.
-
Avi Kivity authored
confstr(NULL) is defined to return the size of required storage; use a temporary string to make it not fault.
-
Avi Kivity authored
lookup_symbol() checks if the symbol is undefined, before checking if we actually looked it up. Check for a missing symbol first.
-
Avi Kivity authored
This allows us to clear the area around the null pointer, and so trap errors. The switch is tricky wrt setting up memory, since we need the memory to be mapped in order to free it, but we need free memory to map (for the page tables). What we do is set up a temporart 1:1 map at ffff800000000000 that mirrors the first 1G map we already have from bootstreap, use that to free all of memory under 1G, then map and free everything else.
-
- Jan 19, 2013
-
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
This will allow for easy addition of the vectored and positional I/O syscalls, as well as making the structure of the I/O path more similar to *BSD and Solaris.
-
- Jan 18, 2013
-
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
- Jan 17, 2013
-
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Christoph Hellwig authored
until we support symlinks lxstat is identical to stat
-
Christoph Hellwig authored
Create a central place the managed the console driver (just isa-serial for now), and exposes them as a device file and to the debug output routines.
-
Christoph Hellwig authored
This is the low-level console abstraction and should deal in the char * hardware format. The upper layer (debug.cc) already handles all conversion from std::string and boost formats.
-
Christoph Hellwig authored
-
Christoph Hellwig authored
-
Dor Laor authored
Destroy the drivers on OS reset (currently just call it from the loader directly) It fixes the issue of gdb breakage w/ the drivers
-
Dor Laor authored
-
Avi Kivity authored
Initial memory is physical; the mmu converts it to virtual addresses, and then it can be added to the memory pool. Right now there is not much difference, but the 1:1 mapping is moving soon.
-
Avi Kivity authored
-