Re: Regarding the ULTRIX and OSF1 compats
Jason Thorpe <[email protected]> Sat, 16 Mar 2019 09:00:34 -0700
| Newsgroups | gmane.os.netbsd.ports.pmax,gmane.os.netbsd.devel.kernel,gmane.os.netbsd.ports.alpha |
|---|---|
| Message-ID | <[email protected]> |
> On Mar 16, 2019, at 5:09 AM, [email protected] wrote: >=20 > Most likely, COMPAT_ULTRIX and COMPAT_OSF1 have the same type of bugs > that we have seen in compatibility layers elsewhere. > Is it worth his time to test them? Folks, PLEASE. This is a point I've tried to make repeatedly... These need to be taken on a case-by-case basis. Go actually LOOK at the code in sys/compat/ultrix. Now, go actually LOOK at the code in sys/compat/osf1. COMPAT_ULTRIX is very simple, because Ultrix was largely a plain vanilla = 4.3BSD. It is known to be able to run commercial applications that were = available for Ultrix (heck, even practically the entire Ultrix user land = if you mount an Ultrix file system as root!) COMPAT_OSF1 is not very simple, because it was Mach + some BSD bits + = other random OSF stuff. It is known to be incomplete due to lack of = implementation of any of the Mach traps. Its primary usefulness was = during the early days of NetBSD/alpha. Its usefulness is fundamentally = limited by the fact that it will never be able to run threaded OSF1 = binaries without an implementation of the Mach calls. They are a different class of compat layer. This isn't the first time we've pruned compat deadwood... 7 years ago, we got rid of COMPAT_DARWIN and COMPAT_IRIX. 11 years ago, we got rid of COMPAT_HPUX. This one was actually very = useful, at one time! I used it to run the HP-UX X server on hp300 = systems because the HP frame buffer / input device support that was in = the MIT sources at the time was viciously unstable. But eventually, its = utility was reduced to approximately 0, and keeping it around didn't = make any sense. What COMPAT_DARWIN, COMPAT_IRIX, and COMPAT_HPUX all had in common was a = higher maintenance burden / exposure to mistakes than things like = COMPAT_ULTRIX and COMPAT_SUNOS, due to the fact that they were emulating = systems that were very different inside than our own system. I feel like the COMPAT_* modules need to have a tier system the way we = have for platform ports. Tier 1 would obviously be occupied by = compatibility with previous NetBSD releases, and possibly COMPAT_LINUX = on x86_64. -- thorpej