Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 23 Aug 2001 02:42:36 -0700
From:      Terry Lambert <tlambert2@mindspring.com>
To:        Matt Dillon <dillon@earth.backplane.com>
Cc:        Jake Burkholder <jake@k7.locore.ca>, John Baldwin <jhb@FreeBSD.ORG>, freebsd-smp@FreeBSD.ORG, freebsd-alpha@FreeBSD.ORG
Subject:   Re: Preliminary proposed rollup of kernel submap initialization code
Message-ID:  <3B84D00C.AA0DDB5C@mindspring.com>
References:  <200108210157.f7L1vAh10384@k7.locore.ca> <200108211736.f7LHaoC64628@earth.backplane.com> <3B83623D.9DC45B93@mindspring.com> <200108221456.f7MEufD74609@earth.backplane.com> <3B84A08D.92864A27@mindspring.com> <200108230637.f7N6bKs83608@earth.backplane.com>

next in thread | previous in thread | raw e-mail | index | archive | help
Matt Dillon wrote:
> :>     I don't follow.  The argument passing and pointer arithmatic is not
> :>     expensive at all - in fact, it is less expensive then the original MD
> :>     code if you look at the assembly output!  And who really gives a damn
> :>     about a few nanoseconds during boot anyway?
> :
> :I was just thinking that, wherever possible, the reference should
> :supply easy to understand C code that can be replaced by platform
> :specific assembly versions, when necessary.  The issue with the
> :pointer pass is that it'll be a bit harder to code an assembly
> :..
> 
>     You lost me.  This is one-time single-execution code.  Unless you
>     are planning on rewriting the entire FreeBSD OS in assembly there
>     is no issue.

It's a porting issue.  There are several really nice things
about the current FreeBSD when it comes to porting:

1)	It can boot over the network, so you only need to
	get the network devices supported to get to single
	user mode.

2)	It has devfs, which means that you can host the boot
	on a different machine if, like some machines, the
	machine is incapable of netbooting correctly from
	FreeBSD for some reason (without devfs, FreeBSD's
	use of additional bits in major/minor device numbers
	made it impossible to run over NFS or hosted on systems
	that didn't support creating device nodes on their local
	FS's with that many bots for the remote FreeBSD to use).

3)	It's mostly not as arcane as a lot of systems (it has
	its strange moments during boot, though, particularly
	when bootstrapping the VM system and the console).

Adding a fourth:

4)	There are straight forward C equivalents for everything
	except what you _absolutely must_ do in assembly.

Would be a terrifically nifty feature...

Even if you're not interested in adding it, making it less
straight forward to get to single user mode, even with C level
performance suckage, is bad for getting new ports done.

-- Terry

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-alpha" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3B84D00C.AA0DDB5C>