Return to vesabiosreg.h CVS log | Up to [local] / sys / dev / vesa |
File: [local] / sys / dev / vesa / vesabiosreg.h (download)
Revision 1.1.1.1 (vendor branch), Tue Mar 4 16:14:46 2008 UTC (16 years, 4 months ago) by nbrk
Import of OpenBSD 4.2 release kernel tree with initial code to support Jornada 720/728, StrongARM 1110-based handheld PC. At this point kernel roots on NFS and boots into vfs_mountroot() and traps. What is supported: - glass console, Jornada framebuffer (jfb) works in 16bpp direct color mode (needs some palette tweaks for non black/white/blue colors, i think) - saic, SA11x0 interrupt controller (needs cleanup) - sacom, SA11x0 UART (supported only as boot console for now) - SA11x0 GPIO controller fully supported (but can't handle multiple interrupt handlers on one gpio pin) - sassp, SSP port on SA11x0 that attaches spibus - Jornada microcontroller (jmcu) to control kbd, battery, etc throught the SPI bus (wskbd attaches on jmcu, but not tested) - tod functions seem work - initial code for SA-1111 (chip companion) : this is TODO Next important steps, i think: - gpio and intc on sa1111 - pcmcia support for sa11x0 (and sa1111 help logic) - REAL root on nfs when we have PCMCIA support (we may use any of supported pccard NICs) - root on wd0! (using already supported PCMCIA-ATA) |
/* $OpenBSD: vesabiosreg.h,v 1.1 2006/11/27 18:04:28 gwk Exp $ */ /* * Written by M. Drochner * Public domain. */ #ifndef _VESABIOSREG_H #define _VESABIOSREG_H struct modeinfoblock { /* Mandatory information for all VBE revisions */ uint16_t ModeAttributes; uint8_t WinAAttributes, WinBAttributes; uint16_t WinGranularity, WinSize, WinASegment, WinBSegment; uint32_t WinFuncPtr; uint16_t BytesPerScanLine; /* Mandatory information for VBE 1.2 and above */ uint16_t XResolution, YResolution; uint8_t XCharSize, YCharSize, NumberOfPlanes, BitsPerPixel; uint8_t NumberOfBanks, MemoryModel, BankSize, NumberOfImagePages; uint8_t Reserved1; /* Direct Color fields (required for direct/6 and YUV/7 memory models) */ uint8_t RedMaskSize, RedFieldPosition; uint8_t GreenMaskSize, GreenFieldPosition; uint8_t BlueMaskSize, BlueFieldPosition; uint8_t RsvdMaskSize, RsvdFieldPosition; uint8_t DirectColorModeInfo; /* Mandatory information for VBE 2.0 and above */ uint32_t PhysBasePtr; #ifdef VBE_2_0 uint32_t OffScreenMemOffset; uint16_t OffScreenMemSize; uint8_t Reserved2[206]; #else uint32_t Reserved2; uint16_t Reserved3; /* Mandatory information for VBE 3.0 and above */ uint16_t LinBytesPerScanLine; uint8_t BnkNumberOfImagePages; uint8_t LinNumberOfImagePages; uint8_t LinRedMaskSize, LinRedFieldPosition; uint8_t LinGreenMaskSize, LinGreenFieldPosition; uint8_t LinBlueMaskSize, LinBlueFieldPosition; uint8_t LinRsvdMaskSize, LinRsvdFieldPosition; uint32_t MaxPixelClock; uint8_t Reserved4[189]; #endif } __attribute__ ((packed)); struct paletteentry { uint8_t Blue; uint8_t Green; uint8_t Red; uint8_t Alignment; } __attribute__ ((packed)); #endif /* !_VESABIOSREG_H */