* Merge back of the MIPS sources @ 1997-06-06 15:27 Ralf Baechle 1997-06-06 17:31 ` Ariel Faigon 0 siblings, 1 reply; 14+ messages in thread From: Ralf Baechle @ 1997-06-06 15:27 UTC (permalink / raw) To: linux Hi, I've started to merge the MIPS changes into David's CVS archive. The first and biggest bundle of patches to include/asm-mips/ and arch/mips/ should be released by Linus in 2.1.44. Ralf ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-06 15:27 Merge back of the MIPS sources Ralf Baechle @ 1997-06-06 17:31 ` Ariel Faigon 1997-06-06 17:32 ` Ralf Baechle 0 siblings, 1 reply; 14+ messages in thread From: Ariel Faigon @ 1997-06-06 17:31 UTC (permalink / raw) To: linux : :Hi, : :I've started to merge the MIPS changes into David's CVS archive. The :first and biggest bundle of patches to include/asm-mips/ and arch/mips/ :should be released by Linus in 2.1.44. : : Ralf : When we have our SGI/MIPS/Linux code rolled into the mainstream Linux distribution it will definitely be a pretty important milestone. Way to go! -- Peace, Ariel ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-06 17:31 ` Ariel Faigon @ 1997-06-06 17:32 ` Ralf Baechle 1997-06-06 18:07 ` Bob Mende Pie 0 siblings, 1 reply; 14+ messages in thread From: Ralf Baechle @ 1997-06-06 17:32 UTC (permalink / raw) To: ariel; +Cc: linux > :Hi, > : > :I've started to merge the MIPS changes into David's CVS archive. The > :first and biggest bundle of patches to include/asm-mips/ and arch/mips/ > :should be released by Linus in 2.1.44. > : > : Ralf > : > > When we have our SGI/MIPS/Linux code rolled into the > mainstream Linux distribution it will definitely be > a pretty important milestone. Way to go! Yes, indeed. It was also important to at merge at least a major fraction of the sources back since the stuff in Linus distribution is already pretty dated and some people were therefore believing the MIPS project would be dead. While as you know exactly the opposite is true ... Ralf ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-06 17:32 ` Ralf Baechle @ 1997-06-06 18:07 ` Bob Mende Pie 1997-06-06 18:36 ` Ralf Baechle 1997-06-09 18:36 ` William J. Earl 0 siblings, 2 replies; 14+ messages in thread From: Bob Mende Pie @ 1997-06-06 18:07 UTC (permalink / raw) To: ralf; +Cc: ariel, linux Ralf, Have you verified that the newest code still works on the other MIPS based systems? Also, is it possible to have (linux) binary compatability between a mips Magnum or Millennium and an Indy? There is a 50Mhz Millennium over here that we might be able to use as a test system. /Bob... mailto:mende@sgi.com http://reality.sgi.com/mende/ KF6EID ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-06 18:07 ` Bob Mende Pie @ 1997-06-06 18:36 ` Ralf Baechle 1997-06-06 18:36 ` Ralf Baechle 1997-06-09 18:42 ` William J. Earl 1997-06-09 18:36 ` William J. Earl 1 sibling, 2 replies; 14+ messages in thread From: Ralf Baechle @ 1997-06-06 18:36 UTC (permalink / raw) To: Bob Mende Pie; +Cc: ralf, ariel, linux > Have you verified that the newest code still works on the other MIPS > based systems? Also, is it possible to have (linux) binary compatability > between a mips Magnum or Millennium and an Indy? By principle there is no problem to feed these machines even with IRIX binaries. Right now the port to these machines assumes that it is running on the machine configured to little endian mode but porting to big endian should be easy. > There is a 50Mhz Millennium over here that we might be able to use as a > test system. The support for these machines is currently not complete yet. We don't yet have SCSI driver which should be easy to write because the machine also uses the same NCR53C94 / FAS213 SCSI chip as the Sparc port already does. In fact I'd be very happy if someone would take care of these machines. By supporting the Millenium we'd also have most of the support for the Olivetti M700 (mostly an OEM Magnum), Acer PICA, certain machines based on a Toshiba chipset and at least partially the NEC RISCstation series. > /Bob... mailto:mende@sgi.com > http://reality.sgi.com/mende/ KF6EID 73 de Ralf ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-06 18:36 ` Ralf Baechle @ 1997-06-06 18:36 ` Ralf Baechle 1997-06-09 18:42 ` William J. Earl 1 sibling, 0 replies; 14+ messages in thread From: Ralf Baechle @ 1997-06-06 18:36 UTC (permalink / raw) To: Bob Mende Pie; +Cc: ralf, ariel, linux > Have you verified that the newest code still works on the other MIPS > based systems? Also, is it possible to have (linux) binary compatability > between a mips Magnum or Millennium and an Indy? By principle there is no problem to feed these machines even with IRIX binaries. Right now the port to these machines assumes that it is running on the machine configured to little endian mode but porting to big endian should be easy. > There is a 50Mhz Millennium over here that we might be able to use as a > test system. The support for these machines is currently not complete yet. We don't yet have SCSI driver which should be easy to write because the machine also uses the same NCR53C94 / FAS213 SCSI chip as the Sparc port already does. In fact I'd be very happy if someone would take care of these machines. By supporting the Millenium we'd also have most of the support for the Olivetti M700 (mostly an OEM Magnum), Acer PICA, certain machines based on a Toshiba chipset and at least partially the NEC RISCstation series. > /Bob... mailto:mende@sgi.com > http://reality.sgi.com/mende/ KF6EID 73 de Ralf ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-06 18:36 ` Ralf Baechle 1997-06-06 18:36 ` Ralf Baechle @ 1997-06-09 18:42 ` William J. Earl 1997-06-09 18:42 ` William J. Earl 1 sibling, 1 reply; 14+ messages in thread From: William J. Earl @ 1997-06-09 18:42 UTC (permalink / raw) To: Ralf Baechle; +Cc: Bob Mende Pie, ariel, linux Ralf Baechle writes: > > Have you verified that the newest code still works on the other MIPS > > based systems? Also, is it possible to have (linux) binary compatability > > between a mips Magnum or Millennium and an Indy? > > By principle there is no problem to feed these machines even with IRIX > binaries. Right now the port to these machines assumes that it is running > on the machine configured to little endian mode but porting to big endian > should be easy. Note, however, that running big-endian on the MIPS systems is a bit of a hack. They were originally designed to be little-endian-only (a MIPS management aberration), so running big-endian means that, in general, I/O DMA has to be byte-swapped by software. RISCos would preferentially write file systems on disks in native-endian format, which, if read on a different system, would appear to be byte-swapped within each doubleword. That is, RISCos would skip the byte-swapping on non-removable media, unless the magic number in the superblock indicated that the disk was initialized in true big-endian format. For all other media, RISCos would byte-swap, but, since those were much lower data rate, the performance impact was small. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-09 18:42 ` William J. Earl @ 1997-06-09 18:42 ` William J. Earl 0 siblings, 0 replies; 14+ messages in thread From: William J. Earl @ 1997-06-09 18:42 UTC (permalink / raw) To: Ralf Baechle; +Cc: Bob Mende Pie, ariel, linux Ralf Baechle writes: > > Have you verified that the newest code still works on the other MIPS > > based systems? Also, is it possible to have (linux) binary compatability > > between a mips Magnum or Millennium and an Indy? > > By principle there is no problem to feed these machines even with IRIX > binaries. Right now the port to these machines assumes that it is running > on the machine configured to little endian mode but porting to big endian > should be easy. Note, however, that running big-endian on the MIPS systems is a bit of a hack. They were originally designed to be little-endian-only (a MIPS management aberration), so running big-endian means that, in general, I/O DMA has to be byte-swapped by software. RISCos would preferentially write file systems on disks in native-endian format, which, if read on a different system, would appear to be byte-swapped within each doubleword. That is, RISCos would skip the byte-swapping on non-removable media, unless the magic number in the superblock indicated that the disk was initialized in true big-endian format. For all other media, RISCos would byte-swap, but, since those were much lower data rate, the performance impact was small. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-06 18:07 ` Bob Mende Pie 1997-06-06 18:36 ` Ralf Baechle @ 1997-06-09 18:36 ` William J. Earl 1997-06-10 10:59 ` Ralf Baechle 1 sibling, 1 reply; 14+ messages in thread From: William J. Earl @ 1997-06-09 18:36 UTC (permalink / raw) To: Bob Mende Pie; +Cc: ralf, ariel, linux Bob Mende Pie writes: > Ralf, > > Have you verified that the newest code still works on the other MIPS > based systems? Also, is it possible to have (linux) binary compatability > between a mips Magnum or Millennium and an Indy? > There is a 50Mhz Millennium over here that we might be able to use as a > test system. If the MIPS system is running big-endian (as under RISCos), it can be binary-compatible with Indy linux, just as RISCos 5.01 -systype svr4 binaries are binary-compatible with Indy IRIX 5.1 and later systems. If the MIPS system is running little-endian (as under NT), it cannot be binary-compatible with Indy linux, without adding bi-endian support (for running opposite-endian binaries, which is feasible, but messy). We prototyped bi-endian support in RISCos when before the Magnum was built, and it worked, but the code was very ugly in the streams area. linux would likely be easier, but still a hassle. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-09 18:36 ` William J. Earl @ 1997-06-10 10:59 ` Ralf Baechle 1997-06-10 10:59 ` Ralf Baechle 1997-06-10 17:48 ` William J. Earl 0 siblings, 2 replies; 14+ messages in thread From: Ralf Baechle @ 1997-06-10 10:59 UTC (permalink / raw) To: William J. Earl; +Cc: mende, ralf, ariel, linux > If the MIPS system is running big-endian (as under RISCos), it can > be binary-compatible with Indy linux, just as RISCos 5.01 -systype svr4 > binaries are binary-compatible with Indy IRIX 5.1 and later systems. > If the MIPS system is running little-endian (as under NT), it cannot > be binary-compatible with Indy linux, without adding bi-endian support > (for running opposite-endian binaries, which is feasible, but messy). > We prototyped bi-endian support in RISCos when before the Magnum > was built, and it worked, but the code was very ugly in the streams > area. linux would likely be easier, but still a hassle. Now that the overhead of accessing the userspace from the kernel under Linux is very close to zero I fear that the additional overhead of the byteorder conversion will show up very clearly in benchmarks unless someone comes up with very clever ideas how do this. Do you have numbers how much the impact on RISC/os performance was? Ralf ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-10 10:59 ` Ralf Baechle @ 1997-06-10 10:59 ` Ralf Baechle 1997-06-10 17:48 ` William J. Earl 1 sibling, 0 replies; 14+ messages in thread From: Ralf Baechle @ 1997-06-10 10:59 UTC (permalink / raw) To: William J. Earl; +Cc: mende, ralf, ariel, linux > If the MIPS system is running big-endian (as under RISCos), it can > be binary-compatible with Indy linux, just as RISCos 5.01 -systype svr4 > binaries are binary-compatible with Indy IRIX 5.1 and later systems. > If the MIPS system is running little-endian (as under NT), it cannot > be binary-compatible with Indy linux, without adding bi-endian support > (for running opposite-endian binaries, which is feasible, but messy). > We prototyped bi-endian support in RISCos when before the Magnum > was built, and it worked, but the code was very ugly in the streams > area. linux would likely be easier, but still a hassle. Now that the overhead of accessing the userspace from the kernel under Linux is very close to zero I fear that the additional overhead of the byteorder conversion will show up very clearly in benchmarks unless someone comes up with very clever ideas how do this. Do you have numbers how much the impact on RISC/os performance was? Ralf ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-10 10:59 ` Ralf Baechle 1997-06-10 10:59 ` Ralf Baechle @ 1997-06-10 17:48 ` William J. Earl 1997-06-10 20:22 ` Ralf Baechle 1 sibling, 1 reply; 14+ messages in thread From: William J. Earl @ 1997-06-10 17:48 UTC (permalink / raw) To: Ralf Baechle; +Cc: mende, ralf, ariel, linux Ralf Baechle writes: > > If the MIPS system is running big-endian (as under RISCos), it can > > be binary-compatible with Indy linux, just as RISCos 5.01 -systype svr4 > > binaries are binary-compatible with Indy IRIX 5.1 and later systems. > > If the MIPS system is running little-endian (as under NT), it cannot > > be binary-compatible with Indy linux, without adding bi-endian support > > (for running opposite-endian binaries, which is feasible, but messy). > > We prototyped bi-endian support in RISCos when before the Magnum > > was built, and it worked, but the code was very ugly in the streams > > area. linux would likely be easier, but still a hassle. > > Now that the overhead of accessing the userspace from the kernel under > Linux is very close to zero I fear that the additional overhead of the > byteorder conversion will show up very clearly in benchmarks unless > someone comes up with very clever ideas how do this. Do you have > numbers how much the impact on RISC/os performance was? I don't have the numbers ready to hand, but it was not huge for most things, given the hack of running the disk wrong-endian. CPU overhead for non-disk DMA I/O was higher, of course, but there is no extra overhead for operations where all the arguments are in registers. (An integer in a register is the same, no matter which endian you are.) getpid(), for example, is unaffected. Similarly, read() and write() to disk are unaffected. On the other hand, stat() is a little slower. Note that endian data conversion is not blind byte swapping for structures such a stat. Instead, it is a field-by-field operation, since the MIPS reverse-endian mode affects only addressing, not the layout of the bytes of, say, an integer in memory. A 32-bit integer will be at a different offset from the base of the structure (4, say, instead of 0), but the byte order in memory will be the same. The byte numbering of memory is different, which is how it appears that the bytes have been swapped. The structure conversion routines can thus be compiled fairly efficiently, avoiding runtime structure offset calculations for the most part (except for arrays embedded in structures). If this starts to look worth doing, I can supply more imformation, such as examples of how to efficiently convert structures. ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-10 17:48 ` William J. Earl @ 1997-06-10 20:22 ` Ralf Baechle 1997-06-10 20:22 ` Ralf Baechle 0 siblings, 1 reply; 14+ messages in thread From: Ralf Baechle @ 1997-06-10 20:22 UTC (permalink / raw) To: William J. Earl; +Cc: ralf, mende, ralf, ariel, linux > I don't have the numbers ready to hand, but it was not huge for most > things, given the hack of running the disk wrong-endian. CPU overhead > for non-disk DMA I/O was higher, of course, but there is no extra > overhead for operations where all the arguments are in registers. > (An integer in a register is the same, no matter which endian you are.) > getpid(), for example, is unaffected. Similarly, read() and write() > to disk are unaffected. On the other hand, stat() is a little slower. > > Note that endian data conversion is not blind byte swapping for > structures such a stat. Instead, it is a field-by-field operation, > since the MIPS reverse-endian mode affects only addressing, not the > layout of the bytes of, say, an integer in memory. A 32-bit integer > will be at a different offset from the base of the structure (4, say, > instead of 0), but the byte order in memory will be the same. The > byte numbering of memory is different, which is how it appears that > the bytes have been swapped. The structure conversion routines can > thus be compiled fairly efficiently, avoiding runtime structure offset > calculations for the most part (except for arrays embedded in > structures). > > If this starts to look worth doing, I can supply more imformation, > such as examples of how to efficiently convert structures. This definately is worth doing. We have a couple of machines where we can not configure byteorder of the kernel to big endian like DECstations or the Acer PICA, essentially a downscaled Magnum with an Indy style L2 cache intended for NT. If we ever want to give them a chance to run commercial software, then we need to go biendian. And we need to implement it very clean or Linus will never accept the patches. Luckily the functions get_user() and put_user in <asm/uaccess.h> do already a large part of the work for us but nevertheless we need to go through all the code once again. So maybe this is not something for now but definately worth doing. Ralf ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: Merge back of the MIPS sources 1997-06-10 20:22 ` Ralf Baechle @ 1997-06-10 20:22 ` Ralf Baechle 0 siblings, 0 replies; 14+ messages in thread From: Ralf Baechle @ 1997-06-10 20:22 UTC (permalink / raw) To: William J. Earl; +Cc: ralf, mende, ralf, ariel, linux > I don't have the numbers ready to hand, but it was not huge for most > things, given the hack of running the disk wrong-endian. CPU overhead > for non-disk DMA I/O was higher, of course, but there is no extra > overhead for operations where all the arguments are in registers. > (An integer in a register is the same, no matter which endian you are.) > getpid(), for example, is unaffected. Similarly, read() and write() > to disk are unaffected. On the other hand, stat() is a little slower. > > Note that endian data conversion is not blind byte swapping for > structures such a stat. Instead, it is a field-by-field operation, > since the MIPS reverse-endian mode affects only addressing, not the > layout of the bytes of, say, an integer in memory. A 32-bit integer > will be at a different offset from the base of the structure (4, say, > instead of 0), but the byte order in memory will be the same. The > byte numbering of memory is different, which is how it appears that > the bytes have been swapped. The structure conversion routines can > thus be compiled fairly efficiently, avoiding runtime structure offset > calculations for the most part (except for arrays embedded in > structures). > > If this starts to look worth doing, I can supply more imformation, > such as examples of how to efficiently convert structures. This definately is worth doing. We have a couple of machines where we can not configure byteorder of the kernel to big endian like DECstations or the Acer PICA, essentially a downscaled Magnum with an Indy style L2 cache intended for NT. If we ever want to give them a chance to run commercial software, then we need to go biendian. And we need to implement it very clean or Linus will never accept the patches. Luckily the functions get_user() and put_user in <asm/uaccess.h> do already a large part of the work for us but nevertheless we need to go through all the code once again. So maybe this is not something for now but definately worth doing. Ralf ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~1997-06-10 21:55 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 1997-06-06 15:27 Merge back of the MIPS sources Ralf Baechle 1997-06-06 17:31 ` Ariel Faigon 1997-06-06 17:32 ` Ralf Baechle 1997-06-06 18:07 ` Bob Mende Pie 1997-06-06 18:36 ` Ralf Baechle 1997-06-06 18:36 ` Ralf Baechle 1997-06-09 18:42 ` William J. Earl 1997-06-09 18:42 ` William J. Earl 1997-06-09 18:36 ` William J. Earl 1997-06-10 10:59 ` Ralf Baechle 1997-06-10 10:59 ` Ralf Baechle 1997-06-10 17:48 ` William J. Earl 1997-06-10 20:22 ` Ralf Baechle 1997-06-10 20:22 ` Ralf Baechle
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox