Re: fuword(), suword(), etc.

2003-07-26 Thread Terry Lambert
Shawn wrote:
 On Fri, 2003-07-25 at 01:42, Terry Lambert wrote:
  I do know that even if they remove the bridge, they are unlikely
  to provide enough documentation to boot and run natively on the
  hardware without having IBM code setting up the bus arbitration
  and other bits that are currently undocumented.
 
 Why would IBM try to hide this? Wouldn't they *want* people to take full
 advantage of the processor for the best performance to help give their
 product a good image?

Adaptec didn't document their hardware to prevent people from cloning
its interface in order to leverage the driver developement effort
and advocacy it took to get their drivers into Windows.

Diamond Multimedia didn't document their video cards because they
had a hardware guy instead of a Real Software Engineer design their
BIOS interface, and there was no non-Diamond-BIOS-accessible table
of the PAL imputs vs. the video mode self-docmented in their BIOS,
and they wanted to be able to change PAL and BIOS in tandem to add
updated features to their cards, without changing their overall card
design.

There are a lot of comapnies who don't document their hardware for
reasons of liability, when their documentation is incorrect and thus
causes their hardware to fail, sometimes by cooking.

Intel doesn't docuyment their full errata on their processors because
then people wouldn't buy stock-on-hand, if they knew a stepping without
a particular errata existed that didn't have the problem in question.

How much of an excuse do they need?

-- Terry
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-26 Thread Julian Elischer
geeze terry would you mind unhijacking this topic?

The topic is

Should we have an suptr() and fuptr() to match suword() and fuword()?



On Fri, 25 Jul 2003, Terry Lambert wrote:

[tonnes of absolutly irrelevant stuff]

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-26 Thread Terry Lambert
Julian Elischer wrote:
 geeze terry would you mind unhijacking this topic?
 
 The topic is
 
 Should we have an suptr() and fuptr() to match suword() and fuword()?

I'm not the one who posted the question without changing the
subject line; please read the thread history.

In answer to your question, my answer is still:

How do you intend to deal with 32 and 64 bit address spaces
 on the same machine, if all you have is one function for the
 copyin and one for the copyout?.

Or is there no intent to allow IA32 binaries to run on IA64,
never ever ever?

-- Terry
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-26 Thread Marcel Moolenaar
On Sat, Jul 26, 2003 at 12:08:29AM -0700, Terry Lambert wrote:
 
 In answer to your question, my answer is still:
 
 How do you intend to deal with 32 and 64 bit address spaces
  on the same machine, if all you have is one function for the
  copyin and one for the copyout?.
 
 Or is there no intent to allow IA32 binaries to run on IA64,
 never ever ever?

What does that have to do with anything? Adding fuptr()/suptr()
has no consequences for supporting or not supporting different
memory models with different pointer sizes. The functions are
defined to operate on native (kernel PoV) pointers. Any non-
native (kernel PoV) ABI has a non-native ABI handler that does
all the mapping, converting and copying bits from userland to
kernel and vice versa.

And I can't believe I actually wasted my time telling you this
when you only have to use your head instead of your keyboard.

-- 
 Marcel Moolenaar USPA: A-39004  [EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-25 Thread Adrian Chadd
On Thu, Jul 24, 2003, Terry Lambert wrote:
 Marcel Moolenaar wrote:
   for i386 it would be an alternate name for fuword32() and suword32()
   I'm not sure what it would be on other architectures
  
  fuword64 and suword64. PowerPC is like i386.
 
 PPC 970 explicitly supports mixed mode programming between user
 and kernel, as do most other 64 bit processors, in order to support
 legacy applications.
 
 It's actually unlikely that IBM will ever release enough documentation
 to get a full 64 bit Linux running on a PPC 970, let alone FreeBSD,
 and that you will be stuck with a 32 bit kernel that runs 64 bit apps,
 and which talks to IBM's internal undocumented glue on the bottom end
 while running in a virtual environment, such that the interfaces to
 that glue are not exposed in the source code they publish.

Will any releases of MacOS X have the full 64 bit code?

Will Darwin ever be released with the full 64 bit code?





Adrian

-- 
Adrian Chaddangryskul learning is bad
[EMAIL PROTECTED]   angryskul it just makes the people around you 
dumber
(angryskul == [EMAIL PROTECTED])angryskul :(

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-25 Thread Terry Lambert
Shawn wrote:
 On Thu, 2003-07-24 at 03:40, Terry Lambert wrote:
  It's actually unlikely that IBM will ever release enough documentation
  to get a full 64 bit Linux running on a PPC 970, let alone FreeBSD,
  and that you will be stuck with a 32 bit kernel that runs 64 bit apps,
  and which talks to IBM's internal undocumented glue on the bottom end
  while running in a virtual environment, such that the interfaces to
  that glue are not exposed in the source code they publish.
 
 That's very interesting to me as IBM has been rather forthcoming about
 making sure everyone knows that the 32bit bridge was only temporary and
 to not rely on it being there in the future. I would hope that would
 indicate that they may be willing to release more informaation in the
 future regarding this. Of course, what do I know? :p

IBM doesn't want people running 32 bit code on their 64 bit
hardware forever, and making it look bad, so they have stated
publically that they intend to withdraw support for the 32 bit
bridge in the future, I'll agree.

As to whether this will really happen, or is just a scare tactic
to prevent people from writing new code that depends on the bridge
(which is supposed to be there only to provide support for old
code), I don't know; I haven't worked for IBM for nearly 3 years
now.  Maybe Greg Lehey can comment.

I do know that even if they remove the bridge, they are unlikely
to provide enough documentation to boot and run natively on the
hardware without having IBM code setting up the bus arbitration
and other bits that are currently undocumented.

-- Terry
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-25 Thread Terry Lambert
Adrian Chadd wrote:
 Will any releases of MacOS X have the full 64 bit code?
 
 Will Darwin ever be released with the full 64 bit code?

I don't know; you could always ask Jordan.

-- Terry
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-25 Thread Shawn
On Fri, 2003-07-25 at 01:42, Terry Lambert wrote:
 I do know that even if they remove the bridge, they are unlikely
 to provide enough documentation to boot and run natively on the
 hardware without having IBM code setting up the bus arbitration
 and other bits that are currently undocumented.

Why would IBM try to hide this? Wouldn't they *want* people to take full
advantage of the processor for the best performance to help give their
product a good image?

-- 
Shawn [EMAIL PROTECTED]
http://drevil.warpcore.org/

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-24 Thread Pawel Jakub Dawidek
On Wed, Jul 23, 2003 at 02:48:41PM -0700, Julian Elischer wrote:
+ I'd like to have a suptr and fuptr to be able to save and read
+ user pointers in a machine independent manner..
+ at the moment ia need to know the size of a pointer and select the
+ appropriate 32 or 64 version.. It would jus tbe another ENTRY files in 
+ support.[sS] alongside teh appropriate sized entry
+ for each architecture so it wouldn't 'cost' anything..
+ 
+ for i386 it would be an alternate name for fuword32() and suword32()
+ I'm not sure what it would be on other architectures
+ 
+ comments?

Yes, good idea. I'm using for now something like this:

static __inline void *
fuptr(void *uaddr)
{
void *ptr;

if (copyin(uaddr, ptr, sizeof(void *)) != 0)
return ((void *)-1);

return (ptr);
}

For numbers is always better to use copyin(9)/copyout(9). Functions
like fubyte(9), etc. make no sens for me. -1 is returned on error or
if there is really -1, so one isn't able to find out if there is an
error or not.

-- 
Pawel Jakub Dawidek   [EMAIL PROTECTED]
UNIX Systems Programmer/Administrator http://garage.freebsd.pl
Am I Evil? Yes, I Am! http://cerber.sourceforge.net


pgp0.pgp
Description: PGP signature


Re: fuword(), suword(), etc.

2003-07-24 Thread Terry Lambert
Julian Elischer wrote:
 I'd like to have a suptr and fuptr to be able to save and read
 user pointers in a machine independent manner..
 at the moment ia need to know the size of a pointer and select the
 appropriate 32 or 64 version.. It would jus tbe another ENTRY files in
 support.[sS] alongside teh appropriate sized entry
 for each architecture so it wouldn't 'cost' anything..
 
 for i386 it would be an alternate name for fuword32() and suword32()
 I'm not sure what it would be on other architectures
 
 comments?

You cannot be certain that specific user space pointers are 64
bits on a 32 bit kernel or 32 bits on on a 64 bit kernel, etc..

The reason for this is that you may wish to operate in a hybrid
or backward compatability mode, or you may wish to operate the
kernel in a smaller virtual address space than user space, or
vice versa, as a developement decision.

For example the PPC 970 (G5) processor has specific support for
backward binary compatability, as does the AMD Hammer, the Intel
Opteron (IA64), and the SPARC64.

Probably it will be a long time before many commercial 32 bit
applications are ported to 64 bit kernels, and you're going to
want to be able to run the 32 bit applications.

The point is that you will probably end up needing at least 4
macros each, if you have sized types on both ends, and two each,
if you assume that the kernel pointer size is fixed on every
architecture.

Personally, I would call this a kernel is aware of the ABI for
each of the applications it is currently running, and make it a
flag in the system call table, if you insist on using a single
name for the thing.

-- Terry
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-24 Thread Terry Lambert
Marcel Moolenaar wrote:
  for i386 it would be an alternate name for fuword32() and suword32()
  I'm not sure what it would be on other architectures
 
 fuword64 and suword64. PowerPC is like i386.

PPC 970 explicitly supports mixed mode programming between user
and kernel, as do most other 64 bit processors, in order to support
legacy applications.

It's actually unlikely that IBM will ever release enough documentation
to get a full 64 bit Linux running on a PPC 970, let alone FreeBSD,
and that you will be stuck with a 32 bit kernel that runs 64 bit apps,
and which talks to IBM's internal undocumented glue on the bottom end
while running in a virtual environment, such that the interfaces to
that glue are not exposed in the source code they publish.

-- Terry
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-24 Thread Shawn
On Thu, 2003-07-24 at 03:40, Terry Lambert wrote:
 It's actually unlikely that IBM will ever release enough documentation
 to get a full 64 bit Linux running on a PPC 970, let alone FreeBSD,
 and that you will be stuck with a 32 bit kernel that runs 64 bit apps,
 and which talks to IBM's internal undocumented glue on the bottom end
 while running in a virtual environment, such that the interfaces to
 that glue are not exposed in the source code they publish.

That's very interesting to me as IBM has been rather forthcoming about
making sure everyone knows that the 32bit bridge was only temporary and
to not rely on it being there in the future. I would hope that would
indicate that they may be willing to release more informaation in the
future regarding this. Of course, what do I know? :p

-- 
Shawn [EMAIL PROTECTED]
http://drevil.warpcore.org/

___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]


Re: fuword(), suword(), etc.

2003-07-23 Thread Marcel Moolenaar
On Wed, Jul 23, 2003 at 02:48:41PM -0700, Julian Elischer wrote:
 
 I'd like to have a suptr and fuptr to be able to save and read
 user pointers in a machine independent manner..

Sounds good to me.

 for i386 it would be an alternate name for fuword32() and suword32()
 I'm not sure what it would be on other architectures

fuword64 and suword64. PowerPC is like i386.

-- 
 Marcel Moolenaar USPA: A-39004  [EMAIL PROTECTED]
___
[EMAIL PROTECTED] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to [EMAIL PROTECTED]