Date: Tue, 17 Nov 1998 12:52:02 +0100 From: Marius Bendiksen <Marius.Bendiksen@scancall.no> To: Robert Nordier <rnordier@nordier.com> Cc: freebsd-hackers@FreeBSD.ORG Subject: Re: FreeBSD on i386 memory model Message-ID: <3.0.5.32.19981117125202.00916bb0@mail.scancall.no> In-Reply-To: <199811171111.NAA09173@ceia.nordier.com> References: <3.0.5.32.19981117103136.009058a0@mail.scancall.no>
next in thread | previous in thread | raw e-mail | index | archive | help
>As Marius says, it's mainly down to what the instructions point at, >rather that the instructions themselves. Though, that said, an In fact, implementing multiple calling conventions would be possible without too much work, I think. Changing the existing ones shouldn't be too hard. I've not looked at the source code, though. >interrupt rather than a far call is also just a more "natural" way to I've not looked upon interrupts beyond hardware handling, but I seem to recall call gates being preferrable for isolation reasons, but I'm not sure, so don't flame me if I'm wrong ;) >In fact, almost all initialization is done in the kernel. Some basic >(unavoidable) initialization takes place in the bootstrap (on the i386, >getting into protected mode, enabling the A20 line, etc) but as little >as possible. Yeah. That's what I'd assume. The bootstrap initializes protected mode, and basically gets the kernel ready to go, while the kernel does have initialization code. >There has been some discussion about moving more of the initialization >into the bootstrap code, but I won't really agree that doing it in the >kernel is "stupid". Just as writing almost everything in C (rather >than assembler) is part of the UNIX philosophy, convenience and >maintainability are often more important than merely saving bytes. That's a point. Doing it in the kernel only costs a few additional kb. OTOH, moving it to the bootstrap would be yet another step in the process of moving away from a monolithic kernel. IIRC, people expressed a desire to do so some time ago. >If you're interested in this stuff, you probably want to look at many >of the files in src/sys/i386/i386, starting with locore.s (where the >actual interaction with the bootstrap takes place). In truth, I can't stand AT&T syntax, and I was merely attempting to clarify this. If there is an ongoing effort towards moving things out of the kernel, or changing the syscall interface, I'd be interested in having a look at it, to see if it's anything I'd be able to help with. Obtw; am I correct in assuming that moving to an interrupt-based syscall interface makes linux-emulation easier? --- Marius Bendiksen, IT-Trainee, ScanCall AS <marius@scancall.no> To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3.0.5.32.19981117125202.00916bb0>