Hi,

This fix x86-on-x86 and ppc-on-ppc.

Pierre.

ChangeLog:
Revert host_info changes and don't fail if sysctl is unknown when we are on the same host/target.

Index: darwin-user/syscall.c
===================================================================
RCS file: /sources/qemu/qemu/darwin-user/syscall.c,v
retrieving revision 1.2
diff -u -r1.2 syscall.c
--- darwin-user/syscall.c       5 Feb 2007 19:47:42 -0000       1.2
+++ darwin-user/syscall.c       16 Feb 2007 09:36:54 -0000
@@ -367,7 +367,14 @@
         case 200: /* host_info */
         {
             mig_reply_error_t *err = (mig_reply_error_t *)hdr;
-            struct host_basic_info *data = (void *)(err+1);
+            struct {
+                uint32_t unknow1;
+                uint32_t max_cpus;
+                uint32_t avail_cpus;
+                uint32_t memory_size;
+                uint32_t cpu_type;
+                uint32_t cpu_subtype;
+            } *data = (void *)(err+1);
 
             DPRINTF("maxcpu = 0x%x\n",   data->max_cpus);
             DPRINTF("numcpu = 0x%x\n",   data->avail_cpus);
@@ -1342,9 +1349,12 @@
     if(name) /* Sometimes sysctl is called with no arg1, ignore */
         ret = get_errno(sysctl(name, namelen, oldp, oldlenp, newp, newlen));
 
+#if defined(TARGET_I386) ^ defined(__i386__) || defined(TARGET_PPC) ^ 
defined(__ppc__)
     if (!is_error(ret) && bswap_syctl(name, namelen, oldp, *oldlenp) != 0) {
         return -ENOTDIR;
     }
+#endif
+
     if(name) {
         //bswap_syctl(name, namelen, newp, newlen);
         tswap32s((uint32_t*)oldlenp);
_______________________________________________
Qemu-devel mailing list
Qemu-devel@nongnu.org
http://lists.nongnu.org/mailman/listinfo/qemu-devel

Reply via email to