Re: hints static wiring

2000-08-29 Thread Warner Losh

In message [EMAIL PROTECTED] Greg Lehey writes:
: 2.  You must have a /boot/device.hints file, and it must contain at
: least some entries

Add "unless you compile the hints statically into the kernel, in which
case it may be empty." and you will be correct.

There's plenty of potential for foot shooting, but it will generally
only impact older, legacy non-pnp systems.

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-29 Thread Warner Losh

In message [EMAIL PROTECTED] Brooks Davis writes:
:  Which begs the question: when should the hints file be updated?
: 
: When you add new devices which require hints to work.  Since GENERIC.hints
: covers the defaults for most of those devices and I don't see too many
: new isa drivers going in to the kernel I think that roughly translates to
: "never" on modern system and "rarely" on strange systems made of scavenged
: parts.  Heck, on most legacy free systems, it really does translate
: to never because you can't add anything that would effect drivers that
: need hints (device wiring being the only exception I can think of there).

Yes.  Usually you can just copy GENERIC.hints and forget it.  However,
if you traffic in older hardware in non-plug and play mode, you'll
have to cope with updating/creating/modifying a device.hints file.  As
this hardware becomes rarer, you'll have to deal less and less.

Note, however, that until the isapnpbios code is corrected to probe in
the right order (before all other isa devices rather than after like
it does now with the isapnp hardware) you'll need hints on even the
most modern machines.  The snippet that I posted earlier was one that
seemed to work on my vaio.

I believe there's work on a userconfig in boot-loader in the works as
well, which is a large part of the motivation here.

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-29 Thread Mike Meyer

First, I want to thank everyone for taking the time to explain what
was going on. It's now clear that I was confused, and things aren't
as bad as I thought. I'd like to see the Makefile changes so that if
there wasn't an empty /boot/device.hints, one was created, but that's
relatively minor.

Brooks Davis writes:
 This is more correct.  The new world order says that hints are not in the
 kernel, instead they are loaded by the loader at boot time.  By default
 they are loaded from /boot/device.hints.  Without hints in some form old,
 stupid devices don't work.  Unfortunatly, PC consoles are old, stupid
 devices for compatability reasons so it's best to have a working hints
 file around.

Just curious - are there no defaults at all if you don't have a hints
file somewhere? That seems a bit strange.

mike


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-29 Thread Brooks Davis

On Tue, Aug 29, 2000 at 04:15:09AM -0500, Mike Meyer wrote:
 Brooks Davis writes:
  This is more correct.  The new world order says that hints are not in the
  kernel, instead they are loaded by the loader at boot time.  By default
  they are loaded from /boot/device.hints.  Without hints in some form old,
  stupid devices don't work.  Unfortunatly, PC consoles are old, stupid
  devices for compatability reasons so it's best to have a working hints
  file around.
 
 Just curious - are there no defaults at all if you don't have a hints
 file somewhere? That seems a bit strange.

If you don't have a hints file in /boot and you didn't suck one in as a
static config during boot then, yes there are no defaults.  I think the
idea is that we should eventualy get to a state where (on legacy free
systems at least) we really can run with no hints because everything is
PnP.  This also means you should be able to boot generic on some really
strange systems just by modifying the hints file.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-29 Thread David O'Brien

On Mon, Aug 28, 2000 at 06:29:21PM -0700, Brooks Davis wrote:
 On Tue, Aug 29, 2000 at 10:25:26AM +0930, Greg Lehey wrote:
  At the very least, there appears to be confusion about how to use the
  hints.  I can see two conflicting views here:
  
  1.  You must have a /boot/device.hints file, but it may be empty.
 
 This is minimally correct.  I.e. that's what the build system requires.
 This works if you build static hints into your kernel.

Please stop saying FUD.  The *INSTALL* system requires
/boot/device.hints.  The *BUILD* process does not.
 
  2.  You must have a /boot/device.hints file, and it must contain at
  least some entries.
 
 This is more correct.  The new world order says that hints are not in the
 kernel, instead they are loaded by the loader at boot time.

I would quite to so far.  I know many that will continue to compile
static hints into their kernels until that ability is removed.

-- 
-- David  ([EMAIL PROTECTED])


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-29 Thread Brooks Davis

On Tue, Aug 29, 2000 at 10:30:24AM -0700, David O'Brien wrote:
 On Mon, Aug 28, 2000 at 06:29:21PM -0700, Brooks Davis wrote:
  This is minimally correct.  I.e. that's what the build system requires.
  This works if you build static hints into your kernel.
 
 Please stop saying FUD.  The *INSTALL* system requires
 /boot/device.hints.  The *BUILD* process does not.

That's what I ment.  I ment build as opposed to runtime.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-29 Thread Warner Losh

In message [EMAIL PROTECTED] Brooks Davis writes:
: On Tue, Aug 29, 2000 at 10:30:24AM -0700, David O'Brien wrote:
:  On Mon, Aug 28, 2000 at 06:29:21PM -0700, Brooks Davis wrote:
:   This is minimally correct.  I.e. that's what the build system requires.
:   This works if you build static hints into your kernel.
:  
:  Please stop saying FUD.  The *INSTALL* system requires
:  /boot/device.hints.  The *BUILD* process does not.
: 
: That's what I ment.  I ment build as opposed to runtime.

I committed some changes to UPDATING that I think are complete, fair
and accurate.  Please look at the new UPDATING file and let me know
what you think.

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-29 Thread Mike Meyer

David O'Brien writes:
 On Mon, Aug 28, 2000 at 06:29:21PM -0700, Brooks Davis wrote:
  On Tue, Aug 29, 2000 at 10:25:26AM +0930, Greg Lehey wrote:
   At the very least, there appears to be confusion about how to use the
   2.  You must have a /boot/device.hints file, and it must contain at
   least some entries.
  This is more correct.  The new world order says that hints are not in the
  kernel, instead they are loaded by the loader at boot time.
 I would quite to so far.  I know many that will continue to compile
 static hints into their kernels until that ability is removed.

I suspect I'm going to be one of those people, but let's ask the next
question. How do the two approaches compare from a performance
standpoint? I figure having them wired in means you avoid parsing them
at boot time, which should be faster. How smart is the code about
devices with hints that aren't configured in the kernel? Do both
methods throw out such data, or do both save it?

Basically, which will provide the smallest running kernel, and if it's
the same, which will boot fastest?

Thanx,
mike


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-29 Thread Warner Losh

In message [EMAIL PROTECTED] Mike Meyer writes:
: I suspect I'm going to be one of those people, but let's ask the next
: question. How do the two approaches compare from a performance
: standpoint?

Completely identical.  One loads the table from a file, the other
reads it from the kernel.

: Basically, which will provide the smallest running kernel, and if it's
: the same, which will boot fastest?

They should be the same size.  I'd be surprised if you could measure a 
difference.  You'll get more savings by not compiling in just one
driver.

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Mike Meyer

Brooks Davis writes:
 On Sun, Aug 27, 2000 at 09:33:21PM +0900, Motomichi Matsuzaki wrote:
  Doing 'make install' without /boot/device.hints is failed,
  saying "You must set up a /boot/device.hints file first."
  Is this right?
 You should read cvs-all.  There was a commit by Peter which forces you
 to install a /boot/device.hints file to install a kernel as an anti-foot
 shooting measure.  An empty file (ie touch /boot/device.hints) is
 acceptable for those who don't want to use a hints file.

I do read cvs-all, and I missed it. Not did I find device.hints in the
relevant Makefiles. Can you provide a pointer to details on how
/boot/device.hints is used in the build process, or how having an
empty one keeps you from shooting yourself in the foot?


Thanx,
mike



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Matthew Jacob


 
 I do read cvs-all, and I missed it. Not did I find device.hints in the
 relevant Makefiles. Can you provide a pointer to details on how
 /boot/device.hints is used in the build process, or how having an
 empty one keeps you from shooting yourself in the foot?

cvs-all is not appropriate. I am noticing a 3-7 day lag on UPDATING.
Bad.




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Donn Miller

Mike Meyer wrote:

 I do read cvs-all, and I missed it. Not did I find device.hints in the
 relevant Makefiles. Can you provide a pointer to details on how
 /boot/device.hints is used in the build process, or how having an
 empty one keeps you from shooting yourself in the foot?

Actually, device.hints isn't used in the build process.  Your
KERNEL.hints file is hard-coded into the kernel when your kernel is
built (assuming you use one).  /boot/device.hints is used to override
the "hardcoded" values of hints, KERNEL.hints, at boot time.  Sometimes,
people can make a mistake in KERNEL.hints, and it's necessary to
override those hints with /boot/device.hints.  So, device.hints is
created after-the-fact, and not part of the kernel build.  Of course, if
you don't have any hints to override, then just install an empty
device.hints file.

device.hints is there to save you from rebuilding your kernel every time
you want to change a hint value.

-Donn


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Mike Meyer

Donn Miller writes:
 Mike Meyer wrote:
  I do read cvs-all, and I missed it. Not did I find device.hints in the
  relevant Makefiles. Can you provide a pointer to details on how
  /boot/device.hints is used in the build process, or how having an
  empty one keeps you from shooting yourself in the foot?
 Actually, device.hints isn't used in the build process.

In that case, why does the kernel build process fail if it doesn't
exist? 

 KERNEL.hints file is hard-coded into the kernel when your kernel is
 built (assuming you use one).  /boot/device.hints is used to override
 the "hardcoded" values of hints, KERNEL.hints, at boot time.  Sometimes,
 people can make a mistake in KERNEL.hints, and it's necessary to
 override those hints with /boot/device.hints.  So, device.hints is
 created after-the-fact, and not part of the kernel build.  Of course, if
 you don't have any hints to override, then just install an empty
 device.hints file.

Will the system fail to boot if there isn't an empty device.hints
file?

mike



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Maxim Sobolev

Mike Meyer wrote:

 Donn Miller writes:
  Mike Meyer wrote:
   I do read cvs-all, and I missed it. Not did I find device.hints in the
   relevant Makefiles. Can you provide a pointer to details on how
   /boot/device.hints is used in the build process, or how having an
   empty one keeps you from shooting yourself in the foot?
  Actually, device.hints isn't used in the build process.

 In that case, why does the kernel build process fail if it doesn't
 exist?

Probably because you have `hints "BLABLA.hints"' line in your kernel config
file.

  KERNEL.hints file is hard-coded into the kernel when your kernel is
  built (assuming you use one).  /boot/device.hints is used to override
  the "hardcoded" values of hints, KERNEL.hints, at boot time.  Sometimes,
  people can make a mistake in KERNEL.hints, and it's necessary to
  override those hints with /boot/device.hints.  So, device.hints is
  created after-the-fact, and not part of the kernel build.  Of course, if
  you don't have any hints to override, then just install an empty
  device.hints file.

 Will the system fail to boot if there isn't an empty device.hints
 file?

No, it will boot, but some devices (like keyboard, console etc) would not work.

-Maxim




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Mike Meyer

Maxim Sobolev writes:
 Mike Meyer wrote:
 
  Donn Miller writes:
   Mike Meyer wrote:
I do read cvs-all, and I missed it. Not did I find device.hints in the
relevant Makefiles. Can you provide a pointer to details on how
/boot/device.hints is used in the build process, or how having an
empty one keeps you from shooting yourself in the foot?
   Actually, device.hints isn't used in the build process.
  In that case, why does the kernel build process fail if it doesn't
  exist?
 Probably because you have `hints "BLABLA.hints"' line in your kernel config
 file.

That doesn't really answer the question. Yup, I use
GENERIC.hints. That exists. I can see why that not existing would
cause problems, but not /boot/device.hints? *Especially* when I'm
building a kernel for a different machine?

   KERNEL.hints file is hard-coded into the kernel when your kernel is
   built (assuming you use one).  /boot/device.hints is used to override
   the "hardcoded" values of hints, KERNEL.hints, at boot time.  Sometimes,
   people can make a mistake in KERNEL.hints, and it's necessary to
   override those hints with /boot/device.hints.  So, device.hints is
   created after-the-fact, and not part of the kernel build.  Of course, if
   you don't have any hints to override, then just install an empty
   device.hints file.
  Will the system fail to boot if there isn't an empty device.hints
  file?
 No, it will boot, but some devices (like keyboard, console etc) would not work.

That's clearly not true - I just removed an empty /boot/device.hints
and rebooted, and all those things work fine. I can believe that such
things won't work if they aren't specified in some hints file, but an
empty /boot/device.hints doesn't do anything more to specify them than
one that isn't there.

mike


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Maxim Sobolev

Mike Meyer wrote:

   Will the system fail to boot if there isn't an empty device.hints
   file?
  No, it will boot, but some devices (like keyboard, console etc) would not work.

 That's clearly not true - I just removed an empty /boot/device.hints
 and rebooted, and all those things work fine. I can believe that such
 things won't work if they aren't specified in some hints file, but an
 empty /boot/device.hints doesn't do anything more to specify them than
 one that isn't there.

That's probably because you have hints compiled into your kernel. Try to compile
kernel w/o hints and use it with empty/unexistent /boot/device.hints and you will see
what I mean.

-Maxim




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Mike Meyer

Maxim Sobolev writes:
 Mike Meyer wrote:
Will the system fail to boot if there isn't an empty device.hints
file?
   No, it will boot, but some devices (like keyboard, console etc) would not work.
 
  That's clearly not true - I just removed an empty /boot/device.hints
  and rebooted, and all those things work fine. I can believe that such
  things won't work if they aren't specified in some hints file, but an
  empty /boot/device.hints doesn't do anything more to specify them than
  one that isn't there.
 That's probably because you have hints compiled into your kernel. Try to compile
 kernel w/o hints and use it with empty/unexistent /boot/device.hints and you will see
 what I mean.

Well, yeah, I'd expect that. I'm still trying to figure out what
*good* failing to compile unless there's an empty /boot/device.hints
does. I mean, if I didn't provide kernel hints, it would make some
sense if the build process could determine that it was building on the
machine it was running on.

mike



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Motomichi Matsuzaki


Ahh...,

I tried to summarize my opinion.
If you find any misunderstandings of me, please correct them.


*** What's happen if there's no /boot/device.hints?

case A kernel has no built-in hints

... some devices would not work, system would stall!

You can tell whole hints to the kernel interactively on /boot/loader,
however it's a tiresome task.

YES, this is the abominable situation.
To avoid it, you should be warned at kernel-install-time.


case B kernel has built-in hints (i.e. config has "hints" line)

B-1: wrong hints

... some devices would not work, system could stall.

You can correct hints interactively on /boot/loader.
You can override hints by making /boot/device.hints also.

B-2: suitable hints

... everything goes OK

You can override hints by /boot/device.hints.


Currently, 'make install' will be aborted in every case above,
but this treatment is suitable only for case A.

And it would be technically possible to limit this treatment to case A.
This treatment will do accoring to Makefile,
which is controled by config(8) (src/usr.sbin/config/mkmakefile.c).

-- 
Motomichi Matsuzaki [EMAIL PROTECTED] 
Dept. of Biological Sciences, Grad. School of Science, Univ. of Tokyo, Japan 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Brooks Davis

On Mon, Aug 28, 2000 at 03:19:15AM -0500, Mike Meyer wrote:
 
 I do read cvs-all, and I missed it. Not did I find device.hints in the
 relevant Makefiles. Can you provide a pointer to details on how
 /boot/device.hints is used in the build process, or how having an
 empty one keeps you from shooting yourself in the foot?

Having an empty one will not help you, but installing a post hints
change GENERIC without a hints file will results in a system that does
not boot.  Thus you are required to have a hints file.  The ability to
install a bogus (empty) one is for those who want static hints.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread David O'Brien

On Mon, Aug 28, 2000 at 08:24:50AM -0500, Mike Meyer wrote:
 Well, yeah, I'd expect that. I'm still trying to figure out what
 *good* failing to compile unless there's an empty /boot/device.hints

The kernel does not fail to *BUILD*.  ``make install'' is what fails.  I
agree that the requirement is somewhat anonying.  But, it is better to
have this slight anonyance than for many to to install and boot a kernel
that would be broken.

-- 
-- David  ([EMAIL PROTECTED])


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Warner Losh

In message [EMAIL PROTECTED] Tony 
Fleisher writes:
: Just a suggestion, but isn't this the type of thing that
: should be added to UPDATING?

Quoting from the UPDATING file:
...
2825:
/boot/device.hints is now required for installkernel to
succeed.
...

2612:
Peter took an axe to config(8).  Besure that you read his mail
on the topic before even thinking about updating.  You will
need to create a /boot/device.hints or add a hints directive
to your config file to compile them in statically.  The format
of the config file has changed as well.  Please see GENERIC or
NEWCARD for examples of the new format.
...

Granted, I did commit the first entry only a few hours before you
posted...

Warner



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Warner Losh

In message [EMAIL PROTECTED] Matthew Jacob 
writes:
:  I do read cvs-all, and I missed it. Not did I find device.hints in the
:  relevant Makefiles. Can you provide a pointer to details on how
:  /boot/device.hints is used in the build process, or how having an
:  empty one keeps you from shooting yourself in the foot?
: 
: cvs-all is not appropriate. I am noticing a 3-7 day lag on UPDATING.
: Bad.

cvs-all *IS*REQUIRED* for all people running -current.  UPDATING tries
to cull things from there on an as needed basis.  It is a service that
gets done when I have time.  If someone wants to pay me a stipend to
drop everything the instant something is committed to the tree and
update UPDATING, then the lag will improve.  Otherwise, 3-7 days
really isn't that bad and will continue to be the case.

Warner



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Matthew Jacob




 In message [EMAIL PROTECTED] Matthew Jacob 
writes:
 :  I do read cvs-all, and I missed it. Not did I find device.hints in the
 :  relevant Makefiles. Can you provide a pointer to details on how
 :  /boot/device.hints is used in the build process, or how having an
 :  empty one keeps you from shooting yourself in the foot?
 : 
 : cvs-all is not appropriate. I am noticing a 3-7 day lag on UPDATING.
 : Bad.
 
 cvs-all *IS*REQUIRED* for all people running -current.  UPDATING tries
 to cull things from there on an as needed basis.  It is a service that
 gets done when I have time.  If someone wants to pay me a stipend to
 drop everything the instant something is committed to the tree and
 update UPDATING, then the lag will improve.  Otherwise, 3-7 days
 really isn't that bad and will continue to be the case.
 
 Warner

Oops- I realize that what I said might have been construed as criticism- not
meant at all!

What I meant is that while cvs-all can be read by everyone, it's not always
obvious from the flood of mail there, or if you're not a developer, what needs
to change.

In my opinion, people making major changes that require something in UPDATING,
should coordinate with you *before* the commit. Only 5 or 6 brain cells are
needed for this- I sure wish some of my fellow committers weren't such
skinflints in this area.

-matt




To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Warner Losh

In message [EMAIL PROTECTED] Mike Meyer writes:
: Will the system fail to boot if there isn't an empty device.hints
: file?

If the kernel doesn't have a hints file compiled into it, then you
will have problems.  However, you may not have a video console.  I've
been able to boot my laptop with a kernel that had no hints and this
was the result.  All the PCI based things worked, as did those things
that had a PnP ID, except the video console.

Warner



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Warner Losh

In message [EMAIL PROTECTED] Matthew Jacob 
writes:
: In my opinion, people making major changes that require something in
: UPDATING, should coordinate with you *before* the commit. Only 5 or
: 6 brain cells are needed for this- I sure wish some of my fellow
: committers weren't such skinflints in this area.

About 10% of the commmits that are known to need an UPDATING entry get
sent to me first.  About 50%-70% are posted to -current, -stable or
committers, which is less well because I get busy..  The remaining
entries are not well communicated and could be near the "oops"
category.

Warner
 


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Warner Losh

In message [EMAIL PROTECTED] Mike Meyer writes:
: Maxim Sobolev writes:
:  Mike Meyer wrote:
:  
:   Donn Miller writes:
:Mike Meyer wrote:
: I do read cvs-all, and I missed it. Not did I find device.hints in the
: relevant Makefiles. Can you provide a pointer to details on how
: /boot/device.hints is used in the build process, or how having an
: empty one keeps you from shooting yourself in the foot?
:Actually, device.hints isn't used in the build process.
:   In that case, why does the kernel build process fail if it doesn't
:   exist?
:  Probably because you have `hints "BLABLA.hints"' line in your kernel config
:  file.
: 
: That doesn't really answer the question. Yup, I use
: GENERIC.hints. That exists. I can see why that not existing would
: cause problems, but not /boot/device.hints? *Especially* when I'm
: building a kernel for a different machine?

The build of the kernel isn't forbidden by not having
/boot/device.hints, just the install.  I just copied my GENERIC.hints
to /boot/device.hints and things were happy.

: That's clearly not true - I just removed an empty /boot/device.hints
: and rebooted, and all those things work fine. I can believe that such
: things won't work if they aren't specified in some hints file, but an
: empty /boot/device.hints doesn't do anything more to specify them than
: one that isn't there.

Specifically, the console will not work without hints.  These hints
can be compiled in or in /boot/device.hints.  You need to have

hint.atkbdc.0.at="isa"
hint.atkbdc.0.port="0x060"
hint.atkbd.0.at="atkbdc"
hint.atkbd.0.irq="1"
hint.atkbd.0.flags="0x1"
hint.vga.0.at="isa"
hint.sc.0.at="isa"
hint.sc.0.flags="0x100"

At a minimum, but I might be mistaken about that.

Warner


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Greg Lehey

On Monday, 28 August 2000 at  8:24:50 -0500, Mike Meyer wrote:
 Maxim Sobolev writes:
 Mike Meyer wrote:
 Will the system fail to boot if there isn't an empty device.hints
 file?
 No, it will boot, but some devices (like keyboard, console etc) would not work.

 That's clearly not true - I just removed an empty /boot/device.hints
 and rebooted, and all those things work fine. I can believe that such
 things won't work if they aren't specified in some hints file, but an
 empty /boot/device.hints doesn't do anything more to specify them than
 one that isn't there.
 That's probably because you have hints compiled into your kernel. Try to compile
 kernel w/o hints and use it with empty/unexistent /boot/device.hints and you will 
see
 what I mean.

 Well, yeah, I'd expect that. I'm still trying to figure out what
 *good* failing to compile unless there's an empty /boot/device.hints
 does. I mean, if I didn't provide kernel hints, it would make some
 sense if the build process could determine that it was building on the
 machine it was running on.

On Monday, 28 August 2000 at 14:45:23 -0600, Warner Losh wrote:
 In message [EMAIL PROTECTED] Mike Meyer writes:
 Maxim Sobolev writes:
 Mike Meyer wrote:

 Donn Miller writes:
 Mike Meyer wrote:
 I do read cvs-all, and I missed it. Not did I find device.hints in the
 relevant Makefiles. Can you provide a pointer to details on how
 /boot/device.hints is used in the build process, or how having an
 empty one keeps you from shooting yourself in the foot?
 Actually, device.hints isn't used in the build process.
 In that case, why does the kernel build process fail if it doesn't
 exist?
 Probably because you have `hints "BLABLA.hints"' line in your kernel config
 file.

 That doesn't really answer the question. Yup, I use
 GENERIC.hints. That exists. I can see why that not existing would
 cause problems, but not /boot/device.hints? *Especially* when I'm
 building a kernel for a different machine?

 The build of the kernel isn't forbidden by not having
 /boot/device.hints, just the install.  I just copied my GENERIC.hints
 to /boot/device.hints and things were happy.

 That's clearly not true - I just removed an empty /boot/device.hints
 and rebooted, and all those things work fine. I can believe that such
 things won't work if they aren't specified in some hints file, but an
 empty /boot/device.hints doesn't do anything more to specify them than
 one that isn't there.

 Specifically, the console will not work without hints.  These hints
 can be compiled in or in /boot/device.hints.  You need to have

 hint.atkbdc.0.at="isa"
 hint.atkbdc.0.port="0x060"
 hint.atkbd.0.at="atkbdc"
 hint.atkbd.0.irq="1"
 hint.atkbd.0.flags="0x1"
 hint.vga.0.at="isa"
 hint.sc.0.at="isa"
 hint.sc.0.flags="0x100"

 At a minimum, but I might be mistaken about that.

At the very least, there appears to be confusion about how to use the
hints.  I can see two conflicting views here:

1.  You must have a /boot/device.hints file, but it may be empty.
2.  You must have a /boot/device.hints file, and it must contain at
least some entries.

I ran into this same problem yesterday.  I had noticed it in the cvs
mailing list, and I found the first entry in UPDATING.  But it didn't
say what to put in, and I found no other documentation.  Finally John
Baldwin told me to copy my GENERIC.hints, so I did that, and it
worked.  But it seems that we should have some documentation here.  On
the face of it, (1) above seems the most obvious solution.  In that
case, 'make install' shouldn't fail if there's no device.hints file,
it should make one.  If it's (2), it can still copy the MYKERNEL.hints
file.  Which begs the question: when should the hints file be updated?

Greg
--
Finger [EMAIL PROTECTED] for PGP public key
See complete headers for address and phone numbers


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-28 Thread Brooks Davis

On Tue, Aug 29, 2000 at 10:25:26AM +0930, Greg Lehey wrote:
 At the very least, there appears to be confusion about how to use the
 hints.  I can see two conflicting views here:
 
 1.  You must have a /boot/device.hints file, but it may be empty.

This is minimally correct.  I.e. that's what the build system requires.
This works if you build static hints into your kernel.

 2.  You must have a /boot/device.hints file, and it must contain at
 least some entries.

This is more correct.  The new world order says that hints are not in the
kernel, instead they are loaded by the loader at boot time.  By default
they are loaded from /boot/device.hints.  Without hints in some form old,
stupid devices don't work.  Unfortunatly, PC consoles are old, stupid
devices for compatability reasons so it's best to have a working hints
file around.

 I ran into this same problem yesterday.  I had noticed it in the cvs
 mailing list, and I found the first entry in UPDATING.  But it didn't
 say what to put in, and I found no other documentation.  Finally John
 Baldwin told me to copy my GENERIC.hints, so I did that, and it
 worked.  But it seems that we should have some documentation here.  On
 the face of it, (1) above seems the most obvious solution.  In that
 case, 'make install' shouldn't fail if there's no device.hints file,
 it should make one.  If it's (2), it can still copy the MYKERNEL.hints
 file.

Installing GENERIC.hints might run the risk of turning the current
anti-footshooting mechinism into a foot shooting device on non-standard
hardware, but I'm kinda inclined to say, who cares since that's a very
far out edge case.  The only problem is that it might annoy those who
insist on static hints.

 Which begs the question: when should the hints file be updated?

When you add new devices which require hints to work.  Since GENERIC.hints
covers the defaults for most of those devices and I don't see too many
new isa drivers going in to the kernel I think that roughly translates to
"never" on modern system and "rarely" on strange systems made of scavenged
parts.  Heck, on most legacy free systems, it really does translate
to never because you can't add anything that would effect drivers that
need hints (device wiring being the only exception I can think of there).

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-27 Thread Brooks Davis

On Sun, Aug 27, 2000 at 09:33:21PM +0900, Motomichi Matsuzaki wrote:
 
 When kernel is built with static device wiring
 (i.e. 'hints' line is enabled in the config file),
 is /boot/device.hints required?
 
 Doing 'make install' without /boot/device.hints is failed,
 saying "You must set up a /boot/device.hints file first."
 Is this right?

You should read cvs-all.  There was a commit by Peter which forces you
to install a /boot/device.hints file to install a kernel as an anti-foot
shooting measure.  An empty file (ie touch /boot/device.hints) is
acceptable for those who don't want to use a hints file.

-- Brooks

-- 
Any statement of the form "X is the one, true Y" is FALSE.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: hints static wiring

2000-08-27 Thread Tony Fleisher

Just a suggestion, but isn't this the type of thing that
should be added to UPDATING?

"This file contains a list, in reverse chronologocal order, of major
breakages in tracking -current."

TOny.

On Sun, 27 Aug 2000, Brooks Davis wrote:

 On Sun, Aug 27, 2000 at 09:33:21PM +0900, Motomichi Matsuzaki wrote:
  
  When kernel is built with static device wiring
  (i.e. 'hints' line is enabled in the config file),
  is /boot/device.hints required?
  
  Doing 'make install' without /boot/device.hints is failed,
  saying "You must set up a /boot/device.hints file first."
  Is this right?
 
 You should read cvs-all.  There was a commit by Peter which forces you
 to install a /boot/device.hints file to install a kernel as an anti-foot
 shooting measure.  An empty file (ie touch /boot/device.hints) is
 acceptable for those who don't want to use a hints file.
 
 -- Brooks
 
 -- 
 Any statement of the form "X is the one, true Y" is FALSE.
 
 
 To Unsubscribe: send mail to [EMAIL PROTECTED]
 with "unsubscribe freebsd-current" in the body of the message
 
 



To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message