Re: indirection in bus space

2000-01-25 Thread Takahashi Yoshihiro

In article <[EMAIL PROTECTED]>
Luoqi Chen <[EMAIL PROTECTED]> writes:

> > I think it is difficult to implement such conversion because:
> > 
> >   - Not only bus space stuff also resource manager stuff need to
> > perform such conversion.
> 
> Why? Both bus_space_handle_t and bus_space_tag_t are supposed to be
> opaque types. Resource manager needs not know the implementation details.

In isa_alloc_resourcev() and isa_load_resourcev() (both new functions), 
it needs to store allocated resources and I/O table in
bus_space_handle_pc98.

> We could create a new resource type SYS_RES_IOPORT_ARRAY, and intercept
> it in all isa_*_resoruce() methods. In isa_alloc_resource(), we malloc and
> return a fake resource record, in which we store I386_BUS_PIO_IND as
> bus tag and address of bus_space_handle_pc98 as bus handle. And in
> isa_release_resource(), we first release the underlying resources stored
> in the bus_space_handle_pc98 record and then free the fake resource record
> itself. It should be safe as long as we don't manipulate this resource by
> direct resource manager calls, which we shouldn't do anyway.
> (or we should implement it at the root bus level, if pci devices in
> pc98 systems also use discrete port addresses).

We can't call bus_alloc_resource() directly from device drivers.
Because bus_alloc_resource() is defined as the following, it can't
deliver I/O table.

struct  resource *
bus_alloc_resource(device_t dev, int type, int *rid,
u_long start, u_long end, u_long count, u_int flags);

If it conversion from 'bus_addr_t *' to 'u_long' and deliver to the
fourth argument, we can use bus_alloc_resource(). But, it needs to
perform conversions in each drivers using indirect resources.

Then, only isa_alloc_resourcev() is not enough to support NS8390 based
network cards and PnP devices which require to use I386_BUS_PIO_IND.
So, I separate into isa_alloc_resourcev() to allocate resources and
isa_load_resourcev() to store I/O table.

IMHO, as IBM PC/AT and NEC PC-98 is different architecture, the bus
space stuff should be implemented to different files.

---
Takahashi Yoshihiro / [EMAIL PROTECTED]


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



Re: indirection in bus space

2000-01-24 Thread Luoqi Chen

> I think it is difficult to implement such conversion because:
> 
>   - Not only bus space stuff also resource manager stuff need to
> perform such conversion.

Why? Both bus_space_handle_t and bus_space_tag_t are supposed to be
opaque types. Resource manager needs not know the implementation details.

>   - The type of the bus_space_handle_t can by determined only by the
> bus tag.  The isa_alloc_resourcev (new function) cannot modify bus
> tag because what it does is only to allocate resources and it
> cannot register the address to the bus_space_handle_pc98.  But
> allocated resources must be stored into bus_space_handle_pc98.
> 
We could create a new resource type SYS_RES_IOPORT_ARRAY, and intercept
it in all isa_*_resoruce() methods. In isa_alloc_resource(), we malloc and
return a fake resource record, in which we store I386_BUS_PIO_IND as
bus tag and address of bus_space_handle_pc98 as bus handle. And in
isa_release_resource(), we first release the underlying resources stored
in the bus_space_handle_pc98 record and then free the fake resource record
itself. It should be safe as long as we don't manipulate this resource by
direct resource manager calls, which we shouldn't do anyway.
(or we should implement it at the root bus level, if pci devices in
pc98 systems also use discrete port addresses).

-lq


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



Re: indirection in bus space

2000-01-24 Thread KATO Takenori

Luoqi Chen <[EMAIL PROTECTED]> wrote:

> You could set the handle to point to the structure instead:

I think it is difficult to implement such conversion because:

  - Not only bus space stuff also resource manager stuff need to
perform such conversion.
  - The type of the bus_space_handle_t can by determined only by the
bus tag.  The isa_alloc_resourcev (new function) cannot modify bus
tag because what it does is only to allocate resources and it
cannot register the address to the bus_space_handle_pc98.  But
allocated resources must be stored into bus_space_handle_pc98.

---+--+
KATO Takenori <[EMAIL PROTECTED]>  |FreeBSD   |
Dept. Earth Planet. Sci, Nagoya Univ.  |The power to serve!   |
Nagoya, 464-8602, Japan|  http://www.FreeBSD.org/ |
   |http://www.jp.FreeBSD.org/|
 FreeBSD(98) 3.3R-Rev. 01 available!   +==+


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



Re: indirection in bus space

2000-01-24 Thread Luoqi Chen

> > Why have two files bus_at386.h and bus_pc98.h? I386_BUS_PIO_IND should be
> > able to live with I386_BUS_PIO and I386_BUS_MEMIO happily together.
> 
> Because they are different in the type of bus_space_tag_t from each
> other.  It is the u_long in PC/AT and the structure in PC-98.  For
> example, bus_space_read_1()s of them are:
> 
>   PC/AT:
>   bus_space_read_1(...)
>   {
>   ...
>   return (inb(handle + offset));
>   ...
>   }
> 
>   PC-98:
>   bus_space_read_1(...)
>   {
>   ...
>   return (inb(bsh.bsh_iat[offset]));
>   ...
>   }
> 
You could set the handle to point to the structure instead:
bus_space_read_1(...)
{
if (tag == I386_BUS_PIO) {
return (inb(handle + offset));
} else if (tag == I386_BUS_PIO_IND) {
struct bus_space_handle_pc98 *bsh = handle;
return (inb(bsh->bsh_iat[offset]));
} else if (tag == I386_BUS_MEMIO) {
...
}
}

-lq


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



Re: indirection in bus space

2000-01-24 Thread KATO Takenori

Luoqi Chen <[EMAIL PROTECTED]> wrote:

> We shouldn't need bus_simple_create_bsh(). All drivers ought to use
> rman_get_bushandle()/rman_get_bustag() to retrieve the bus handle and tag,
> and use them in bus_space_read/write calls to perform device io. Drivers
> that don't do that should be fixed.

Yes.  I think it is correct way.  It means porting isp, amd and adv
drivers to newbus, but I'm not familiar with these drivers.  So I
added bus_simple_creat_bsh function to reduce modification.


> Why have two files bus_at386.h and bus_pc98.h? I386_BUS_PIO_IND should be
> able to live with I386_BUS_PIO and I386_BUS_MEMIO happily together.

Because they are different in the type of bus_space_tag_t from each
other.  It is the u_long in PC/AT and the structure in PC-98.  For
example, bus_space_read_1()s of them are:

  PC/AT:
bus_space_read_1(...)
{
...
return (inb(handle + offset));
...
}

  PC-98:
bus_space_read_1(...)
{
...
return (inb(bsh.bsh_iat[offset]));
...
}


---+--+
KATO Takenori <[EMAIL PROTECTED]>  |FreeBSD   |
Dept. Earth Planet. Sci, Nagoya Univ.  |The power to serve!   |
Nagoya, 464-8602, Japan|  http://www.FreeBSD.org/ |
   |http://www.jp.FreeBSD.org/|
 FreeBSD(98) 3.3R-Rev. 01 available!   +==+


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



Re: indirection in bus space

2000-01-24 Thread Luoqi Chen

> Do you have any comment anout the patch?  If there isn't any big
> problem, I hope to commit it to current.
> 
> Thank you.
> 
> 
> I wrote:
> > Do you remember this topic?  I have revised the indirection support
> > patch.  What I have changed are:
> >   - to make diff files more readable
> >   - introduce the bus_simple_create_bsh() that creates
> > a bus_space_handle_tag from a base address.
> > 
>
We shouldn't need bus_simple_create_bsh(). All drivers ought to use
rman_get_bushandle()/rman_get_bustag() to retrieve the bus handle and tag,
and use them in bus_space_read/write calls to perform device io. Drivers
that don't do that should be fixed.

Why have two files bus_at386.h and bus_pc98.h? I386_BUS_PIO_IND should be
able to live with I386_BUS_PIO and I386_BUS_MEMIO happily together.

-lq


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



Re: indirection in bus space

2000-01-23 Thread KATO Takenori

Do you have any comment anout the patch?  If there isn't any big
problem, I hope to commit it to current.

Thank you.


I wrote:
> Do you remember this topic?  I have revised the indirection support
> patch.  What I have changed are:
>   - to make diff files more readable
>   - introduce the bus_simple_create_bsh() that creates
> a bus_space_handle_tag from a base address.
> 
> I have made PC98 GENERIC98 kernel and i386 LINT kernel and both of
> them can be compiled.
> 
> Changed and new files are as follows:
>   alpha/include/bus.h
>   i386/include/bus.h
>   i386/include/bus_at386.h (new file)
>   i386/include/bus_pc98.h (new file)
>   i386/i386/nexus.c
>   i386/isa/isa.c
>   dev/advansys/adv_isa.c
>   dev/advansys/adv_pci.c
>   pci/amd.c
>   pci/isp_pci.c
> 
> I put new files and diffs as follows:
>   http://www.FreeBSD.ORG/~kato/busspace/index.html
>  INDEX
> 
>   http://www.FreeBSD.ORG/~kato/busspace/alpha_bus.h.diff
>  diff between old bus.h and new bus.h
> 
>   http://www.FreeBSD.ORG/~kato/busspace/i386_bus.h
>  i386/include/bus.h
> 
>   http://www.FreeBSD.ORG/~kato/busspace/bus_at386.h
>  i386/include/bus_at386.h
> 
>   http://www.FreeBSD.ORG/~kato/busspace/bus_at386.h.diff
>  diff between old bus.h and bus_at386.h
> 
>   http://www.FreeBSD.ORG/~kato/busspace/bus_pc98.h
>  i386/include/bus_pc98.h
> 
>   http://www.FreeBSD.ORG/~kato/busspace/bus_pc98.h.diff
>  diff between old bus.h and bus_pc98.h
> 
>   http://www.FreeBSD.ORG/~kato/busspace/isa.c.diff
>  diff of i386/isa/isa.c
> 
>   http://www.FreeBSD.ORG/~kato/busspace/nexus.c.diff
>  diff of i386/i386/nexus.c
> 
>   http://www.FreeBSD.ORG/~kato/busspace/adv_isa.c.diff
>  diff of dev/advansys/adv_isa.c
> 
>   http://www.FreeBSD.ORG/~kato/busspace/adv_pci.c.diff
>  diff of dev/advansys/adv_pci.c
> 
>   http://www.FreeBSD.ORG/~kato/busspace/amd.c.diff
>  diff of pci/amd.c
> 
>   http://www.FreeBSD.ORG/~kato/busspace/isp_pci.c.diff
>  diff of pci/isp_pci.c

---+--+
KATO Takenori <[EMAIL PROTECTED]>  |FreeBSD   |
Dept. Earth Planet. Sci, Nagoya Univ.  |The power to serve!   |
Nagoya, 464-8602, Japan|  http://www.FreeBSD.org/ |
   |http://www.jp.FreeBSD.org/|
 FreeBSD(98) 3.3R-Rev. 01 available!   +==+


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



Re: indirection in bus space

2000-01-21 Thread KATO Takenori

Do you remember this topic?  I have revised the indirection support
patch.  What I have changed are:
  - to make diff files more readable
  - introduce the bus_simple_create_bsh() that creates
a bus_space_handle_tag from a base address.

I have made PC98 GENERIC98 kernel and i386 LINT kernel and both of
them can be compiled.

Changed and new files are as follows:
  alpha/include/bus.h
  i386/include/bus.h
  i386/include/bus_at386.h (new file)
  i386/include/bus_pc98.h (new file)
  i386/i386/nexus.c
  i386/isa/isa.c
  dev/advansys/adv_isa.c
  dev/advansys/adv_pci.c
  pci/amd.c
  pci/isp_pci.c

I put new files and diffs as follows:
  http://www.FreeBSD.ORG/~kato/busspace/index.html
 INDEX

  http://www.FreeBSD.ORG/~kato/busspace/alpha_bus.h.diff
 diff between old bus.h and new bus.h

  http://www.FreeBSD.ORG/~kato/busspace/i386_bus.h
 i386/include/bus.h

  http://www.FreeBSD.ORG/~kato/busspace/bus_at386.h
 i386/include/bus_at386.h

  http://www.FreeBSD.ORG/~kato/busspace/bus_at386.h.diff
 diff between old bus.h and bus_at386.h

  http://www.FreeBSD.ORG/~kato/busspace/bus_pc98.h
 i386/include/bus_pc98.h

  http://www.FreeBSD.ORG/~kato/busspace/bus_pc98.h.diff
 diff between old bus.h and bus_pc98.h

  http://www.FreeBSD.ORG/~kato/busspace/isa.c.diff
 diff of i386/isa/isa.c

  http://www.FreeBSD.ORG/~kato/busspace/nexus.c.diff
 diff of i386/i386/nexus.c

  http://www.FreeBSD.ORG/~kato/busspace/adv_isa.c.diff
 diff of dev/advansys/adv_isa.c

  http://www.FreeBSD.ORG/~kato/busspace/adv_pci.c.diff
 diff of dev/advansys/adv_pci.c

  http://www.FreeBSD.ORG/~kato/busspace/amd.c.diff
 diff of pci/amd.c

  http://www.FreeBSD.ORG/~kato/busspace/isp_pci.c.diff
 diff of pci/isp_pci.c

Thank you.

---+--+
KATO Takenori <[EMAIL PROTECTED]>  |FreeBSD   |
Dept. Earth Planet. Sci, Nagoya Univ.  |The power to serve!   |
Nagoya, 464-8602, Japan|  http://www.FreeBSD.org/ |
   |http://www.jp.FreeBSD.org/|
 FreeBSD(98) 3.3R-Rev. 01 available!   +==+


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



Re: indirection in bus space

1999-12-26 Thread KATO Takenori

FreeBSD-hackers list is added.

KATO Takenori <[EMAIL PROTECTED]> wrote:

> I didn't realize the difference in type of bus_space_handle_t.  So,
> bus.h needs to be separated into bus_at386.h and bus_pc98.h.


I revised bus space patch.  This patch does:
   1. copy bus.h to bus_at386.h.  The bus_at386.h doesn't support
  indirection.
   2. add bus_pc98.h.  The bus_pc98.h supports indirection.
   3. make new bus.h.  The bus.h includes bus_at386.h or bus_pc98.h.
   4. modify isa.c and nexus.c to support indirection.

Indirection is enabled only when PC98 is defined.

Because the pache is too large to attach on this mail, I put it as:

http://www.freebsd.org/~kato/patches/busspace.diff.gz

---+--+
KATO Takenori <[EMAIL PROTECTED]>  |FreeBSD   |
Dept. Earth Planet. Sci, Nagoya Univ.  |The power to serve!   |
Nagoya, 464-8602, Japan|  http://www.FreeBSD.org/ |
   |http://www.jp.FreeBSD.org/|
 FreeBSD(98) 3.3R-Rev. 01 available!   +==+


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



Re: indirection in bus space

1999-12-25 Thread KATO Takenori

KATO Takenori <[EMAIL PROTECTED]> wrote:

> Only one #ifdef in the diff makes it needless.  In this patch,

I didn't realize the difference in type of bus_space_handle_t.  So,
bus.h needs to be separated into bus_at386.h and bus_pc98.h.

---+--+
KATO Takenori <[EMAIL PROTECTED]>  |FreeBSD   |
Dept. Earth Planet. Sci, Nagoya Univ.  |The power to serve!   |
Nagoya, 464-8602, Japan|  http://www.FreeBSD.org/ |
   |http://www.jp.FreeBSD.org/|
 FreeBSD(98) 3.3R-Rev. 01 available!   +==+


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



Re: indirection in bus space

1999-12-24 Thread KATO Takenori

Oops, I forget to include patches.

KATO Takenori <[EMAIL PROTECTED]> wrote:

> Attached patches provides indirection support in bus space stuff
> (submitted by Takahashi-san <[EMAIL PROTECTED]> with minor modification
> by me).  
> 
> I <[EMAIL PROTECTED]> wrote:
> 
> >3. Make new sys/i386/include/bus.h file as:
> > #ifdef PC98
> > #include 
> > #else
> > #include 
> > #endif
> 
> Only one #ifdef in the diff makes it needless.  In this patch,
> indirection is enabled by default in PC-98 kernel and is disabled by
> default in IBM-PC kernel.  That is, there is no performance loss in
> IBM-PC kernel.
> 
> Any comment?
> 
> 
> Thanks.

---+--+
KATO Takenori <[EMAIL PROTECTED]>  |FreeBSD   |
Dept. Earth Planet. Sci, Nagoya Univ.  |The power to serve!   |
Nagoya, 464-8602, Japan|  http://www.FreeBSD.org/ |
   |http://www.jp.FreeBSD.org/|
 FreeBSD(98) 3.3R-Rev. 01 available!   +==+


--- bus.h.orig  Sat Dec 25 13:06:10 1999
+++ bus.h   Sat Dec 25 13:21:41 1999
@@ -72,14 +72,18 @@
 #ifndef _I386_BUS_H_
 #define _I386_BUS_H_
 
+#include 
 #include 
 
 /*
- * To remain compatible with NetBSD's interface, default to both memio and
- * pio when neither of them is defined.
+ * To remain compatible with NetBSD's interface, default to memio, pio and
+ * pio-indirection (PC-98 only) when neither of them is defined.
  */ 
-#if !defined(_I386_BUS_PIO_H_) && !defined(_I386_BUS_MEMIO_H_)
+#if !defined(_I386_BUS_PIO_H_) && !defined(_I386_BUS_PIO_IND_H_) && 
+!defined(_I386_BUS_MEMIO_H_)
 #define _I386_BUS_PIO_H_
+#ifdef PC98
+#define _I386_BUS_PIO_IND_H_
+#endif
 #define _I386_BUS_MEMIO_H_
 #endif
 
@@ -88,6 +92,7 @@
  */
 #defineI386_BUS_SPACE_IO   0   /* space is i/o space */
 #define I386_BUS_SPACE_MEM 1   /* space is mem space */
+#defineI386_BUS_SPACE_IO_IND   2   /* space is i/o space */
 
 /*
  * Bus address and size types
@@ -107,8 +112,25 @@
 /*
  * Access methods for bus resources and address space.
  */
+struct resource;
+
 typedefint bus_space_tag_t;
-typedefu_int bus_space_handle_t;
+typedefstruct {
+bus_addr_t bsh_base;
+bus_addr_t *bsh_iat;
+size_t bsh_iatsz;
+struct resource**bsh_res;
+size_t bsh_ressz;
+} bus_space_handle_t;
+
+/*
+ * Allocate discontinuous resources for ISA bus.
+ */
+struct resource *
+isa_alloc_resourcev(device_t child, int type, int *rid,
+   bus_addr_t *res, bus_size_t count, u_int flags);
+int
+isa_load_resourcev(struct resource *re, bus_addr_t *res, bus_size_t count);
 
 /*
  * Map a region of device bus space into CPU virtual address space.
@@ -151,7 +173,7 @@
 void   bus_space_free(bus_space_tag_t t, bus_space_handle_t bsh,
   bus_size_t size);
 
-#if defined(_I386_BUS_PIO_H_) || defined(_I386_BUS_MEMIO_H_)
+#if defined(_I386_BUS_PIO_H_) || defined(_I386_BUS_PIO_IND_H_) || 
+defined(_I386_BUS_MEMIO_H_)
 
 /*
  * Read a 1, 2, 4, or 8 byte quantity from bus space
@@ -170,47 +192,74 @@
   bus_size_t offset);
 
 static __inline u_int8_t
-bus_space_read_1(bus_space_tag_t tag, bus_space_handle_t handle,
+bus_space_read_1(bus_space_tag_t tag, bus_space_handle_t bsh,
 bus_size_t offset)
 {
-#if defined (_I386_BUS_PIO_H_)
-#if defined (_I386_BUS_MEMIO_H_)
+#if defined(_I386_BUS_PIO_H_)
+#if defined(_I386_BUS_PIO_IND_H_) || defined(_I386_BUS_MEMIO_H_)
if (tag == I386_BUS_SPACE_IO)
 #endif
-   return (inb(handle + offset));
+   return (inb(bsh.bsh_base + offset));
+#endif
+#if defined(_I386_BUS_PIO_IND_H_)
+#if defined(_I386_BUS_PIO_H_) || defined(_I386_BUS_MEMIO_H_)
+   if (tag == I386_BUS_SPACE_IO_IND)
+#endif
+   return (inb(bsh.bsh_iat[offset]));
 #endif
-#if defined (_I386_BUS_MEMIO_H_)
-   return (*(volatile u_int8_t *)(handle + offset));
+#if defined(_I386_BUS_MEMIO_H_)
+#if defined(_I386_BUS_PIO_H_) || defined(_I386_BUS_PIO_IND_H_)
+   else
+#endif
+   return (*(volatile u_int8_t *)(bsh.bsh_base + offset));
 #endif
 }
 
 static __inline u_int16_t
-bus_space_read_2(bus_space_tag_t tag, bus_space_handle_t handle,
+bus_space_read_2(bus_space_tag_t tag, bus_space_handle_t bsh,
 bus_size_t offset)
 {
 #if defined(_I386_BUS_PIO_H_)
-#if defined(_I386_BUS_MEMIO_H_)
+#if defined(_I386_BUS_PIO_IND_H_) || defined(_I386_BUS_MEMIO_H_)
if (tag == I386_BUS_SPACE_IO)
 #endif
-   return (inw(handle + offset));
+   return (inw(bsh.bsh_base + offset));
+#endif
+#if defined(_I386_BUS_PIO_IND_H_)
+#if defined(_I386_BUS_PIO_H_) || defined(_I386_BUS_MEMIO_H_)
+   if (tag == I386_BUS_SPACE_IO_IND)
+#endif
+   return (inw(bsh.bsh_iat[offset]));
 #e

Re: indirection in bus space

1999-12-24 Thread KATO Takenori

Attached patches provides indirection support in bus space stuff
(submitted by Takahashi-san <[EMAIL PROTECTED]> with minor modification
by me).  

I <[EMAIL PROTECTED]> wrote:

>3. Make new sys/i386/include/bus.h file as:
>   #ifdef PC98
>   #include 
>   #else
>   #include 
>   #endif

Only one #ifdef in the diff makes it needless.  In this patch,
indirection is enabled by default in PC-98 kernel and is disabled by
default in IBM-PC kernel.  That is, there is no performance loss in
IBM-PC kernel.

Any comment?


Thanks.

---+--+
KATO Takenori <[EMAIL PROTECTED]>  |FreeBSD   |
Dept. Earth Planet. Sci, Nagoya Univ.  |The power to serve!   |
Nagoya, 464-8602, Japan|  http://www.FreeBSD.org/ |
   |http://www.jp.FreeBSD.org/|
 FreeBSD(98) 3.3R-Rev. 01 available!   +==+


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



indirection in bus space

1999-12-22 Thread KATO Takenori

I'm planning to commit the bus space code(*) supporting indirection
into current for PC-98.  As far as I know, only PC-98 needs
indirection.  So, it will be enabled only when the `PC98' is defined
to avoid performance loss on IBM-PCs.

(*)The code is submitted by Takahashi-san <[EMAIL PROTECTED]>.

My plan is as follows:
   1. copy sys/i386/include/bus.h to sys/i386/include/bus_at386.h
   2. put sys/i386/include/bus_pc98.h into the sys/i386/include
  directory.
   3. Make new sys/i386/include/bus.h file as:
#ifdef PC98
#include 
#else
#include 
#endif
   4. Make new file bus_pio_ind.h.  This file only defines
  _I386_BUS_PIO_IND_H.

New functions isa_alloc_resourcev() and isa_load_resourcev are added
to support indirection in isa.c.  Also, nexus.c is modifed.  I'll fork 
these files int sys/pc98/pc98 and sys/pc98/i386.

Is there any comments?

---+--+
KATO Takenori <[EMAIL PROTECTED]>  |FreeBSD   |
Dept. Earth Planet. Sci, Nagoya Univ.  |The power to serve!   |
Nagoya, 464-8602, Japan|  http://www.FreeBSD.org/ |
   |http://www.jp.FreeBSD.org/|
 FreeBSD(98) 3.3R-Rev. 01 available!   +==+


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