64 port,
as this architecture has very strong automatic instruction/data cache
consistency and there is no need to do anyting special like for aarch64.
Fixes #1100
Signed-off-by: Waldemar Kozaczuk
---
arch/aarch64/mmu.cc | 19 +++
arch/x64/mmu.cc | 3 +++
core/mmu.cc
ff-by: Waldemar Kozaczuk
---
include/api/aarch64/bits/syscall.h | 1211 +---
libc/syscall_to_function.h |2 +
linux.cc |8 +
3 files changed, 588 insertions(+), 633 deletions(-)
diff --git a/include/api/aarch64/bits/syscall.h
b/in
what our version
of unlinkat() implements for now.
Signed-off-by: Waldemar Kozaczuk
---
fs/vfs/main.cc | 9 +
1 file changed, 9 insertions(+)
diff --git a/fs/vfs/main.cc b/fs/vfs/main.cc
index 60e10b9f..55031380 100644
--- a/fs/vfs/main.cc
+++ b/fs/vfs/main.cc
@@ -1109,6 +1109,15 @@ int
be loaded at specific address in memory.
Fixes #1112
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 2 ++
1 file changed, 2 insertions(+)
diff --git a/Makefile b/Makefile
index 12077105..a173c5ad 100644
--- a/Makefile
+++ b/Makefile
@@ -1853,6 +1853,8 @@ boost-libs :=
$(boost-lib-dir)/libbo
guest.
Signed-off-by: Waldemar Kozaczuk
---
arch/aarch64/entry.S | 11 ---
arch/aarch64/exceptions.cc | 14 ++
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/arch/aarch64/entry.S b/arch/aarch64/entry.S
index 606bad44..dea409a2 100644
--- a/arch/aarch64
telling gcc to use Partial RELRO
mode for mkf.so, zfs.so and other internal apps and libraries
regardless of what defaults are on given Linux distribution.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/Makefile b/Makefile
index
vely makes it possible to build functional AArch64 OSv
binaries on Ubuntu.
Fixes #1112
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 12
1 file changed, 12 insertions(+)
diff --git a/Makefile b/Makefile
index d1597263..891f167e 100644
--- a/Makefile
+++ b/Makefile
@@ -295,6 +295
This patch fixes it but adding single line of assembly in entry.S
to save ESR_EL1 under esr field of the frame.
Signed-off-by: Waldemar Kozaczuk
---
arch/aarch64/entry.S | 1 +
1 file changed, 1 insertion(+)
diff --git a/arch/aarch64/entry.S b/arch/aarch64/entry.S
index aafd76fb..606bad44 100644
This patch provides full implementation of dump_registers()
to help diagnose exceptions. It lists state of all relevant
registers including x0-x30, sp, esr (Exception Syndrom Register)
and pstate (Processor State).
Signed-off-by: Waldemar Kozaczuk
---
arch/aarch64/dump.cc | 19
riteups/TLS/RFC-TLSDESC-ARM.txt.
The version of this patch cleans up some debugging code
that was part of the original patch.
Fixes #1101
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 3 +-
arch/aarch64/arch-elf.cc| 79 ++--
arch/aarc
riteups/TLS/RFC-TLSDESC-ARM.txt.
Fixes #1101
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 3 +-
arch/aarch64/arch-elf.cc| 79 ++--
arch/aarch64/arch-elf.hh| 1 +
arch/aarch64/arch-switch.hh | 81 +++-
vCPUs with KVM acceleration on.
Fixes #1092
Signed-off-by: Waldemar Kozaczuk
---
arch/aarch64/boot.S | 2 ++
arch/aarch64/mmu.cc | 9 +++--
arch/aarch64/smp.cc | 4
3 files changed, 9 insertions(+), 6 deletions(-)
diff --git a/arch/aarch64/boot.S b/arch/aarch64/boot.S
index aa0ae01c
that pass on aarch64 from 81 to
100.
Finally this patch makes tst-setjmp.cc pass on aarch64.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 4 +--
libc/arch/aarch64/setjmp/block.c | 29 -
libc/arch/aarch64/setjmp/siglongjmp.c
This test fails on aarch64 until we fix broken
setjmp/longjmp/sigsetjmp/siglongjmp
for aarch64.
Signed-off-by: Waldemar Kozaczuk
---
modules/tests/Makefile | 2 +-
tests/tst-setjmp.cc| 59 ++
2 files changed, 60 insertions(+), 1 deletion(-)
create
because sigsetjmp/siglongjmp is still missing.
Signed-off-by: Waldemar Kozaczuk
---
arch/aarch64/feexcept.cc | 70 ++--
1 file changed, 61 insertions(+), 9 deletions(-)
diff --git a/arch/aarch64/feexcept.cc b/arch/aarch64/feexcept.cc
index 0d296314..9b0e9eec
ikernel/musl musl_1.1.24
pushd musl_1.1.24 && git checkout v1.1.24 && popd && git add musl_1.1.24
```
and hopefully can be applied as a patch without any manual intervention.
Signed-off-by: Waldemar Kozaczuk
---
.gitmodules | 9 ++---
musl| 2 +-
stdio is one of most delicate parts of libc/musl
that needs better test coverage to have confidence that the musl upgrade is
relatively bug-free.
Signed-off-by: Waldemar Kozaczuk
---
include/api/unistd.h |1 +
tests/tst-stdio.cc | 2522 ++
2 files changed
ors
12 Fixed CURRENT_LOCALE problem and couple of other ones
13.Fixed stdio/ftell.c
14.Updated __tz.c with latest musl and dlfcn.c
15.Replaced encrypt.c with latest musl.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 133 ++-
f
et us replaces it with a symlink to original musl.
Signed-off-by: Waldemar Kozaczuk
---
libc/internal/libm.h | 177 +--
1 file changed, 1 insertion(+), 176 deletions(-)
mode change 100644 => 12 libc/internal/libm.h
diff --git a/libc/internal/libm.
Signed-off-by: Waldemar Kozaczuk
---
arch/aarch64/feexcept.cc | 1 +
arch/x64/feexcept.cc | 1 +
include/api/__fenv.h | 15 +++
include/api/fenv.h | 32 +---
tests/tst-feexcept.cc| 1 +
5 files changed, 19 insertions(+), 31 deletions
replace the headers
with symlinks we drop LFS64 in favor of aliases.ld mechanism
which achieves the same goal.
Signed-off-by: Waldemar Kozaczuk
---
bsd/sys/cddl/compat/opensolaris/sys/stat.h | 1 +
fs/ramfs/ramfs_vnops.cc| 1 +
fs/vfs/main.cc
-by: Waldemar Kozaczuk
---
include/api/sys/eventfd.h | 28 +---
linux.cc| 2 ++
3 files changed, 4 insertions(+), 27 deletions(-)
mode change 100644 => 12 include/api/sys/eventfd.h
diff --git a/include/api/sys/eventfd.h b/include/api/
This file and its aarch64 equivalent differs only to musl copies by
extra MAP_UNINITIALIZED macro. In order to drop this header
we create extra __mman.h headers and use them in libc/mman.cc.
Signed-off-by: Waldemar Kozaczuk
---
include/api/aarch64/bits/__mman.h | 13 +++
include/api/aarch64
This file is identical to musl copy except for added
#ifndef OSV_BITS_SOCKET_H ... which may have been necessary
at some point but it is not now.
Signed-off-by: Waldemar Kozaczuk
---
include/api/x64/bits/socket.h | 23 +--
1 file changed, 1 insertion(+), 22 deletions
/stdint.h.
Signed-off-by: Waldemar Kozaczuk
---
include/api/aarch64/bits/alltypes.h.sh | 1 +
include/api/aarch64/bits/stdint.h | 13 +-
include/api/stdint.h | 110 +-
include/api/stdio.h| 199 +
include/api/x64/bits
__bsd_unused2 we are reverting these files
to musl copies with symlinks.
Signed-off-by: Waldemar Kozaczuk
---
include/api/mqueue.h | 37 +--
include/api/netinet/ip_icmp.h | 193 +-
include/api/sys/sem.h | 75 +
include/api/sys/shm.h
will never start using field names like __bsd_unused. Alternatively
we could have modified BSD source files to use __attribute__((unused))
directly without any macros.
Signed-off-by: Waldemar Kozaczuk
---
bsd/porting/bus.h | 2 +-
bsd/porting/netport.h
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 3 +--
libc/locale/wcsftime_l.c | 11 ---
libc/time/wcsftime.c | 32
3 files changed, 1 insertion(+), 45 deletions(-)
delete mode 100644 libc/locale/wcsftime_l.c
delete mode 100644
document.
Please note that some of the tests mostly related to strptime and strftime
are commented out as they fail with current version of musl. Hopefully
we will enable them once we upgrade to newer version of musl.
Signed-off-by: Waldemar Kozaczuk
---
tests/tst-time.cc | 698
Signed-off-by: Waldemar Kozaczuk
---
libc/time/__tz.c | 389 +++
1 file changed, 389 insertions(+)
create mode 100644 libc/time/__tz.c
diff --git a/libc/time/__tz.c b/libc/time/__tz.c
new file mode 100644
index ..a76a7b48
--- /dev/null
+++ b
-off-by: Waldemar Kozaczuk
---
Makefile| 25 +++--
libc/aliases.ld | 4 +
libc/locale/strftime_l.c| 11 --
libc/syscall_to_function.h | 4 +-
libc/time/__time.h | 9 --
libc/time/__time_to_tm.c| 88
The relevant files under libc/locale and libc/time/__asctime.c
are pretty much identical to their copies under musl/
so we are replacing them with current version.
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 5 ++-
libc/locale/langinfo.c | 61
newer version
of musl.
I have also noticed that on Linux strsignal()
returns messages ending with signal number like so:
'Unknown signal -1' whereas musl version simply
returns 'Unknown signal' without the signal number.
This might be fixed in future version of musl.
Signed-off-b
eir musl copies. Also, to make header
inclusion work, we add a 2nd symlink (there is already one under
libc/stdio) to shgetc.h.
Please see the commit 5a1d4c2451a94809d1ad580272410d8c51e5171b for
some background info.
Signed-off-by: Waldemar Kozaczuk
---
l
size_t for n parameter.
This patch fixes it.
Fixes #1095
Signed-off-by: Waldemar Kozaczuk
---
fs/vfs/subr_uio.cc | 4 ++--
include/osv/uio.h | 8 ++--
2 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/fs/vfs/subr_uio.cc b/fs/vfs/subr_uio.cc
index bf138b8e..fdc89bd4 100644
--- a
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 18 -
libc/aliases.ld| 3 +++
libc/stdio/__stdio_close.c | 7 -
libc/stdio/__stdio_seek.c | 7 -
libc/stdio/fopen.c | 32 --
libc/stdio/freopen.c | 55
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 3 +--
libc/locale/strcoll.c | 6 --
libc/locale/strcoll_l.c | 11 ---
3 files changed, 1 insertion(+), 19 deletions(-)
delete mode 100644 libc/locale/strcoll.c
delete mode 100644 libc/locale/strcoll_l.c
diff --git
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 3 +--
libc/locale/wcscoll.c | 7 ---
libc/locale/wcscoll_l.c | 10 --
3 files changed, 1 insertion(+), 19 deletions(-)
delete mode 100644 libc/locale/wcscoll.c
delete mode 100644 libc/locale/wcscoll_l.c
diff --git
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 3 +--
libc/locale/wcsxfrm.c | 12
libc/locale/wcsxfrm_l.c | 10 --
3 files changed, 1 insertion(+), 24 deletions(-)
delete mode 100644 libc/locale/wcsxfrm.c
delete mode 100644 libc/locale/wcsxfrm_l.c
diff
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 4 ++--
libc/locale/iswctype_l.c | 11 ---
libc/locale/wctype_l.c | 10 --
3 files changed, 2 insertions(+), 23 deletions(-)
delete mode 100644 libc/locale/iswctype_l.c
delete mode 100644 libc/locale/wctype_l.c
/used.
As a matter of fact dropping the statements 'fill = *++fmt;' and 'intl = *fmt++
== 'i';'
affects fmt variable and possibly has a bug.
TODO: Add a test.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 2 +-
libc/locale/strfmon.c | 91 ---
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 4 ++--
libc/locale/towlower_l.c | 10 --
libc/locale/towupper_l.c | 10 --
3 files changed, 2 insertions(+), 22 deletions(-)
delete mode 100644 libc/locale/towlower_l.c
delete mode 100644 libc/locale/towupper_l.c
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 3 +--
libc/locale/strxfrm.c | 9 -
libc/locale/strxfrm_l.c | 10 --
3 files changed, 1 insertion(+), 21 deletions(-)
delete mode 100644 libc/locale/strxfrm.c
delete mode 100644 libc/locale/strxfrm_l.c
diff
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 2 +-
libc/aliases.ld | 3 +++
libc/locale/toupper_l.c | 11 ---
3 files changed, 4 insertions(+), 12 deletions(-)
delete mode 100644 libc/locale/toupper_l.c
diff --git a/Makefile b/Makefile
index 27f46011
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 4 ++--
libc/aliases.ld | 1 +
libc/locale/duplocale.c | 15 ---
libc/locale/setlocale.c | 13 -
4 files changed, 3 insertions(+), 30 deletions(-)
delete mode 100644 libc/locale/duplocale.c
delete
Signed-off-by: Waldemar Kozaczuk
---
tests/tst-ctype.cc | 332
tests/tst-wctype.cc | 247
2 files changed, 579 insertions(+)
create mode 100644 tests/tst-ctype.cc
create mode 100644 tests/tst-wctype.cc
diff --git a
Signed-off-by: Waldemar Kozaczuk
---
modules/tests/Makefile | 2 +-
tests/tst-ctype.cc | 123 -
tests/tst-string.cc| 61
tests/tst-wctype.cc| 38 +++--
4 files changed, 166 insertions(+), 58 deletions(-)
create
copies
which will save us time when upgrading musl. Hopefully, once we upgrade musl
we might be able to get away from having many of the *.c files in libc/internal
and delete the symlinks altogether as well.
Signed-off-by: Waldemar Kozaczuk
---
libc/internal/floatscan.h | 9 +--
libc/internal
/strtok_r.c]
1a2
> #include
3c4,5
< char *strtok_r(char *restrict s, const char *restrict sep, char **restrict p)
---
> #undef strtok_r
> char *strtok_r(char *__restrict s, const char *__restrict sep, char
> **__restrict p)
12a15,16
>
> weak_alias(strtok_r, __strtok_r);
nested preprocessor directives (preprocessor runs once).
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 10 +++---
libc/aliases.ld| 3 +++
libc/syscall_to_function.h | 24
3 files changed, 34 insertions(+), 3 deletions(-)
create mode 100644
d inlines and do not incur
any extra function call overhead as it was checked by disassembling tmpnam.o.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 3 ++-
libc/syscall_to_function.h | 15 +++
2 files changed, 17 insertions(+), 1 deletion(-)
diff --git a/Makef
WTMP_FILE _PATH_WTMP
> #define
UTMP_FILENAME _PATH_UTMP
> #define
WTMP_FILENAME _PATH_WTMP
-
DIFF: [wctype.h]
#define __NEED_wctrans_t <
/finite*.c
files once we upgrade to musl 1.1.24 which provides the finite*(
functions.
Finally this patch also adds some simple unit tests to verify
that modified functions still work.
Signed-off-by: Waldemar Kozaczuk
---
Makefile| 3 +--
libc/aliases.ld | 13 +
libc
ans up OSv specific implementation of
ttyname_r() - removes '\0' from a string and unnecessary return -
per original review of Rean's patch.
Finally, this patch effectively makes all files (*.c,*.cc) under libc/unistd/
"neutral"
to future musl upgrades.
Signed-off-b
Signed-off-by: Waldemar Kozaczuk
---
include/api/ifaddrs.h | 35 +--
1 file changed, 1 insertion(+), 34 deletions(-)
mode change 100644 => 12 include/api/ifaddrs.h
diff --git a/include/api/ifaddrs.h b/include/api/ifaddrs.h
deleted file mode 100644
in
under musl/include.
Signed-off-by: Waldemar Kozaczuk
---
include/api/arpa/nameser_compat.h | 2 +-
include/api/arpa/tftp.h | 31 +-
include/api/errno.h | 27 +
include/api/scsi/scsi.h | 150 +---
include/api/scsi/sg.h
This patch removes two more files from libc directory
that are pretty much identical to their musl equivalent:
```
DIFF: [/misc/basename.c]
2d1
< #include
DIFF: [/network/h_errno.c]
8c8
< return &h_errno;
---
> return &h_errno;
```
Signed-off-by: Waldemar Kozacz
Just like one of the earlier patches this one also
removes more files from libc/ folder that only differ by "#undef" macro
which is not necessary anymore.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 50 +++
libc/locale/isalnum_
l these cases, but based on my understanding of the operator
precedence in C, adding extra parentheses around '(x)-ONES' should
not change the end result (the subtraction and negation should be evaluated
first
anyway followed by bitwise and).
Signed-off-by: Waldemar Kozaczuk
---
Makef
nce and simply point to the original
musl sources.
This patch further eliminates unnecessary files in libc/
folder.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 30 ++--
libc/string/strcat.c | 7 ---
libc/string/strcpy.c | 16 ---
libc/string/strncat.c |
nce and simply point to the original
musl sources.
This patch further eliminates unnecessary files in libc/
folder.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 30 ++--
libc/string/strcat.c | 7 ---
libc/string/strcpy.c | 16 ---
libc/string/strncat.c |
not have to do it anymore so this patch
simply removes those files from libc/ folder and changes
Makefile to point back to the musl equivalent ones.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 26 +-
libc/network/htonl.c | 9 -
libc/network/htons.c
Signed-off-by: Waldemar Kozaczuk
---
scripts/run.py | 41 ++---
1 file changed, 22 insertions(+), 19 deletions(-)
diff --git a/scripts/run.py b/scripts/run.py
index ee08d901..6d4cc9c1 100755
--- a/scripts/run.py
+++ b/scripts/run.py
@@ -14,6 +14,8 @@ devnull
Signed-off-by: Waldemar Kozaczuk
---
licenses/newlib.txt | 55 +
1 file changed, 55 insertions(+)
create mode 100644 licenses/newlib.txt
diff --git a/licenses/newlib.txt b/licenses/newlib.txt
new file mode 100644
index ..5d78cc16
--- /dev
versions of these functions have been heavily optimized for speed.
Fixes #1090
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 5 +-
arch/aarch64/memcpy.S | 230 +
arch/aarch64/memmove.S | 155
arch/aarch64/memset.S | 240 ++
arch
ot work on aarch64. For now
we should somehow disable adding to the aarch64 test image.
Signed-off-by: Waldemar Kozaczuk
---
modules/tests/Makefile | 104 +++
modules/tests/add_aarch64_boost_libraries.sh | 11 ++
scripts/build
aarch64 version of firecracker.
Signed-off-by: Waldemar Kozaczuk
---
arch/aarch64/arch-dtb.cc | 46 ++
arch/aarch64/arch-dtb.hh | 7 ++
arch/aarch64/arch-setup.cc | 10 +++--
drivers/virtio-mmio.cc | 16 -
drivers/virtio-mmio.hh
This is a pretty trivial patch that adds support of
virtio net and block devices over mmio for aarch64 architecture.
It accomplishes it by adding proper factory methods to register relevant
interrupt handlers.
Signed-off-by: Waldemar Kozaczuk
---
Makefile | 1 +
drivers/virtio
: Waldemar Kozaczuk
---
scripts/loader.py | 95 +--
1 file changed, 75 insertions(+), 20 deletions(-)
diff --git a/scripts/loader.py b/scripts/loader.py
index c59d7e6f..8ee021e8 100644
--- a/scripts/loader.py
+++ b/scripts/loader.py
@@ -8,8 +8,8 @@ import
to help us navigate runqueue in a more resilient way.
Signed-off-by: Waldemar Kozaczuk
---
scripts/loader.py | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/scripts/loader.py b/scripts/loader.py
index 6270d980..c59d7e6f 100644
--- a/scripts/loader.py
+++ b/scripts/loader.py
there are multiple PT_LOAD and non-PT_LOAD
headers sharing the same p_vaddr value, it ends up using wrong
header and then overwriting other segments data.
This patch fixes it by separating filtering of PT_LOAD headers
and indentifying the lowest and highest ones.
Signed-off-by: Waldemar Kozaczuk
This patch is a follow up to the previous commit
b98cd8dc851282bd1b53860460831f77c63b18b3
and disables the logic to set MSI-X vector when setting up vqueues.
Refs #1088
Signed-off-by: Waldemar Kozaczuk
---
drivers/virtio-pci-device.cc | 8 ++--
1 file changed, 6 insertions(+), 2 deletions
Signed-off-by: Waldemar Kozaczuk
---
scripts/run.py | 11 ---
1 file changed, 8 insertions(+), 3 deletions(-)
diff --git a/scripts/run.py b/scripts/run.py
index 9e2ed146..c226056e 100755
--- a/scripts/run.py
+++ b/scripts/run.py
@@ -72,7 +72,7 @@ def set_imgargs(options
tested yet) and execute
an app from it.
Signed-off-by: Waldemar Kozaczuk
---
drivers/virtio-pci-device.cc | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/virtio-pci-device.cc b/drivers/virtio-pci-device.cc
index 378332ff..c7420747 100644
--- a/drivers/virtio-pci-device.cc
+++ b
: Waldemar Kozaczuk
---
Makefile | 1 +
drivers/{isa-serial.cc => isa-serial-base.cc} | 47
drivers/{isa-serial.hh => isa-serial-base.hh} | 23 ++--
drivers/isa-serial.cc | 106 +-
drivers/isa-ser
: Waldemar Kozaczuk
---
Makefile | 1 +
drivers/isa-serial-base.cc | 85
drivers/isa-serial-base.hh | 76 +
drivers/isa-serial.cc | 110 +++--
drivers/isa-serial.hh | 17 +-
5
declaration to export the symbol properly:
```C
pthread_attr_getscope
```
Signed-off-by: Waldemar Kozaczuk
---
libc/pthread.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libc/pthread.cc b/libc/pthread.cc
index 2f0afb7f..60158b31 100644
--- a/libc/pthread.cc
+++ b/libc
This patch revises the readme by adding information about some new features
introduced by new upcoming release. It also enriches it
by adding links to relevant Wiki pages to better explain existing
capabilities of OSv.
Signed-off-by: Waldemar Kozaczuk
---
README.md | 358
Signed-off-by: Waldemar Kozaczuk
---
scripts/module.py | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/module.py b/scripts/module.py
index d7128388..8a1a5406 100755
--- a/scripts/module.py
+++ b/scripts/module.py
@@ -110,7 +110,7 @@ def make_cmd(cmdline, j, jobserver
All of the sudden gcc 10 linker has found number of duplicate
ZFS related symbols which this patch fixes:
- g_zfs
- aok
- zfsdev_state
Signed-off-by: Waldemar Kozaczuk
---
bsd/cddl/contrib/opensolaris/cmd/zfs/zfs_util.h | 2 +-
bsd/cddl/contrib/opensolaris/cmd/zpool/zpool_main.c
Signed-off-by: Waldemar Kozaczuk
---
bsd/cddl/contrib/opensolaris/cmd/zfs/zfs_util.h | 2 +-
bsd/cddl/contrib/opensolaris/cmd/zpool/zpool_util.h | 2 +-
.../contrib/opensolaris/lib/libzfs/common/libzfs_util.c | 2 --
.../contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c | 8
a stub (nobody ever complained...), pthread_mutex_clocklock() can also be a
stub.
I think this will be easy, and hopefully work."
Signed-off-by: Waldemar Kozaczuk
---
include/api/pthread.h | 2 ++
libc/pthread.cc | 16
2 files changed, 18 insertions(+)
diff --git a/inc
Signed-off-by: Waldemar Kozaczuk
---
bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
b/bsd/sys/cddl/contrib/opensolaris/uts/common/fs/zfs/zfs_ioctl.c
All of the sudden new gcc 10 complains about some missing types
definitions so we make it happy by including proper headers
in right places.
Signed-off-by: Waldemar Kozaczuk
---
arch/x64/string-ssse3.cc | 1 +
include/osv/index-list.hh | 2 ++
tests/tst-sendfile.cc | 1 +
tests/tst-tcp
rtiofs /tmp/virtiofs/hello' -V
Signed-off-by: Waldemar Kozaczuk
---
scripts/run.py | 26 ++
1 file changed, 26 insertions(+)
diff --git a/scripts/run.py b/scripts/run.py
index 95cca87b..9e2ed146 100755
--- a/scripts/run.py
+++ b/scripts/run.py
@@ -172,6 +172,13 @@ def
sing
/tools/mountfs
which has to be already present in the image.
Here is a cmdline example of mounting virtio-fs filesystem:
'--mount-fs=virtiofs,/dev/virtiofs1,/tmp/virtiofs /tmp/virtiofs/hello'
Signed-off-by: Waldemar Koza
by non-ZFS filesystem implementations to register
cached file pages into page cache.
Signed-off-by: Waldemar Kozaczuk
---
core/pagecache.cc| 200 +--
fs/vfs/vfs_fops.cc | 2 +-
include/osv/pagecache.hh | 1 +
include/osv/vfs_file.hh | 2
-
rofs_map_cached_page() - that ensures that requested page of a file is loaded
from disk into ROFS cache (by triggering read from disk if missing) and
eventually registers the page into pagecache by calling
pagecache::map_read_cached_page().
This partially addresses #979
Signed-off-by: Waldemar
firecracker and qemu '-kernel' mode and can be used
to boot with either ZFS or ROFS disk.
This patch alse changes firecracker.elf and run.py with '-k' option to use
kernel.elf
instead of loader.elf to boot OSv from.
Signed-off-by: Waldemar Kozaczuk
---
Makefil
Signed-off-by: Waldemar Kozaczuk
---
scripts/build | 55 +++---
scripts/upload_manifest.py | 10 ++-
2 files changed, 48 insertions(+), 17 deletions(-)
diff --git a/scripts/build b/scripts/build
index dbf1a9d7..5265ad67 100755
--- a/scripts/b
yer.
Signed-off-by: Waldemar Kozaczuk
---
core/mempool.cc | 58 -
fs/sysfs/sysfs_vnops.cc | 51
include/osv/mempool.hh | 21 +++
3 files changed, 129 insertions(+), 1 deletion(-)
diff --git a/c
-
rofs_map_cached_page() - that ensures that requested page of a file is loaded
from disk into ROFS cache (by triggering read from disk if missing) and
eventually registers the page into pagecache by calling
pagecache::map_read_cached_page().
This partially addresses #979
Signed-off-by: Waldemar
page of a file is loaded
from disk into ROFS cache (by triggering read from disk if missing) and
eventually registers the page into pagecache by calling
pagecache::map_read_cached_page().
This partially addresses #979
Signed-off-by: Waldemar Kozaczuk
---
fs/rofs/rofs.hh | 2 ++
fs/rofs
This patch adds new field m_fsid to filesystem configuration structure
to identify which filesystem (zfs, rofs, etc) given vnode belongs to.
This becomes necessary to properly refactor logic in pagecache.
Signed-off-by: Waldemar Kozaczuk
---
.../opensolaris/uts/common/fs/zfs/zfs_vfsops.c | 10
by non-ZFS filesystem implementations to register
cached file pages into page cache.
Signed-off-by: Waldemar Kozaczuk
---
core/pagecache.cc| 176 ---
fs/vfs/vfs_fops.cc | 2 +-
include/osv/pagecache.hh | 1 +
include/osv/vfs_file.hh | 2
bject_size() needed to be
adjusted to work with new malloc_large() implementation. It was discovered
that therefore other related issues are fixed by this patch as well.
Lastly this patch adds new test verifying realloc() and malloc_usable_size().
Fixes #784
Fixes #854
Fixes #1077
Signed-off-by
Signed-off-by: Waldemar Kozaczuk
---
core/mempool.cc | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/core/mempool.cc b/core/mempool.cc
index d902eea8..11fd1456 100644
--- a/core/mempool.cc
+++ b/core/mempool.cc
@@ -702,10 +702,13 @@ page_range* page_range_allocator::alloc
t verifying realloc() and malloc_usable_size().
Signed-off-by: Waldemar Kozaczuk
---
core/mempool.cc| 66 +++--
modules/tests/Makefile | 2 +-
tests/tst-realloc.cc | 94 ++
3 files changed, 149 insertions(+), 13 deletions(-)
nd < 2MB that cannot be
satisfied
when mamory is fragmented.
It is supposed to help OSv memory allocation behave better when memory
in free_page_ranges is heavily fragmented and large allocations (>=2MB)
cannot be satisfied with single contiguous page range.
Fixes #854
Signed-off-by
Signed-off-by: Waldemar Kozaczuk
---
core/mempool.cc | 5 -
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/core/mempool.cc b/core/mempool.cc
index d902eea8..11fd1456 100644
--- a/core/mempool.cc
+++ b/core/mempool.cc
@@ -702,10 +702,13 @@ page_range* page_range_allocator::alloc
201 - 300 of 616 matches
Mail list logo