2
0
mirror of https://git.missingno.dev/kolibrios-nvme-driver/ synced 2024-12-22 22:08:47 +01:00
kolibrios-nvme-driver/drivers/nvme/macros.inc
ramenu 9bf84c4953 fix PDEBUGF macro
note to self: be very careful when using registers in macros ;)
2024-04-28 21:02:04 -04:00

29 lines
1.1 KiB
PHP

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;; ;;
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
;; Distributed under terms of the GNU General Public License ;;
;; ;;
;; GNU GENERAL PUBLIC LICENSE ;;
;; Version 2, June 1991 ;;
;; ;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
macro PDEBUGF _level*, _fmt*, _bus*, _devfn*, [_args] {
common
if __DEBUG__
sub esp, 12
push ebx
movzx ebx, _bus
mov dword [esp + 4], ebx
movzx ebx, _devfn
shr ebx, 3 ; get rid of 3 lowest bits (function code), the rest bits is device code
mov dword [esp + 8], ebx
movzx ebx, _devfn
and ebx, 00000111b ; get only 3 lowest bits (function code)
mov dword [esp + 12], ebx
pop ebx
DEBUGF _level, _fmt, [esp], [esp + 4], [esp + 8], _args
add esp, 12
end if
}