Re: RFC: Why not move kernel MD code to sys/arch/?

From: Bruce Evans (bde_at_zeta.org.au)
Date: 11/14/05

  • Next message: Rink Springer: "Re: FreeBSD/xbox: updated 7.0 patchset"
    Date: Mon, 14 Nov 2005 23:02:00 +1100 (EST)
    To: Daniel Eischen <deischen@freebsd.org>
    
    

    On Sun, 13 Nov 2005, Daniel Eischen wrote:

    >> Is there any reason that we have sys/i386 and not sys/arch/i386? I
    >> think the latter is a lot cleaner (and libpthread, etc. already has
    >> their arch/[arch] directory on the other hand).

    I think the former is a lot cleaner.

    > FreeBSD started out as 386 only. It probably just wasn't envisioned
    > that we'd have more than just one or two archs.

    FreeBSD-1 started with Net/2 which has numerous arches. I'm not sure
    exactly what was in Net/2, but in 4.3-reno /sys is:

    GENERIC.alltahoe/ machine@ tahoedist/
    GENERIC.allvax/ mdec/ tahoeif/
    cassette/ net/ tahoemath/
    conf/ netimp/ tahoestand/
    consolerl/ netinet/ tahoevba/
    floppy/ netiso/ ufs/
    hp300/ netns/ vax/
    hpdev/ netrmp/ vaxbi/
    hpstand/ nfs/ vaxdist/
    hpux/ stand/ vaxif/
    i386/ sys/ vaxmba/
    kdb/ tahoe/ vaxstand/
    kern/ tahoealign/ vaxuba/

    More than half the directories here are arch-related, but there seem
    to be only 3 arches with full support: hp300, tahoe and vax. The
    directory tree was even flatter, with no important subdirs. The
    hp300 directory was amazingly simple and clean:

    DOC/ cons.h kgdb_stub.c oc_cksum.s trap.c
    Locore.c cpu.h locore.s pcb.h trap.h
    TODO dkbad.c machdep.c psl.h ufs_machdep.c
    autoconf.c endian.h machlimits.h pte.h vectors.s
    clock.c float.h machparam.h reg.h vm_machdep.c
    clockioctl.h frame.h machtypes.h swapgeneric.c vmparam.h
    clockreg.h genassym.c mem.c symbols.sort
    conf.c in_cksum.c mtpr.h sys_machdep.c
    cons.c isr.h ns_cksum.c tags

    FreeBSD-2 started with 4.4BSD which has numerous arches:

    compile/ isofs/ net/ nfs/ sys/
    conf/ kern/ netccitt/ pmax/ tahoe/
    dev/ libkern/ netinet/ scripts/ tests/
    hp/ luna68k/ netiso/ sparc/ ufs/
    hp300/ mips@ netns/ stand/ vax/
    i386/ miscfs/ news3400/ stand.att/ vm/

    Net/2 is actually more like this than 4.3-reno. Here there are 8
    supported arches: hp300, i386, luna68k news3400, pmax, sparc, tahoe
    and vax. I think only the older arches are fully supported here.
    FreeBSD didn't import most of this, including for i386's -- it got
    working i386 support from 386BSD via FreeBSD-1.

    > I think this issue has been brought up in the past, and if it causes
    > a lot of pain or repo-bloat, they'll probably be some resistance.

    It would only cause 100 times as much pain and repo-bloat as when it was
    brought up ~10 years ago.

    Bruce
    _______________________________________________
    freebsd-arch@freebsd.org mailing list
    http://lists.freebsd.org/mailman/listinfo/freebsd-arch
    To unsubscribe, send any mail to "freebsd-arch-unsubscribe@freebsd.org"


  • Next message: Rink Springer: "Re: FreeBSD/xbox: updated 7.0 patchset"