The Harris HCX-9 aka TAHOE platform

A machine born in legend

This is a machine that is shroud in legend, and of course played an integral part of internet history but oddly enough almost all trace of it ever existing has vanished.

The release of BSD, aptly named the 4.3BSD TAHOE release was completed in June of 1988. However shortly after this release the makers of the CPU, Computer Consoles Incorporated abruptly exited the market killing off the platform.  What is interesting though is that while CCI was manufacturing the TAHOE processor, they also sold it to 3 other OEM’s, Sperry (which merged with Buroughs, and re-branded as Unisys), and ICL Ltd. and Harris is the only other one to have picked up the CPU for inclusion in it’s own machines.  Among them was the HCX-7, and the HCX-9.

The Harris HCX minicomputers were one of the possible machines that the CSRG team at Berkeley saw as a possible successor to the aging VAX line of minicomputers for their operating system.  While this may not have been the first port of UNIX or BSD for that matter, it was the first port of a 32bit BSD, that was included into the main VAX BSD source, and as such could be redistributed with the BSD license (which at the time required an AT&T 32V license).  The fundamental thing this did was to split out the VAX specific code as a mainstream port was to be rolled back into the main CSRG source, unlike any other 3rd party port at this point.

HCX-5

The HCX-5 ran an internal version of 4.2BSD, along with SYSV in a ‘dual universe’ config, while the HCX-9 was to be supported by the CSRG, as the file GENERIC.hcx9 indicates from 4.3BSD TAHOE.  As you can see the HCX-5’s starting price of $124,500 USD is if anything a continuing of the mindset that BSD only ran on super expensive minicomputers.

POWER 6/32 = HCX-9

Indeed from the config file in 4.3BSD TAHOE, we see this:

GENERIC POWER 6/32 (HCX9)

And for quite some time, I’ve always been searching for a CCI POWER 6/32, meanwhile it appears that was merely a reference platform that became the HCX-9 as indicated from the machine config file.  The evidence was hiding in plain sight, as always it was a typo that lead me here as I was searching for TAHOE processors, and came across people looking for GCC on the TAHOE, running BSD.  And following their threads I noticed that they were running Harris minis’ which then lead me to make the connection that the TAHOE was a processor, not just a machine, and that other vendors sold their own machines with the CPU.

Future cut short

Needless to say, once CCI exited the market these machines evaporated so quickly that they are only remembered in legend in BSD.  I’ve seen people debate if the machine actually existed, who put it out, or even what was it exactly? A workstation? Server?  As we can see from the Harris models, it was meant to be a minicomputer, to compete with the likes of the Digitial VAX.

Oracle Worker

As we can see from this ad, with Oracle support and the official porting target of the CSRG the HCX-9 was expected to have a bright future.  Instead it was cut so short there is barely any mention of it even existing.

Sadly this minicomputer target idea continued, as the CSRG sidestepped the commodity 32bit processors, namely the cheaper 68020 & 80386.

Tahoe?

D:\aoutgcc\tahoe\GENERIC>gcc -v
gcc version 1.40

D:\aoutgcc\tahoe\GENERIC>make 2> err.txt
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_access.c
cat kdb_access.s | a386 -o kdb_access.o
rm -f kdb_access.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_command.c
cat kdb_command.s | a386 -o kdb_command.o
rm -f kdb_command.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_ctype.c
cat kdb_ctype.s | a386 -o kdb_ctype.o
rm -f kdb_ctype.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_expr.c
cat kdb_expr.s | a386 -o kdb_expr.o
rm -f kdb_expr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_format.c
cat kdb_format.s | a386 -o kdb_format.o
rm -f kdb_format.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_input.c
cat kdb_input.s | a386 -o kdb_input.o
rm -f kdb_input.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_message.c
cat kdb_message.s | a386 -o kdb_message.o
rm -f kdb_message.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_output.c
cat kdb_output.s | a386 -o kdb_output.o
rm -f kdb_output.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_pcs.c
cat kdb_pcs.s | a386 -o kdb_pcs.o
rm -f kdb_pcs.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_print.c
cat kdb_print.s | a386 -o kdb_print.o
rm -f kdb_print.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_runpcs.c
cat kdb_runpcs.s | a386 -o kdb_runpcs.o
rm -f kdb_runpcs.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_sym.c
cat kdb_sym.s | a386 -o kdb_sym.o
rm -f kdb_sym.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../kdb/kdb_trap.c
cat kdb_trap.s | a386 -o kdb_trap.o
rm -f kdb_trap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/af.c
cat af.s | a386 -o af.o
rm -f af.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/if.c
cat if.s | a386 -o if.o
rm -f if.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/if_loop.c
cat if_loop.s | a386 -o if_loop.o
rm -f if_loop.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/raw_cb.c
cat raw_cb.s | a386 -o raw_cb.o
rm -f raw_cb.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/raw_usrreq.c
cat raw_usrreq.s | a386 -o raw_usrreq.o
rm -f raw_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../net/route.c
cat route.s | a386 -o route.o
rm -f route.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/if_ether.c
cat if_ether.s | a386 -o if_ether.o
rm -f if_ether.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/in.c
cat in.s | a386 -o in.o
rm -f in.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/in_pcb.c
cat in_pcb.s | a386 -o in_pcb.o
rm -f in_pcb.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/in_proto.c
cat in_proto.s | a386 -o in_proto.o
rm -f in_proto.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/ip_icmp.c
cat ip_icmp.s | a386 -o ip_icmp.o
rm -f ip_icmp.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/ip_input.c
cat ip_input.s | a386 -o ip_input.o
rm -f ip_input.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/ip_output.c
cat ip_output.s | a386 -o ip_output.o
rm -f ip_output.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/raw_ip.c
cat raw_ip.s | a386 -o raw_ip.o
rm -f raw_ip.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_debug.c
cat tcp_debug.s | a386 -o tcp_debug.o
rm -f tcp_debug.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_input.c
cat tcp_input.s | a386 -o tcp_input.o
rm -f tcp_input.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_output.c
cat tcp_output.s | a386 -o tcp_output.o
rm -f tcp_output.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_subr.c
cat tcp_subr.s | a386 -o tcp_subr.o
rm -f tcp_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_timer.c
cat tcp_timer.s | a386 -o tcp_timer.o
rm -f tcp_timer.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/tcp_usrreq.c
cat tcp_usrreq.s | a386 -o tcp_usrreq.o
rm -f tcp_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netinet/udp_usrreq.c
cat udp_usrreq.s | a386 -o udp_usrreq.o
rm -f udp_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/idp_usrreq.c
cat idp_usrreq.s | a386 -o idp_usrreq.o
rm -f idp_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns.c
cat ns.s | a386 -o ns.o
rm -f ns.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_error.c
cat ns_error.s | a386 -o ns_error.o
rm -f ns_error.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_ip.c
cat ns_ip.s | a386 -o ns_ip.o
rm -f ns_ip.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_input.c
cat ns_input.s | a386 -o ns_input.o
rm -f ns_input.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_output.c
cat ns_output.s | a386 -o ns_output.o
rm -f ns_output.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_pcb.c
cat ns_pcb.s | a386 -o ns_pcb.o
rm -f ns_pcb.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/ns_proto.c
cat ns_proto.s | a386 -o ns_proto.o
rm -f ns_proto.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/spp_debug.c
cat spp_debug.s | a386 -o spp_debug.o
rm -f spp_debug.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../netns/spp_usrreq.c
cat spp_usrreq.s | a386 -o spp_usrreq.o
rm -f spp_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/init_main.c
cat init_main.s | a386 -o init_main.o
rm -f init_main.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/init_sysent.c
cat init_sysent.s | a386 -o init_sysent.o
rm -f init_sysent.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_acct.c
cat kern_acct.s | a386 -o kern_acct.o
rm -f kern_acct.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_clock.c
cat kern_clock.s | a386 -o kern_clock.o
rm -f kern_clock.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_descrip.c
cat kern_descrip.s | a386 -o kern_descrip.o
rm -f kern_descrip.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_exec.c
cat kern_exec.s | a386 -o kern_exec.o
rm -f kern_exec.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_exit.c
cat kern_exit.s | a386 -o kern_exit.o
rm -f kern_exit.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_fork.c
cat kern_fork.s | a386 -o kern_fork.o
rm -f kern_fork.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_malloc.c
cat kern_malloc.s | a386 -o kern_malloc.o
rm -f kern_malloc.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_mman.c
cat kern_mman.s | a386 -o kern_mman.o
rm -f kern_mman.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_proc.c
cat kern_proc.s | a386 -o kern_proc.o
rm -f kern_proc.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_prot.c
cat kern_prot.s | a386 -o kern_prot.o
rm -f kern_prot.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_resource.c
cat kern_resource.s | a386 -o kern_resource.o
rm -f kern_resource.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_sig.c
cat kern_sig.s | a386 -o kern_sig.o
rm -f kern_sig.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_subr.c
cat kern_subr.s | a386 -o kern_subr.o
rm -f kern_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_synch.c
cat kern_synch.s | a386 -o kern_synch.o
rm -f kern_synch.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_time.c
cat kern_time.s | a386 -o kern_time.o
rm -f kern_time.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/kern_xxx.c
cat kern_xxx.s | a386 -o kern_xxx.o
rm -f kern_xxx.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/quota_kern.c
cat quota_kern.s | a386 -o quota_kern.o
rm -f quota_kern.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/quota_subr.c
cat quota_subr.s | a386 -o quota_subr.o
rm -f quota_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/quota_sys.c
cat quota_sys.s | a386 -o quota_sys.o
rm -f quota_sys.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/quota_ufs.c
cat quota_ufs.s | a386 -o quota_ufs.o
rm -f quota_ufs.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/subr_log.c
cat subr_log.s | a386 -o subr_log.o
rm -f subr_log.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/subr_prf.c
cat subr_prf.s | a386 -o subr_prf.o
rm -f subr_prf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/subr_rmap.c
cat subr_rmap.s | a386 -o subr_rmap.o
rm -f subr_rmap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/subr_xxx.c
cat subr_xxx.s | a386 -o subr_xxx.o
rm -f subr_xxx.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/sys_generic.c
cat sys_generic.s | a386 -o sys_generic.o
rm -f sys_generic.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/sys_inode.c
cat sys_inode.s | a386 -o sys_inode.o
rm -f sys_inode.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/sys_process.c
cat sys_process.s | a386 -o sys_process.o
rm -f sys_process.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/sys_socket.c
cat sys_socket.s | a386 -o sys_socket.o
rm -f sys_socket.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty.c
cat tty.s | a386 -o tty.o
rm -f tty.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty_conf.c
cat tty_conf.s | a386 -o tty_conf.o
rm -f tty_conf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty_pty.c
cat tty_pty.s | a386 -o tty_pty.o
rm -f tty_pty.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty_subr.c
cat tty_subr.s | a386 -o tty_subr.o
rm -f tty_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/tty_tty.c
cat tty_tty.s | a386 -o tty_tty.o
rm -f tty_tty.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_alloc.c
cat ufs_alloc.s | a386 -o ufs_alloc.o
rm -f ufs_alloc.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_bio.c
cat ufs_bio.s | a386 -o ufs_bio.o
rm -f ufs_bio.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_bmap.c
cat ufs_bmap.s | a386 -o ufs_bmap.o
rm -f ufs_bmap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_disksubr.c
cat ufs_disksubr.s | a386 -o ufs_disksubr.o
rm -f ufs_disksubr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_fio.c
cat ufs_fio.s | a386 -o ufs_fio.o
rm -f ufs_fio.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_inode.c
cat ufs_inode.s | a386 -o ufs_inode.o
rm -f ufs_inode.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_mount.c
cat ufs_mount.s | a386 -o ufs_mount.o
rm -f ufs_mount.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_namei.c
cat ufs_namei.s | a386 -o ufs_namei.o
rm -f ufs_namei.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_subr.c
cat ufs_subr.s | a386 -o ufs_subr.o
rm -f ufs_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_syscalls.c
cat ufs_syscalls.s | a386 -o ufs_syscalls.o
rm -f ufs_syscalls.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_tables.c
cat ufs_tables.s | a386 -o ufs_tables.o
rm -f ufs_tables.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/ufs_xxx.c
cat ufs_xxx.s | a386 -o ufs_xxx.o
rm -f ufs_xxx.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_domain.c
cat uipc_domain.s | a386 -o uipc_domain.o
rm -f uipc_domain.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_mbuf.c
cat uipc_mbuf.s | a386 -o uipc_mbuf.o
rm -f uipc_mbuf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_proto.c
cat uipc_proto.s | a386 -o uipc_proto.o
rm -f uipc_proto.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_socket.c
cat uipc_socket.s | a386 -o uipc_socket.o
rm -f uipc_socket.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_socket2.c
cat uipc_socket2.s | a386 -o uipc_socket2.o
rm -f uipc_socket2.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_syscalls.c
cat uipc_syscalls.s | a386 -o uipc_syscalls.o
rm -f uipc_syscalls.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/uipc_usrreq.c
cat uipc_usrreq.s | a386 -o uipc_usrreq.o
rm -f uipc_usrreq.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_drum.c
cat vm_drum.s | a386 -o vm_drum.o
rm -f vm_drum.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_mem.c
cat vm_mem.s | a386 -o vm_mem.o
rm -f vm_mem.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_mon.c
cat vm_mon.s | a386 -o vm_mon.o
rm -f vm_mon.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_page.c
cat vm_page.s | a386 -o vm_page.o
rm -f vm_page.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_proc.c
cat vm_proc.s | a386 -o vm_proc.o
rm -f vm_proc.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_pt.c
cat vm_pt.s | a386 -o vm_pt.o
rm -f vm_pt.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_sched.c
cat vm_sched.s | a386 -o vm_sched.o
rm -f vm_sched.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_subr.c
cat vm_subr.s | a386 -o vm_subr.o
rm -f vm_subr.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_sw.c
cat vm_sw.s | a386 -o vm_sw.o
rm -f vm_sw.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_swap.c
cat vm_swap.s | a386 -o vm_swap.o
rm -f vm_swap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_swp.c
cat vm_swp.s | a386 -o vm_swp.o
rm -f vm_swp.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../sys/vm_text.c
cat vm_text.s | a386 -o vm_text.o
rm -f vm_text.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/autoconf.c
cat autoconf.s | a386 -o autoconf.o
rm -f autoconf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/conf.c
cat conf.s | a386 -o conf.o
rm -f conf.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/cons.c
cat cons.s | a386 -o cons.o
rm -f cons.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/clock.c
cat clock.s | a386 -o clock.o
rm -f clock.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/kdb_opset.c
cat kdb_opset.s | a386 -o kdb_opset.o
rm -f kdb_opset.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/mem.c
cat mem.s | a386 -o mem.o
rm -f mem.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/ns_cksum.c
cat ns_cksum.s | a386 -o ns_cksum.o
rm -f ns_cksum.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/sys_machdep.c
cat sys_machdep.s | a386 -o sys_machdep.o
rm -f sys_machdep.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/trap.c
cat trap.s | a386 -o trap.o
rm -f trap.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/ufs_machdep.c
cat ufs_machdep.s | a386 -o ufs_machdep.o
rm -f ufs_machdep.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoe/vm_machdep.c
cat vm_machdep.s | a386 -o vm_machdep.o
rm -f vm_machdep.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoeif/if_ex.c
cat if_ex.s | a386 -o if_ex.o
rm -f if_ex.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoevba/vba.c
cat vba.s | a386 -o vba.o
rm -f vba.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoevba/vd.c
cat vd.s | a386 -o vd.o
rm -f vd.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoevba/vx.c
cat vx.s | a386 -o vx.o
rm -f vx.s
gcc -c -S -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL ../tahoevba/hd.c
cat hd.s | a386 -o hd.o
rm -f hd.s
gcc -c -O -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL -DTIMEZONE=480 -DDST=1 -DMAXUSERS=32 param.c
gcc -O -I. -I../h -I.. -I../usr/include -DGENERIC -DTAHOE -Dtahoe -DKADB -DFPE -DNS -DINET -DTCP_COMPAT_42 -DQUOTA -DKERNEL -c -o ioconf.o ioconf.c
loading vmunix

D:\aoutgcc\tahoe\GENERIC>

I’m surprised I got that much to compile.  Obviously things like swapgeneric, locore, kdb_machdep & machdep had to be removed as they contain too much Power 6/32 (Tahoe) assembly.

I did this with my Linux 0.11 on Windows build adventure.

So no, this won’t run, or probably be made into anything even close to being useful.  I can’t imagine anyone who would care, but here is my source tree.

tahoe_pass1.7z