Re: segmentierte Addressierung

From: Bernd Walter <ticso(at)cicely12.cicely.de>
Date: Mon, 14 Feb 2005 19:10:33 +0100

On Mon, Feb 14, 2005 at 06:18:28PM +0100, Marc Santhoff wrote:
> Am Mo, den 14.02.2005 schrieb Oliver Fromme um 15:14:
> [...]
> >
> > Nö, syscall und sysctl sind verschiedene Dinge. In Deinem
> > Fall ist beides möglich; insgesamt dürfte der Aufwand in
> > etwa der gleiche sein. Mit einem sysctl bist Du aber etwas
> > flexibler.
> >
> > Bei einem syscall müßtest Du in der Tat einen Eintrag in
> > syscalls.master machen; daraus werden dann verschiedene
> > andere Dinge generiert. Außerdem brauchst Du dann eine
> > Stub-Funktion in der libc, über die Du den syscall vom
> > Userland aus aufrufen kannst. Wie das genau geht, guckst
> > Du Dir einfach bei einem bestehenden syscall ab, der einen
> > String ins Userland zurückliefert, z.B. readlink(2) oder
> > getlogin_r(2). Anschließend kannst Du ein kleines User-
> > land-Programm schreiben, das Deinen neuen syscall aufruft
> > und den String nach stdout ausgibt.
> >
> > Wenn Du es dagegen per sysctl machen willst, brauchst Du
> > keinen neuen syscall. Du brauchst auch nicht unbedingt ein
> > Userland-Programm, weil man den String bereits mit dem vor-
> > handenen sysctl(8)-Tool abfragen kann.
>
> Ich hab' mir diese Lösung angesehen und gebe Dir recht: so hat man
> wirklich den geringsten Aufwand.
>
> > Für die Definition von sysctls gibt es schon eine Reihe von
> > fertigen Makros. Du müßtest mit SYSCTL_OID einen readonly-
> > sysctl definieren und einen eigenen String-Handler schreiben
> > (bei sysctl_handle_string() abgucken). Dieser Handler würde
> > dann Deine BIOS-Funktion aufrufen.
>
> Flott geschrieben ist es auch, nur wie bringe ich dem Build-Mechanismus
> bei, die neue Quelltextdatei auch zu berücksichtigen? Will sagen, in
> welches Makefile muß ich es eintragen?

Mach eine neuen Eintrag in sys/conf/files und dann trägst du
das in deine Kernelconfig ein.

-- 
B.Walter                   BWCT                http://www.bwct.de
bernd(at)bwct.de                                  info(at)bwct.de
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 14 Feb 2005 - 19:11:54 CET

search this site