;------------------------------------------------------------------------------ | |
; @file | |
; qemu debug console support macros (based on serial port macros) | |
; | |
; Copyright (c) 2008 - 2018, Intel Corporation. All rights reserved.<BR> | |
; Copyright (c) 2024, Red Hat, Inc.<BR> | |
; SPDX-License-Identifier: BSD-2-Clause-Patent | |
; | |
;------------------------------------------------------------------------------ | |
%macro debugShowCharacter 1 | |
mov dx, 0x402 | |
mov al, %1 | |
out dx, al | |
%endmacro | |
%macro debugShowHexDigit 1 | |
%if (%1 < 0xa) | |
debugShowCharacter BYTE ('0' + (%1)) | |
%else | |
debugShowCharacter BYTE ('a' + ((%1) - 0xa)) | |
%endif | |
%endmacro | |
%macro debugShowPostCode 1 | |
debugShowHexDigit (((%1) >> 4) & 0xf) | |
debugShowHexDigit ((%1) & 0xf) | |
debugShowCharacter `\r` | |
debugShowCharacter `\n` | |
%endmacro | |
BITS 16 | |
%macro debugInitialize 0 | |
; not required | |
%endmacro |