- Oct 25, 2013
-
-
Tomasz Grabiec authored
The current implementation was copying the whole file contents into an array and then into stringstream which under the hood copied it again into even bigger array. These allocations were causing memory fragmentation which some times led to malloc failure. The new approach is using fixed amount of memory. For each file it wraps the cpio input stream in a restricted stream which limits the amount of data that can be read from it so that it represents a view for only that file's data. After the consumer has read it we simply ignore the remaining padding from the cpio stream. This fixes issue #66 Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
- Oct 24, 2013
-
-
Avi Kivity authored
Sometimes nc picks ipv6, which isn't supported; force it to use ipv4. Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Benoît Canet authored
Signed-off-by:
Benoit Canet <benoit@irqsave.net> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Benoît Canet authored
Signed-off-by:
Benoit Canet <benoit@irqsave.net> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Benoît Canet authored
The initialization is done a this time so everything needed is ready. Signed-off-by:
Benoit Canet <benoit@irqsave.net> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Benoît Canet authored
These are the two missing functions for ACPICA be able to initialize fully. Signed-off-by:
Benoit Canet <benoit@irqsave.net> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Benoît Canet authored
Start to fill the missing ACPICA OSv primitives in order to be able to fully initialize ACPICA for use in drivers probe functions. Signed-off-by:
Benoit Canet <benoit@irqsave.net> Signed-off-by:
Avi Kivity <avi@cloudius-systems.com>
-
Or Cohen authored
OpenSolaris version of strftime accepts (char *)0 as format, and translates it to the locale default, which is the same as "%c" for strftime(). http://www.unix.com/man-page/opensolaris/3/strftime/ Signed-off-by:
Or Cohen <orc@fewbytes.com>
-
Or Cohen authored
Signed-off-by:
Or Cohen <orc@fewbytes.com>
-
Or Cohen authored
Signed-off-by:
Or Cohen <orc@fewbytes.com>
-
Tomasz Grabiec authored
For example, assuming the following file exists: /tmp/dir/x ..the following was sondiered absent: /tmp/dir/ ..this was considered present: /tmp/dir Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
This happens when you move a file to a different directory. Thread 2 (Thread 2): 1 0x000000000032ed3b in halt_no_interrupts () at ../../arch/x64/processor.hh:239 osv::halt () at ../../core/power.cc:28 2 0x000000000020e7fe in abort ( msg=msg@entry=0x580160 "page fault outside application") at ../../runtime.cc:109 3 0x00000000002ecfdc in page_fault (ef=0xffffc0003e362008) at ../../core/mmu.cc:981 4 <signal handler called> 5 merge (b=0xffffc0003b4e8000, a=0xfffffffffffffff8) at ../../core/mempool.cc:421 6 memory::free_page_range_locked (range=range@entry=0xffffc0003b4e8000) at ../../core/mempool.cc:436 7 0x00000000003186d7 in memory::free_page_range ( range=range@entry=0xffffc0003b4e8000) at ../../core/mempool.cc:448 8 0x0000000000319280 in free_large (obj=0xffffc0003b4e9000) at ../../core/mempool.cc:460 9 std_free (object=0xffffc0003b4e9000) at ../../core/mempool.cc:790 10 free (obj=0xffffc0003b4e9000) at ../../core/mempool.cc:892 11 0x0000000000340e52 in ramfs_free_node (np=np@entry=0xffffc0003d250d40) at ../../fs/ramfs/ramfs_vnops.c:78 12 0x0000000000340ed2 in ramfs_remove_node (dnp=0xffffc0003d250a00, np=0xffffc0003d250d40) at ../../fs/ramfs/ramfs_vnops.c:131 13 0x0000000000340ffd in ramfs_rename (dvp1=0xffffc0003fc9a180, vp1=0xffffc0003fc9a100, name1=<optimized out>, dvp2=0xffffc0003fc9a280, vp2=<optimized out>, name2=0x2000001fedf1 "prefix_suffix") at ../../fs/ramfs/ramfs_vnops.c:380 14 0x0000000000340069 in sys_rename (src=<optimized out>, dest=<optimized out>) at ../../fs/vfs/vfs_syscalls.c:671 15 0x000000000033a3b2 in rename (oldpath=<optimized out>, newpath=0xffffc0003e858cc0 "/tmp/t3-26e1b47c/prefix_suffix") at ../../fs/vfs/main.cc:634 Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../drivers/vga.hh:15:18: error: 'VGAConsole::write' hides overloaded virtual function [-Werror,-Woverloaded-virtual] virtual void write(const char *str); ^ ../../drivers/console.hh:16:18: note: hidden overloaded virtual function 'Console::write' declared here: different number of parameters (2 vs 1) virtual void write(const char *str, size_t len) = 0; ^ Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../arch/x64/arch-cpu.hh:57:1: error: 'arch_thread' defined as a struct here but previously declared as a class [-Werror,-Wmismatched-tags] struct arch_thread { ^ ../../arch/x64/arch-cpu.hh:37:1: note: did you mean struct here? class arch_thread; ^~~~~ struct Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../include/sched.hh:278:12: error: class 'arch_cpu' was previously declared as a struct [-Werror,-Wmismatched-tags] friend class arch_cpu; ^ ../../arch/x64/arch-cpu.hh:39:8: note: previous use is here struct arch_cpu { ^ ../../include/sched.hh:278:12: note: did you mean struct here? friend class arch_cpu; ^~~~~ struct Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../include/sched.hh:278:12: error: class 'arch_cpu' was previously declared as a struct [-Werror,-Wmismatched-tags] friend class arch_cpu; ^ ../../arch/x64/arch-cpu.hh:39:8: note: previous use is here struct arch_cpu { ^ ../../include/sched.hh:278:12: note: did you mean struct here? friend class arch_cpu; ^~~~~ struct Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by Clang: ../../include/osv/trace.hh:58:1: error: 'assigner_type' defined as a struct template here but previously declared as a class template [-Werror,-Wmismatched-tags] struct assigner_type<storage_args<s_args...>, runtime_args<r_args...>> { ^ ../../include/osv/trace.hh:45:1: note: did you mean struct here? class assigner_type; ^~~~~ struct Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
- Oct 23, 2013
-
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
Needed to link with boost_filesystem. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Tomasz Grabiec authored
Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-
Pekka Enberg authored
Spotted by GCC: ../../tests/tst-solaris-taskq.c: In function ‘tq_test_func’: ../../tests/tst-solaris-taskq.c:25:2: error: format ‘%s’ expects argument of type ‘char *’, but argument 3 has type ‘void *’ [-Werror=format=] kprintf("%s called for %s\n", __func__, arg); ^ Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
m_print() used special format specifiers from BSD's printf(9). http://www.unix.com/man-page/freebsd/9/printf/ Instead of re-implementing these specifiers in different ways and because this method is not being used anywhere, it was completely removed. Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
ether_sprintf() used special format specifiers from BSD's printf(9). http://www.unix.com/man-page/freebsd/9/printf/ Instead of re-implementing these specifiers in different ways and because this method is not being used anywhere, it was completely removed. Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Or Cohen authored
Signed-off-by:
Or Cohen <orc@fewbytes.com> Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Currently, OSv release numbers would look like this: $ git describe --tags --long v0.02-0-gc40b86b Stop using "--long" and let "git describe" do the right thing: $ git describe --tags v0.01-298-g42d11fb $ git tag v0.02 $ git describe --tags v0.02 Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Use the latest and greatest mgmt in preparation for v0.02. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
As noticed by Tomek in issue #64, unhandled C++ exceptions cause OSv to silently hang, in an endless loop inside the unwinding code. So this patch fixes the wrong CFI (DWARF Call Frame Information) which caused the unwinder to loop. We just had a single line of assembly missing: The topmost frame - the thread's main function - needs to undefine the saved %rip to prevent going further back. If we don't do that, gdb will end every "bt" output with a warning "Frame did not save its PC" (but hey, nobody complained... ;-)), and the unwinding library, will, unfortunately, go into an endless loop as seen in issue #64. With this one-line patch, unhandled exceptions now work as expected - they abort with a message like: terminate called after throwing an instance of 'int' Aborted And attaching a debugger you can see exactly where the offending throw came from (i.e., the stack does *not* unnecessarily unwind when there's nobody waiting to catch the exception). This works for uncaught exceptions anywhere - including inside main() and from constructors when loading the object (before running main()). "bt" in gdb also no longer ends each stack trace with an error message. The last frame it shows is "thread_main()". Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
Pekka Enberg authored
We are switching to Amazon S3 for OSv pre-built image releases. The script uses S3cmd: http://s3tools.org/s3cmd which can be installed on Fedora with: yum install s3cmd python-magic Please remember to configure your Amazon S3 credentials before running the script: s3cmd --configure To release a new version of OSv: git tag <version> ./scrips/release-s3 git push --tags Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Use osv::poweroff() instead of abort() in exit() to make the VM stop cleanly on JVM System.exit(). Needed by DaCapo. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
This patch adds version numbering to the loader. We use "git tag" for generating an unique version number with a little bit of shell script magic to make sure version number is always up-to-date. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Nadav Har'El authored
After commit 9bb55838, the name our jars now contains the version number 1.0.0 instead of 1.0. The default command line was changed accordingly (in build.mk), but we forgot to likewise update the example in the README. This trivial patch fixes the example. Signed-off-by:
Nadav Har'El <nyh@cloudius-systems.com>
-
- Oct 22, 2013
-
-
Pekka Enberg authored
The debug() call can deadlock because it's using boost format. Switch to debug_ll(). Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
Needed to make dump_registers() safe to call from fault handler. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Pekka Enberg authored
The debug() format string is missing a newline. Fix that up. Signed-off-by:
Pekka Enberg <penberg@cloudius-systems.com>
-
Tomasz Grabiec authored
This is a workaround for linker error when compiling with -O0 `.text._Z9safe_loadIcEbPKT_RS0_' referenced in section `.text.fixup' of core/mmu.o: defined in discarded section `.text._Z9safe_loadIcEbPKT_RS0_[_Z9safe_loadIcEbPKT_RS0_]' of core/mmu.o The safe_load() template is used in both runtime.cc and core/mmu.cc but the linker keeps it only in one section discarding the other. Signed-off-by:
Tomasz Grabiec <tgrabiec@cloudius-systems.com>
-