Changeset 3bdcf57 in mainline


Ignore:
Timestamp:
2019-05-31T17:51:02Z (5 years ago)
Author:
Jakub Jermar <jakub@…>
Branches:
lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
Children:
de9e28e
Parents:
77de449e
Message:

Add support for L4Re's uvmm early print

This is useful when running as a guest under L4Re's uvmm.

Files:
2 edited

Legend:

Unmodified
Added
Removed
  • HelenOS.config

    r77de449e r3bdcf57  
    569569! [CONFIG_DSRLNIN=y|(PLATFORM=arm32&MACHINE=gta02)|(PLATFORM=arm32&MACHINE=integratorcp&CONFIG_PL011_UART=y)|(PLATFORM=arm32&MACHINE=beaglebone&CONFIG_OMAP_UART=y)|(PLATFORM=arm32&MACHINE=beagleboardxm&CONFIG_OMAP_UART=y)|(PLATFORM=arm64&CONFIG_PL011_UART=y)|(PLATFORM=ia64&MACHINE=i460GX&CONFIG_NS16550=y)|(PLATFORM=ia64&MACHINE=ski)|(PLATFORM=sparc64&PROCESSOR=sun4v)|(PLATFORM=arm32&MACHINE=raspberrypi&CONFIG_PL011_UART=y)|(PLATFORM=ia32&CONFIG_NS16550=y)|(PLATFORM=amd64&CONFIG_NS16550=y)|(PLATFORM=mips32&CONFIG_NS16550=y)|(PLATFORM=sparc64&CONFIG_SUN_TTY=y)] CONFIG_SRLN (y)
    570570
     571% L4Re uvmm print hypercall support
     572! [PLATFORM=amd64] CONFIG_L4RE_UVMM_EARLY_PRINT (n/y)
     573
    571574% EGA support
    572575! [CONFIG_HID_OUT=generic&(PLATFORM=ia32|PLATFORM=amd64)] CONFIG_EGA (y/n)
  • kernel/arch/amd64/src/asm.S

    r77de449e r3bdcf57  
    398398        .asciz "Invalid instruction pointer."
    399399
    400 /** Print Unicode character to EGA display.
    401  *
    402  * If CONFIG_EGA is undefined or CONFIG_FB is defined
    403  * then this function does nothing.
     400/** Print Unicode character to an early display device.
    404401 *
    405402 * Since the EGA can only display Extended ASCII (usually
     
    413410 */
    414411FUNCTION_BEGIN(early_putwchar)
     412
     413#if (defined(CONFIG_L4RE_UVMM_EARLY_PRINT))
     414        xorl %eax, %eax  /* RAX==0: uvmm's print hypercall */
     415        mov %rdi, %rcx   /* RCX:    printed character */
     416        vmcall
     417#endif
     418
    415419#if ((defined(CONFIG_EGA)) && (!defined(CONFIG_FB)))
    416420
Note: See TracChangeset for help on using the changeset viewer.