annotate liblfds.6/building.txt @ 766:6300617040e0

Big changes - not ready for production use.
Removed all the custom DMA handling code as it was completely incompatible with the Windows verifier.
Added liblfds (using the lock free stack) from so that grant's can be obtained at DIRQL.
Fixed xennet and xenvbd to support the changes.
xenusb and xenscsi almost certainly will not yet work after the changes.
author James Harper <>
date Sun Jan 31 21:28:42 2010 +1100 (2010-01-31)
rev   line source
james@766 1 building liblfds
james@766 2 ================
james@766 3
james@766 4 Windows (user-mode)
james@766 5 ===================
james@766 6 1. Use Microsoft Visual Studio 2008 or Visual C++ 2008 Express Edition
james@766 7 to load "liblfds.sln".
james@766 8
james@766 9 2. Use Microsoft Windows SDK and GNUmake to run (obviously
james@766 10 you'll need to have run the appropriate vcvars*.bat first; you can build
james@766 11 for both IA64, 64-bit and 32-bit - just run the correct vcvars batch file).
james@766 12
james@766 13 Targets are "librel", "libdbg", "dllrel", "dlldbg" and "clean". You need
james@766 14 to clean between switching targets.
james@766 15
james@766 16 Windows (kernel)
james@766 17 ================
james@766 18 Use the Windows Driver Kit "build" command. Prior to running "build",
james@766 19 if you wish to build a static library, run the batch file
james@766 20 "runme_before_win_kernel_static_lib_build.bat"; if you wish to
james@766 21 build a dynamic library, instead run "runme_before_win_kernel_dynamic_lib_build.bat".
james@766 22
james@766 23 The Windows kernel build system is rather limited and rather than
james@766 24 really rather messing up the directory/file structure just for the
james@766 25 Windows kernel platform, I've instead arranged it that these batch
james@766 26 files do the necessary work so that "build" will work.
james@766 27
james@766 28 The batch files are idempotent; you can run them as often as you
james@766 29 like, in any order, at any time (before or after builds), and they'll
james@766 30 do the right thing.
james@766 31
james@766 32 Linux
james@766 33 =====
james@766 34 Use GNUmake to run "makefile.linux". Targets are "arrel", "ardbg",
james@766 35 "sorel", "sodbg" and "clean". You need to clean between switching
james@766 36 targets.
james@766 37
james@766 38