Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Slm #421

Open
wants to merge 460 commits into
base: loader
Choose a base branch
from
Open

Slm #421

Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
460 commits
Select commit Hold shift + click to select a range
cde63ba
add deps setting script for 64 bit composite
betahxy Oct 8, 2021
0a0c290
fix compiling problem
betahxy Oct 8, 2021
55f6b40
update env deps script
betahxy Oct 8, 2021
dc6955f
remove interp section definition in comp.ld
betahxy Oct 10, 2021
f9b1d6e
fix booter switch into components
betahxy Oct 16, 2021
3793443
fix simple pingpong sinv call
betahxy Oct 16, 2021
a3b9a4a
fix pingpong sinv call stubs
betahxy Oct 17, 2021
bfb0991
infrastructure for creating shared pgtbl node, cons
ldierksheide Oct 17, 2021
4f69f5d
finish fixing pingpong tests
betahxy Oct 18, 2021
4642559
revert back to use gwsystem ps repo
betahxy Oct 18, 2021
d2c1ef8
fix compiling warnings
betahxy Oct 18, 2021
62b200b
fix run code within kvm
betahxy Oct 19, 2021
e0ac0e6
add some comments
betahxy Oct 20, 2021
8a03f0a
fix -O3 optimization errors and some warnings
betahxy Oct 21, 2021
90107bc
fix i386 port pingpong
betahxy Oct 23, 2021
484da5c
fix pingpong test in x86_64 port
betahxy Oct 23, 2021
d59f58c
improve cos script
betahxy Oct 23, 2021
c0aba92
improve build scripts
betahxy Oct 25, 2021
cd4111c
fix i386 bug
betahxy Oct 25, 2021
f542dfd
remove unnecessary file
betahxy Oct 25, 2021
3ac4f70
fix x86_64 compiling problems
betahxy Oct 26, 2021
7e9aaea
improve init_env script
betahxy Oct 26, 2021
54eaeaf
Merge branch 'gwsystems:loaderarm' into loaderarm
betahxy Oct 27, 2021
d2f6658
remove unnecessary files
betahxy Oct 27, 2021
c650c72
multi-core bootup support in cos script
betahxy Oct 31, 2021
267e596
fix smp booting in loader.S
betahxy Oct 31, 2021
cfc219f
fix code format of loader.S
betahxy Oct 31, 2021
c1a9ea2
fix sched.toml tests bugs for x86_64
betahxy Nov 18, 2021
7bd548c
fix issues according to PR's suggestions
betahxy Nov 19, 2021
8575d0a
line up code
betahxy Nov 19, 2021
ce8bec3
fix some issues
betahxy Nov 20, 2021
eac791b
add __WORD_SIZE_64__ and __WORD_SIZE_32__
betahxy Nov 20, 2021
5e68126
fix compiler warnings
betahxy Nov 20, 2021
0342699
Merge branch 'loaderarm' into debug_user_level
betahxy Nov 20, 2021
2b5fb5e
change captbl and pgtbl size to be 4 on both i386 and x86_64
betahxy Nov 20, 2021
a846806
small fix of run.sh
betahxy Nov 29, 2021
7bb82bb
Merge branch 'loaderarm' into loader
betahxy Dec 11, 2021
0b82acc
remove inb() and outb() in pci io.h
betahxy Dec 11, 2021
abfb202
loader arm fix
betahxy Dec 12, 2021
1464ebe
fix arm sinv bug
betahxy Dec 12, 2021
8a33d44
fix compiling error
betahxy Dec 12, 2021
56b70ef
shmem ping pong helloworld
evanstella Dec 14, 2021
80399be
memmgr shared alloc now returns mapped vaddr
evanstella Dec 14, 2021
07f119e
shmem testing
evanstella Dec 14, 2021
4c91114
shmem testing
evanstella Dec 14, 2021
125656a
testing
evanstella Dec 15, 2021
d3fdf92
memmgr shmem r/w test
evanstella Dec 15, 2021
634b06c
small changes to statisfy pr
evanstella Dec 15, 2021
8108fb8
shm_bm allocator w/o alignment
evanstella Dec 17, 2021
a058902
typos
evanstella Dec 17, 2021
fff9c69
shm_bm_map updates shmem's refcnt
evanstella Dec 17, 2021
c81bb76
linux impl of obj_free
evanstella Dec 17, 2021
e7db5c2
shm_bm uses memmgr
evanstella Dec 17, 2021
98e8115
small alloc bug fixes and unit tests
evanstella Dec 18, 2021
2cdbcf7
minor fix
betahxy Dec 19, 2021
917369a
fix a script minor bug
betahxy Dec 19, 2021
6c87eb9
shmem metadata does not use a whole a page anymore b/c we cant make i…
evanstella Dec 19, 2021
2214670
formatting and minor test case changes
evanstella Dec 19, 2021
4726dbe
change to unallocated object check in obj_use
evanstella Dec 19, 2021
5863aa5
shm dependencies
evanstella Dec 20, 2021
92f93f7
removed modulo calculation
evanstella Dec 20, 2021
ef10776
aligned memory allocation implemented
evanstella Dec 27, 2021
92b4627
Merge branch 'evan/lib/shmem' into evan/patch/memmgr-alignment
evanstella Dec 27, 2021
d83d5f3
Merge pull request #1 from evanstella/evan/patch/memmgr-alignment
evanstella Dec 27, 2021
517238e
small bug fix
evanstella Dec 27, 2021
d2b78dc
added faa implementation for byte sized values
evanstella Dec 30, 2021
ea34331
testing refcnts and small bug fix
evanstella Dec 30, 2021
0725bed
typos
evanstella Dec 30, 2021
094c3d6
tabs < spaces
evanstella Dec 30, 2021
0b2b18c
added message passing benchmark
evanstella Jan 3, 2022
df502c1
Merge pull request #2 from evanstella/evan/lib/shmem
evanstella Jan 3, 2022
5cdb45c
preliminary implementation of crt_ns ds/functions
ldierksheide Jan 10, 2022
fef8e47
compiles
ldierksheide Jan 10, 2022
be67d0d
identation
evanstella Jan 11, 2022
785993f
moved interface comments to header file
evanstella Jan 12, 2022
0fb6d82
minor performance tweaks
evanstella Jan 17, 2022
2b15689
Merge branch 'loader' of github.com:evanstella/composite into loader
evanstella Jan 17, 2022
b9fcbab
name change and documentation
evanstella Jan 17, 2022
bf06b90
wenyuan: make dpdk using the build system of composite. Haven't fix t…
WenyuanShao Jan 19, 2022
bcf2c96
wenyuan: delete fix a file which is not useful
WenyuanShao Jan 19, 2022
89fe11b
use private DPDK repo first
betahxy Jan 19, 2022
426db81
make dpdk lib work
betahxy Jan 19, 2022
a120aee
ar dpdk libs to libdpdk
betahxy Jan 19, 2022
b873502
test simple dpdk function in llbooter
betahxy Jan 19, 2022
c1eaaf5
compiling DPDK with musl libc in composite
betahxy Jan 22, 2022
50c23c0
compile DPDK witt musl in Composite automatically
betahxy Jan 23, 2022
58c03df
namespace init, comp alloc working within NSs
ldierksheide Jan 24, 2022
4556106
pr updates
evanstella Jan 26, 2022
fd1a381
renovated shm_bm_clz
evanstella Jan 26, 2022
d10e270
power of 2 allocator
evanstella Jan 27, 2022
b261080
fix present bit not correctly set in page directory entry
betahxy Jan 28, 2022
f0b6eef
pr fixes
evanstella Jan 29, 2022
b9fbab5
Merge branch 'loader' into dpdk-dev
betahxy Jan 29, 2022
70917bd
add posix lib into llbooter
betahxy Jan 29, 2022
69c80b1
fix kernel_test sinv syscall path bug
betahxy Jan 30, 2022
820a117
Merge branch 'loader' into dpdk-dev
betahxy Jan 30, 2022
071882a
make tls set fs register correctly in x86_64
betahxy Jan 30, 2022
838e0f3
improve dpdk Makefile
betahxy Jan 30, 2022
ae1c995
init tls space when init libc
betahxy Jan 31, 2022
db07f17
merge upstream and resolve conflicts
betahxy Feb 1, 2022
bd08938
Merge remote-tracking branch 'upstream/main'
betahxy Feb 1, 2022
e7abc9a
display progress when updating submodule
betahxy Feb 1, 2022
f589338
update doc
betahxy Feb 1, 2022
ab508f0
update doc
betahxy Feb 1, 2022
31565ac
Merge branch 'main' into dpdk-dev
betahxy Feb 1, 2022
7781ed7
Cons into shared pgtbl works simple test
ldierksheide Feb 1, 2022
67e6a40
compile DPDK drivers and change linker script
betahxy Feb 2, 2022
d07d0cd
add DPDK_COMPOSITE macro to DPDK lib
betahxy Feb 2, 2022
2e571ff
make rte_eal_init to begin rte_bus_scan
betahxy Feb 2, 2022
19367ba
add cos print in lib musl
betahxy Feb 2, 2022
7915954
more complex test for allocing comps, hardcoded in booter
ldierksheide Feb 3, 2022
d9ce4e0
bug fixes
evanstella Feb 3, 2022
061ead9
benchmarking regular sync inv
evanstella Feb 3, 2022
bc273ab
Merge branch 'lib/shmem' into main
evanstella Feb 3, 2022
9699632
Merge pull request #4 from evanstella/main
evanstella Feb 3, 2022
08bf7e4
documentation for shm_bm
evanstella Feb 3, 2022
c125b83
size_t -> ulong
evanstella Feb 3, 2022
f8e6163
fix multiple cores booting bugs
betahxy Feb 5, 2022
8260612
automatically update BOOT_CAPTBL_FREE in rust code
betahxy Feb 5, 2022
00af50d
add simple multi processor test
betahxy Feb 5, 2022
82ff4f7
Merge remote-tracking branch 'origin/main' into dpdk-dev
betahxy Feb 5, 2022
7956866
remove warnings
betahxy Feb 5, 2022
4f113db
Merge pull request #441 from betahxy/main
gparmer Feb 7, 2022
ee69de4
static bm started
evanstella Feb 7, 2022
31d7152
bug hunting
evanstella Feb 8, 2022
a7aff12
working ping/pong test with function pointer
ldierksheide Feb 8, 2022
409ddc5
it was a dword to word conversion problem lol
evanstella Feb 8, 2022
4b6f883
added an assert in bench to make sure its actually working
evanstella Feb 8, 2022
d412b27
merged in main
evanstella Feb 8, 2022
0d908d3
Merge branch 'lib/shmem' of github.com:evanstella/composite into lib/…
evanstella Feb 8, 2022
1bc6c0b
getting x64 running
evanstella Feb 8, 2022
686946e
updated submodules
evanstella Feb 11, 2022
e33593f
add cos_dpdk_adapter
betahxy Feb 13, 2022
b974cbd
server-client implementation
evanstella Feb 14, 2022
65c24b4
Merge branch 'lib/shmem' of github.com:evanstella/composite into lib/…
evanstella Feb 14, 2022
27d51a8
create new comp cap within compinfo for shared VAS
ldierksheide Feb 14, 2022
8131899
full client-server implementation
evanstella Feb 14, 2022
b901e2f
some leftover i386 files
evanstella Feb 14, 2022
7ae482d
some leftover i386 files
evanstella Feb 14, 2022
d234afd
broken thread stuff
ldierksheide Feb 17, 2022
8e35814
update ps
evanstella Feb 18, 2022
3a7b755
Merge branch 'feature/pku' of github.com:evanstella/composite into li…
evanstella Feb 18, 2022
c22119e
fix weird bug with threads
ldierksheide Feb 21, 2022
a1369d1
added flags parameter to pt cpy op
evanstella Feb 21, 2022
b2ed814
make RO portion of component ELF actually RO
evanstella Feb 21, 2022
c014d15
shared thread creation
ldierksheide Feb 23, 2022
6333ae2
name change for flags param
evanstella Feb 25, 2022
7ac0ab7
Merge pull request #444 from evanstella/patch/pgtbl-mapping-add-flags
gparmer Feb 25, 2022
a41b954
Merge branch 'main' of https://github.com/gwsystems/composite into li…
evanstella Feb 25, 2022
762128e
simpler interface and pr comments
evanstella Feb 25, 2022
5234db3
removed misc i386 files
evanstella Feb 25, 2022
90409f5
typo in header guard
evanstella Feb 25, 2022
5a0b323
Merge pull request #443 from evanstella/lib/shmem
gparmer Feb 25, 2022
a96fa22
make eal init work and probe e1000 pmd
betahxy Feb 26, 2022
2840caa
alias all allocations on VAS split, still buggy
ldierksheide Mar 2, 2022
4c5fbac
alias working test
ldierksheide Mar 4, 2022
86c5287
enable receiving packets
betahxy Mar 6, 2022
274fd6a
attempt merge to 64 bit
ldierksheide Mar 10, 2022
ab19128
fix compiling problem of x86_64
betahxy Mar 12, 2022
889601e
use a larger stack size in user level
betahxy Mar 13, 2022
634fca7
Qemu e1000 NIC rx/tx simple test OK
betahxy Mar 20, 2022
96da460
compiles and runs for 64 bit!
ldierksheide Mar 21, 2022
74107e5
cleanup
ldierksheide Mar 23, 2022
26a6caf
cleanup pt 2
ldierksheide Mar 24, 2022
933b099
alias aliased components on split
ldierksheide Mar 24, 2022
74aafde
enable libc_init and override defautl __init_tls
betahxy Mar 27, 2022
fe6b266
cleanup, move pingpong vas test to unit_pingshvas
ldierksheide Mar 28, 2022
a880063
cleanup, remove pingpong2
ldierksheide Mar 28, 2022
a8862e4
enable r/w fs gs base register
betahxy Mar 29, 2022
7ce8a24
add crt_comp_create_in_vas func
ldierksheide Apr 1, 2022
04e2072
pong update
ldierksheide Apr 1, 2022
643bf08
move vas pong functions to own interface pongshvas
ldierksheide Apr 1, 2022
d85c8a6
remove compiling warnings and improve the dpdk build makefile
betahxy Apr 3, 2022
a2a5275
support log level in dpdk
betahxy Apr 3, 2022
28872b1
improve the dpdk build system
betahxy Apr 3, 2022
3ffb469
cleanup, small bug fixes from PR review
ldierksheide Apr 4, 2022
2c765c3
remove autogenerated musl files
ldierksheide Apr 4, 2022
dfcfeaf
cleanup autogenerated musl file
ldierksheide Apr 4, 2022
edfbf85
copy of booter for namespace API usage
ldierksheide Apr 4, 2022
f3220f8
Merge branch 'shared_pgtbl' of github.com:ldierksheide/composite into…
ldierksheide Apr 4, 2022
f37312d
add simple version of cos dpdk api
betahxy Apr 5, 2022
cb62e24
fix rx bug
betahxy Apr 5, 2022
dd5e8a5
change DPDK's Composite specific macro
betahxy Apr 5, 2022
ebbee4f
provide get cpu freq interface in dpdk adapter
betahxy Apr 5, 2022
c00b39f
remove compiling warnings
betahxy Apr 5, 2022
786d668
remove mmap2 and improve dpdk makefile
betahxy Apr 9, 2022
1fad07a
fix the makefile build system
betahxy Apr 9, 2022
31a494c
fix the makefile build system
betahxy Apr 10, 2022
c3f0732
move sinv_create_shared into regular sinve_create
ldierksheide Apr 11, 2022
d3e8fee
switch to bits for name state
ldierksheide Apr 12, 2022
0471684
initializing ns state bug fix
ldierksheide Apr 12, 2022
970d598
cleanup bitmap check
ldierksheide Apr 12, 2022
8768620
add dpdk component
betahxy Apr 13, 2022
84c453c
Merge branch 'dpdk-dev'
betahxy Apr 13, 2022
fbb6c9c
remove test code
betahxy Apr 13, 2022
52c065c
Merge pull request #447 from ldierksheide/shared_pgtbl
gparmer Apr 16, 2022
94d574e
Adding Composer support for address spaces.
gparmer Apr 16, 2022
4c73aa0
address space parsing tweaks
gparmer Apr 17, 2022
6340d95
AS Composer support: debugged and properly checking the 6 invariants
gparmer Apr 17, 2022
6e05952
fix bug in crt_ns_vas_shared to check for null vas
ldierksheide Apr 17, 2022
064d6ac
style fix
ldierksheide Apr 18, 2022
5bc2a1c
Merge pull request #450 from ldierksheide/shared_pgtbl
gparmer Apr 18, 2022
e9227a2
Merge branch 'main' of github.com:gparmer/composite.local into main
gparmer Apr 18, 2022
336057e
Merge branch 'main' into composer_vas
gparmer Apr 18, 2022
56cbc7e
add set tls sinv call
betahxy Apr 26, 2022
7f10ea9
tls bug fix
betahxy Apr 26, 2022
53d4f92
minor fixes according to PR feedback
betahxy Apr 26, 2022
f7fb0f0
fix minor bugs
betahxy Apr 29, 2022
2fa624a
update dpdk submodule
betahxy Apr 29, 2022
1452049
minor fixes
betahxy Apr 29, 2022
7e3b615
add get_virt_to_phys_addr through memmgr
betahxy Apr 30, 2022
0940bfa
reserve 256MB memory to memmgr
betahxy May 1, 2022
5589508
add memmgr_map_phys_to_virt to memmgr interface
betahxy May 1, 2022
1713e27
minor bug fixes
betahxy May 1, 2022
be7d3dc
minor fixes
betahxy May 1, 2022
e768f15
clean lib posix
betahxy May 1, 2022
f5bfcfc
add nic interface
betahxy May 1, 2022
9535cf3
Merge remote-tracking branch 'upstream/main'
betahxy May 2, 2022
db23356
change dpdk url to GW's repo
betahxy May 2, 2022
e357580
update dpdk submodule
betahxy May 2, 2022
5b8fa8e
add init_env dependencies
betahxy May 2, 2022
8b67159
minor fix
betahxy May 2, 2022
cc8e98c
keep posix legacy as its original content
betahxy May 3, 2022
8c34fa5
add lwip submodule
betahxy May 11, 2022
ba66857
add lwip submodule
betahxy May 11, 2022
e307303
Merge branch 'main' of github.com:betahxy/composite
betahxy May 11, 2022
0950f94
add lwip submodule and successfully compile it
betahxy May 15, 2022
0868465
enable avx feature
betahxy May 15, 2022
f1c74a1
test lwip within nic component
betahxy May 29, 2022
8bd5569
enable lwip debug message
betahxy May 29, 2022
187b371
Step 1 & 2 in adding address space support to the composer: parsing a…
gparmer Jun 1, 2022
ff5cd1c
Add the pass structures to access ordered address spaces for initiali…
gparmer Jun 1, 2022
3ef7a71
Steps:
gparmer Jun 2, 2022
8d11d13
Steps:
gparmer Jun 2, 2022
fe7001a
Synthesize the composer's `initargs` based on the address space speci…
gparmer Jun 3, 2022
7915890
WARNING: does not build. Transient commit
gparmer Jun 3, 2022
052b284
WARNING: does not build. Transient commit
gparmer Jun 4, 2022
92585ca
add DPDK bench test and some minor changes
betahxy Jun 4, 2022
c1fb10c
change lwip submodule url to gwsystem
betahxy Jun 4, 2022
e68d887
minor fix
betahxy Jun 4, 2022
8a77c31
Updated booter to use the VAS specification.
gparmer Jun 4, 2022
d2b231b
Fixed last bug, ready to go forward!
gparmer Jun 4, 2022
ca2f9f2
fix format
betahxy Jun 5, 2022
22d5f9a
minor fixes
betahxy Jun 19, 2022
b42e20c
Merge pull request #451 from betahxy/main
gparmer Jun 20, 2022
2f68b0a
Merge branch 'main' of github.com:gparmer/composite.local into main
gparmer Jun 26, 2022
6748528
Comment update
gparmer Jun 26, 2022
b94fe2c
Merge branch 'main' into composer_vas
gparmer Jun 26, 2022
0da657c
Merge pull request #453 from gparmer/composer_vas
gparmer Jun 26, 2022
7182995
Merge conflict resolution: removing symbol issues in the sl-based sch…
gparmer Jul 1, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion src/components/Makefile.comp
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,9 @@ SHARED_FLAGS=-fno-merge-constants -nostdinc -nostdlib -fno-pic -fno-pie
#OPT= -g -fvar-tracking
OPT= -O3

CFLAGS=$(ARCH_CFLAGS) -Wall -Wextra -Wno-unused-parameter -Wno-type-limits -Wno-unused-function -fno-stack-protector -fno-omit-frame-pointer -Wno-unused-variable $(CINC) $(MUSLINC) $(OPT) $(SHARED_FLAGS)
# This removes warnings from Ubuntu 20 (gcc 9.3), but should likely be removed by fixing the issue
TMPFLGS := -Wno-address-of-packed-member
CFLAGS=$(ARCH_CFLAGS) -Wall -Wextra $(TMPFLGS) -Wno-unused-parameter -Wno-type-limits -Wno-unused-function -fno-stack-protector -fno-omit-frame-pointer -Wno-unused-variable $(CINC) $(MUSLINC) $(OPT) $(SHARED_FLAGS)
CXXFLAGS=-fno-exceptions -fno-threadsafe-statics -Wno-write-strings $(CFLAGS)
LDFLAGS=$(ARCH_LDFLAGS) -no-pic
MUSLCFLAGS=$(CFLAGS) -lc -lgcc -Xlinker -r
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ comps_init(void)
assert(id < MAX_NUM_COMPS && id > 0 && name);

memset(path, 0, INITARGS_MAX_PATHNAME);
strncat(path, root, len);
strncat(path, root, len + 1);
assert(path[len] == '\0');
strncat(path, name, INITARGS_MAX_PATHNAME - len);
assert(path[INITARGS_MAX_PATHNAME - 1] == '\0'); /* no truncation allowed */
Expand Down
18 changes: 18 additions & 0 deletions src/components/implementation/tests/slm/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Required variables used to drive the compilation process. It is OK
# for many of these to be empty.
#
# The set of interfaces that this component exports for use by other
# components. This is a list of the interface names.
INTERFACE_EXPORTS =
# The interfaces this component is dependent on for compilation (this
# is a list of directory names in interface/)
INTERFACE_DEPENDENCIES =
# The library dependencies this component is reliant on for
# compilation/linking (this is a list of directory names in lib/)
LIBRARY_DEPENDENCIES = component slm util crt
# Note: Both the interface and library dependencies should be
# *minimal*. That is to say that removing a dependency should cause
# the build to fail. The build system does not validate this
# minimality; that's on you!

include Makefile.subsubdir
9 changes: 9 additions & 0 deletions src/components/implementation/tests/slm/doc.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
## tests

This is the skeleton interface used by the `mkcomponent.sh` script to aid in the creation of a new component.
Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

TODO: add documentation here.

It provides no functionality, and should never be depended on!
This documentation should be *replaced* in the documentation for a new component.

### Description

### Usage and Assumptions
Loading