mirror of
https://github.com/Interlisp/maiko.git
synced 2026-01-11 23:43:19 +00:00
* added support for XNS networking via Dodo-Nethub
* NetHub connection now optional (only if -nh-host is given); released NetHub-related changes to 'ether.c' to the public domain
* Added file using-dodo-networking-with-maiko.md
Documentation for building and using the Dodo-networking addition to Maiko
* Added support for running Maiko unter cygwin/x86_64-x
* Migrate Addr68k/NativeAlignment{2,4} in Nethub code, move timer/async defines to platform.h
* added missing include <netinet/in.h> for FreeBSD
* updated 'compile-flags' with added flags
* splitted ether.c in 3 (_common, _sunos, _nethub)
* reworks/modifications for nbriggs' pull-request review comments
* addintional additions for nbriggs' pull-request review comments
* get the Lisp packet lengths with 'LispInt2CInt'
* renamed variables in dblwordsSwap to indicate it's about double-words
* fixed wrong preprocessor directive unnoticed by clang
* added networking choice option to cmake build, fix to printf warning
- for cmake specify the networking to use with -DMAIKO_NETWORK_TYPE=<type>
- with <type> one of: NONE, SUN_DLPI, SUN_NIT, NETHUB
- e.g.: cmake .. -DMAIKO_NETWORK_TYPE=NETHUB
* integrated improvement to sendPacket() proposed by nbriggs
* integrated fix for SIGBUS on 32-bit big-endian, provided by nbriggs
* MAIKO_ENABLE_ETHERNET should not be unconditionally set on Solaris systems
* Receiving an ethernet packet is an ether interrupt but not an i/o interrupt.
Co-authored-by: dev hawala <devhawala@x.y>
Co-authored-by: Nick Briggs <nicholas.h.briggs@gmail.com>
161 lines
6.5 KiB
Plaintext
Executable File
161 lines
6.5 KiB
Plaintext
Executable File
|
|
Medley compile flags & their meanings
|
|
|
|
Created: 28-Sep-89 JDS
|
|
Updated:
|
|
|
|
** Flags that control compilation for various machine
|
|
** architectures, manufacturers, and OS versions
|
|
|
|
Flag Name Meaning/Usage
|
|
_________ ________________________________________________________
|
|
BYTESWAP Used when compiling for a hardware architecture that has
|
|
byte-swapped words and word-swapped 32-bit cells, e.g. 80386.
|
|
OS4 True if compiling for SunOS 4.x
|
|
|
|
NOPIXRECT Used to suppress pixrect/pixwin options when they're not
|
|
needed or not available. True if XWINDOW is.
|
|
|
|
AIX True if compiling for AIX
|
|
sparc True if we're compiling on a SPARC machine.
|
|
|
|
NOASM If true, suppress any attempt to include assembler
|
|
versions of things in the emulator. In 'lispemul.c',
|
|
if this is true, disables:
|
|
OPDISP
|
|
PROFILE
|
|
C_ONLY
|
|
|
|
OPDISP Use "fast-opcode-dispatch" macros
|
|
|
|
|
|
|
|
|
|
--Debugging/Tracing/Check-enabling flags--
|
|
|
|
DEBUG Used when debugging, to enclose trace and dump code.
|
|
Best usage is with DBPRINT((controlString, args*));, which
|
|
calls printf, and compiles only if DEBUG is true. See
|
|
dbprint.h for the definition.
|
|
TRACE
|
|
TRACE2
|
|
OPTRACE If true, the dispatch loop prints the PC & opcode each time thru
|
|
FNTRACE If true, you see the name of each function called.
|
|
STACKCHECK If true, you see unusual cases of stack manipulation
|
|
traced. E.g., the hard cases of RETURN, like non-contiguous
|
|
stack frames, get mentioned.
|
|
LISPTRACE True if you want to see LISP calls & returns traced to
|
|
stdout; Generally, for traces of lisp-level events.
|
|
PROFILE If true, the profiling control code is enabled. You must
|
|
also change the optflags to contain -p or -pg, to use prof
|
|
or gprof, respectively.
|
|
CHECK
|
|
FSBCHECK If true, you see a trace of large free stack blocks when
|
|
the stack is manipulated; was used for debugging stack code.
|
|
|
|
WINDOW
|
|
INIT Used when compiling an emulator to build a loadup. Use it
|
|
to dike out code that deals with network initialization, e.g.
|
|
|
|
MYOPTRACE Used to check the stack's validity on each opcode execution.
|
|
Requires NOASM
|
|
|
|
PCTRACE When true, compiles in a 100-long ring buffer that holds the
|
|
last 100 PCs, Function-blocks, and Opcodes executed. "pccounter"
|
|
is the offset where the next one will go. Also requires NOASM.
|
|
The 3 tables are called pc_table, fn_table, and op_table.
|
|
|
|
|
|
|
|
|
|
--Flags that control new features, features under test, etc.--
|
|
|
|
DISPLAYBUFFER 10/3/89 JDS -- enables the experimental code for copying
|
|
changed portions of the display bank to the frame buffer.
|
|
Meant for supporting mono mode on a CG6 with no single-bit
|
|
bitplane. 1/22/91 JDS: This is now the standard flag for
|
|
compiling for color displays.
|
|
WINDOW
|
|
FLIPCURSOR If true, the "sandbar" line in the cursor will get flipped
|
|
by the C stack-frame-moving code, just as it does on a D
|
|
machine. Otherwise, you don't see it.
|
|
ORG_FILPCORSORBAR If true, you get the pixwin version of cursor changing;
|
|
otherwise, it gets done by direct writes into the display
|
|
region.
|
|
OLD_CURSOR If true, uses the pixwin cursor code (e.g., win_setcursor);
|
|
otherwise, uses the direct-write technique. This is only needed
|
|
for SUNDISPLAY.
|
|
OS4_TYPE4BUG If true, includes the patches around SunOS 4.0.x's failure
|
|
to tell you you've got a Type-4 keyboard.
|
|
ALLDIRSEARCH CURRENTLY HARD DISABLED IN directory.c; looks like it
|
|
controlled recursive directory searches??
|
|
KBINT If true (it looks like??), the emulator does most of the KBD
|
|
transition processing in C, rather than interrupting LISP for
|
|
it, and the transition interrupts happen when the OS signals
|
|
a transition, rather than by polling?
|
|
RS232INT If true, the RS232 device (NOT USED, a translation of Lisp's
|
|
code), uses the interrupt signalling support of timer.c to
|
|
know when to read characters. NOT USED, probably obsolete.
|
|
TTYINT Analogous to RS232INT, for the translated TTY device.
|
|
ETHERINT
|
|
COLOR If TRUE, supports 8bits-per-pixel color on CG4 and CG6 frame
|
|
buffer of Sun work station. IF COLOR is TRUE, don't use OLD_CURSOR
|
|
flag.
|
|
CATCH If true, includes some CATCH C code, for finding the blip,
|
|
finding variable names and PVAR names in frames. As of 10/2/89
|
|
this code is unused, and is called nowhere else in the system.
|
|
RECLAIMINC If true, then the RECLAIMCELL opcode calls gcreclaimcell in
|
|
C; otherwise it punts. As of 10/3/89, this was never debugged
|
|
and is not in any system. Probably fairly easy to debug??
|
|
KB_SUN4 The kbd type for the Type-4 keyboard. Defined only because
|
|
older OS versions of the compiler don't define it automatically.
|
|
FLTINT If true, use the floating-point exception interrupts to detect
|
|
errors and overflows on FP operations. The interrupt sets a
|
|
global error flag. Otherwise, calls library routines to see
|
|
the condition code from each operation. For SPARCs, it's not
|
|
clear that the interrupt trick works, because of code re-
|
|
arrangement by the C compiler.
|
|
|
|
XWINDOW True if compiling for an X-windows emulator.
|
|
|
|
BIGATOMS True if this emulator will support 3-byte symbols, instead of
|
|
the old, 2-byte atom numbers.
|
|
|
|
NEWBITBLT True if we want to use assembler BITBLT code, rather than
|
|
have code created inline by macro calls.
|
|
|
|
USE_DLPI True if the ethernet API is via the SysV Data Link Provider
|
|
Interface. Solaris uses DLPI.
|
|
|
|
USE_NIT True if the ethernet API is via the Network Interface Tap.
|
|
SunOS uses NIT.
|
|
|
|
PKTFILTER True if the ethernet packets are to be filtered before being
|
|
passed to the Lisp ethernet handler. Available on Sun systems
|
|
for both the NIT and DLPI cases.
|
|
|
|
MAIKO_ENABLE_NETHUB enables the support for Dodo Nethub networking for Dodo
|
|
XNS services, see documentation: using-dodo-networking-with-maiko.md
|
|
(implicitely disables USE_DLPI and USE_NIT)
|
|
|
|
MAIKO_EMULATE_TIMER_INTERRUPTS enables emulation of recurring timer interrupts for
|
|
platforms where SIGVTALRM/ITIMER_VIRTUAL or SIGALRM/ITIMER_REAL
|
|
do not work as expected (like cygwin)
|
|
timer is emulated by signaling an interrupt after a number of
|
|
executed instructions, by default 20.000 instructions, this can be
|
|
overriden by defining MAIKO_TIMER_ASYNC_EMULATION_INSNS_COUNTDOWN
|
|
with the number of instructions between 2 interrupts
|
|
additionally this adds the command line arguments -intr-emu-insns
|
|
for overriding the compiled in instruction interval
|
|
(not working if OPDISP (fast opcode dispatch) is used)
|
|
|
|
MAIKO_EMULATE_ASYNC_INTERRUPTS same as MAIKO_EMULATE_TIMER_INTERRUPTS, but also
|
|
signals an I/O interrupt after each instruction interval
|
|
|
|
|
|
bitbltsub.c:#ifdef GETBASE
|
|
testdisplay.c:#ifdef NOTUSED
|
|
uraid.c:#ifdef ETHERINT
|
|
bitblt.c:#ifndef COLOR
|
|
lispmap.h:#ifdef MEDLEY
|