diff --git a/guest/console/console_pv.c b/guest/console/console_pv.c
index d0616e095380f9011d8accf6eeda1094a4106c0c..cbf374f6f47b3038aa7285e6e412e1e67b8fa95e 100644
--- a/guest/console/console_pv.c
+++ b/guest/console/console_pv.c
@@ -3,6 +3,7 @@
 #include "guest/utils.h"
 #include "guest/pmio.h"
 #include "shared/hypercall_params.h"
+#include <stdint.h>
 
 // --- DEFINE ---
 
@@ -13,7 +14,7 @@
 void console_pv_send(char *str) {
 
     hyper_virtual_console_params_t param_console;
-    param_console.msg = (uint64_t)str;
+    param_console.msg = (uint64_t)((uint32_t)str);
     memcpy((void *)HYPERCALL_SHARED_ADDR, (void *)&param_console, sizeof(param_console));
 
     outb(HYPERCALL_PMIO_ADDR, HYPERCALL_CODE_CONSOLE);
diff --git a/guest/ide/ide_pv.c b/guest/ide/ide_pv.c
index 811cab878eb27fc73b6d3c9e4e6061e8961746cc..aca790e87f93166219f239942966bcbf7b76c780 100644
--- a/guest/ide/ide_pv.c
+++ b/guest/ide/ide_pv.c
@@ -3,6 +3,7 @@
 #include "guest/pmio.h"
 #include "guest/utils.h"
 #include "shared/hypercall_params.h"
+#include <stdint.h>
 
 // --- DEFINE ---
 
@@ -14,7 +15,7 @@ void ide_pv_write_sector(uint32_t sector_idx, void *data) {
 
     hyper_ide_params_t param_ide;
     param_ide.sector_idx = sector_idx;
-    param_ide.data = (uint64_t)data;
+    param_ide.data = (uint64_t)((uint32_t)data);
     memcpy((void *)HYPERCALL_SHARED_ADDR, (void *)&param_ide, sizeof(param_ide));
 
     outb(HYPERCALL_PMIO_ADDR, HYPERCALL_CODE_IDE);