X-Git-Url: https://git.proxmox.com/?a=blobdiff_plain;f=thunk.c;h=06571889aeeb3ae561f03175070e6ec61949c36f;hb=2e97f03ed7719d95e739c4050459b5026ef3cc6c;hp=dc9e315d7d3dd12befe9b651ffa50be12d01c887;hpb=70499c989f434cba8bc2104da9f6ca162c4a937b;p=qemu.git
diff --git a/thunk.c b/thunk.c
index dc9e315d7..06571889a 100644
--- a/thunk.c
+++ b/thunk.c
@@ -14,8 +14,7 @@
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+ * License along with this library; if not, see .
*/
#include
#include
@@ -31,6 +30,8 @@
/* XXX: make it dynamic */
StructEntry struct_entries[MAX_STRUCTS];
+static const argtype *thunk_type_next_ptr(const argtype *type_ptr);
+
static inline const argtype *thunk_type_next(const argtype *type_ptr)
{
int type;
@@ -47,9 +48,9 @@ static inline const argtype *thunk_type_next(const argtype *type_ptr)
case TYPE_PTRVOID:
return type_ptr;
case TYPE_PTR:
- return thunk_type_next(type_ptr);
+ return thunk_type_next_ptr(type_ptr);
case TYPE_ARRAY:
- return thunk_type_next(type_ptr + 1);
+ return thunk_type_next_ptr(type_ptr + 1);
case TYPE_STRUCT:
return type_ptr + 1;
default:
@@ -57,6 +58,11 @@ static inline const argtype *thunk_type_next(const argtype *type_ptr)
}
}
+static const argtype *thunk_type_next_ptr(const argtype *type_ptr)
+{
+ return thunk_type_next(type_ptr);
+}
+
void thunk_register_struct(int id, const char *name, const argtype *types)
{
const argtype *type_ptr;
@@ -106,7 +112,8 @@ void thunk_register_struct(int id, const char *name, const argtype *types)
}
}
-void thunk_register_struct_direct(int id, const char *name, StructEntry *se1)
+void thunk_register_struct_direct(int id, const char *name,
+ const StructEntry *se1)
{
StructEntry *se;
se = struct_entries + id;
@@ -241,9 +248,9 @@ const argtype *thunk_convert(void *dst, const void *src,
* between X86 and Alpha formats...
*/
unsigned int target_to_host_bitmask(unsigned int x86_mask,
- bitmask_transtbl * trans_tbl)
+ const bitmask_transtbl * trans_tbl)
{
- bitmask_transtbl * btp;
+ const bitmask_transtbl *btp;
unsigned int alpha_mask = 0;
for(btp = trans_tbl; btp->x86_mask && btp->alpha_mask; btp++) {
@@ -255,9 +262,9 @@ unsigned int target_to_host_bitmask(unsigned int x86_mask,
}
unsigned int host_to_target_bitmask(unsigned int alpha_mask,
- bitmask_transtbl * trans_tbl)
+ const bitmask_transtbl * trans_tbl)
{
- bitmask_transtbl * btp;
+ const bitmask_transtbl *btp;
unsigned int x86_mask = 0;
for(btp = trans_tbl; btp->x86_mask && btp->alpha_mask; btp++) {
@@ -267,3 +274,15 @@ unsigned int host_to_target_bitmask(unsigned int alpha_mask,
}
return(x86_mask);
}
+
+#ifndef NO_THUNK_TYPE_SIZE
+int thunk_type_size_array(const argtype *type_ptr, int is_host)
+{
+ return thunk_type_size(type_ptr, is_host);
+}
+
+int thunk_type_align_array(const argtype *type_ptr, int is_host)
+{
+ return thunk_type_align(type_ptr, is_host);
+}
+#endif /* ndef NO_THUNK_TYPE_SIZE */