mirror of https://github.com/dzavalishin/oskit/
452 lines
15 KiB
Plaintext
Executable File
452 lines
15 KiB
Plaintext
Executable File
/************************************************************/
|
|
// Copyright (c) 2000-2001 University of Utah and the Flux Group.
|
|
// All rights reserved.
|
|
//
|
|
// This file is part of the Flux OSKit. The OSKit is free software, also known
|
|
// as "open source;" you can redistribute it and/or modify it under the terms
|
|
// of the GNU General Public License (GPL), version 2, as published by the Free
|
|
// Software Foundation (FSF). To explore alternate licensing terms, contact
|
|
// the University of Utah at csl-dist@cs.utah.edu or +1-801-585-3271.
|
|
//
|
|
// The OSKit is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
// FOR A PARTICULAR PURPOSE. See the GPL for more details. You should have
|
|
// received a copy of the GPL along with the OSKit; see the file COPYING. If
|
|
// not, write to the FSF, 59 Temple Place #330, Boston, MA 02111-1307, USA.
|
|
//
|
|
// Graphics
|
|
//
|
|
// Untested
|
|
/************************************************************/
|
|
|
|
directory "${OSKITDIR}"
|
|
|
|
bundletype SVGAlib_T =
|
|
{ include "${OSKITDIR}/oskit/svgalib/vga.h",
|
|
vga_accel,
|
|
vga_bitblt,
|
|
vga_blitwait,
|
|
vga_claimvideomemory,
|
|
vga_clear,
|
|
vga_copytoplanar16,
|
|
vga_copytoplanar256,
|
|
vga_copytoplane,
|
|
vga_disabledriverreport,
|
|
vga_drawline,
|
|
vga_drawpixel,
|
|
vga_drawscanline,
|
|
vga_drawscansegment,
|
|
vga_dumpregs,
|
|
vga_ext_set,
|
|
vga_fillblt,
|
|
vga_getcolors,
|
|
vga_getcurrentchipset,
|
|
vga_getcurrentmode,
|
|
vga_getdefaultmode,
|
|
vga_getgraphmem,
|
|
vga_getmodeinfo,
|
|
vga_getmodename,
|
|
vga_getmodenumber,
|
|
vga_getmonitortype,
|
|
vga_getpalette,
|
|
vga_getpalvec,
|
|
vga_getpixel,
|
|
vga_getscansegment,
|
|
vga_gettextfont,
|
|
vga_gettextmoderegs,
|
|
vga_getxdim,
|
|
vga_getydim,
|
|
vga_hasmode,
|
|
vga_hlinelistblt,
|
|
vga_imageblt,
|
|
// vga_init,
|
|
vga_lastmodenumber,
|
|
vga_lockvc,
|
|
vga_oktowrite,
|
|
vga_puttextfont,
|
|
vga_screenoff,
|
|
vga_screenon,
|
|
vga_setchipset,
|
|
vga_setchipsetandfeatures,
|
|
vga_setcolor,
|
|
vga_setdisplaystart,
|
|
vga_setegacolor,
|
|
vga_setlinearaddressing,
|
|
vga_setlogicalwidth,
|
|
vga_setmode,
|
|
vga_setmodeX,
|
|
vga_setpage,
|
|
vga_setpalette,
|
|
vga_setpalvec,
|
|
vga_setreadpage,
|
|
vga_setrgbcolor,
|
|
vga_settextmoderegs,
|
|
vga_setwritepage,
|
|
vga_unlockvc,
|
|
vga_waitretrace,
|
|
vga_white,
|
|
}
|
|
|
|
/************************************************************/
|
|
// Implementation
|
|
/************************************************************/
|
|
|
|
|
|
// mk_unit -o -n svgalib video/svgalib/IBMRGB52x.o video/svgalib/regextr.o video/svgalib/accel.o video/svgalib/s3.o video/svgalib/ali.o video/svgalib/s3dacs.o video/svgalib/apm.o video/svgalib/s_intr.o video/svgalib/ark.o video/svgalib/sierra.o video/svgalib/ati.o video/svgalib/timing.o video/svgalib/attdacs.o video/svgalib/tvga8900.o video/svgalib/chips.o video/svgalib/vga.o video/svgalib/cirrus.o video/svgalib/vgaaccel.o video/svgalib/config.o video/svgalib/vgabgpage.o video/svgalib/egadrv.o video/svgalib/vgabgvt.o video/svgalib/et3000.o video/svgalib/vgaclear.o video/svgalib/et4000.o video/svgalib/vgacol.o video/svgalib/gvga6400.o video/svgalib/vgaconvplanar.o video/svgalib/icd2061a.o video/svgalib/vgadraw.o video/svgalib/icw.o video/svgalib/vgadrv.o video/svgalib/interface.o video/svgalib/vgadump.o video/svgalib/mach32.o video/svgalib/vgahico.o video/svgalib/mach64.o video/svgalib/vgaline.o video/svgalib/modetab.o video/svgalib/vgamisc.o video/svgalib/normal.o video/svgalib/vgamodesel.o video/svgalib/nv3.o video/svgalib/vgapal.o video/svgalib/oak.o video/svgalib/vgapci.o video/svgalib/vgapix.o video/svgalib/oskit.o video/svgalib/vgaregs.o video/svgalib/ramdac.o
|
|
|
|
// video/svgalib/osenv.o
|
|
|
|
unit svgalib = {
|
|
imports[ intr : OSEnvIntr_T,
|
|
mem : OSEnvMem_T,
|
|
string : String_T,
|
|
sprintf: Sprintf_T,
|
|
stdout : Stdout_T,
|
|
malloc : Malloc_T,
|
|
panic : Panic_T,
|
|
exit : Exit_T,
|
|
fd : PosixFD_T,
|
|
cfiles : CFiles_T,
|
|
env : GetEnv_T,
|
|
misc : {
|
|
_CurrentRuneLocale,
|
|
_DefaultRuneLocale,
|
|
___runetype,
|
|
___tolower,
|
|
__sF,
|
|
__srget,
|
|
atof,
|
|
atoi,
|
|
errno,
|
|
fstat,
|
|
munmap,
|
|
oskit_clock_iid,
|
|
oskit_lookup_first,
|
|
oskit_svgalib_osenv_init,
|
|
perror,
|
|
sscanf,
|
|
strerror,
|
|
ungetc,
|
|
usleep,
|
|
}
|
|
];
|
|
exports[ svgalib : SVGAlib_T
|
|
// misc: {
|
|
// color_text,
|
|
// font_buf1,
|
|
// font_buf2,
|
|
// graph_mem,
|
|
// initialize,
|
|
// initialized,
|
|
// ioperm,
|
|
// iopl,
|
|
// linux_cli,
|
|
// linux_restore_flags,
|
|
// linux_save_flags,
|
|
// linux_sti,
|
|
// modeinfo_mask,
|
|
// prv_mode,
|
|
// readconfigfile,
|
|
// s3_pci,
|
|
// s3_pci_linearbase,
|
|
// savepalette,
|
|
// setcoloremulation,
|
|
// slowcpy,
|
|
// text_blue,
|
|
// text_green,
|
|
// text_red,
|
|
// text_regs,
|
|
// }
|
|
];
|
|
initializer vga_init for notquitedonehereyet;
|
|
depends{ exports + inits + finis needs imports };
|
|
files{ "video/svgalib/src/accel.c",
|
|
"video/svgalib/src/ali.c",
|
|
"video/svgalib/src/apm.c",
|
|
"video/svgalib/src/ark.c",
|
|
"video/svgalib/src/ati.c",
|
|
"video/svgalib/src/chips.c",
|
|
"video/svgalib/src/cirrus.c",
|
|
"video/svgalib/src/config.c",
|
|
"video/svgalib/src/egadrv.c",
|
|
"video/svgalib/src/et3000.c",
|
|
"video/svgalib/src/et4000.c",
|
|
"video/svgalib/src/gvga6400.c",
|
|
"video/svgalib/src/interface.c",
|
|
"video/svgalib/src/mach32.c",
|
|
"video/svgalib/src/mach64.c",
|
|
"video/svgalib/src/modetab.c",
|
|
"video/svgalib/src/nv3.c",
|
|
"video/svgalib/src/oak.c",
|
|
"video/svgalib/src/oskit.c",
|
|
"video/svgalib/src/regextr.c",
|
|
"video/svgalib/src/s3.c",
|
|
"video/svgalib/src/s_intr.c",
|
|
"video/svgalib/src/timing.c",
|
|
"video/svgalib/src/tvga8900.c",
|
|
"video/svgalib/src/vga.c",
|
|
"video/svgalib/src/vgaaccel.c",
|
|
"video/svgalib/src/vgabgpage.c",
|
|
"video/svgalib/src/vgabgvt.c",
|
|
"video/svgalib/src/vgaclear.c",
|
|
"video/svgalib/src/vgacol.c",
|
|
"video/svgalib/src/vgaconvplanar.c",
|
|
"video/svgalib/src/vgadraw.c",
|
|
"video/svgalib/src/vgadrv.c",
|
|
"video/svgalib/src/vgadump.c",
|
|
"video/svgalib/src/vgahico.c",
|
|
"video/svgalib/src/vgaline.c",
|
|
"video/svgalib/src/vgamisc.c",
|
|
"video/svgalib/src/vgamodesel.c",
|
|
"video/svgalib/src/vgapal.c",
|
|
"video/svgalib/src/vgapci.c",
|
|
"video/svgalib/src/vgapix.c",
|
|
"video/svgalib/src/vgaregs.c",
|
|
|
|
"video/svgalib/src/clockchip/icd2061a.c",
|
|
|
|
"video/svgalib/src/ramdac/IBMRGB52x.c",
|
|
"video/svgalib/src/ramdac/attdacs.c",
|
|
"video/svgalib/src/ramdac/icw.c",
|
|
"video/svgalib/src/ramdac/normal.c",
|
|
"video/svgalib/src/ramdac/ramdac.c",
|
|
"video/svgalib/src/ramdac/s3dacs.c",
|
|
"video/svgalib/src/ramdac/sierra.c",
|
|
};
|
|
}
|
|
|
|
// mk_unit -o -n x11_s3 x11/video/ATTDac.o x11/video/BUSmemcpy.o x11/video/Ch8391clk.o x11/video/I2061Aalt.o x11/video/I2061Acal.o x11/video/I2061Aset.o x11/video/IBMRGB.o x11/video/ICS2595.o x11/video/IODelay.o x11/video/S3gendac.o x11/video/SC11412.o x11/video/STG1703clk.o x11/video/SlowBcopy.o x11/video/Ti3025clk.o x11/video/Ti3026Curs.o x11/video/Ti3026clk.o x11/video/XF86_S3.o x11/video/device.o x11/video/dix.o x11/video/init_modes.o x11/video/main.o x11/video/malloc.o x11/video/mapVT_noop.o x11/video/misc.o x11/video/newmmio.o x11/video/osenv.o x11/video/oskit_video.o x11/video/privates.o x11/video/s3.o x11/video/s3BtCursor.o x11/video/s3Conf.o x11/video/s3ELSA.o x11/video/s3TiCursor.o x11/video/s3_buf_io.o x11/video/s3cmap.o x11/video/s3im.o x11/video/s3init.o x11/video/s3misc.o x11/video/s3ramdacs.o x11/video/s3rwDAC.o x11/video/s3scrin.o x11/video/utils.o x11/video/vgaHW.o x11/video/xf86Config.o x11/video/xf86Cursor.o x11/video/xf86DCConf.o x11/video/xf86Init.o x11/video/xf86Var.o x11/video/xf86_ClkPr.o x11/video/xf86_Option.o x11/video/xf86_PCI.o x11/video/xf86_Util.o x11/video/xf86bios.o
|
|
|
|
unit x11_s3 = {
|
|
imports[ in : { _CurrentRuneLocale,
|
|
_DefaultRuneLocale,
|
|
___runetype,
|
|
___tolower,
|
|
__sF,
|
|
atexit,
|
|
atof,
|
|
errno,
|
|
exit,
|
|
fclose,
|
|
fgets,
|
|
fopen,
|
|
free,
|
|
getenv,
|
|
malloc,
|
|
memmove,
|
|
memset,
|
|
osenv_intr_disable,
|
|
osenv_intr_enable,
|
|
osenv_mem_map_phys,
|
|
oskit_bufio_iid,
|
|
oskit_iunknown_iid,
|
|
oskit_lookup_first,
|
|
oskit_osenv_iid,
|
|
oskit_osenv_intr_iid,
|
|
oskit_osenv_mem_iid,
|
|
panic,
|
|
pow,
|
|
printf,
|
|
realloc,
|
|
sprintf,
|
|
strcat,
|
|
strchr,
|
|
strcmp,
|
|
strcpy,
|
|
strdup,
|
|
strerror,
|
|
usleep,
|
|
vfprintf,
|
|
}
|
|
];
|
|
exports[ out : { ConnectionInfo,
|
|
DCpushToken,
|
|
DCval,
|
|
DeviceTab,
|
|
GenericXF86ConfigFlag,
|
|
ModuleTab,
|
|
Must_have_memory,
|
|
NEWMMIO,
|
|
Num_VGA_IOPorts,
|
|
TimingTab,
|
|
VGA_IOPorts,
|
|
allowPixMuxInterlace,
|
|
allowPixMuxSwitching,
|
|
ascclk,
|
|
card,
|
|
clgd6225Lcd,
|
|
clknum,
|
|
clockDoublingPossible,
|
|
clock_m,
|
|
clock_n,
|
|
clock_p,
|
|
clockchip_probed,
|
|
clockreg,
|
|
connSetupPrefix,
|
|
crtcaddr,
|
|
currents3dac,
|
|
currents3dac_border,
|
|
dacInTi3026IndReg,
|
|
dacOutTi3026IndReg,
|
|
defaultColorVisualClass,
|
|
defaultDAC,
|
|
elsa_board_types,
|
|
fref,
|
|
maxDisplayHeight,
|
|
maxDisplayWidth,
|
|
maxRawClock,
|
|
monitorResolution,
|
|
nonMuxMaxClock,
|
|
nonMuxMaxMemory,
|
|
numClocks,
|
|
oskit_s3_cleanup,
|
|
oskit_s3_init_mode,
|
|
oskit_x11_osenv_init,
|
|
oskit_x11_oskit_osenv_intr,
|
|
oskit_x11_oskit_osenv_mem,
|
|
pixMuxClockOK,
|
|
pixMuxInterlaceOK,
|
|
pixMuxLimitedWidths,
|
|
pixMuxMinClock,
|
|
pixMuxMinWidth,
|
|
pixMuxNeeded,
|
|
pixMuxPossible,
|
|
pixMuxWidthOK,
|
|
screenInfo,
|
|
screenPrivateCount,
|
|
serverGeneration,
|
|
tmp_useSWCursor,
|
|
vgaBase,
|
|
vgaBaseHigh,
|
|
vgaBaseLow,
|
|
vgaCRIndex,
|
|
vgaCRReg,
|
|
vgaIOBase,
|
|
vgaInterlaceType,
|
|
vgaNewVideoState,
|
|
vgaRamdacMask,
|
|
vgaSaveScreenFunc,
|
|
vlbus_flag,
|
|
xf86AllowMouseOpenFail,
|
|
xf86BestRefresh,
|
|
xf86ConfigFile,
|
|
xf86Exiting,
|
|
xf86FlipPixels,
|
|
xf86Info,
|
|
xf86MaxScreens,
|
|
xf86PCIFlags,
|
|
xf86ProbeFailed,
|
|
xf86ProbeOnly,
|
|
xf86Resetting,
|
|
xf86ScreenIndex,
|
|
xf86ScreenNames,
|
|
xf86Screens,
|
|
xf86ScreensOpen,
|
|
xf86ServerName,
|
|
xf86VTSema,
|
|
xf86Verbose,
|
|
xf86VisualNames,
|
|
xf86_ClockOptionTab,
|
|
xf86_OptionTab,
|
|
xf86bGamma,
|
|
xf86bGammaMap,
|
|
xf86bpp,
|
|
xf86coFlag,
|
|
xf86fpFlag,
|
|
xf86gGamma,
|
|
xf86gGammaMap,
|
|
xf86rGamma,
|
|
xf86rGammaMap,
|
|
xf86sFlag,
|
|
xf86weight,
|
|
}
|
|
];
|
|
initializer s3_init_framebuffer for notquiteaninitializer;
|
|
depends{ exports + inits + finis needs imports };
|
|
files{ "x11/video/ATTDac.c",
|
|
"x11/video/BUSmemcpy.c",
|
|
"x11/video/Ch8391clk.c",
|
|
"x11/video/I2061Aalt.c",
|
|
"x11/video/I2061Acal.c",
|
|
"x11/video/I2061Aset.c",
|
|
"x11/video/IBMRGB.c",
|
|
"x11/video/ICS2595.c",
|
|
"x11/video/IODelay.c",
|
|
"x11/video/S3gendac.c",
|
|
"x11/video/SC11412.c",
|
|
"x11/video/STG1703clk.c",
|
|
"x11/video/SlowBcopy.c",
|
|
"x11/video/Ti3025clk.c",
|
|
"x11/video/Ti3026Curs.c",
|
|
"x11/video/Ti3026clk.c",
|
|
"x11/video/XF86_S3.c",
|
|
"x11/video/device.c",
|
|
"x11/video/dix.c",
|
|
"x11/video/init_modes.c",
|
|
"x11/video/main.c",
|
|
"x11/video/malloc.c",
|
|
"x11/video/mapVT_noop.c",
|
|
"x11/video/misc.c",
|
|
"x11/video/newmmio.c",
|
|
"x11/video/osenv.c",
|
|
"x11/video/oskit_video.c",
|
|
"x11/video/privates.c",
|
|
"x11/video/s3.c",
|
|
"x11/video/s3BtCursor.c",
|
|
"x11/video/s3Conf.c",
|
|
"x11/video/s3ELSA.c",
|
|
"x11/video/s3TiCursor.c",
|
|
"x11/video/s3_buf_io.c",
|
|
"x11/video/s3cmap.c",
|
|
"x11/video/s3im.c",
|
|
"x11/video/s3init.c",
|
|
"x11/video/s3misc.c",
|
|
"x11/video/s3ramdacs.c",
|
|
"x11/video/s3rwDAC.c",
|
|
"x11/video/s3scrin.c",
|
|
"x11/video/utils.c",
|
|
"x11/video/vgaHW.c",
|
|
"x11/video/xf86Config.c",
|
|
"x11/video/xf86Cursor.c",
|
|
"x11/video/xf86DCConf.c",
|
|
"x11/video/xf86Init.c",
|
|
"x11/video/xf86Var.c",
|
|
"x11/video/xf86_ClkPr.c",
|
|
"x11/video/xf86_Option.c",
|
|
"x11/video/xf86_PCI.c",
|
|
"x11/video/xf86_Util.c",
|
|
"x11/video/xf86bios.c",
|
|
};
|
|
}
|
|
|
|
// mk_unit -o -n examples_vgatest examples/x86/vgatest.o
|
|
unit examples_vgatest = {
|
|
imports[ vga : SVGAlib_T,
|
|
string : String_T,
|
|
stdout : Stdout_T,
|
|
stdin : Stdin_T,
|
|
exit : Exit_T,
|
|
files : CFiles_T,
|
|
];
|
|
exports[ main : Main_T ];
|
|
depends{ exports + inits + finis needs imports };
|
|
files{ "examples/x86/vgatest.c",
|
|
} with flags examples;
|
|
}
|
|
|
|
// mk_unit -o -n examples_video examples/x86/video.o
|
|
unit examples_video = {
|
|
imports[ stdin : Stdin_T,
|
|
panic : Panic_T,
|
|
s3 : S3_T,
|
|
];
|
|
exports[ main : Main_T ];
|
|
depends{ exports + inits + finis needs imports };
|
|
files{ "examples/x86/video.c",
|
|
} with flags examples;
|
|
}
|
|
|
|
/************************************************************/
|
|
// End
|
|
/************************************************************/
|