X-Git-Url: http://git.buserror.net/cgi-bin/gitweb.cgi?p=polintos%2Fscott%2Fpriv.git;a=blobdiff_plain;f=doc%2Forb%2Fparameter-info-block;h=0c5281dcac963342d83ca1f947431266275ad683;hp=8f32e1cb40409afdc4004df163a5850bd98e976e;hb=1ac390fe1e18444008857b056c947710be9621a8;hpb=5ee1a4b6695c7889466f97d42b8c416b080b361d diff --git a/doc/orb/parameter-info-block b/doc/orb/parameter-info-block index 8f32e1c..0c5281d 100644 --- a/doc/orb/parameter-info-block +++ b/doc/orb/parameter-info-block @@ -4,15 +4,16 @@ Parameter Info Block (PIB), all offsets in pointer-length words Copy segments. The total number of bytes in all of the segments that require a - buffer to be created in the destination address space. This is + buffer to be created in the destination address space, with each + buffer individually rounded up to an 8-byte alignment. This is specified so that the kernel can allocate one large buffer for all - segments before traversing the segment list. When returning from a - method, the buffer size only includes buffers allocated by the - caller; "inout" segments where the caller specified a non-NULL ptr, - and the callee did not increase the length, are not included + segments before traversing the segment list. When returning from + a method, the buffer size only includes buffers allocated by the + caller; "inout" segments where the caller specified a non-NULL + ptr, and the callee did not increase the length, are not included (because the kernel does not need to allocate a caller-side buffer - for them). The kernel may throw an exception if the actual - size is greater than specified in this field. + for them). The kernel may throw an exception if the actual size + is greater than specified in this field. This only covers the "normal" segments which are mapped only for the duration of the call. Copy segments are handled @@ -20,7 +21,7 @@ Parameter Info Block (PIB), all offsets in pointer-length words copy_size 1 Size of all Copy segments. - This is like buffer_size, but for Copy segments. The pages + This is like buffer_size, but for Copy segments. objlist_ptr 2 Pointer to the object list objlist_len 3 Length of the object list, in IDs