oskit/oskit-20020317/knit/Graphics.unit

452 lines
15 KiB
Plaintext
Raw Permalink Normal View History

2016-02-19 15:02:31 +03:00
/************************************************************/
// 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
/************************************************************/