Add more accessors to mammoth classes

This commit is contained in:
Drew Galbraith 2023-06-16 01:29:49 -07:00
parent 71e51730b7
commit 6e20e5a610
4 changed files with 7 additions and 1 deletions

View File

@ -8,6 +8,7 @@ class Channel {
Channel() {}
void adopt_cap(uint64_t id);
uint64_t release_cap();
uint64_t cap();
z_err_t WriteStr(const char* msg);
z_err_t ReadStr(char* buffer, uint64_t* size);

View File

@ -15,6 +15,9 @@ class MappedMemoryRegion {
uint64_t paddr() { return paddr_; }
uint64_t vaddr() { return vaddr_; }
uint64_t size() { return size_; }
uint64_t cap() { return vmmo_cap_; }
operator bool() { return vmmo_cap_ != 0; }

View File

@ -29,6 +29,8 @@ uint64_t Channel::release_cap() {
return cap;
}
uint64_t Channel::cap() { return chan_cap_; }
z_err_t Channel::WriteStr(const char* msg) {
if (!chan_cap_) {
return Z_ERR_NULL;

View File

@ -69,7 +69,7 @@ uint64_t LoadElfProgram(uint64_t base, uint64_t as_cap) {
dbgln("Create mem object");
#endif
uint64_t mem_cap;
uint64_t size = program.filesz;
uint64_t size = program.memsz;
check(ZMemoryObjectCreate(size, &mem_cap));
#if MAM_PROC_DEBUG