• Charlie Jacobsen's avatar
    Driver code and interface for loading a blob in an lcd (untested). · f0735fd0
    Charlie Jacobsen authored
    User code calls ioctl with LCD_RUN_BLOB ioctl number and
    lcd_blob_info (containing userspace address of blob and
    blob order) -- defined in public include/linux/lcd-domains.h.
    
    The blob must be N pages, and N must be a power of 2 (for
    easy driver code). blob_order = log2(N). The blob consists
    of machine instructions that are loaded in the lcd and
    executed. The machine instructions cannot access any memory,
    including the stack (for now, until gv paging is in place).
    
    -- Added lcd_arch_set_pc for setting the lcd's program counter.
    -- Added driver code in lcd-domains.c for handling the ioctl
       request, loading the blob from user space into a fresh lcd,
       and running the lcd (in a loop).
    f0735fd0
lcd-domains-arch.h 9.27 KB