[FREELDR/AMD64]
[reactos.git] / reactos / boot / freeldr / freeldr / arch / amd64 / pnpbios.S
index a2b49bc..f97a9d8 100644 (file)
@@ -104,10 +104,18 @@ pnp_not_found:
 PUBLIC PnpBiosGetDeviceNodeCount
 PnpBiosGetDeviceNodeCount:
 
+    /* Save param-regs */
+    push rcx
+    push rdx
+
     /* Call the real mode function */
     mov bx, FNID_PnpBiosGetDeviceNodeCount
     call CallRealMode
 
+    /* Restore param-regs */
+    pop rdx
+    pop rcx
+
     xor eax, eax
     mov ax, [BSS_PnpNodeSize]
     mov [rcx], eax
@@ -140,10 +148,16 @@ PnpBiosGetDeviceNode:
     and eax, HEX(0f)
     mov word ptr [BSS_PnpBiosBufferOffset], ax
 
+    /* Save rcx */
+    push rcx
+
     /* Call the real mode function */
     mov bx, FNID_PnpBiosGetDeviceNode
     call CallRealMode
 
+    /* Restore rcx */
+    pop rcx
+
     /* update node number */
     mov al, byte ptr [BSS_PnpNodeNumber]
     mov [rcx], al