diff --git a/sys/denali/lib/denali/denali.yunq.server.cpp b/sys/denali/lib/denali/denali.yunq.server.cpp index 4c9370b..8d85e29 100644 --- a/sys/denali/lib/denali/denali.yunq.server.cpp +++ b/sys/denali/lib/denali/denali.yunq.server.cpp @@ -50,6 +50,7 @@ void DenaliServerBase::ServerThread() { while (true) { uint64_t recv_cap_size = 0x10; uint64_t recv_buf_size = 0x1000; + recv_cap.Reset(); glcr::ErrorCode recv_err = ZEndpointRecv(endpoint_, &recv_buf_size, recv_buffer.RawPtr(), &recv_cap_size, recv_cap.RawPtr(), &reply_port_cap); if (recv_err != glcr::OK) { dbgln("Error in receive: %x", recv_err); @@ -59,6 +60,7 @@ void DenaliServerBase::ServerThread() { uint64_t resp_length = 0; glcr::ErrorCode reply_err = glcr::OK; + resp_cap.Reset(); glcr::ErrorCode err = HandleRequest(recv_buffer, recv_cap, resp_buffer, resp_length, resp_cap); if (err != glcr::OK) { WriteError(resp_buffer, err); diff --git a/sys/yellowstone/lib/yellowstone/yellowstone.yunq.server.cpp b/sys/yellowstone/lib/yellowstone/yellowstone.yunq.server.cpp index bbe89f2..708c15b 100644 --- a/sys/yellowstone/lib/yellowstone/yellowstone.yunq.server.cpp +++ b/sys/yellowstone/lib/yellowstone/yellowstone.yunq.server.cpp @@ -50,6 +50,7 @@ void YellowstoneServerBase::ServerThread() { while (true) { uint64_t recv_cap_size = 0x10; uint64_t recv_buf_size = 0x1000; + recv_cap.Reset(); glcr::ErrorCode recv_err = ZEndpointRecv(endpoint_, &recv_buf_size, recv_buffer.RawPtr(), &recv_cap_size, recv_cap.RawPtr(), &reply_port_cap); if (recv_err != glcr::OK) { dbgln("Error in receive: %x", recv_err); @@ -59,6 +60,7 @@ void YellowstoneServerBase::ServerThread() { uint64_t resp_length = 0; glcr::ErrorCode reply_err = glcr::OK; + resp_cap.Reset(); glcr::ErrorCode err = HandleRequest(recv_buffer, recv_cap, resp_buffer, resp_length, resp_cap); if (err != glcr::OK) { WriteError(resp_buffer, err); diff --git a/sys/yellowstone/yellowstone_server.cpp b/sys/yellowstone/yellowstone_server.cpp index 28e115e..0fd18f1 100644 --- a/sys/yellowstone/yellowstone_server.cpp +++ b/sys/yellowstone/yellowstone_server.cpp @@ -48,6 +48,7 @@ glcr::ErrorCode YellowstoneServer::HandleGetAhciInfo(const Empty&, AhciInfo& info) { info.set_ahci_region(pci_reader_.GetAhciVmmo()); info.set_region_length(kPcieConfigurationSize); + dbgln("Resp ahci"); return glcr::OK; } @@ -58,6 +59,7 @@ glcr::ErrorCode YellowstoneServer::HandleGetDenali(const Empty&, info.set_denali_endpoint(new_denali); info.set_device_id(device_id_); info.set_lba_offset(lba_offset_); + dbgln("Resp denali"); return glcr::OK; } diff --git a/yunq/example.yunq.server.cpp b/yunq/example.yunq.server.cpp index aee644e..1adb3c6 100644 --- a/yunq/example.yunq.server.cpp +++ b/yunq/example.yunq.server.cpp @@ -50,6 +50,7 @@ void VFSServerBase::ServerThread() { while (true) { uint64_t recv_cap_size = 0x10; uint64_t recv_buf_size = 0x1000; + recv_cap.Reset(); glcr::ErrorCode recv_err = ZEndpointRecv(endpoint_, &recv_buf_size, recv_buffer.RawPtr(), &recv_cap_size, recv_cap.RawPtr(), &reply_port_cap); if (recv_err != glcr::OK) { dbgln("Error in receive: %x", recv_err); @@ -59,6 +60,7 @@ void VFSServerBase::ServerThread() { uint64_t resp_length = 0; glcr::ErrorCode reply_err = glcr::OK; + resp_cap.Reset(); glcr::ErrorCode err = HandleRequest(recv_buffer, recv_cap, resp_buffer, resp_length, resp_cap); if (err != glcr::OK) { WriteError(resp_buffer, err); diff --git a/yunq/server.cpp.jinja b/yunq/server.cpp.jinja index 61abfd7..c299c04 100644 --- a/yunq/server.cpp.jinja +++ b/yunq/server.cpp.jinja @@ -50,6 +50,7 @@ void {{interface.name}}ServerBase::ServerThread() { while (true) { uint64_t recv_cap_size = 0x10; uint64_t recv_buf_size = 0x1000; + recv_cap.Reset(); glcr::ErrorCode recv_err = ZEndpointRecv(endpoint_, &recv_buf_size, recv_buffer.RawPtr(), &recv_cap_size, recv_cap.RawPtr(), &reply_port_cap); if (recv_err != glcr::OK) { dbgln("Error in receive: %x", recv_err); @@ -59,6 +60,7 @@ void {{interface.name}}ServerBase::ServerThread() { uint64_t resp_length = 0; glcr::ErrorCode reply_err = glcr::OK; + resp_cap.Reset(); glcr::ErrorCode err = HandleRequest(recv_buffer, recv_cap, resp_buffer, resp_length, resp_cap); if (err != glcr::OK) { WriteError(resp_buffer, err);