- * [PATCH v2 01/48] bsd-user: whitespace changes
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 02/48] " imp
                   ` (47 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
keyword space paren, no space before ( in function calls, spaces around
operators.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/bsdload.c | 32 ++++++++++++++++----------------
 1 file changed, 16 insertions(+), 16 deletions(-)
diff --git a/bsd-user/bsdload.c b/bsd-user/bsdload.c
index f38c4faacf..546946b91d 100644
--- a/bsd-user/bsdload.c
+++ b/bsd-user/bsdload.c
@@ -20,11 +20,11 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
     return 0;
 }
 
-static int count(char ** vec)
+static int count(char **vec)
 {
     int         i;
 
-    for(i = 0; *vec; i++) {
+    for (i = 0; *vec; i++) {
         vec++;
     }
 
@@ -37,15 +37,15 @@ static int prepare_binprm(struct linux_binprm *bprm)
     int mode;
     int retval;
 
-    if(fstat(bprm->fd, &st) < 0) {
+    if (fstat(bprm->fd, &st) < 0) {
         return(-errno);
     }
 
     mode = st.st_mode;
-    if(!S_ISREG(mode)) {        /* Must be regular file */
+    if (!S_ISREG(mode)) {        /* Must be regular file */
         return(-EACCES);
     }
-    if(!(mode & 0111)) {        /* Must have at least one execute bit set */
+    if (!(mode & 0111)) {        /* Must have at least one execute bit set */
         return(-EACCES);
     }
 
@@ -53,7 +53,7 @@ static int prepare_binprm(struct linux_binprm *bprm)
     bprm->e_gid = getegid();
 
     /* Set-uid? */
-    if(mode & S_ISUID) {
+    if (mode & S_ISUID) {
         bprm->e_uid = st.st_uid;
     }
 
@@ -69,10 +69,10 @@ static int prepare_binprm(struct linux_binprm *bprm)
 
     memset(bprm->buf, 0, sizeof(bprm->buf));
     retval = lseek(bprm->fd, 0L, SEEK_SET);
-    if(retval >= 0) {
+    if (retval >= 0) {
         retval = read(bprm->fd, bprm->buf, 128);
     }
-    if(retval < 0) {
+    if (retval < 0) {
         perror("prepare_binprm");
         exit(-1);
         /* return(-errno); */
@@ -125,15 +125,15 @@ abi_ulong loader_build_argptr(int envc, int argc, abi_ulong sp,
     return sp;
 }
 
-int loader_exec(const char * filename, char ** argv, char ** envp,
-             struct target_pt_regs * regs, struct image_info *infop)
+int loader_exec(const char *filename, char **argv, char **envp,
+             struct target_pt_regs *regs, struct image_info *infop)
 {
     struct linux_binprm bprm;
     int retval;
     int i;
 
-    bprm.p = TARGET_PAGE_SIZE*MAX_ARG_PAGES-sizeof(unsigned int);
-    for (i=0 ; i<MAX_ARG_PAGES ; i++)       /* clear page-table */
+    bprm.p = TARGET_PAGE_SIZE * MAX_ARG_PAGES - sizeof(unsigned int);
+    for (i = 0 ; i < MAX_ARG_PAGES ; i++)       /* clear page-table */
             bprm.page[i] = NULL;
     retval = open(filename, O_RDONLY);
     if (retval < 0)
@@ -147,26 +147,26 @@ int loader_exec(const char * filename, char ** argv, char ** envp,
 
     retval = prepare_binprm(&bprm);
 
-    if(retval>=0) {
+    if (retval >= 0) {
         if (bprm.buf[0] == 0x7f
                 && bprm.buf[1] == 'E'
                 && bprm.buf[2] == 'L'
                 && bprm.buf[3] == 'F') {
-            retval = load_elf_binary(&bprm,regs,infop);
+            retval = load_elf_binary(&bprm, regs, infop);
         } else {
             fprintf(stderr, "Unknown binary format\n");
             return -1;
         }
     }
 
-    if(retval>=0) {
+    if (retval >= 0) {
         /* success.  Initialize important registers */
         do_init_thread(regs, infop);
         return retval;
     }
 
     /* Something went wrong, return the inode and free the argument pages*/
-    for (i=0 ; i<MAX_ARG_PAGES ; i++) {
+    for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
         g_free(bprm.page[i]);
     }
     return(retval);
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 02/48] bsd-user: whitespace changes
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
  2021-04-24 15:59 ` [PATCH v2 01/48] bsd-user: whitespace changes imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 03/48] " imp
                   ` (46 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Fix various whitespace-only issues from checkpatch:
    keyword space (
    no space before ( on function calls
    spaces around operators
    suspect indentations (including one functions reindented)
    extra spaces around unary operators
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/elfload.c | 326 ++++++++++++++++++++++-----------------------
 1 file changed, 163 insertions(+), 163 deletions(-)
diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c
index 5f4d824d78..3c9d8c2845 100644
--- a/bsd-user/elfload.c
+++ b/bsd-user/elfload.c
@@ -111,7 +111,7 @@ static uint32_t get_elf_hwcap(void)
 
 #ifdef TARGET_X86_64
 #define ELF_START_MMAP 0x2aaaaab000ULL
-#define elf_check_arch(x) ( ((x) == ELF_ARCH) )
+#define elf_check_arch(x) (((x) == ELF_ARCH))
 
 #define ELF_CLASS      ELFCLASS64
 #define ELF_DATA       ELFDATA2LSB
@@ -134,7 +134,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 /*
  * This is used to ensure we don't load something for the wrong architecture.
  */
-#define elf_check_arch(x) ( ((x) == EM_386) || ((x) == EM_486) )
+#define elf_check_arch(x) (((x) == EM_386) || ((x) == EM_486))
 
 /*
  * These are used to set parameters in the core dumps.
@@ -168,7 +168,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 
 #define ELF_START_MMAP 0x80000000
 
-#define elf_check_arch(x) ( (x) == EM_ARM )
+#define elf_check_arch(x) ((x) == EM_ARM)
 
 #define ELF_CLASS       ELFCLASS32
 #ifdef TARGET_WORDS_BIGENDIAN
@@ -184,7 +184,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
     memset(regs, 0, sizeof(*regs));
     regs->ARM_cpsr = 0x10;
     if (infop->entry & 1)
-      regs->ARM_cpsr |= CPSR_T;
+        regs->ARM_cpsr |= CPSR_T;
     regs->ARM_pc = infop->entry & 0xfffffffe;
     regs->ARM_sp = infop->start_stack;
     /* FIXME - what to for failure of get_user()? */
@@ -224,9 +224,9 @@ enum
 #define ELF_START_MMAP 0x80000000
 
 #ifndef TARGET_ABI32
-#define elf_check_arch(x) ( (x) == EM_SPARCV9 || (x) == EM_SPARC32PLUS )
+#define elf_check_arch(x) ((x) == EM_SPARCV9 || (x) == EM_SPARC32PLUS)
 #else
-#define elf_check_arch(x) ( (x) == EM_SPARC32PLUS || (x) == EM_SPARC )
+#define elf_check_arch(x) ((x) == EM_SPARC32PLUS || (x) == EM_SPARC)
 #endif
 
 #define ELF_CLASS   ELFCLASS64
@@ -261,7 +261,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 #else
 #define ELF_START_MMAP 0x80000000
 
-#define elf_check_arch(x) ( (x) == EM_SPARC )
+#define elf_check_arch(x) ((x) == EM_SPARC)
 
 #define ELF_CLASS   ELFCLASS32
 #define ELF_DATA    ELFDATA2MSB
@@ -285,13 +285,13 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 
 #if defined(TARGET_PPC64) && !defined(TARGET_ABI32)
 
-#define elf_check_arch(x) ( (x) == EM_PPC64 )
+#define elf_check_arch(x) ((x) == EM_PPC64)
 
 #define ELF_CLASS       ELFCLASS64
 
 #else
 
-#define elf_check_arch(x) ( (x) == EM_PPC )
+#define elf_check_arch(x) ((x) == EM_PPC)
 
 #define ELF_CLASS       ELFCLASS32
 
@@ -376,7 +376,7 @@ static inline void init_thread(struct target_pt_regs *_regs, struct image_info *
 
 #define ELF_START_MMAP 0x80000000
 
-#define elf_check_arch(x) ( (x) == EM_MIPS )
+#define elf_check_arch(x) ((x) == EM_MIPS)
 
 #ifdef TARGET_MIPS64
 #define ELF_CLASS   ELFCLASS64
@@ -406,7 +406,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 
 #define ELF_START_MMAP 0x80000000
 
-#define elf_check_arch(x) ( (x) == EM_SH )
+#define elf_check_arch(x) ((x) == EM_SH)
 
 #define ELF_CLASS ELFCLASS32
 #define ELF_DATA  ELFDATA2LSB
@@ -428,7 +428,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 
 #define ELF_START_MMAP 0x80000000
 
-#define elf_check_arch(x) ( (x) == EM_CRIS )
+#define elf_check_arch(x) ((x) == EM_CRIS)
 
 #define ELF_CLASS ELFCLASS32
 #define ELF_DATA  ELFDATA2LSB
@@ -448,7 +448,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 
 #define ELF_START_MMAP 0x80000000
 
-#define elf_check_arch(x) ( (x) == EM_68K )
+#define elf_check_arch(x) ((x) == EM_68K)
 
 #define ELF_CLASS       ELFCLASS32
 #define ELF_DATA        ELFDATA2MSB
@@ -473,7 +473,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 
 #define ELF_START_MMAP (0x30000000000ULL)
 
-#define elf_check_arch(x) ( (x) == ELF_ARCH )
+#define elf_check_arch(x) ((x) == ELF_ARCH)
 
 #define ELF_CLASS      ELFCLASS64
 #define ELF_DATA       ELFDATA2MSB
@@ -538,8 +538,8 @@ struct exec
 
 /* Necessary parameters */
 #define TARGET_ELF_EXEC_PAGESIZE TARGET_PAGE_SIZE
-#define TARGET_ELF_PAGESTART(_v) ((_v) & ~(unsigned long)(TARGET_ELF_EXEC_PAGESIZE-1))
-#define TARGET_ELF_PAGEOFFSET(_v) ((_v) & (TARGET_ELF_EXEC_PAGESIZE-1))
+#define TARGET_ELF_PAGESTART(_v) ((_v) & ~(unsigned long)(TARGET_ELF_EXEC_PAGESIZE - 1))
+#define TARGET_ELF_PAGEOFFSET(_v) ((_v) & (TARGET_ELF_EXEC_PAGESIZE - 1))
 
 #define INTERPRETER_NONE 0
 #define INTERPRETER_AOUT 1
@@ -547,12 +547,12 @@ struct exec
 
 #define DLINFO_ITEMS 12
 
-static inline void memcpy_fromfs(void * to, const void * from, unsigned long n)
+static inline void memcpy_fromfs(void *to, const void *from, unsigned long n)
 {
         memcpy(to, from, n);
 }
 
-static int load_aout_interp(void * exptr, int interp_fd);
+static int load_aout_interp(void *exptr, int interp_fd);
 
 #ifdef BSWAP_NEEDED
 static void bswap_ehdr(struct elfhdr *ehdr)
@@ -613,7 +613,7 @@ static void bswap_sym(struct elf_sym *sym)
  * to be put directly into the top of new user memory.
  *
  */
-static abi_ulong copy_elf_strings(int argc,char ** argv, void **page,
+static abi_ulong copy_elf_strings(int argc, char **argv, void **page,
                                   abi_ulong p)
 {
     char *tmp, *tmp1, *pag = NULL;
@@ -638,10 +638,10 @@ static abi_ulong copy_elf_strings(int argc,char ** argv, void **page,
             --p; --tmp; --len;
             if (--offset < 0) {
                 offset = p % TARGET_PAGE_SIZE;
-                pag = (char *)page[p/TARGET_PAGE_SIZE];
+                pag = (char *)page[p / TARGET_PAGE_SIZE];
                 if (!pag) {
                     pag = g_try_malloc0(TARGET_PAGE_SIZE);
-                    page[p/TARGET_PAGE_SIZE] = pag;
+                    page[p / TARGET_PAGE_SIZE] = pag;
                     if (!pag)
                         return 0;
                 }
@@ -672,8 +672,8 @@ static abi_ulong setup_arg_pages(abi_ulong p, struct linux_binprm *bprm,
      * it for args, we'll use it for something else...
      */
     size = x86_stack_size;
-    if (size < MAX_ARG_PAGES*TARGET_PAGE_SIZE)
-        size = MAX_ARG_PAGES*TARGET_PAGE_SIZE;
+    if (size < MAX_ARG_PAGES * TARGET_PAGE_SIZE)
+        size = MAX_ARG_PAGES * TARGET_PAGE_SIZE;
     error = target_mmap(0,
                         size + qemu_host_page_size,
                         PROT_READ | PROT_WRITE,
@@ -686,7 +686,7 @@ static abi_ulong setup_arg_pages(abi_ulong p, struct linux_binprm *bprm,
     /* we reserve one extra page at the top of the stack as guard */
     target_mprotect(error + size, qemu_host_page_size, PROT_NONE);
 
-    stack_base = error + size - MAX_ARG_PAGES*TARGET_PAGE_SIZE;
+    stack_base = error + size - MAX_ARG_PAGES * TARGET_PAGE_SIZE;
     p += stack_base;
 
     for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
@@ -708,7 +708,7 @@ static void set_brk(abi_ulong start, abi_ulong end)
         end = HOST_PAGE_ALIGN(end);
         if (end <= start)
                 return;
-        if(target_mmap(start, end - start,
+        if (target_mmap(start, end - start,
                        PROT_READ | PROT_WRITE | PROT_EXEC,
                        MAP_FIXED | MAP_PRIVATE | MAP_ANON, -1, 0) == -1) {
             perror("cannot mmap brk");
@@ -738,12 +738,12 @@ static void padzero(abi_ulong elf_bss, abi_ulong last_bss)
             end_addr = HOST_PAGE_ALIGN(elf_bss);
             if (end_addr1 < end_addr) {
                 mmap((void *)g2h_untagged(end_addr1), end_addr - end_addr1,
-                     PROT_READ|PROT_WRITE|PROT_EXEC,
-                     MAP_FIXED|MAP_PRIVATE|MAP_ANON, -1, 0);
+                     PROT_READ | PROT_WRITE | PROT_EXEC,
+                     MAP_FIXED | MAP_PRIVATE | MAP_ANON, -1, 0);
             }
         }
 
-        nbyte = elf_bss & (qemu_host_page_size-1);
+        nbyte = elf_bss & (qemu_host_page_size - 1);
         if (nbyte) {
             nbyte = qemu_host_page_size - nbyte;
             do {
@@ -781,10 +781,10 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc,
         /*
          * Force 16 byte _final_ alignment here for generality.
          */
-        sp = sp &~ (abi_ulong)15;
+        sp = sp & ~(abi_ulong)15;
         size = (DLINFO_ITEMS + 1) * 2;
         if (k_platform)
-          size += 2;
+                size += 2;
 #ifdef DLINFO_ARCH_ITEMS
         size += DLINFO_ARCH_ITEMS * 2;
 #endif
@@ -792,7 +792,7 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc,
         size += (!ibcs ? 3 : 1);        /* argc itself */
         size *= n;
         if (size & 15)
-            sp -= 16 - (size & 15);
+                sp -= 16 - (size & 15);
 
         /* This is correct because Linux defines
          * elf_addr_t as Elf32_Off / Elf64_Off
@@ -800,13 +800,13 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc,
 #define NEW_AUX_ENT(id, val) do {               \
             sp -= n; put_user_ual(val, sp);     \
             sp -= n; put_user_ual(id, sp);      \
-          } while(0)
+          } while (0)
 
-        NEW_AUX_ENT (AT_NULL, 0);
+        NEW_AUX_ENT(AT_NULL, 0);
 
         /* There must be exactly DLINFO_ITEMS entries here.  */
         NEW_AUX_ENT(AT_PHDR, (abi_ulong)(load_addr + exec->e_phoff));
-        NEW_AUX_ENT(AT_PHENT, (abi_ulong)(sizeof (struct elf_phdr)));
+        NEW_AUX_ENT(AT_PHENT, (abi_ulong)(sizeof(struct elf_phdr)));
         NEW_AUX_ENT(AT_PHNUM, (abi_ulong)(exec->e_phnum));
         NEW_AUX_ENT(AT_PAGESZ, (abi_ulong)(TARGET_PAGE_SIZE));
         NEW_AUX_ENT(AT_BASE, (abi_ulong)(interp_load_addr));
@@ -834,90 +834,90 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc,
 }
 
 
-static abi_ulong load_elf_interp(struct elfhdr * interp_elf_ex,
+static abi_ulong load_elf_interp(struct elfhdr *interp_elf_ex,
                                  int interpreter_fd,
                                  abi_ulong *interp_load_addr)
 {
-        struct elf_phdr *elf_phdata  =  NULL;
-        struct elf_phdr *eppnt;
-        abi_ulong load_addr = 0;
-        int load_addr_set = 0;
-        int retval;
-        abi_ulong last_bss, elf_bss;
-        abi_ulong error;
-        int i;
+    struct elf_phdr *elf_phdata  =  NULL;
+    struct elf_phdr *eppnt;
+    abi_ulong load_addr = 0;
+    int load_addr_set = 0;
+    int retval;
+    abi_ulong last_bss, elf_bss;
+    abi_ulong error;
+    int i;
 
-        elf_bss = 0;
-        last_bss = 0;
-        error = 0;
+    elf_bss = 0;
+    last_bss = 0;
+    error = 0;
 
 #ifdef BSWAP_NEEDED
-        bswap_ehdr(interp_elf_ex);
+    bswap_ehdr(interp_elf_ex);
 #endif
-        /* First of all, some simple consistency checks */
-        if ((interp_elf_ex->e_type != ET_EXEC &&
-             interp_elf_ex->e_type != ET_DYN) ||
-           !elf_check_arch(interp_elf_ex->e_machine)) {
-                return ~((abi_ulong)0UL);
-        }
+    /* First of all, some simple consistency checks */
+    if ((interp_elf_ex->e_type != ET_EXEC &&
+         interp_elf_ex->e_type != ET_DYN) ||
+        !elf_check_arch(interp_elf_ex->e_machine)) {
+        return ~((abi_ulong)0UL);
+    }
 
 
-        /* Now read in all of the header information */
+    /* Now read in all of the header information */
 
-        if (sizeof(struct elf_phdr) * interp_elf_ex->e_phnum > TARGET_PAGE_SIZE)
-            return ~(abi_ulong)0UL;
+    if (sizeof(struct elf_phdr) * interp_elf_ex->e_phnum > TARGET_PAGE_SIZE)
+        return ~(abi_ulong)0UL;
 
-        elf_phdata =  (struct elf_phdr *)
-                malloc(sizeof(struct elf_phdr) * interp_elf_ex->e_phnum);
+    elf_phdata =  (struct elf_phdr *)
+        malloc(sizeof(struct elf_phdr) * interp_elf_ex->e_phnum);
 
-        if (!elf_phdata)
-          return ~((abi_ulong)0UL);
+    if (!elf_phdata)
+        return ~((abi_ulong)0UL);
 
-        /*
-         * If the size of this structure has changed, then punt, since
-         * we will be doing the wrong thing.
-         */
-        if (interp_elf_ex->e_phentsize != sizeof(struct elf_phdr)) {
-            free(elf_phdata);
-            return ~((abi_ulong)0UL);
-        }
+    /*
+     * If the size of this structure has changed, then punt, since
+     * we will be doing the wrong thing.
+     */
+    if (interp_elf_ex->e_phentsize != sizeof(struct elf_phdr)) {
+        free(elf_phdata);
+        return ~((abi_ulong)0UL);
+    }
 
-        retval = lseek(interpreter_fd, interp_elf_ex->e_phoff, SEEK_SET);
-        if(retval >= 0) {
-            retval = read(interpreter_fd,
-                           (char *) elf_phdata,
-                           sizeof(struct elf_phdr) * interp_elf_ex->e_phnum);
-        }
-        if (retval < 0) {
-                perror("load_elf_interp");
-                exit(-1);
-                free (elf_phdata);
-                return retval;
-        }
+    retval = lseek(interpreter_fd, interp_elf_ex->e_phoff, SEEK_SET);
+    if (retval >= 0) {
+        retval = read(interpreter_fd,
+                      (char *) elf_phdata,
+                      sizeof(struct elf_phdr) * interp_elf_ex->e_phnum);
+    }
+    if (retval < 0) {
+        perror("load_elf_interp");
+        exit(-1);
+        free (elf_phdata);
+        return retval;
+    }
 #ifdef BSWAP_NEEDED
-        eppnt = elf_phdata;
-        for (i=0; i<interp_elf_ex->e_phnum; i++, eppnt++) {
-            bswap_phdr(eppnt);
-        }
+    eppnt = elf_phdata;
+    for (i = 0; i<interp_elf_ex->e_phnum; i++, eppnt++) {
+        bswap_phdr(eppnt);
+    }
 #endif
 
-        if (interp_elf_ex->e_type == ET_DYN) {
-            /* in order to avoid hardcoding the interpreter load
-               address in qemu, we allocate a big enough memory zone */
-            error = target_mmap(0, INTERP_MAP_SIZE,
-                                PROT_NONE, MAP_PRIVATE | MAP_ANON,
-                                -1, 0);
-            if (error == -1) {
-                perror("mmap");
-                exit(-1);
-            }
-            load_addr = error;
-            load_addr_set = 1;
+    if (interp_elf_ex->e_type == ET_DYN) {
+        /* in order to avoid hardcoding the interpreter load
+           address in qemu, we allocate a big enough memory zone */
+        error = target_mmap(0, INTERP_MAP_SIZE,
+                            PROT_NONE, MAP_PRIVATE | MAP_ANON,
+                            -1, 0);
+        if (error == -1) {
+            perror("mmap");
+            exit(-1);
         }
+        load_addr = error;
+        load_addr_set = 1;
+    }
 
-        eppnt = elf_phdata;
-        for(i=0; i<interp_elf_ex->e_phnum; i++, eppnt++)
-          if (eppnt->p_type == PT_LOAD) {
+    eppnt = elf_phdata;
+    for (i = 0; i < interp_elf_ex->e_phnum; i++, eppnt++)
+        if (eppnt->p_type == PT_LOAD) {
             int elf_type = MAP_PRIVATE | MAP_DENYWRITE;
             int elf_prot = 0;
             abi_ulong vaddr = 0;
@@ -930,23 +930,23 @@ static abi_ulong load_elf_interp(struct elfhdr * interp_elf_ex,
                 elf_type |= MAP_FIXED;
                 vaddr = eppnt->p_vaddr;
             }
-            error = target_mmap(load_addr+TARGET_ELF_PAGESTART(vaddr),
-                 eppnt->p_filesz + TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr),
-                 elf_prot,
-                 elf_type,
-                 interpreter_fd,
-                 eppnt->p_offset - TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr));
+            error = target_mmap(load_addr + TARGET_ELF_PAGESTART(vaddr),
+                                eppnt->p_filesz + TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr),
+                                elf_prot,
+                                elf_type,
+                                interpreter_fd,
+                                eppnt->p_offset - TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr));
 
             if (error == -1) {
-              /* Real error */
-              close(interpreter_fd);
-              free(elf_phdata);
-              return ~((abi_ulong)0UL);
+                /* Real error */
+                close(interpreter_fd);
+                free(elf_phdata);
+                return ~((abi_ulong)0UL);
             }
 
             if (!load_addr_set && interp_elf_ex->e_type == ET_DYN) {
-              load_addr = error;
-              load_addr_set = 1;
+                load_addr = error;
+                load_addr_set = 1;
             }
 
             /*
@@ -962,31 +962,31 @@ static abi_ulong load_elf_interp(struct elfhdr * interp_elf_ex,
              */
             k = load_addr + eppnt->p_memsz + eppnt->p_vaddr;
             if (k > last_bss) last_bss = k;
-          }
+        }
 
-        /* Now use mmap to map the library into memory. */
+    /* Now use mmap to map the library into memory. */
 
-        close(interpreter_fd);
+    close(interpreter_fd);
 
-        /*
-         * Now fill out the bss section.  First pad the last page up
-         * to the page boundary, and then perform a mmap to make sure
-         * that there are zeromapped pages up to and including the last
-         * bss page.
-         */
-        padzero(elf_bss, last_bss);
-        elf_bss = TARGET_ELF_PAGESTART(elf_bss + qemu_host_page_size - 1); /* What we have mapped so far */
-
-        /* Map the last of the bss segment */
-        if (last_bss > elf_bss) {
-            target_mmap(elf_bss, last_bss-elf_bss,
-                        PROT_READ|PROT_WRITE|PROT_EXEC,
-                        MAP_FIXED|MAP_PRIVATE|MAP_ANON, -1, 0);
-        }
-        free(elf_phdata);
+    /*
+     * Now fill out the bss section.  First pad the last page up
+     * to the page boundary, and then perform a mmap to make sure
+     * that there are zeromapped pages up to and including the last
+     * bss page.
+     */
+    padzero(elf_bss, last_bss);
+    elf_bss = TARGET_ELF_PAGESTART(elf_bss + qemu_host_page_size - 1); /* What we have mapped so far */
+
+    /* Map the last of the bss segment */
+    if (last_bss > elf_bss) {
+        target_mmap(elf_bss, last_bss - elf_bss,
+                    PROT_READ | PROT_WRITE | PROT_EXEC,
+                    MAP_FIXED | MAP_PRIVATE | MAP_ANON, -1, 0);
+    }
+    free(elf_phdata);
 
-        *interp_load_addr = load_addr;
-        return ((abi_ulong) interp_elf_ex->e_entry) + load_addr;
+    *interp_load_addr = load_addr;
+    return ((abi_ulong) interp_elf_ex->e_entry) + load_addr;
 }
 
 static int symfind(const void *s0, const void *s1)
@@ -1102,7 +1102,7 @@ static void load_symbols(struct elfhdr *hdr, int fd)
             }
             continue;
         }
-#if defined(TARGET_ARM) || defined (TARGET_MIPS)
+#if defined(TARGET_ARM) || defined(TARGET_MIPS)
         /* The bottom address bit marks a Thumb or MIPS16 symbol.  */
         syms[i].st_value &= ~(target_ulong)1;
 #endif
@@ -1143,8 +1143,8 @@ static void load_symbols(struct elfhdr *hdr, int fd)
     syminfos = s;
 }
 
-int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
-                    struct image_info * info)
+int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
+                    struct image_info *info)
 {
     struct elfhdr elf_ex;
     struct elfhdr interp_elf_ex;
@@ -1178,13 +1178,13 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
 
     /* First of all, some simple consistency checks */
     if ((elf_ex.e_type != ET_EXEC && elf_ex.e_type != ET_DYN) ||
-                                (! elf_check_arch(elf_ex.e_machine))) {
+                                (!elf_check_arch(elf_ex.e_machine))) {
             return -ENOEXEC;
     }
 
     bprm->p = copy_elf_strings(1, &bprm->filename, bprm->page, bprm->p);
-    bprm->p = copy_elf_strings(bprm->envc,bprm->envp,bprm->page,bprm->p);
-    bprm->p = copy_elf_strings(bprm->argc,bprm->argv,bprm->page,bprm->p);
+    bprm->p = copy_elf_strings(bprm->envc, bprm->envp, bprm->page,bprm->p);
+    bprm->p = copy_elf_strings(bprm->argc, bprm->argv, bprm->page,bprm->p);
     if (!bprm->p) {
         retval = -E2BIG;
     }
@@ -1196,21 +1196,21 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
     }
 
     retval = lseek(bprm->fd, elf_ex.e_phoff, SEEK_SET);
-    if(retval > 0) {
-        retval = read(bprm->fd, (char *) elf_phdata,
+    if (retval > 0) {
+        retval = read(bprm->fd, (char *)elf_phdata,
                                 elf_ex.e_phentsize * elf_ex.e_phnum);
     }
 
     if (retval < 0) {
         perror("load_elf_binary");
         exit(-1);
-        free (elf_phdata);
+        free(elf_phdata);
         return -errno;
     }
 
 #ifdef BSWAP_NEEDED
     elf_ppnt = elf_phdata;
-    for (i=0; i<elf_ex.e_phnum; i++, elf_ppnt++) {
+    for (i = 0; i < elf_ex.e_phnum; i++, elf_ppnt++) {
         bswap_phdr(elf_ppnt);
     }
 #endif
@@ -1227,11 +1227,11 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
     end_data = 0;
     interp_ex.a_info = 0;
 
-    for(i=0;i < elf_ex.e_phnum; i++) {
+    for (i = 0;i < elf_ex.e_phnum; i++) {
         if (elf_ppnt->p_type == PT_INTERP) {
-            if ( elf_interpreter != NULL )
+            if (elf_interpreter != NULL)
             {
-                free (elf_phdata);
+                free(elf_phdata);
                 free(elf_interpreter);
                 close(bprm->fd);
                 return -EINVAL;
@@ -1245,16 +1245,16 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
             elf_interpreter = (char *)malloc(elf_ppnt->p_filesz);
 
             if (elf_interpreter == NULL) {
-                free (elf_phdata);
+                free(elf_phdata);
                 close(bprm->fd);
                 return -ENOMEM;
             }
 
             retval = lseek(bprm->fd, elf_ppnt->p_offset, SEEK_SET);
-            if(retval >= 0) {
+            if (retval >= 0) {
                 retval = read(bprm->fd, elf_interpreter, elf_ppnt->p_filesz);
             }
-            if(retval < 0) {
+            if (retval < 0) {
                 perror("load_elf_binary2");
                 exit(-1);
             }
@@ -1265,8 +1265,8 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
 
             /* JRP - Need to add X86 lib dir stuff here... */
 
-            if (strcmp(elf_interpreter,"/usr/lib/libc.so.1") == 0 ||
-                strcmp(elf_interpreter,"/usr/lib/ld.so.1") == 0) {
+            if (strcmp(elf_interpreter, "/usr/lib/libc.so.1") == 0 ||
+                strcmp(elf_interpreter, "/usr/lib/ld.so.1") == 0) {
               ibcs2_interpreter = 1;
             }
 
@@ -1275,7 +1275,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
 #endif
             if (retval >= 0) {
                 retval = open(path(elf_interpreter), O_RDONLY);
-                if(retval >= 0) {
+                if (retval >= 0) {
                     interpreter_fd = retval;
                 }
                 else {
@@ -1287,8 +1287,8 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
 
             if (retval >= 0) {
                 retval = lseek(interpreter_fd, 0, SEEK_SET);
-                if(retval >= 0) {
-                    retval = read(interpreter_fd,bprm->buf,128);
+                if (retval >= 0) {
+                    retval = read(interpreter_fd, bprm->buf, 128);
                 }
             }
             if (retval >= 0) {
@@ -1298,7 +1298,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
             if (retval < 0) {
                 perror("load_elf_binary3");
                 exit(-1);
-                free (elf_phdata);
+                free(elf_phdata);
                 free(elf_interpreter);
                 close(bprm->fd);
                 return retval;
@@ -1308,17 +1308,17 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
     }
 
     /* Some simple consistency checks for the interpreter */
-    if (elf_interpreter){
+    if (elf_interpreter) {
         interpreter_type = INTERPRETER_ELF | INTERPRETER_AOUT;
 
         /* Now figure out which format our binary is */
         if ((N_MAGIC(interp_ex) != OMAGIC) && (N_MAGIC(interp_ex) != ZMAGIC) &&
                 (N_MAGIC(interp_ex) != QMAGIC)) {
-          interpreter_type = INTERPRETER_ELF;
+            interpreter_type = INTERPRETER_ELF;
         }
 
         if (interp_elf_ex.e_ident[0] != 0x7f ||
-                strncmp((char *)&interp_elf_ex.e_ident[1], "ELF",3) != 0) {
+                strncmp((char *)&interp_elf_ex.e_ident[1], "ELF", 3) != 0) {
             interpreter_type &= ~INTERPRETER_ELF;
         }
 
@@ -1334,20 +1334,20 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
        and then start this sucker up */
 
     {
-        char * passed_p;
+        char *passed_p;
 
         if (interpreter_type == INTERPRETER_AOUT) {
             snprintf(passed_fileno, sizeof(passed_fileno), "%d", bprm->fd);
             passed_p = passed_fileno;
 
             if (elf_interpreter) {
-                bprm->p = copy_elf_strings(1,&passed_p,bprm->page,bprm->p);
+                bprm->p = copy_elf_strings(1, &passed_p, bprm->page, bprm->p);
                 bprm->argc++;
             }
         }
         if (!bprm->p) {
             free(elf_interpreter);
-            free (elf_phdata);
+            free(elf_phdata);
             close(bprm->fd);
             return -E2BIG;
         }
@@ -1393,7 +1393,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
      * address.
      */
 
-    for(i = 0, elf_ppnt = elf_phdata; i < elf_ex.e_phnum; i++, elf_ppnt++) {
+    for (i = 0, elf_ppnt = elf_phdata; i < elf_ex.e_phnum; i++, elf_ppnt++) {
         int elf_prot = 0;
         int elf_flags = 0;
         abi_ulong error;
@@ -1538,7 +1538,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
     printf("(brk) %x\n" , info->brk);
 #endif
 
-    if ( info->personality == PER_SVR4 )
+    if (info->personality == PER_SVR4)
     {
             /* Why this, you ask???  Well SVr4 maps page 0 as read-only,
                and some applications "depend" upon this behavior.
@@ -1553,7 +1553,7 @@ int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
     return 0;
 }
 
-static int load_aout_interp(void * exptr, int interp_fd)
+static int load_aout_interp(void *exptr, int interp_fd)
 {
     printf("a.out interpreter not yet supported\n");
     return(0);
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 03/48] bsd-user: whitespace changes
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
  2021-04-24 15:59 ` [PATCH v2 01/48] bsd-user: whitespace changes imp
  2021-04-24 15:59 ` [PATCH v2 02/48] " imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 04/48] bsd-user: style tweak: keyword space ( imp
                   ` (45 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Space after keywords, no space for function calls and spaces around operators.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/main.c | 40 ++++++++++++++++++++--------------------
 1 file changed, 20 insertions(+), 20 deletions(-)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 798aba512c..455b8eddab 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -150,13 +150,13 @@ void cpu_loop(CPUX86State *env)
     abi_ulong pc;
     //target_siginfo_t info;
 
-    for(;;) {
+    for (;;) {
         cpu_exec_start(cs);
         trapnr = cpu_exec(cs);
         cpu_exec_end(cs);
         process_queued_cpu_work(cs);
 
-        switch(trapnr) {
+        switch (trapnr) {
         case 0x80:
             /* syscall from int $0x80 */
             if (bsd_type == target_freebsd) {
@@ -345,7 +345,7 @@ void cpu_loop(CPUX86State *env)
             {
                 int sig;
 
-                sig = gdb_handlesig (env, TARGET_SIGTRAP);
+                sig = gdb_handlesig(env, TARGET_SIGTRAP);
                 if (sig)
                   {
                     info.si_signo = sig;
@@ -398,7 +398,7 @@ static inline void save_window_offset(CPUSPARCState *env, int cwp1)
     printf("win_overflow: sp_ptr=0x" TARGET_ABI_FMT_lx " save_cwp=%d\n",
            sp_ptr, cwp1);
 #endif
-    for(i = 0; i < 16; i++) {
+    for (i = 0; i < 16; i++) {
         /* FIXME - what to do if put_user() fails? */
         put_user_ual(env->regbase[get_reg_index(env, cwp1, 8 + i)], sp_ptr);
         sp_ptr += sizeof(abi_ulong);
@@ -448,7 +448,7 @@ static void restore_window(CPUSPARCState *env)
     printf("win_underflow: sp_ptr=0x" TARGET_ABI_FMT_lx " load_cwp=%d\n",
            sp_ptr, cwp1);
 #endif
-    for(i = 0; i < 16; i++) {
+    for (i = 0; i < 16; i++) {
         /* FIXME - what to do if get_user() fails? */
         get_user_ual(env->regbase[get_reg_index(env, cwp1, 8 + i)], sp_ptr);
         sp_ptr += sizeof(abi_ulong);
@@ -468,7 +468,7 @@ static void flush_windows(CPUSPARCState *env)
     int offset, cwp1;
 
     offset = 1;
-    for(;;) {
+    for (;;) {
         /* if restore would invoke restore_window(), then we can stop */
         cwp1 = cpu_cwp_inc(env, env->cwp + offset);
 #ifndef TARGET_SPARC64
@@ -648,11 +648,11 @@ void cpu_loop(CPUSPARCState *env)
 #ifdef TARGET_SPARC64
         badtrap:
 #endif
-            printf ("Unhandled trap: 0x%x\n", trapnr);
+            printf("Unhandled trap: 0x%x\n", trapnr);
             cpu_dump_state(cs, stderr, 0);
-            exit (1);
+            exit(1);
         }
-        process_pending_signals (env);
+        process_pending_signals(env);
     }
 }
 
@@ -825,15 +825,15 @@ int main(int argc, char **argv)
         } else if (!strcmp(r, "cpu")) {
             cpu_model = argv[optind++];
             if (is_help_option(cpu_model)) {
-/* XXX: implement xxx_cpu_list for targets that still miss it */
+                /* XXX: implement xxx_cpu_list for targets that still miss it */
 #if defined(cpu_list)
-                    cpu_list();
+                cpu_list();
 #endif
                 exit(1);
             }
         } else if (!strcmp(r, "B")) {
-           guest_base = strtol(argv[optind++], NULL, 0);
-           have_guest_base = true;
+            guest_base = strtol(argv[optind++], NULL, 0);
+            have_guest_base = true;
         } else if (!strcmp(r, "drop-ld-preload")) {
             (void) envlist_unsetenv(envlist, "LD_PRELOAD");
         } else if (!strcmp(r, "bsd")) {
@@ -958,7 +958,7 @@ int main(int argc, char **argv)
         }
     }
 
-    if (loader_exec(filename, argv+optind, target_environ, regs, info) != 0) {
+    if (loader_exec(filename, argv + optind, target_environ, regs, info) != 0) {
         printf("Error loading %s\n", filename);
         _exit(1);
     }
@@ -1053,8 +1053,8 @@ int main(int argc, char **argv)
     env->idt.limit = 255;
 #endif
     env->idt.base = target_mmap(0, sizeof(uint64_t) * (env->idt.limit + 1),
-                                PROT_READ|PROT_WRITE,
-                                MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
+                                PROT_READ | PROT_WRITE,
+                                MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
     idt_table = g2h_untagged(env->idt.base);
     set_idt(0, 0);
     set_idt(1, 0);
@@ -1082,8 +1082,8 @@ int main(int argc, char **argv)
     {
         uint64_t *gdt_table;
         env->gdt.base = target_mmap(0, sizeof(uint64_t) * TARGET_GDT_ENTRIES,
-                                    PROT_READ|PROT_WRITE,
-                                    MAP_ANONYMOUS|MAP_PRIVATE, -1, 0);
+                                    PROT_READ | PROT_WRITE,
+                                    MAP_ANONYMOUS | MAP_PRIVATE, -1, 0);
         env->gdt.limit = sizeof(uint64_t) * TARGET_GDT_ENTRIES - 1;
         gdt_table = g2h_untagged(env->gdt.base);
 #ifdef TARGET_ABI32
@@ -1123,9 +1123,9 @@ int main(int argc, char **argv)
         env->pc = regs->pc;
         env->npc = regs->npc;
         env->y = regs->y;
-        for(i = 0; i < 8; i++)
+        for (i = 0; i < 8; i++)
             env->gregs[i] = regs->u_regs[i];
-        for(i = 0; i < 8; i++)
+        for (i = 0; i < 8; i++)
             env->regwptr[i] = regs->u_regs[i + 8];
     }
 #else
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 04/48] bsd-user: style tweak: keyword space (
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (2 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 03/48] " imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 05/48] " imp
                   ` (44 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/mmap.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c
index 01ec808003..0ac1b92706 100644
--- a/bsd-user/mmap.c
+++ b/bsd-user/mmap.c
@@ -93,11 +93,11 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
     if (start > host_start) {
         /* handle host page containing start */
         prot1 = prot;
-        for(addr = host_start; addr < start; addr += TARGET_PAGE_SIZE) {
+        for (addr = host_start; addr < start; addr += TARGET_PAGE_SIZE) {
             prot1 |= page_get_flags(addr);
         }
         if (host_end == host_start + qemu_host_page_size) {
-            for(addr = end; addr < host_end; addr += TARGET_PAGE_SIZE) {
+            for (addr = end; addr < host_end; addr += TARGET_PAGE_SIZE) {
                 prot1 |= page_get_flags(addr);
             }
             end = host_end;
@@ -110,7 +110,7 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
     }
     if (end < host_end) {
         prot1 = prot;
-        for(addr = end; addr < host_end; addr += TARGET_PAGE_SIZE) {
+        for (addr = end; addr < host_end; addr += TARGET_PAGE_SIZE) {
             prot1 |= page_get_flags(addr);
         }
         ret = mprotect(g2h_untagged(host_end - qemu_host_page_size),
@@ -148,7 +148,7 @@ static int mmap_frag(abi_ulong real_start,
 
     /* get the protection of the target pages outside the mapping */
     prot1 = 0;
-    for(addr = real_start; addr < real_end; addr++) {
+    for (addr = real_start; addr < real_end; addr++) {
         if (addr < start || addr >= end)
             prot1 |= page_get_flags(addr);
     }
@@ -225,9 +225,9 @@ static abi_ulong mmap_find_vma(abi_ulong start, abi_ulong size)
     if (addr == 0)
         addr = mmap_next_start;
     addr_start = addr;
-    for(;;) {
+    for (;;) {
         prot = 0;
-        for(addr1 = addr; addr1 < (addr + size); addr1 += TARGET_PAGE_SIZE) {
+        for (addr1 = addr; addr1 < (addr + size); addr1 += TARGET_PAGE_SIZE) {
             prot |= page_get_flags(addr1);
         }
         if (prot == 0)
@@ -262,7 +262,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
             printf("MAP_FIXED ");
         if (flags & MAP_ANON)
             printf("MAP_ANON ");
-        switch(flags & TARGET_BSD_MAP_FLAGMASK) {
+        switch (flags & TARGET_BSD_MAP_FLAGMASK) {
         case MAP_PRIVATE:
             printf("MAP_PRIVATE ");
             break;
@@ -321,7 +321,7 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
         end = start + len;
         real_end = HOST_PAGE_ALIGN(end);
 
-        for(addr = real_start; addr < real_end; addr += TARGET_PAGE_SIZE) {
+        for (addr = real_start; addr < real_end; addr += TARGET_PAGE_SIZE) {
             flg = page_get_flags(addr);
             if (flg & PAGE_RESERVED) {
                 errno = ENXIO;
@@ -433,11 +433,11 @@ int target_munmap(abi_ulong start, abi_ulong len)
     if (start > real_start) {
         /* handle host page containing start */
         prot = 0;
-        for(addr = real_start; addr < start; addr += TARGET_PAGE_SIZE) {
+        for (addr = real_start; addr < start; addr += TARGET_PAGE_SIZE) {
             prot |= page_get_flags(addr);
         }
         if (real_end == real_start + qemu_host_page_size) {
-            for(addr = end; addr < real_end; addr += TARGET_PAGE_SIZE) {
+            for (addr = end; addr < real_end; addr += TARGET_PAGE_SIZE) {
                 prot |= page_get_flags(addr);
             }
             end = real_end;
@@ -447,7 +447,7 @@ int target_munmap(abi_ulong start, abi_ulong len)
     }
     if (end < real_end) {
         prot = 0;
-        for(addr = end; addr < real_end; addr += TARGET_PAGE_SIZE) {
+        for (addr = end; addr < real_end; addr += TARGET_PAGE_SIZE) {
             prot |= page_get_flags(addr);
         }
         if (prot != 0)
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 05/48] bsd-user: style tweak: keyword space (
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (3 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 04/48] bsd-user: style tweak: keyword space ( imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 06/48] " imp
                   ` (43 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/qemu.h | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index d2bcaab741..b836b603af 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -233,7 +233,7 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
 #define __put_user(x, hptr)\
 ({\
     int size = sizeof(*hptr);\
-    switch(size) {\
+    switch (size) {\
     case 1:\
         *(uint8_t *)(hptr) = (uint8_t)(typeof(*hptr))(x);\
         break;\
@@ -255,7 +255,7 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
 #define __get_user(x, hptr) \
 ({\
     int size = sizeof(*hptr);\
-    switch(size) {\
+    switch (size) {\
     case 1:\
         x = (typeof(*hptr))*(uint8_t *)(hptr);\
         break;\
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 06/48] bsd-user: style tweak: keyword space (
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (4 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 05/48] " imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 07/48] " imp
                   ` (42 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/syscall.c | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index adc3d21b54..3352735c68 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -95,7 +95,7 @@ static abi_long do_freebsd_sysarch(CPUX86State *env, int op, abi_ulong parms)
     abi_ulong val;
     int idx;
 
-    switch(op) {
+    switch (op) {
 #ifdef TARGET_ABI32
     case TARGET_FREEBSD_I386_SET_GSBASE:
     case TARGET_FREEBSD_I386_SET_FSBASE:
@@ -271,7 +271,7 @@ static abi_long lock_iovec(int type, struct iovec *vec, abi_ulong target_addr,
     target_vec = lock_user(VERIFY_READ, target_addr, count * sizeof(struct target_iovec), 1);
     if (!target_vec)
         return -TARGET_EFAULT;
-    for(i = 0;i < count; i++) {
+    for (i = 0;i < count; i++) {
         base = tswapl(target_vec[i].iov_base);
         vec[i].iov_len = tswapl(target_vec[i].iov_len);
         if (vec[i].iov_len != 0) {
@@ -297,7 +297,7 @@ static abi_long unlock_iovec(struct iovec *vec, abi_ulong target_addr,
     target_vec = lock_user(VERIFY_READ, target_addr, count * sizeof(struct target_iovec), 1);
     if (!target_vec)
         return -TARGET_EFAULT;
-    for(i = 0;i < count; i++) {
+    for (i = 0;i < count; i++) {
         if (target_vec[i].iov_base) {
             base = tswapl(target_vec[i].iov_base);
             unlock_user(vec[i].iov_base, base, copy ? vec[i].iov_len : 0);
@@ -325,10 +325,10 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
 #endif
     record_syscall_start(cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, 0, 0);
 
-    if(do_strace)
+    if (do_strace)
         print_freebsd_syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
 
-    switch(num) {
+    switch (num) {
     case TARGET_FREEBSD_NR_exit:
 #ifdef CONFIG_GPROF
         _mcleanup();
@@ -427,10 +427,10 @@ abi_long do_netbsd_syscall(void *cpu_env, int num, abi_long arg1,
 
     record_syscall_start(cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, 0, 0);
 
-    if(do_strace)
+    if (do_strace)
         print_netbsd_syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
 
-    switch(num) {
+    switch (num) {
     case TARGET_NETBSD_NR_exit:
 #ifdef CONFIG_GPROF
         _mcleanup();
@@ -506,10 +506,10 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
 
     record_syscall_start(cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, 0, 0);
 
-    if(do_strace)
+    if (do_strace)
         print_openbsd_syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
 
-    switch(num) {
+    switch (num) {
     case TARGET_OPENBSD_NR_exit:
 #ifdef CONFIG_GPROF
         _mcleanup();
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 07/48] bsd-user: style tweak: keyword space (
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (5 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 06/48] " imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 08/48] bsd-user: style tweak: use C not C++ comments imp
                   ` (41 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/uaccess.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bsd-user/uaccess.c b/bsd-user/uaccess.c
index 91e2067933..89163257f4 100644
--- a/bsd-user/uaccess.c
+++ b/bsd-user/uaccess.c
@@ -46,7 +46,7 @@ abi_long target_strlen(abi_ulong guest_addr1)
     int max_len, len;
 
     guest_addr = guest_addr1;
-    for(;;) {
+    for (;;) {
         max_len = TARGET_PAGE_SIZE - (guest_addr & ~TARGET_PAGE_MASK);
         ptr = lock_user(VERIFY_READ, guest_addr, max_len, 1);
         if (!ptr)
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 08/48] bsd-user: style tweak: use C not C++ comments
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (6 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 07/48] " imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 09/48] " imp
                   ` (40 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/elfload.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c
index 3c9d8c2845..87154283ef 100644
--- a/bsd-user/elfload.c
+++ b/bsd-user/elfload.c
@@ -1010,7 +1010,7 @@ static const char *lookup_symbolxx(struct syminfo *s, target_ulong orig_addr)
     struct elf_sym *syms = s->disas_symtab.elf64;
 #endif
 
-    // binary search
+    /* binary search */
     struct elf_sym *sym;
 
     sym = bsearch(&orig_addr, syms, s->disas_num_syms, sizeof(*syms), symfind);
@@ -1092,7 +1092,7 @@ static void load_symbols(struct elfhdr *hdr, int fd)
 #ifdef BSWAP_NEEDED
         bswap_sym(syms + i);
 #endif
-        // Throw away entries which we do not need.
+        /* Throw away entries which we do not need. */
         if (syms[i].st_shndx == SHN_UNDEF ||
                 syms[i].st_shndx >= SHN_LORESERVE ||
                 ELF_ST_TYPE(syms[i].st_info) != STT_FUNC) {
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 09/48] bsd-user: style tweak: use C not C++ comments
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (7 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 08/48] bsd-user: style tweak: use C not C++ comments imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 10/48] bsd-user: Remove commented out code imp
                   ` (39 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/main.c | 16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 455b8eddab..ff886de98e 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -148,7 +148,7 @@ void cpu_loop(CPUX86State *env)
     CPUState *cs = env_cpu(env);
     int trapnr;
     abi_ulong pc;
-    //target_siginfo_t info;
+    /* target_siginfo_t info; */
 
     for (;;) {
         cpu_exec_start(cs);
@@ -197,7 +197,7 @@ void cpu_loop(CPUX86State *env)
                                                       arg6,
                                                       arg7,
                                                       arg8);
-            } else { //if (bsd_type == target_openbsd)
+            } else { /* if (bsd_type == target_openbsd) */
                 env->regs[R_EAX] = do_openbsd_syscall(env,
                                                       env->regs[R_EAX],
                                                       env->regs[R_EBX],
@@ -226,7 +226,7 @@ void cpu_loop(CPUX86State *env)
                                                       env->regs[R_ECX],
                                                       env->regs[8],
                                                       env->regs[9], 0, 0);
-            else { //if (bsd_type == target_openbsd)
+            else { /* if (bsd_type == target_openbsd) */
                 env->regs[R_EAX] = do_openbsd_syscall(env,
                                                       env->regs[R_EAX],
                                                       env->regs[R_EDI],
@@ -370,7 +370,7 @@ void cpu_loop(CPUX86State *env)
 #ifdef TARGET_SPARC
 #define SPARC64_STACK_BIAS 2047
 
-//#define DEBUG_WIN
+/* #define DEBUG_WIN */
 /* WARNING: dealing with register windows _is_ complicated. More info
    can be found at http://www.sics.se/~psm/sparcstack.html */
 static inline int get_reg_index(CPUSPARCState *env, int cwp, int index)
@@ -497,7 +497,7 @@ void cpu_loop(CPUSPARCState *env)
 {
     CPUState *cs = env_cpu(env);
     int trapnr, ret, syscall_nr;
-    //target_siginfo_t info;
+    /* target_siginfo_t info; */
 
     while (1) {
         cpu_exec_start(cs);
@@ -527,7 +527,7 @@ void cpu_loop(CPUSPARCState *env)
                                         env->regwptr[0], env->regwptr[1],
                                         env->regwptr[2], env->regwptr[3],
                                         env->regwptr[4], env->regwptr[5]);
-            else { //if (bsd_type == target_openbsd)
+            else { /* if (bsd_type == target_openbsd) */
 #if defined(TARGET_SPARC64)
                 syscall_nr &= ~(TARGET_OPENBSD_SYSCALL_G7RFLAG |
                                 TARGET_OPENBSD_SYSCALL_G2RFLAG);
@@ -619,7 +619,7 @@ void cpu_loop(CPUSPARCState *env)
                     info._sifields._sigfault._addr = env->dmmuregs[4];
                 else
                     info._sifields._sigfault._addr = env->tsptr->tpc;
-                //queue_signal(env, info.si_signo, &info);
+                /* queue_signal(env, info.si_signo, &info); */
             }
 #endif
             break;
@@ -639,7 +639,7 @@ void cpu_loop(CPUSPARCState *env)
                     info.si_signo = sig;
                     info.si_errno = 0;
                     info.si_code = TARGET_TRAP_BRKPT;
-                    //queue_signal(env, info.si_signo, &info);
+                    /* queue_signal(env, info.si_signo, &info); */
                   }
 #endif
             }
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 10/48] bsd-user: Remove commented out code
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (8 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 09/48] " imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:19   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 11/48] bsd-user: style tweak: Remove #if 0'd code imp
                   ` (38 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Remove dead code that's been commented out forever.
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/qemu.h | 4 ----
 1 file changed, 4 deletions(-)
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index b836b603af..7ccc8ad397 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -71,7 +71,6 @@ struct image_info {
 
 struct sigqueue {
     struct sigqueue *next;
-    //target_siginfo_t info;
 };
 
 struct emulated_sigtable {
@@ -193,9 +192,6 @@ extern int do_strace;
 /* signal.c */
 void process_pending_signals(CPUArchState *cpu_env);
 void signal_init(void);
-//int queue_signal(CPUArchState *env, int sig, target_siginfo_t *info);
-//void host_to_target_siginfo(target_siginfo_t *tinfo, const siginfo_t *info);
-//void target_to_host_siginfo(siginfo_t *info, const target_siginfo_t *tinfo);
 long do_sigreturn(CPUArchState *env);
 long do_rt_sigreturn(CPUArchState *env);
 abi_long do_sigaltstack(abi_ulong uss_addr, abi_ulong uoss_addr, abi_ulong sp);
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 11/48] bsd-user: style tweak: Remove #if 0'd code
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (9 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 10/48] bsd-user: Remove commented out code imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:21   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 12/48] " imp
                   ` (37 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/elfload.c | 12 ------------
 1 file changed, 12 deletions(-)
diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c
index 87154283ef..2c6764d372 100644
--- a/bsd-user/elfload.c
+++ b/bsd-user/elfload.c
@@ -1270,9 +1270,6 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
               ibcs2_interpreter = 1;
             }
 
-#if 0
-            printf("Using ELF interpreter %s\n", path(elf_interpreter));
-#endif
             if (retval >= 0) {
                 retval = open(path(elf_interpreter), O_RDONLY);
                 if (retval >= 0) {
@@ -1529,15 +1526,6 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
 
     padzero(elf_bss, elf_brk);
 
-#if 0
-    printf("(start_brk) %x\n" , info->start_brk);
-    printf("(end_code) %x\n" , info->end_code);
-    printf("(start_code) %x\n" , info->start_code);
-    printf("(end_data) %x\n" , info->end_data);
-    printf("(start_stack) %x\n" , info->start_stack);
-    printf("(brk) %x\n" , info->brk);
-#endif
-
     if (info->personality == PER_SVR4)
     {
             /* Why this, you ask???  Well SVr4 maps page 0 as read-only,
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 12/48] bsd-user: style tweak: Remove #if 0'd code
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (10 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 11/48] bsd-user: style tweak: Remove #if 0'd code imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:23   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 13/48] " imp
                   ` (36 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/main.c | 143 ------------------------------------------------
 1 file changed, 143 deletions(-)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index ff886de98e..3c6c0ec687 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -244,118 +244,10 @@ void cpu_loop(CPUX86State *env)
                 env->eflags &= ~CC_C;
             }
             break;
-#endif
-#if 0
-        case EXCP0B_NOSEG:
-        case EXCP0C_STACK:
-            info.si_signo = SIGBUS;
-            info.si_errno = 0;
-            info.si_code = TARGET_SI_KERNEL;
-            info._sifields._sigfault._addr = 0;
-            queue_signal(env, info.si_signo, &info);
-            break;
-        case EXCP0D_GPF:
-            /* XXX: potential problem if ABI32 */
-#ifndef TARGET_X86_64
-            if (env->eflags & VM_MASK) {
-                handle_vm86_fault(env);
-            } else
-#endif
-            {
-                info.si_signo = SIGSEGV;
-                info.si_errno = 0;
-                info.si_code = TARGET_SI_KERNEL;
-                info._sifields._sigfault._addr = 0;
-                queue_signal(env, info.si_signo, &info);
-            }
-            break;
-        case EXCP0E_PAGE:
-            info.si_signo = SIGSEGV;
-            info.si_errno = 0;
-            if (!(env->error_code & 1))
-                info.si_code = TARGET_SEGV_MAPERR;
-            else
-                info.si_code = TARGET_SEGV_ACCERR;
-            info._sifields._sigfault._addr = env->cr[2];
-            queue_signal(env, info.si_signo, &info);
-            break;
-        case EXCP00_DIVZ:
-#ifndef TARGET_X86_64
-            if (env->eflags & VM_MASK) {
-                handle_vm86_trap(env, trapnr);
-            } else
-#endif
-            {
-                /* division by zero */
-                info.si_signo = SIGFPE;
-                info.si_errno = 0;
-                info.si_code = TARGET_FPE_INTDIV;
-                info._sifields._sigfault._addr = env->eip;
-                queue_signal(env, info.si_signo, &info);
-            }
-            break;
-        case EXCP01_DB:
-        case EXCP03_INT3:
-#ifndef TARGET_X86_64
-            if (env->eflags & VM_MASK) {
-                handle_vm86_trap(env, trapnr);
-            } else
-#endif
-            {
-                info.si_signo = SIGTRAP;
-                info.si_errno = 0;
-                if (trapnr == EXCP01_DB) {
-                    info.si_code = TARGET_TRAP_BRKPT;
-                    info._sifields._sigfault._addr = env->eip;
-                } else {
-                    info.si_code = TARGET_SI_KERNEL;
-                    info._sifields._sigfault._addr = 0;
-                }
-                queue_signal(env, info.si_signo, &info);
-            }
-            break;
-        case EXCP04_INTO:
-        case EXCP05_BOUND:
-#ifndef TARGET_X86_64
-            if (env->eflags & VM_MASK) {
-                handle_vm86_trap(env, trapnr);
-            } else
-#endif
-            {
-                info.si_signo = SIGSEGV;
-                info.si_errno = 0;
-                info.si_code = TARGET_SI_KERNEL;
-                info._sifields._sigfault._addr = 0;
-                queue_signal(env, info.si_signo, &info);
-            }
-            break;
-        case EXCP06_ILLOP:
-            info.si_signo = SIGILL;
-            info.si_errno = 0;
-            info.si_code = TARGET_ILL_ILLOPN;
-            info._sifields._sigfault._addr = env->eip;
-            queue_signal(env, info.si_signo, &info);
-            break;
 #endif
         case EXCP_INTERRUPT:
             /* just indicate that signals should be handled asap */
             break;
-#if 0
-        case EXCP_DEBUG:
-            {
-                int sig;
-
-                sig = gdb_handlesig(env, TARGET_SIGTRAP);
-                if (sig)
-                  {
-                    info.si_signo = sig;
-                    info.si_errno = 0;
-                    info.si_code = TARGET_TRAP_BRKPT;
-                    queue_signal(env, info.si_signo, &info);
-                  }
-            }
-            break;
-#endif
         default:
             pc = env->segs[R_CS].base + env->eip;
             fprintf(stderr, "qemu: 0x%08lx: unhandled CPU exception 0x%x - aborting\n",
@@ -589,16 +481,6 @@ void cpu_loop(CPUSPARCState *env)
             break;
         case TT_TFAULT:
         case TT_DFAULT:
-#if 0
-            {
-                info.si_signo = SIGSEGV;
-                info.si_errno = 0;
-                /* XXX: check env->error_code */
-                info.si_code = TARGET_SEGV_MAPERR;
-                info._sifields._sigfault._addr = env->mmuregs[4];
-                queue_signal(env, info.si_signo, &info);
-            }
-#endif
             break;
 #else
         case TT_SPILL: /* window overflow */
@@ -609,19 +491,6 @@ void cpu_loop(CPUSPARCState *env)
             break;
         case TT_TFAULT:
         case TT_DFAULT:
-#if 0
-            {
-                info.si_signo = SIGSEGV;
-                info.si_errno = 0;
-                /* XXX: check env->error_code */
-                info.si_code = TARGET_SEGV_MAPERR;
-                if (trapnr == TT_DFAULT)
-                    info._sifields._sigfault._addr = env->dmmuregs[4];
-                else
-                    info._sifields._sigfault._addr = env->tsptr->tpc;
-                /* queue_signal(env, info.si_signo, &info); */
-            }
-#endif
             break;
 #endif
         case EXCP_INTERRUPT:
@@ -629,19 +498,7 @@ void cpu_loop(CPUSPARCState *env)
             break;
         case EXCP_DEBUG:
             {
-#if 0
-                int sig =
-#endif
                 gdb_handlesig(cs, TARGET_SIGTRAP);
-#if 0
-                if (sig)
-                  {
-                    info.si_signo = sig;
-                    info.si_errno = 0;
-                    info.si_code = TARGET_TRAP_BRKPT;
-                    /* queue_signal(env, info.si_signo, &info); */
-                  }
-#endif
             }
             break;
         default:
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 13/48] bsd-user: style tweak: Remove #if 0'd code
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (11 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 12/48] " imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:23   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 14/48] " imp
                   ` (35 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/strace.c | 8 --------
 1 file changed, 8 deletions(-)
diff --git a/bsd-user/strace.c b/bsd-user/strace.c
index 2c3b59caf0..be40b8a20c 100644
--- a/bsd-user/strace.c
+++ b/bsd-user/strace.c
@@ -128,14 +128,6 @@ static void print_syscall_ret_addr(const struct syscallname *name, abi_long ret)
     }
 }
 
-#if 0 /* currently unused */
-static void
-print_syscall_ret_raw(struct syscallname *name, abi_long ret)
-{
-        gemu_log(" = 0x" TARGET_ABI_FMT_lx "\n", ret);
-}
-#endif
-
 /*
  * An array of all of the syscalls we know about
  */
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 14/48] bsd-user: style tweak: Remove #if 0'd code
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (12 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 13/48] " imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:24   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 15/48] bsd-user: style tweak: return is not a function, eliminate () imp
                   ` (34 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/x86_64/target_syscall.h | 15 ---------------
 1 file changed, 15 deletions(-)
diff --git a/bsd-user/x86_64/target_syscall.h b/bsd-user/x86_64/target_syscall.h
index a8e6274b76..ec99354e15 100644
--- a/bsd-user/x86_64/target_syscall.h
+++ b/bsd-user/x86_64/target_syscall.h
@@ -59,27 +59,12 @@ struct target_pt_regs {
 #define TARGET_GDT_ENTRY_TLS_MIN 12
 #define TARGET_GDT_ENTRY_TLS_MAX 14
 
-#if 0 // Redefine this
-struct target_modify_ldt_ldt_s {
-	unsigned int  entry_number;
-        abi_ulong     base_addr;
-	unsigned int  limit;
-	unsigned int  seg_32bit:1;
-	unsigned int  contents:2;
-	unsigned int  read_exec_only:1;
-	unsigned int  limit_in_pages:1;
-	unsigned int  seg_not_present:1;
-	unsigned int  useable:1;
-	unsigned int  lm:1;
-};
-#else
 struct target_modify_ldt_ldt_s {
 	unsigned int  entry_number;
         abi_ulong     base_addr;
 	unsigned int  limit;
         unsigned int flags;
 };
-#endif
 
 struct target_ipc64_perm
 {
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 15/48] bsd-user: style tweak: return is not a function, eliminate ()
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (13 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 14/48] " imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:24   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 16/48] bsd-user: style tweak: Put {} around all if/else/for statements imp
                   ` (33 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/bsdload.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)
diff --git a/bsd-user/bsdload.c b/bsd-user/bsdload.c
index 546946b91d..fd14ffa4cd 100644
--- a/bsd-user/bsdload.c
+++ b/bsd-user/bsdload.c
@@ -28,7 +28,7 @@ static int count(char **vec)
         vec++;
     }
 
-    return(i);
+    return i;
 }
 
 static int prepare_binprm(struct linux_binprm *bprm)
@@ -38,15 +38,15 @@ static int prepare_binprm(struct linux_binprm *bprm)
     int retval;
 
     if (fstat(bprm->fd, &st) < 0) {
-        return(-errno);
+        return -errno;
     }
 
     mode = st.st_mode;
     if (!S_ISREG(mode)) {        /* Must be regular file */
-        return(-EACCES);
+        return -EACCES;
     }
     if (!(mode & 0111)) {        /* Must have at least one execute bit set */
-        return(-EACCES);
+        return -EACCES;
     }
 
     bprm->e_uid = geteuid();
@@ -75,10 +75,9 @@ static int prepare_binprm(struct linux_binprm *bprm)
     if (retval < 0) {
         perror("prepare_binprm");
         exit(-1);
-        /* return(-errno); */
     }
     else {
-        return(retval);
+        return retval;
     }
 }
 
@@ -169,5 +168,5 @@ int loader_exec(const char *filename, char **argv, char **envp,
     for (i = 0 ; i < MAX_ARG_PAGES ; i++) {
         g_free(bprm.page[i]);
     }
-    return(retval);
+    return retval;
 }
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 16/48] bsd-user: style tweak: Put {} around all if/else/for statements
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (14 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 15/48] bsd-user: style tweak: return is not a function, eliminate () imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:25   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 17/48] bsd-user: style tweak: Fix commentary issues imp
                   ` (32 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/bsdload.c | 12 +++++++-----
 1 file changed, 7 insertions(+), 5 deletions(-)
diff --git a/bsd-user/bsdload.c b/bsd-user/bsdload.c
index fd14ffa4cd..e1ed3b7b60 100644
--- a/bsd-user/bsdload.c
+++ b/bsd-user/bsdload.c
@@ -13,8 +13,9 @@ abi_long memcpy_to_target(abi_ulong dest, const void *src,
     void *host_ptr;
 
     host_ptr = lock_user(VERIFY_WRITE, dest, len, 0);
-    if (!host_ptr)
+    if (!host_ptr) {
         return -TARGET_EFAULT;
+    }
     memcpy(host_ptr, src, len);
     unlock_user(host_ptr, dest, 1);
     return 0;
@@ -75,8 +76,7 @@ static int prepare_binprm(struct linux_binprm *bprm)
     if (retval < 0) {
         perror("prepare_binprm");
         exit(-1);
-    }
-    else {
+    } else {
         return retval;
     }
 }
@@ -132,11 +132,13 @@ int loader_exec(const char *filename, char **argv, char **envp,
     int i;
 
     bprm.p = TARGET_PAGE_SIZE * MAX_ARG_PAGES - sizeof(unsigned int);
-    for (i = 0 ; i < MAX_ARG_PAGES ; i++)       /* clear page-table */
+    for (i = 0 ; i < MAX_ARG_PAGES ; i++) {     /* clear page-table */
             bprm.page[i] = NULL;
+    }
     retval = open(filename, O_RDONLY);
-    if (retval < 0)
+    if (retval < 0) {
         return retval;
+    }
     bprm.fd = retval;
     bprm.filename = (char *)filename;
     bprm.argc = count(argv);
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 17/48] bsd-user: style tweak: Fix commentary issues
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (15 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 16/48] bsd-user: style tweak: Put {} around all if/else/for statements imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 18/48] bsd-user: style tweak: Use preferred block comments imp
                   ` (31 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Lines > 80 or 90 characters
C++ comments
BSD /*- block comment convention removed.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/bsd-mman.h | 42 ++++++++++++++++++++++++++----------------
 1 file changed, 26 insertions(+), 16 deletions(-)
diff --git a/bsd-user/bsd-mman.h b/bsd-user/bsd-mman.h
index 910e8c1921..5a64d0d425 100644
--- a/bsd-user/bsd-mman.h
+++ b/bsd-user/bsd-mman.h
@@ -1,4 +1,4 @@
-/*-
+/*
  * Copyright (c) 1982, 1986, 1993
  *      The Regents of the University of California.  All rights reserved.
  *
@@ -30,16 +30,20 @@
  * $FreeBSD: src/sys/sys/mman.h,v 1.42 2008/03/28 04:29:27 ps Exp $
  */
 
-#define TARGET_FREEBSD_MAP_RESERVED0080 0x0080  /* previously misimplemented MAP_INHERIT */
-#define TARGET_FREEBSD_MAP_RESERVED0100 0x0100  /* previously unimplemented MAP_NOEXTEND */
-#define TARGET_FREEBSD_MAP_STACK        0x0400  /* region grows down, like a stack */
-#define TARGET_FREEBSD_MAP_NOSYNC       0x0800  /* page to but do not sync underlying file */
+#define TARGET_FREEBSD_MAP_RESERVED0080 0x0080
+                                 /* previously misimplemented MAP_INHERIT */
+#define TARGET_FREEBSD_MAP_RESERVED0100 0x0100
+                                 /* previously unimplemented MAP_NOEXTEND */
+#define TARGET_FREEBSD_MAP_STACK        0x0400
+                                 /* region grows down, like a stack */
+#define TARGET_FREEBSD_MAP_NOSYNC       0x0800
+                                 /* page to but do not sync underlying file */
 
 #define TARGET_FREEBSD_MAP_FLAGMASK     0x1ff7
 
 /*      $NetBSD: mman.h,v 1.42 2008/11/18 22:13:49 ad Exp $     */
 
-/*-
+/*
  * Copyright (c) 1982, 1986, 1993
  *      The Regents of the University of California.  All rights reserved.
  *
@@ -69,18 +73,21 @@
  *
  *      @(#)mman.h      8.2 (Berkeley) 1/9/95
  */
-#define TARGET_NETBSD_MAP_INHERIT       0x0080  /* region is retained after exec */
-#define TARGET_NETBSD_MAP_TRYFIXED      0x0400 /* attempt hint address, even within break */
-#define TARGET_NETBSD_MAP_WIRED         0x0800  /* mlock() mapping when it is established */
-
-#define TARGET_NETBSD_MAP_STACK         0x2000  /* allocated from memory, swap space (stack) */
+#define TARGET_NETBSD_MAP_INHERIT       0x0080
+                                /* region is retained after exec */
+#define TARGET_NETBSD_MAP_TRYFIXED      0x0400
+                                /* attempt hint address, even within break */
+#define TARGET_NETBSD_MAP_WIRED         0x0800
+                                /* mlock() mapping when it is established */
+#define TARGET_NETBSD_MAP_STACK         0x2000
+                                /* allocated from memory, swap space (stack) */
 
 #define TARGET_NETBSD_MAP_FLAGMASK      0x3ff7
 
 /*      $OpenBSD: mman.h,v 1.18 2003/07/21 22:52:19 tedu Exp $  */
 /*      $NetBSD: mman.h,v 1.11 1995/03/26 20:24:23 jtc Exp $    */
 
-/*-
+/*
  * Copyright (c) 1982, 1986, 1993
  *      The Regents of the University of California.  All rights reserved.
  *
@@ -111,11 +118,14 @@
  *      @(#)mman.h      8.1 (Berkeley) 6/2/93
  */
 
-#define TARGET_OPENBSD_MAP_INHERIT      0x0080  /* region is retained after exec */
-#define TARGET_OPENBSD_MAP_NOEXTEND     0x0100  /* for MAP_FILE, don't change file size */
-#define TARGET_OPENBSD_MAP_TRYFIXED     0x0400  /* attempt hint address, even within heap */
+#define TARGET_OPENBSD_MAP_INHERIT      0x0080
+                                /* region is retained after exec */
+#define TARGET_OPENBSD_MAP_NOEXTEND     0x0100
+                                /* for MAP_FILE, don't change file size */
+#define TARGET_OPENBSD_MAP_TRYFIXED     0x0400
+                                /* attempt hint address, even within heap */
 
 #define TARGET_OPENBSD_MAP_FLAGMASK     0x17f7
 
-// XXX
+/* XXX what to do in the future? */
 #define TARGET_BSD_MAP_FLAGMASK         0x3ff7
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 18/48] bsd-user: style tweak: Use preferred block comments
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (16 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 17/48] bsd-user: style tweak: Fix commentary issues imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 19/48] bsd-user: style tweak: move extern to header file imp
                   ` (30 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Use the preferred block comment style.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/main.c | 28 ++++++++++++++++++----------
 1 file changed, 18 insertions(+), 10 deletions(-)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 3c6c0ec687..60a62e016a 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -51,9 +51,11 @@ const char *qemu_uname_release;
 extern char **environ;
 enum BSDType bsd_type;
 
-/* XXX: on x86 MAP_GROWSDOWN only works if ESP <= address + 32, so
-   we allocate a bigger stack. Need a better solution, for example
-   by remapping the process stack directly at the right place */
+/*
+ * XXX: on x86 MAP_GROWSDOWN only works if ESP <= address + 32, so
+ * we allocate a bigger stack. Need a better solution, for example
+ * by remapping the process stack directly at the right place
+ */
 unsigned long x86_stack_size = 512 * 1024;
 
 void gemu_log(const char *fmt, ...)
@@ -263,13 +265,17 @@ void cpu_loop(CPUX86State *env)
 #define SPARC64_STACK_BIAS 2047
 
 /* #define DEBUG_WIN */
-/* WARNING: dealing with register windows _is_ complicated. More info
-   can be found at http://www.sics.se/~psm/sparcstack.html */
+/*
+ * WARNING: dealing with register windows _is_ complicated. More info
+ * can be found at http://www.sics.se/~psm/sparcstack.html
+ */
 static inline int get_reg_index(CPUSPARCState *env, int cwp, int index)
 {
     index = (index + cwp * 16) % (16 * env->nwindows);
-    /* wrap handling : if cwp is on the last window, then we use the
-       registers 'after' the end */
+    /*
+     * wrap handling : if cwp is on the last window, then we use the
+     * registers 'after' the end
+     */
     if (index < 8 && env->cwp == env->nwindows - 1)
         index += 16 * env->nwindows;
     return index;
@@ -847,9 +853,11 @@ int main(int argc, char **argv)
     syscall_init();
     signal_init();
 
-    /* Now that we've loaded the binary, GUEST_BASE is fixed.  Delay
-       generating the prologue until now so that the prologue can take
-       the real value of GUEST_BASE into account.  */
+    /*
+     * Now that we've loaded the binary, GUEST_BASE is fixed.  Delay
+     * generating the prologue until now so that the prologue can take
+     * the real value of GUEST_BASE into account.
+     */
     tcg_prologue_init(tcg_ctx);
     tcg_region_init();
 
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 19/48] bsd-user: style tweak: move extern to header file
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (17 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 18/48] bsd-user: style tweak: Use preferred block comments imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 20/48] bsd-user: style tweak: use {} consistently in for / if / else statements imp
                   ` (29 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
extern char **environ has no standard home, so move the declaration from the .c
file to a handy .h file. Since this is a standard, old-school UNIX interface
dating from the 5th edition, it's not quite the same issue that the rule is
supposed to protect against, though.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/main.c | 1 -
 bsd-user/qemu.h | 2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 60a62e016a..1b5d815c3a 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -48,7 +48,6 @@ unsigned long reserved_va;
 
 static const char *interp_prefix = CONFIG_QEMU_INTERP_PREFIX;
 const char *qemu_uname_release;
-extern char **environ;
 enum BSDType bsd_type;
 
 /*
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index 7ccc8ad397..5a82722281 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -27,6 +27,8 @@
 
 #include "exec/user/abitypes.h"
 
+extern char **environ;
+
 enum BSDType {
     target_freebsd,
     target_netbsd,
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 20/48] bsd-user: style tweak: use {} consistently in for / if / else statements
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (18 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 19/48] bsd-user: style tweak: move extern to header file imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 21/48] bsd-user: style nits: return is not a function imp
                   ` (28 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, Richard Henderson, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Fix various issues with {} not being present on if / for statements.
Minor line length tweaks
Move an assignment in an if out.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/main.c | 66 ++++++++++++++++++++++++++++++++-----------------
 1 file changed, 43 insertions(+), 23 deletions(-)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 1b5d815c3a..8f5cb7162d 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -218,7 +218,7 @@ void cpu_loop(CPUX86State *env)
 #ifndef TARGET_ABI32
         case EXCP_SYSCALL:
             /* syscall from syscall instruction */
-            if (bsd_type == target_freebsd)
+            if (bsd_type == target_freebsd) {
                 env->regs[R_EAX] = do_freebsd_syscall(env,
                                                       env->regs[R_EAX],
                                                       env->regs[R_EDI],
@@ -227,7 +227,7 @@ void cpu_loop(CPUX86State *env)
                                                       env->regs[R_ECX],
                                                       env->regs[8],
                                                       env->regs[9], 0, 0);
-            else { /* if (bsd_type == target_openbsd) */
+            } else { /* if (bsd_type == target_openbsd) */
                 env->regs[R_EAX] = do_openbsd_syscall(env,
                                                       env->regs[R_EAX],
                                                       env->regs[R_EDI],
@@ -251,7 +251,8 @@ void cpu_loop(CPUX86State *env)
             break;
         default:
             pc = env->segs[R_CS].base + env->eip;
-            fprintf(stderr, "qemu: 0x%08lx: unhandled CPU exception 0x%x - aborting\n",
+            fprintf(stderr,
+                    "qemu: 0x%08lx: unhandled CPU exception 0x%x - aborting\n",
                     (long)pc, trapnr);
             abort();
         }
@@ -275,8 +276,9 @@ static inline int get_reg_index(CPUSPARCState *env, int cwp, int index)
      * wrap handling : if cwp is on the last window, then we use the
      * registers 'after' the end
      */
-    if (index < 8 && env->cwp == env->nwindows - 1)
+    if (index < 8 && env->cwp == env->nwindows - 1) {
         index += 16 * env->nwindows;
+    }
     return index;
 }
 
@@ -288,8 +290,9 @@ static inline void save_window_offset(CPUSPARCState *env, int cwp1)
 
     sp_ptr = env->regbase[get_reg_index(env, cwp1, 6)];
 #ifdef TARGET_SPARC64
-    if (sp_ptr & 3)
+    if (sp_ptr & 3) {
         sp_ptr += SPARC64_STACK_BIAS;
+    }
 #endif
 #if defined(DEBUG_WIN)
     printf("win_overflow: sp_ptr=0x" TARGET_ABI_FMT_lx " save_cwp=%d\n",
@@ -338,8 +341,9 @@ static void restore_window(CPUSPARCState *env)
     cwp1 = cpu_cwp_inc(env, env->cwp + 1);
     sp_ptr = env->regbase[get_reg_index(env, cwp1, 6)];
 #ifdef TARGET_SPARC64
-    if (sp_ptr & 3)
+    if (sp_ptr & 3) {
         sp_ptr += SPARC64_STACK_BIAS;
+    }
 #endif
 #if defined(DEBUG_WIN)
     printf("win_underflow: sp_ptr=0x" TARGET_ABI_FMT_lx " load_cwp=%d\n",
@@ -352,8 +356,9 @@ static void restore_window(CPUSPARCState *env)
     }
 #ifdef TARGET_SPARC64
     env->canrestore++;
-    if (env->cleanwin < env->nwindows - 1)
+    if (env->cleanwin < env->nwindows - 1) {
         env->cleanwin++;
+    }
     env->cansave--;
 #else
     env->wim = new_wim;
@@ -369,11 +374,13 @@ static void flush_windows(CPUSPARCState *env)
         /* if restore would invoke restore_window(), then we can stop */
         cwp1 = cpu_cwp_inc(env, env->cwp + offset);
 #ifndef TARGET_SPARC64
-        if (env->wim & (1 << cwp1))
+        if (env->wim & (1 << cwp1)) {
             break;
+        }
 #else
-        if (env->canrestore == 0)
+        if (env->canrestore == 0) {
             break;
+        }
         env->cansave++;
         env->canrestore--;
 #endif
@@ -408,8 +415,9 @@ void cpu_loop(CPUSPARCState *env)
 #else
         /* FreeBSD uses 0x141 for syscalls too */
         case 0x141:
-            if (bsd_type != target_freebsd)
+            if (bsd_type != target_freebsd) {
                 goto badtrap;
+            }
             /* fallthrough */
         case 0x100:
 #endif
@@ -418,7 +426,8 @@ void cpu_loop(CPUSPARCState *env)
                 ret = do_freebsd_syscall(env, syscall_nr,
                                          env->regwptr[0], env->regwptr[1],
                                          env->regwptr[2], env->regwptr[3],
-                                         env->regwptr[4], env->regwptr[5], 0, 0);
+                                         env->regwptr[4], env->regwptr[5],
+                                         0, 0);
             else if (bsd_type == target_netbsd)
                 ret = do_netbsd_syscall(env, syscall_nr,
                                         env->regwptr[0], env->regwptr[1],
@@ -611,8 +620,9 @@ int main(int argc, char **argv)
     envlist_t *envlist = NULL;
     bsd_type = target_openbsd;
 
-    if (argc <= 1)
+    if (argc <= 1) {
         usage();
+    }
 
     error_init(argv[0]);
     module_call_init(MODULE_INIT_TRACE);
@@ -632,11 +642,13 @@ int main(int argc, char **argv)
 
     optind = 1;
     for (;;) {
-        if (optind >= argc)
+        if (optind >= argc) {
             break;
+        }
         r = argv[optind];
-        if (r[0] != '-')
+        if (r[0] != '-') {
             break;
+        }
         optind++;
         r++;
         if (!strcmp(r, "-")) {
@@ -653,24 +665,28 @@ int main(int argc, char **argv)
             log_file = argv[optind++];
         } else if (!strcmp(r, "E")) {
             r = argv[optind++];
-            if (envlist_setenv(envlist, r) != 0)
+            if (envlist_setenv(envlist, r) != 0) {
                 usage();
+            }
         } else if (!strcmp(r, "ignore-environment")) {
             envlist_free(envlist);
             envlist = envlist_create();
         } else if (!strcmp(r, "U")) {
             r = argv[optind++];
-            if (envlist_unsetenv(envlist, r) != 0)
+            if (envlist_unsetenv(envlist, r) != 0) {
                 usage();
+            }
         } else if (!strcmp(r, "s")) {
             r = argv[optind++];
             x86_stack_size = strtol(r, (char **)&r, 0);
-            if (x86_stack_size <= 0)
+            if (x86_stack_size <= 0) {
                 usage();
-            if (*r == 'M')
+            }
+            if (*r == 'M') {
                 x86_stack_size *= MiB;
-            else if (*r == 'k' || *r == 'K')
+            } else if (*r == 'k' || *r == 'K') {
                 x86_stack_size *= KiB;
+            }
         } else if (!strcmp(r, "L")) {
             interp_prefix = argv[optind++];
         } else if (!strcmp(r, "p")) {
@@ -810,11 +826,13 @@ int main(int argc, char **argv)
     if (!have_guest_base) {
         FILE *fp;
 
-        if ((fp = fopen("/proc/sys/vm/mmap_min_addr", "r")) != NULL) {
+        fp = fopen("/proc/sys/vm/mmap_min_addr", "r");
+        if (fp != NULL) {
             unsigned long tmp;
             if (fscanf(fp, "%lu", &tmp) == 1) {
                 mmap_min_addr = tmp;
-                qemu_log_mask(CPU_LOG_PAGE, "host mmap_min_addr=0x%lx\n", mmap_min_addr);
+                qemu_log_mask(CPU_LOG_PAGE, "host mmap_min_addr=0x%lx\n",
+                              mmap_min_addr);
             }
             fclose(fp);
         }
@@ -987,10 +1005,12 @@ int main(int argc, char **argv)
         env->pc = regs->pc;
         env->npc = regs->npc;
         env->y = regs->y;
-        for (i = 0; i < 8; i++)
+        for (i = 0; i < 8; i++) {
             env->gregs[i] = regs->u_regs[i];
-        for (i = 0; i < 8; i++)
+        }
+        for (i = 0; i < 8; i++) {
             env->regwptr[i] = regs->u_regs[i + 8];
+        }
     }
 #else
 #error unsupported target CPU
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 21/48] bsd-user: style nits: return is not a function
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (19 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 20/48] bsd-user: style tweak: use {} consistently in for / if / else statements imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:27   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 22/48] bsd-user: use qemu_strtoul in preference to strtol imp
                   ` (27 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/elfload.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c
index 2c6764d372..243a5a5048 100644
--- a/bsd-user/elfload.c
+++ b/bsd-user/elfload.c
@@ -1544,7 +1544,7 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
 static int load_aout_interp(void *exptr, int interp_fd)
 {
     printf("a.out interpreter not yet supported\n");
-    return(0);
+    return 0;
 }
 
 void do_init_thread(struct target_pt_regs *regs, struct image_info *infop)
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 22/48] bsd-user: use qemu_strtoul in preference to strtol
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (20 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 21/48] bsd-user: style nits: return is not a function imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:34   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 23/48] bsd-user: introduce host_os.h for bsd-specific code and defaults imp
                   ` (26 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/main.c | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 8f5cb7162d..a98a45df21 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -37,6 +37,7 @@
 #include "tcg/tcg.h"
 #include "qemu/timer.h"
 #include "qemu/envlist.h"
+#include "qemu/cutils.h"
 #include "exec/log.h"
 #include "trace/control.h"
 
@@ -613,7 +614,7 @@ int main(int argc, char **argv)
     TaskState ts1, *ts = &ts1;
     CPUArchState *env;
     CPUState *cpu;
-    int optind;
+    int optind, rv;
     const char *r;
     const char *gdbstub = NULL;
     char **target_environ, **wrk;
@@ -678,8 +679,8 @@ int main(int argc, char **argv)
             }
         } else if (!strcmp(r, "s")) {
             r = argv[optind++];
-            x86_stack_size = strtol(r, (char **)&r, 0);
-            if (x86_stack_size <= 0) {
+            rv = qemu_strtoul(r, &r, 0, &x86_stack_size);
+            if (rv < 0 || x86_stack_size <= 0) {
                 usage();
             }
             if (*r == 'M') {
@@ -710,7 +711,10 @@ int main(int argc, char **argv)
                 exit(1);
             }
         } else if (!strcmp(r, "B")) {
-            guest_base = strtol(argv[optind++], NULL, 0);
+            rv = qemu_strtoul(argv[optind++], NULL, 0, &guest_base);
+            if (rv < 0) {
+                usage();
+            }
             have_guest_base = true;
         } else if (!strcmp(r, "drop-ld-preload")) {
             (void) envlist_unsetenv(envlist, "LD_PRELOAD");
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 23/48] bsd-user: introduce host_os.h for bsd-specific code and defaults
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (21 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 22/48] bsd-user: use qemu_strtoul in preference to strtol imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 24/48] bsd-user: create target_arch_cpu.h imp
                   ` (25 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: kevans, Richard Henderson, arichardson, Warner Losh, Stacey Son
From: Warner Losh <imp@bsdimp.com>
Introduce host_os.h for frebsd, netbsd and openbsd. This sets the default bsd
being implemented today. In the future it will have code that is per-BSD
specific. Abstracted from a larger c93465b6208c4c95cc0a394ffef4180ba6ccf27a in
the qemu-bsd-user repo.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/freebsd/host_os.h | 25 +++++++++++++++++++++++++
 bsd-user/main.c            |  4 +++-
 bsd-user/netbsd/host_os.h  | 25 +++++++++++++++++++++++++
 bsd-user/openbsd/host_os.h | 25 +++++++++++++++++++++++++
 4 files changed, 78 insertions(+), 1 deletion(-)
 create mode 100644 bsd-user/freebsd/host_os.h
 create mode 100644 bsd-user/netbsd/host_os.h
 create mode 100644 bsd-user/openbsd/host_os.h
diff --git a/bsd-user/freebsd/host_os.h b/bsd-user/freebsd/host_os.h
new file mode 100644
index 0000000000..ceb1543d06
--- /dev/null
+++ b/bsd-user/freebsd/host_os.h
@@ -0,0 +1,25 @@
+/*
+ *  FreeBSD host dependent code and definitions
+ *
+ *  Copyright (c) 2013 Stacey D. Son
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __HOST_OS_H_
+#define __HOST_OS_H_
+
+#define HOST_DEFAULT_BSD_TYPE target_freebsd
+
+#endif /*!__HOST_OS_H_ */
diff --git a/bsd-user/main.c b/bsd-user/main.c
index a98a45df21..a81a70f8ac 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -41,6 +41,8 @@
 #include "exec/log.h"
 #include "trace/control.h"
 
+#include "host_os.h"
+
 int singlestep;
 unsigned long mmap_min_addr;
 uintptr_t guest_base;
@@ -619,7 +621,7 @@ int main(int argc, char **argv)
     const char *gdbstub = NULL;
     char **target_environ, **wrk;
     envlist_t *envlist = NULL;
-    bsd_type = target_openbsd;
+    bsd_type = HOST_DEFAULT_BSD_TYPE;
 
     if (argc <= 1) {
         usage();
diff --git a/bsd-user/netbsd/host_os.h b/bsd-user/netbsd/host_os.h
new file mode 100644
index 0000000000..ccbea076e6
--- /dev/null
+++ b/bsd-user/netbsd/host_os.h
@@ -0,0 +1,25 @@
+/*
+ *  NetBSD host dependent code and definitions
+ *
+ *  Copyright (c) 2013 Stacey D. Son
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __HOST_OS_H_
+#define __HOST_OS_H_
+
+#define HOST_DEFAULT_BSD_TYPE target_netbsd
+
+#endif /*!__HOST_OS_H_ */
diff --git a/bsd-user/openbsd/host_os.h b/bsd-user/openbsd/host_os.h
new file mode 100644
index 0000000000..79468073e4
--- /dev/null
+++ b/bsd-user/openbsd/host_os.h
@@ -0,0 +1,25 @@
+/*
+ *  OpenBSD host dependent code and definitions
+ *
+ *  Copyright (c) 2013 Stacey D. Son
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __HOST_OS_H_
+#define __HOST_OS_H_
+
+#define HOST_DEFAULT_BSD_TYPE target_openbsd
+
+#endif /*!__HOST_OS_H_ */
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 24/48] bsd-user: create target_arch_cpu.h
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (22 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 23/48] bsd-user: introduce host_os.h for bsd-specific code and defaults imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 15:59 ` [PATCH v2 25/48] bsd-user: move x86 (i386 and x86_64) cpu_loop to target_arch_cpu.h imp
                   ` (24 subsequent siblings)
  48 siblings, 0 replies; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel
  Cc: kevans, Richard Henderson, arichardson, Warner Losh, Stacey Son
From: Warner Losh <imp@bsdimp.com>
Create target_arch_cpu.h to house the target_cpu_loop and target_cpu_init
functions. These are the empty files that will be populated by moving the
appropriate cpu-specific functions out of main.c. This work pre-dates the
linux-user work that moved these to cpu-loop.c, so was done differently. As
there's a number of things linux-user did differently than bsd-user in their
time of divergence, and as the recertification of the code to redo it the same
way will take a fair amount of effort, a separate effort to address the
divergence once everything is in the tree and we can create a common qemu-user
directory for the munane common elements between the two.
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/arm/target_arch_cpu.h     | 22 ++++++++++++++++++++++
 bsd-user/i386/target_arch_cpu.h    | 22 ++++++++++++++++++++++
 bsd-user/main.c                    |  1 +
 bsd-user/sparc/target_arch_cpu.h   | 22 ++++++++++++++++++++++
 bsd-user/sparc64/target_arch_cpu.h | 19 +++++++++++++++++++
 bsd-user/x86_64/target_arch_cpu.h  | 19 +++++++++++++++++++
 6 files changed, 105 insertions(+)
 create mode 100644 bsd-user/arm/target_arch_cpu.h
 create mode 100644 bsd-user/i386/target_arch_cpu.h
 create mode 100644 bsd-user/sparc/target_arch_cpu.h
 create mode 100644 bsd-user/sparc64/target_arch_cpu.h
 create mode 100644 bsd-user/x86_64/target_arch_cpu.h
diff --git a/bsd-user/arm/target_arch_cpu.h b/bsd-user/arm/target_arch_cpu.h
new file mode 100644
index 0000000000..71c89174f2
--- /dev/null
+++ b/bsd-user/arm/target_arch_cpu.h
@@ -0,0 +1,22 @@
+/*
+ *  arm cpu init and loop
+ *
+ *  Copyright (c) 2013 Stacey D. Son
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef _TARGET_ARCH_CPU_H_
+#define _TARGET_ARCH_CPU_H_
+
+#endif /* ! _TARGET_ARCH_CPU_H_ */
diff --git a/bsd-user/i386/target_arch_cpu.h b/bsd-user/i386/target_arch_cpu.h
new file mode 100644
index 0000000000..c05e048b9b
--- /dev/null
+++ b/bsd-user/i386/target_arch_cpu.h
@@ -0,0 +1,22 @@
+/*
+ *  i386 cpu init and loop
+ *
+ *  Copyright (c) 2013 Stacey D. Son
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef _TARGET_ARCH_CPU_H_
+#define _TARGET_ARCH_CPU_H_
+
+#endif /* ! _TARGET_ARCH_CPU_H_ */
diff --git a/bsd-user/main.c b/bsd-user/main.c
index a81a70f8ac..8a270ccfe6 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -42,6 +42,7 @@
 #include "trace/control.h"
 
 #include "host_os.h"
+#include "target_arch_cpu.h"
 
 int singlestep;
 unsigned long mmap_min_addr;
diff --git a/bsd-user/sparc/target_arch_cpu.h b/bsd-user/sparc/target_arch_cpu.h
new file mode 100644
index 0000000000..dcf7694cba
--- /dev/null
+++ b/bsd-user/sparc/target_arch_cpu.h
@@ -0,0 +1,22 @@
+/*
+ *  sparc cpu init and loop
+ *
+ *  Copyright (c) 2013 Stacey D. Son
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+#ifndef _TARGET_ARCH_CPU_H_
+#define _TARGET_ARCH_CPU_H_
+
+#endif /* ! _TARGET_ARCH_CPU_H_ */
diff --git a/bsd-user/sparc64/target_arch_cpu.h b/bsd-user/sparc64/target_arch_cpu.h
new file mode 100644
index 0000000000..c3962a8e9a
--- /dev/null
+++ b/bsd-user/sparc64/target_arch_cpu.h
@@ -0,0 +1,19 @@
+/*
+ *  sparc64 cpu init and loop
+ *
+ *  Copyright (c) 2013 Stacey D. Son
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+#include "../sparc/target_arch_cpu.h"
diff --git a/bsd-user/x86_64/target_arch_cpu.h b/bsd-user/x86_64/target_arch_cpu.h
new file mode 100644
index 0000000000..56cb59ae0b
--- /dev/null
+++ b/bsd-user/x86_64/target_arch_cpu.h
@@ -0,0 +1,19 @@
+/*
+ *  x86_64 cpu init and loop
+ *
+ *  Copyright (c) 2013 Stacey D. Son
+ *
+ *  This program is free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  This program is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  You should have received a copy of the GNU General Public License
+ *  along with this program; if not, see <http://www.gnu.org/licenses/>.
+ */
+#include "../i386/target_arch_cpu.h"
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 25/48] bsd-user: move x86 (i386 and x86_64) cpu_loop to target_arch_cpu.h
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (23 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 24/48] bsd-user: create target_arch_cpu.h imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:43   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 26/48] bsd-user: move sparc cpu_loop into target_arch_cpu.h as target_cpu_loop imp
                   ` (23 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh, Stacey Son
From: Warner Losh <imp@bsdimp.com>
Move the x86 version of the cpu_loop to target_arch_cpu.h as
target_cpu_loop. Create a cpu_loop that calls the target_cpu_loop function, but
only for x86 for now. This is code-movement only commit.
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/i386/target_arch_cpu.h | 177 +++++++++++++++++++++++++++++++-
 bsd-user/main.c                 | 176 +------------------------------
 2 files changed, 179 insertions(+), 174 deletions(-)
diff --git a/bsd-user/i386/target_arch_cpu.h b/bsd-user/i386/target_arch_cpu.h
index c05e048b9b..e8b306c832 100644
--- a/bsd-user/i386/target_arch_cpu.h
+++ b/bsd-user/i386/target_arch_cpu.h
@@ -19,4 +19,179 @@
 #ifndef _TARGET_ARCH_CPU_H_
 #define _TARGET_ARCH_CPU_H_
 
-#endif /* ! _TARGET_ARCH_CPU_H_ */
+/***********************************************************/
+/* CPUX86 core interface */
+
+uint64_t cpu_get_tsc(CPUX86State *env)
+{
+    return cpu_get_host_ticks();
+}
+
+static void write_dt(void *ptr, unsigned long addr, unsigned long limit,
+                     int flags)
+{
+    unsigned int e1, e2;
+    uint32_t *p;
+    e1 = (addr << 16) | (limit & 0xffff);
+    e2 = ((addr >> 16) & 0xff) | (addr & 0xff000000) | (limit & 0x000f0000);
+    e2 |= flags;
+    p = ptr;
+    p[0] = tswap32(e1);
+    p[1] = tswap32(e2);
+}
+
+static uint64_t *idt_table;
+#ifdef TARGET_X86_64
+static void set_gate64(void *ptr, unsigned int type, unsigned int dpl,
+                       uint64_t addr, unsigned int sel)
+{
+    uint32_t *p, e1, e2;
+    e1 = (addr & 0xffff) | (sel << 16);
+    e2 = (addr & 0xffff0000) | 0x8000 | (dpl << 13) | (type << 8);
+    p = ptr;
+    p[0] = tswap32(e1);
+    p[1] = tswap32(e2);
+    p[2] = tswap32(addr >> 32);
+    p[3] = 0;
+}
+/* only dpl matters as we do only user space emulation */
+static void set_idt(int n, unsigned int dpl)
+{
+    set_gate64(idt_table + n * 2, 0, dpl, 0, 0);
+}
+#else
+static void set_gate(void *ptr, unsigned int type, unsigned int dpl,
+                     uint32_t addr, unsigned int sel)
+{
+    uint32_t *p, e1, e2;
+    e1 = (addr & 0xffff) | (sel << 16);
+    e2 = (addr & 0xffff0000) | 0x8000 | (dpl << 13) | (type << 8);
+    p = ptr;
+    p[0] = tswap32(e1);
+    p[1] = tswap32(e2);
+}
+
+/* only dpl matters as we do only user space emulation */
+static void set_idt(int n, unsigned int dpl)
+{
+    set_gate(idt_table + n, 0, dpl, 0, 0);
+}
+#endif
+
+static void target_cpu_loop(CPUArchState *env)
+{
+    CPUState *cs = env_cpu(env);
+    int trapnr;
+    abi_ulong pc;
+    /* target_siginfo_t info; */
+
+    for (;;) {
+        cpu_exec_start(cs);
+        trapnr = cpu_exec(cs);
+        cpu_exec_end(cs);
+        process_queued_cpu_work(cs);
+
+        switch (trapnr) {
+        case 0x80:
+            /* syscall from int $0x80 */
+            if (bsd_type == target_freebsd) {
+                abi_ulong params = (abi_ulong) env->regs[R_ESP] +
+                    sizeof(int32_t);
+                int32_t syscall_nr = env->regs[R_EAX];
+                int32_t arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8;
+
+                if (syscall_nr == TARGET_FREEBSD_NR_syscall) {
+                    get_user_s32(syscall_nr, params);
+                    params += sizeof(int32_t);
+                } else if (syscall_nr == TARGET_FREEBSD_NR___syscall) {
+                    get_user_s32(syscall_nr, params);
+                    params += sizeof(int64_t);
+                }
+                get_user_s32(arg1, params);
+                params += sizeof(int32_t);
+                get_user_s32(arg2, params);
+                params += sizeof(int32_t);
+                get_user_s32(arg3, params);
+                params += sizeof(int32_t);
+                get_user_s32(arg4, params);
+                params += sizeof(int32_t);
+                get_user_s32(arg5, params);
+                params += sizeof(int32_t);
+                get_user_s32(arg6, params);
+                params += sizeof(int32_t);
+                get_user_s32(arg7, params);
+                params += sizeof(int32_t);
+                get_user_s32(arg8, params);
+                env->regs[R_EAX] = do_freebsd_syscall(env,
+                                                      syscall_nr,
+                                                      arg1,
+                                                      arg2,
+                                                      arg3,
+                                                      arg4,
+                                                      arg5,
+                                                      arg6,
+                                                      arg7,
+                                                      arg8);
+            } else { /* if (bsd_type == target_openbsd) */
+                env->regs[R_EAX] = do_openbsd_syscall(env,
+                                                      env->regs[R_EAX],
+                                                      env->regs[R_EBX],
+                                                      env->regs[R_ECX],
+                                                      env->regs[R_EDX],
+                                                      env->regs[R_ESI],
+                                                      env->regs[R_EDI],
+                                                      env->regs[R_EBP]);
+            }
+            if (((abi_ulong)env->regs[R_EAX]) >= (abi_ulong)(-515)) {
+                env->regs[R_EAX] = -env->regs[R_EAX];
+                env->eflags |= CC_C;
+            } else {
+                env->eflags &= ~CC_C;
+            }
+            break;
+#ifndef TARGET_ABI32
+        case EXCP_SYSCALL:
+            /* syscall from syscall instruction */
+            if (bsd_type == target_freebsd) {
+                env->regs[R_EAX] = do_freebsd_syscall(env,
+                                                      env->regs[R_EAX],
+                                                      env->regs[R_EDI],
+                                                      env->regs[R_ESI],
+                                                      env->regs[R_EDX],
+                                                      env->regs[R_ECX],
+                                                      env->regs[8],
+                                                      env->regs[9], 0, 0);
+            } else { /* if (bsd_type == target_openbsd) */
+                env->regs[R_EAX] = do_openbsd_syscall(env,
+                                                      env->regs[R_EAX],
+                                                      env->regs[R_EDI],
+                                                      env->regs[R_ESI],
+                                                      env->regs[R_EDX],
+                                                      env->regs[10],
+                                                      env->regs[8],
+                                                      env->regs[9]);
+            }
+            env->eip = env->exception_next_eip;
+            if (((abi_ulong)env->regs[R_EAX]) >= (abi_ulong)(-515)) {
+                env->regs[R_EAX] = -env->regs[R_EAX];
+                env->eflags |= CC_C;
+            } else {
+                env->eflags &= ~CC_C;
+            }
+            break;
+#endif
+        case EXCP_INTERRUPT:
+            /* just indicate that signals should be handled asap */
+            break;
+        default:
+            pc = env->segs[R_CS].base + env->eip;
+            fprintf(stderr,
+                    "qemu: 0x%08lx: unhandled CPU exception 0x%x - aborting\n",
+                    (long)pc, trapnr);
+            abort();
+        }
+        process_pending_signals(env);
+    }
+}
+
+#endif /* _TARGET_ARCH_CPU_H_ */
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 8a270ccfe6..43c578c760 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -88,180 +88,10 @@ void fork_end(int child)
     }
 }
 
-#ifdef TARGET_I386
-/***********************************************************/
-/* CPUX86 core interface */
-
-uint64_t cpu_get_tsc(CPUX86State *env)
-{
-    return cpu_get_host_ticks();
-}
-
-static void write_dt(void *ptr, unsigned long addr, unsigned long limit,
-                     int flags)
-{
-    unsigned int e1, e2;
-    uint32_t *p;
-    e1 = (addr << 16) | (limit & 0xffff);
-    e2 = ((addr >> 16) & 0xff) | (addr & 0xff000000) | (limit & 0x000f0000);
-    e2 |= flags;
-    p = ptr;
-    p[0] = tswap32(e1);
-    p[1] = tswap32(e2);
-}
-
-static uint64_t *idt_table;
-#ifdef TARGET_X86_64
-static void set_gate64(void *ptr, unsigned int type, unsigned int dpl,
-                       uint64_t addr, unsigned int sel)
-{
-    uint32_t *p, e1, e2;
-    e1 = (addr & 0xffff) | (sel << 16);
-    e2 = (addr & 0xffff0000) | 0x8000 | (dpl << 13) | (type << 8);
-    p = ptr;
-    p[0] = tswap32(e1);
-    p[1] = tswap32(e2);
-    p[2] = tswap32(addr >> 32);
-    p[3] = 0;
-}
-/* only dpl matters as we do only user space emulation */
-static void set_idt(int n, unsigned int dpl)
-{
-    set_gate64(idt_table + n * 2, 0, dpl, 0, 0);
-}
-#else
-static void set_gate(void *ptr, unsigned int type, unsigned int dpl,
-                     uint32_t addr, unsigned int sel)
-{
-    uint32_t *p, e1, e2;
-    e1 = (addr & 0xffff) | (sel << 16);
-    e2 = (addr & 0xffff0000) | 0x8000 | (dpl << 13) | (type << 8);
-    p = ptr;
-    p[0] = tswap32(e1);
-    p[1] = tswap32(e2);
-}
-
-/* only dpl matters as we do only user space emulation */
-static void set_idt(int n, unsigned int dpl)
-{
-    set_gate(idt_table + n, 0, dpl, 0, 0);
-}
-#endif
-
-void cpu_loop(CPUX86State *env)
+#ifdef TARGET_I386 /* stopgap ifdef */
+void cpu_loop(CPUArchState *env)
 {
-    CPUState *cs = env_cpu(env);
-    int trapnr;
-    abi_ulong pc;
-    /* target_siginfo_t info; */
-
-    for (;;) {
-        cpu_exec_start(cs);
-        trapnr = cpu_exec(cs);
-        cpu_exec_end(cs);
-        process_queued_cpu_work(cs);
-
-        switch (trapnr) {
-        case 0x80:
-            /* syscall from int $0x80 */
-            if (bsd_type == target_freebsd) {
-                abi_ulong params = (abi_ulong) env->regs[R_ESP] +
-                    sizeof(int32_t);
-                int32_t syscall_nr = env->regs[R_EAX];
-                int32_t arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8;
-
-                if (syscall_nr == TARGET_FREEBSD_NR_syscall) {
-                    get_user_s32(syscall_nr, params);
-                    params += sizeof(int32_t);
-                } else if (syscall_nr == TARGET_FREEBSD_NR___syscall) {
-                    get_user_s32(syscall_nr, params);
-                    params += sizeof(int64_t);
-                }
-                get_user_s32(arg1, params);
-                params += sizeof(int32_t);
-                get_user_s32(arg2, params);
-                params += sizeof(int32_t);
-                get_user_s32(arg3, params);
-                params += sizeof(int32_t);
-                get_user_s32(arg4, params);
-                params += sizeof(int32_t);
-                get_user_s32(arg5, params);
-                params += sizeof(int32_t);
-                get_user_s32(arg6, params);
-                params += sizeof(int32_t);
-                get_user_s32(arg7, params);
-                params += sizeof(int32_t);
-                get_user_s32(arg8, params);
-                env->regs[R_EAX] = do_freebsd_syscall(env,
-                                                      syscall_nr,
-                                                      arg1,
-                                                      arg2,
-                                                      arg3,
-                                                      arg4,
-                                                      arg5,
-                                                      arg6,
-                                                      arg7,
-                                                      arg8);
-            } else { /* if (bsd_type == target_openbsd) */
-                env->regs[R_EAX] = do_openbsd_syscall(env,
-                                                      env->regs[R_EAX],
-                                                      env->regs[R_EBX],
-                                                      env->regs[R_ECX],
-                                                      env->regs[R_EDX],
-                                                      env->regs[R_ESI],
-                                                      env->regs[R_EDI],
-                                                      env->regs[R_EBP]);
-            }
-            if (((abi_ulong)env->regs[R_EAX]) >= (abi_ulong)(-515)) {
-                env->regs[R_EAX] = -env->regs[R_EAX];
-                env->eflags |= CC_C;
-            } else {
-                env->eflags &= ~CC_C;
-            }
-            break;
-#ifndef TARGET_ABI32
-        case EXCP_SYSCALL:
-            /* syscall from syscall instruction */
-            if (bsd_type == target_freebsd) {
-                env->regs[R_EAX] = do_freebsd_syscall(env,
-                                                      env->regs[R_EAX],
-                                                      env->regs[R_EDI],
-                                                      env->regs[R_ESI],
-                                                      env->regs[R_EDX],
-                                                      env->regs[R_ECX],
-                                                      env->regs[8],
-                                                      env->regs[9], 0, 0);
-            } else { /* if (bsd_type == target_openbsd) */
-                env->regs[R_EAX] = do_openbsd_syscall(env,
-                                                      env->regs[R_EAX],
-                                                      env->regs[R_EDI],
-                                                      env->regs[R_ESI],
-                                                      env->regs[R_EDX],
-                                                      env->regs[10],
-                                                      env->regs[8],
-                                                      env->regs[9]);
-            }
-            env->eip = env->exception_next_eip;
-            if (((abi_ulong)env->regs[R_EAX]) >= (abi_ulong)(-515)) {
-                env->regs[R_EAX] = -env->regs[R_EAX];
-                env->eflags |= CC_C;
-            } else {
-                env->eflags &= ~CC_C;
-            }
-            break;
-#endif
-        case EXCP_INTERRUPT:
-            /* just indicate that signals should be handled asap */
-            break;
-        default:
-            pc = env->segs[R_CS].base + env->eip;
-            fprintf(stderr,
-                    "qemu: 0x%08lx: unhandled CPU exception 0x%x - aborting\n",
-                    (long)pc, trapnr);
-            abort();
-        }
-        process_pending_signals(env);
-    }
+    target_cpu_loop(env);
 }
 #endif
 
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * Re: [PATCH v2 25/48] bsd-user: move x86 (i386 and x86_64) cpu_loop to target_arch_cpu.h
  2021-04-24 15:59 ` [PATCH v2 25/48] bsd-user: move x86 (i386 and x86_64) cpu_loop to target_arch_cpu.h imp
@ 2021-04-24 17:43   ` Richard Henderson
  0 siblings, 0 replies; 84+ messages in thread
From: Richard Henderson @ 2021-04-24 17:43 UTC (permalink / raw)
  To: imp, qemu-devel; +Cc: kevans, arichardson, Stacey Son
On 4/24/21 8:59 AM, imp@bsdimp.com wrote:
> From: Warner Losh<imp@bsdimp.com>
> 
> Move the x86 version of the cpu_loop to target_arch_cpu.h as
> target_cpu_loop. Create a cpu_loop that calls the target_cpu_loop function, but
> only for x86 for now. This is code-movement only commit.
> 
> Signed-off-by: Stacey Son<sson@FreeBSD.org>
> Signed-off-by: Warner Losh<imp@bsdimp.com>
> ---
>   bsd-user/i386/target_arch_cpu.h | 177 +++++++++++++++++++++++++++++++-
>   bsd-user/main.c                 | 176 +------------------------------
>   2 files changed, 179 insertions(+), 174 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply	[flat|nested] 84+ messages in thread 
 
- * [PATCH v2 26/48] bsd-user: move sparc cpu_loop into target_arch_cpu.h as target_cpu_loop
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (24 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 25/48] bsd-user: move x86 (i386 and x86_64) cpu_loop to target_arch_cpu.h imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:45   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 27/48] bsd-user: style tweak: space pedantry imp
                   ` (22 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh, Stacey Son
From: Warner Losh <imp@bsdimp.com>
Move the sparc cpu_loop out of main.c and into target_arch_cpu.h and
rename it from cpu_loop to target_cpu_loop. Remove the #ifdef around
the catch-all cpu_loop.
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/main.c                  | 270 -------------------------------
 bsd-user/sparc/target_arch_cpu.h | 267 +++++++++++++++++++++++++++++-
 2 files changed, 266 insertions(+), 271 deletions(-)
diff --git a/bsd-user/main.c b/bsd-user/main.c
index 43c578c760..af4eae2e8b 100644
--- a/bsd-user/main.c
+++ b/bsd-user/main.c
@@ -88,280 +88,10 @@ void fork_end(int child)
     }
 }
 
-#ifdef TARGET_I386 /* stopgap ifdef */
 void cpu_loop(CPUArchState *env)
 {
     target_cpu_loop(env);
 }
-#endif
-
-#ifdef TARGET_SPARC
-#define SPARC64_STACK_BIAS 2047
-
-/* #define DEBUG_WIN */
-/*
- * WARNING: dealing with register windows _is_ complicated. More info
- * can be found at http://www.sics.se/~psm/sparcstack.html
- */
-static inline int get_reg_index(CPUSPARCState *env, int cwp, int index)
-{
-    index = (index + cwp * 16) % (16 * env->nwindows);
-    /*
-     * wrap handling : if cwp is on the last window, then we use the
-     * registers 'after' the end
-     */
-    if (index < 8 && env->cwp == env->nwindows - 1) {
-        index += 16 * env->nwindows;
-    }
-    return index;
-}
-
-/* save the register window 'cwp1' */
-static inline void save_window_offset(CPUSPARCState *env, int cwp1)
-{
-    unsigned int i;
-    abi_ulong sp_ptr;
-
-    sp_ptr = env->regbase[get_reg_index(env, cwp1, 6)];
-#ifdef TARGET_SPARC64
-    if (sp_ptr & 3) {
-        sp_ptr += SPARC64_STACK_BIAS;
-    }
-#endif
-#if defined(DEBUG_WIN)
-    printf("win_overflow: sp_ptr=0x" TARGET_ABI_FMT_lx " save_cwp=%d\n",
-           sp_ptr, cwp1);
-#endif
-    for (i = 0; i < 16; i++) {
-        /* FIXME - what to do if put_user() fails? */
-        put_user_ual(env->regbase[get_reg_index(env, cwp1, 8 + i)], sp_ptr);
-        sp_ptr += sizeof(abi_ulong);
-    }
-}
-
-static void save_window(CPUSPARCState *env)
-{
-#ifndef TARGET_SPARC64
-    unsigned int new_wim;
-    new_wim = ((env->wim >> 1) | (env->wim << (env->nwindows - 1))) &
-        ((1LL << env->nwindows) - 1);
-    save_window_offset(env, cpu_cwp_dec(env, env->cwp - 2));
-    env->wim = new_wim;
-#else
-    /*
-     * cansave is zero if the spill trap handler is triggered by `save` and
-     * nonzero if triggered by a `flushw`
-     */
-    save_window_offset(env, cpu_cwp_dec(env, env->cwp - env->cansave - 2));
-    env->cansave++;
-    env->canrestore--;
-#endif
-}
-
-static void restore_window(CPUSPARCState *env)
-{
-#ifndef TARGET_SPARC64
-    unsigned int new_wim;
-#endif
-    unsigned int i, cwp1;
-    abi_ulong sp_ptr;
-
-#ifndef TARGET_SPARC64
-    new_wim = ((env->wim << 1) | (env->wim >> (env->nwindows - 1))) &
-        ((1LL << env->nwindows) - 1);
-#endif
-
-    /* restore the invalid window */
-    cwp1 = cpu_cwp_inc(env, env->cwp + 1);
-    sp_ptr = env->regbase[get_reg_index(env, cwp1, 6)];
-#ifdef TARGET_SPARC64
-    if (sp_ptr & 3) {
-        sp_ptr += SPARC64_STACK_BIAS;
-    }
-#endif
-#if defined(DEBUG_WIN)
-    printf("win_underflow: sp_ptr=0x" TARGET_ABI_FMT_lx " load_cwp=%d\n",
-           sp_ptr, cwp1);
-#endif
-    for (i = 0; i < 16; i++) {
-        /* FIXME - what to do if get_user() fails? */
-        get_user_ual(env->regbase[get_reg_index(env, cwp1, 8 + i)], sp_ptr);
-        sp_ptr += sizeof(abi_ulong);
-    }
-#ifdef TARGET_SPARC64
-    env->canrestore++;
-    if (env->cleanwin < env->nwindows - 1) {
-        env->cleanwin++;
-    }
-    env->cansave--;
-#else
-    env->wim = new_wim;
-#endif
-}
-
-static void flush_windows(CPUSPARCState *env)
-{
-    int offset, cwp1;
-
-    offset = 1;
-    for (;;) {
-        /* if restore would invoke restore_window(), then we can stop */
-        cwp1 = cpu_cwp_inc(env, env->cwp + offset);
-#ifndef TARGET_SPARC64
-        if (env->wim & (1 << cwp1)) {
-            break;
-        }
-#else
-        if (env->canrestore == 0) {
-            break;
-        }
-        env->cansave++;
-        env->canrestore--;
-#endif
-        save_window_offset(env, cwp1);
-        offset++;
-    }
-    cwp1 = cpu_cwp_inc(env, env->cwp + 1);
-#ifndef TARGET_SPARC64
-    /* set wim so that restore will reload the registers */
-    env->wim = 1 << cwp1;
-#endif
-#if defined(DEBUG_WIN)
-    printf("flush_windows: nb=%d\n", offset - 1);
-#endif
-}
-
-void cpu_loop(CPUSPARCState *env)
-{
-    CPUState *cs = env_cpu(env);
-    int trapnr, ret, syscall_nr;
-    /* target_siginfo_t info; */
-
-    while (1) {
-        cpu_exec_start(cs);
-        trapnr = cpu_exec(cs);
-        cpu_exec_end(cs);
-        process_queued_cpu_work(cs);
-
-        switch (trapnr) {
-#ifndef TARGET_SPARC64
-        case 0x80:
-#else
-        /* FreeBSD uses 0x141 for syscalls too */
-        case 0x141:
-            if (bsd_type != target_freebsd) {
-                goto badtrap;
-            }
-            /* fallthrough */
-        case 0x100:
-#endif
-            syscall_nr = env->gregs[1];
-            if (bsd_type == target_freebsd)
-                ret = do_freebsd_syscall(env, syscall_nr,
-                                         env->regwptr[0], env->regwptr[1],
-                                         env->regwptr[2], env->regwptr[3],
-                                         env->regwptr[4], env->regwptr[5],
-                                         0, 0);
-            else if (bsd_type == target_netbsd)
-                ret = do_netbsd_syscall(env, syscall_nr,
-                                        env->regwptr[0], env->regwptr[1],
-                                        env->regwptr[2], env->regwptr[3],
-                                        env->regwptr[4], env->regwptr[5]);
-            else { /* if (bsd_type == target_openbsd) */
-#if defined(TARGET_SPARC64)
-                syscall_nr &= ~(TARGET_OPENBSD_SYSCALL_G7RFLAG |
-                                TARGET_OPENBSD_SYSCALL_G2RFLAG);
-#endif
-                ret = do_openbsd_syscall(env, syscall_nr,
-                                         env->regwptr[0], env->regwptr[1],
-                                         env->regwptr[2], env->regwptr[3],
-                                         env->regwptr[4], env->regwptr[5]);
-            }
-            if ((unsigned int)ret >= (unsigned int)(-515)) {
-                ret = -ret;
-#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
-                env->xcc |= PSR_CARRY;
-#else
-                env->psr |= PSR_CARRY;
-#endif
-            } else {
-#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
-                env->xcc &= ~PSR_CARRY;
-#else
-                env->psr &= ~PSR_CARRY;
-#endif
-            }
-            env->regwptr[0] = ret;
-            /* next instruction */
-#if defined(TARGET_SPARC64)
-            if (bsd_type == target_openbsd &&
-                env->gregs[1] & TARGET_OPENBSD_SYSCALL_G2RFLAG) {
-                env->pc = env->gregs[2];
-                env->npc = env->pc + 4;
-            } else if (bsd_type == target_openbsd &&
-                       env->gregs[1] & TARGET_OPENBSD_SYSCALL_G7RFLAG) {
-                env->pc = env->gregs[7];
-                env->npc = env->pc + 4;
-            } else {
-                env->pc = env->npc;
-                env->npc = env->npc + 4;
-            }
-#else
-            env->pc = env->npc;
-            env->npc = env->npc + 4;
-#endif
-            break;
-        case 0x83: /* flush windows */
-#ifdef TARGET_ABI32
-        case 0x103:
-#endif
-            flush_windows(env);
-            /* next instruction */
-            env->pc = env->npc;
-            env->npc = env->npc + 4;
-            break;
-#ifndef TARGET_SPARC64
-        case TT_WIN_OVF: /* window overflow */
-            save_window(env);
-            break;
-        case TT_WIN_UNF: /* window underflow */
-            restore_window(env);
-            break;
-        case TT_TFAULT:
-        case TT_DFAULT:
-            break;
-#else
-        case TT_SPILL: /* window overflow */
-            save_window(env);
-            break;
-        case TT_FILL: /* window underflow */
-            restore_window(env);
-            break;
-        case TT_TFAULT:
-        case TT_DFAULT:
-            break;
-#endif
-        case EXCP_INTERRUPT:
-            /* just indicate that signals should be handled asap */
-            break;
-        case EXCP_DEBUG:
-            {
-                gdb_handlesig(cs, TARGET_SIGTRAP);
-            }
-            break;
-        default:
-#ifdef TARGET_SPARC64
-        badtrap:
-#endif
-            printf("Unhandled trap: 0x%x\n", trapnr);
-            cpu_dump_state(cs, stderr, 0);
-            exit(1);
-        }
-        process_pending_signals(env);
-    }
-}
-
-#endif
 
 static void usage(void)
 {
diff --git a/bsd-user/sparc/target_arch_cpu.h b/bsd-user/sparc/target_arch_cpu.h
index dcf7694cba..5e3ecbed5c 100644
--- a/bsd-user/sparc/target_arch_cpu.h
+++ b/bsd-user/sparc/target_arch_cpu.h
@@ -19,4 +19,269 @@
 #ifndef _TARGET_ARCH_CPU_H_
 #define _TARGET_ARCH_CPU_H_
 
-#endif /* ! _TARGET_ARCH_CPU_H_ */
+#define SPARC64_STACK_BIAS 2047
+
+/* #define DEBUG_WIN */
+/*
+ * WARNING: dealing with register windows _is_ complicated. More info
+ * can be found at http://www.sics.se/~psm/sparcstack.html
+ */
+static inline int get_reg_index(CPUSPARCState *env, int cwp, int index)
+{
+    index = (index + cwp * 16) % (16 * env->nwindows);
+    /*
+     * wrap handling : if cwp is on the last window, then we use the
+     * registers 'after' the end
+     */
+    if (index < 8 && env->cwp == env->nwindows - 1) {
+        index += 16 * env->nwindows;
+    }
+    return index;
+}
+
+/* save the register window 'cwp1' */
+static inline void save_window_offset(CPUSPARCState *env, int cwp1)
+{
+    unsigned int i;
+    abi_ulong sp_ptr;
+
+    sp_ptr = env->regbase[get_reg_index(env, cwp1, 6)];
+#ifdef TARGET_SPARC64
+    if (sp_ptr & 3) {
+        sp_ptr += SPARC64_STACK_BIAS;
+    }
+#endif
+#if defined(DEBUG_WIN)
+    printf("win_overflow: sp_ptr=0x" TARGET_ABI_FMT_lx " save_cwp=%d\n",
+           sp_ptr, cwp1);
+#endif
+    for (i = 0; i < 16; i++) {
+        /* FIXME - what to do if put_user() fails? */
+        put_user_ual(env->regbase[get_reg_index(env, cwp1, 8 + i)], sp_ptr);
+        sp_ptr += sizeof(abi_ulong);
+    }
+}
+
+static void save_window(CPUSPARCState *env)
+{
+#ifndef TARGET_SPARC64
+    unsigned int new_wim;
+    new_wim = ((env->wim >> 1) | (env->wim << (env->nwindows - 1))) &
+        ((1LL << env->nwindows) - 1);
+    save_window_offset(env, cpu_cwp_dec(env, env->cwp - 2));
+    env->wim = new_wim;
+#else
+    /*
+     * cansave is zero if the spill trap handler is triggered by `save` and
+     * nonzero if triggered by a `flushw`
+     */
+    save_window_offset(env, cpu_cwp_dec(env, env->cwp - env->cansave - 2));
+    env->cansave++;
+    env->canrestore--;
+#endif
+}
+
+static void restore_window(CPUSPARCState *env)
+{
+#ifndef TARGET_SPARC64
+    unsigned int new_wim;
+#endif
+    unsigned int i, cwp1;
+    abi_ulong sp_ptr;
+
+#ifndef TARGET_SPARC64
+    new_wim = ((env->wim << 1) | (env->wim >> (env->nwindows - 1))) &
+        ((1LL << env->nwindows) - 1);
+#endif
+
+    /* restore the invalid window */
+    cwp1 = cpu_cwp_inc(env, env->cwp + 1);
+    sp_ptr = env->regbase[get_reg_index(env, cwp1, 6)];
+#ifdef TARGET_SPARC64
+    if (sp_ptr & 3) {
+        sp_ptr += SPARC64_STACK_BIAS;
+    }
+#endif
+#if defined(DEBUG_WIN)
+    printf("win_underflow: sp_ptr=0x" TARGET_ABI_FMT_lx " load_cwp=%d\n",
+           sp_ptr, cwp1);
+#endif
+    for (i = 0; i < 16; i++) {
+        /* FIXME - what to do if get_user() fails? */
+        get_user_ual(env->regbase[get_reg_index(env, cwp1, 8 + i)], sp_ptr);
+        sp_ptr += sizeof(abi_ulong);
+    }
+#ifdef TARGET_SPARC64
+    env->canrestore++;
+    if (env->cleanwin < env->nwindows - 1) {
+        env->cleanwin++;
+    }
+    env->cansave--;
+#else
+    env->wim = new_wim;
+#endif
+}
+
+static void flush_windows(CPUSPARCState *env)
+{
+    int offset, cwp1;
+
+    offset = 1;
+    for (;;) {
+        /* if restore would invoke restore_window(), then we can stop */
+        cwp1 = cpu_cwp_inc(env, env->cwp + offset);
+#ifndef TARGET_SPARC64
+        if (env->wim & (1 << cwp1)) {
+            break;
+        }
+#else
+        if (env->canrestore == 0) {
+            break;
+        }
+        env->cansave++;
+        env->canrestore--;
+#endif
+        save_window_offset(env, cwp1);
+        offset++;
+    }
+    cwp1 = cpu_cwp_inc(env, env->cwp + 1);
+#ifndef TARGET_SPARC64
+    /* set wim so that restore will reload the registers */
+    env->wim = 1 << cwp1;
+#endif
+#if defined(DEBUG_WIN)
+    printf("flush_windows: nb=%d\n", offset - 1);
+#endif
+}
+
+static void target_cpu_loop(CPUSPARCState *env)
+{
+    CPUState *cs = env_cpu(env);
+    int trapnr, ret, syscall_nr;
+    /* target_siginfo_t info; */
+
+    while (1) {
+        cpu_exec_start(cs);
+        trapnr = cpu_exec(cs);
+        cpu_exec_end(cs);
+        process_queued_cpu_work(cs);
+
+        switch (trapnr) {
+#ifndef TARGET_SPARC64
+        case 0x80:
+#else
+        /* FreeBSD uses 0x141 for syscalls too */
+        case 0x141:
+            if (bsd_type != target_freebsd) {
+                goto badtrap;
+            }
+            /* fallthrough */
+        case 0x100:
+#endif
+            syscall_nr = env->gregs[1];
+            if (bsd_type == target_freebsd)
+                ret = do_freebsd_syscall(env, syscall_nr,
+                                         env->regwptr[0], env->regwptr[1],
+                                         env->regwptr[2], env->regwptr[3],
+                                         env->regwptr[4], env->regwptr[5],
+                                         0, 0);
+            else if (bsd_type == target_netbsd)
+                ret = do_netbsd_syscall(env, syscall_nr,
+                                        env->regwptr[0], env->regwptr[1],
+                                        env->regwptr[2], env->regwptr[3],
+                                        env->regwptr[4], env->regwptr[5]);
+            else { /* if (bsd_type == target_openbsd) */
+#if defined(TARGET_SPARC64)
+                syscall_nr &= ~(TARGET_OPENBSD_SYSCALL_G7RFLAG |
+                                TARGET_OPENBSD_SYSCALL_G2RFLAG);
+#endif
+                ret = do_openbsd_syscall(env, syscall_nr,
+                                         env->regwptr[0], env->regwptr[1],
+                                         env->regwptr[2], env->regwptr[3],
+                                         env->regwptr[4], env->regwptr[5]);
+            }
+            if ((unsigned int)ret >= (unsigned int)(-515)) {
+                ret = -ret;
+#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
+                env->xcc |= PSR_CARRY;
+#else
+                env->psr |= PSR_CARRY;
+#endif
+            } else {
+#if defined(TARGET_SPARC64) && !defined(TARGET_ABI32)
+                env->xcc &= ~PSR_CARRY;
+#else
+                env->psr &= ~PSR_CARRY;
+#endif
+            }
+            env->regwptr[0] = ret;
+            /* next instruction */
+#if defined(TARGET_SPARC64)
+            if (bsd_type == target_openbsd &&
+                env->gregs[1] & TARGET_OPENBSD_SYSCALL_G2RFLAG) {
+                env->pc = env->gregs[2];
+                env->npc = env->pc + 4;
+            } else if (bsd_type == target_openbsd &&
+                       env->gregs[1] & TARGET_OPENBSD_SYSCALL_G7RFLAG) {
+                env->pc = env->gregs[7];
+                env->npc = env->pc + 4;
+            } else {
+                env->pc = env->npc;
+                env->npc = env->npc + 4;
+            }
+#else
+            env->pc = env->npc;
+            env->npc = env->npc + 4;
+#endif
+            break;
+        case 0x83: /* flush windows */
+#ifdef TARGET_ABI32
+        case 0x103:
+#endif
+            flush_windows(env);
+            /* next instruction */
+            env->pc = env->npc;
+            env->npc = env->npc + 4;
+            break;
+#ifndef TARGET_SPARC64
+        case TT_WIN_OVF: /* window overflow */
+            save_window(env);
+            break;
+        case TT_WIN_UNF: /* window underflow */
+            restore_window(env);
+            break;
+        case TT_TFAULT:
+        case TT_DFAULT:
+            break;
+#else
+        case TT_SPILL: /* window overflow */
+            save_window(env);
+            break;
+        case TT_FILL: /* window underflow */
+            restore_window(env);
+            break;
+        case TT_TFAULT:
+        case TT_DFAULT:
+            break;
+#endif
+        case EXCP_INTERRUPT:
+            /* just indicate that signals should be handled asap */
+            break;
+        case EXCP_DEBUG:
+            {
+                gdb_handlesig(cs, TARGET_SIGTRAP);
+            }
+            break;
+        default:
+#ifdef TARGET_SPARC64
+        badtrap:
+#endif
+            printf("Unhandled trap: 0x%x\n", trapnr);
+            cpu_dump_state(cs, stderr, 0);
+            exit(1);
+        }
+        process_pending_signals(env);
+    }
+}
+
+#endif /* _TARGET_ARCH_CPU_H_ */
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * Re: [PATCH v2 26/48] bsd-user: move sparc cpu_loop into target_arch_cpu.h as target_cpu_loop
  2021-04-24 15:59 ` [PATCH v2 26/48] bsd-user: move sparc cpu_loop into target_arch_cpu.h as target_cpu_loop imp
@ 2021-04-24 17:45   ` Richard Henderson
  0 siblings, 0 replies; 84+ messages in thread
From: Richard Henderson @ 2021-04-24 17:45 UTC (permalink / raw)
  To: imp, qemu-devel; +Cc: kevans, arichardson, Stacey Son
On 4/24/21 8:59 AM, imp@bsdimp.com wrote:
> From: Warner Losh<imp@bsdimp.com>
> 
> Move the sparc cpu_loop out of main.c and into target_arch_cpu.h and
> rename it from cpu_loop to target_cpu_loop. Remove the #ifdef around
> the catch-all cpu_loop.
> 
> Signed-off-by: Stacey Son<sson@FreeBSD.org>
> Signed-off-by: Warner Losh<imp@bsdimp.com>
> ---
>   bsd-user/main.c                  | 270 -------------------------------
>   bsd-user/sparc/target_arch_cpu.h | 267 +++++++++++++++++++++++++++++-
>   2 files changed, 266 insertions(+), 271 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply	[flat|nested] 84+ messages in thread 
 
- * [PATCH v2 27/48] bsd-user: style tweak: space pedantry
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (25 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 26/48] bsd-user: move sparc cpu_loop into target_arch_cpu.h as target_cpu_loop imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:46   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 28/48] bsd-user: style tweak: comments imp
                   ` (21 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/elfload.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c
index 243a5a5048..f455a3812a 100644
--- a/bsd-user/elfload.c
+++ b/bsd-user/elfload.c
@@ -756,7 +756,7 @@ static void padzero(abi_ulong elf_bss, abi_ulong last_bss)
 
 
 static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc,
-                                   struct elfhdr * exec,
+                                   struct elfhdr *exec,
                                    abi_ulong load_addr,
                                    abi_ulong load_bias,
                                    abi_ulong interp_load_addr, int ibcs,
@@ -891,12 +891,12 @@ static abi_ulong load_elf_interp(struct elfhdr *interp_elf_ex,
     if (retval < 0) {
         perror("load_elf_interp");
         exit(-1);
-        free (elf_phdata);
+        free(elf_phdata);
         return retval;
     }
 #ifdef BSWAP_NEEDED
     eppnt = elf_phdata;
-    for (i = 0; i<interp_elf_ex->e_phnum; i++, eppnt++) {
+    for (i = 0; i < interp_elf_ex->e_phnum; i++, eppnt++) {
         bswap_phdr(eppnt);
     }
 #endif
@@ -1155,11 +1155,11 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
     unsigned int interpreter_type = INTERPRETER_NONE;
     unsigned char ibcs2_interpreter;
     int i;
-    struct elf_phdr * elf_ppnt;
+    struct elf_phdr *elf_ppnt;
     struct elf_phdr *elf_phdata;
     abi_ulong elf_bss, k, elf_brk;
     int retval;
-    char * elf_interpreter;
+    char *elf_interpreter;
     abi_ulong elf_entry, interp_load_addr = 0;
     abi_ulong start_code, end_code, start_data, end_data;
     abi_ulong reloc_func_desc = 0;
@@ -1183,14 +1183,14 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
     }
 
     bprm->p = copy_elf_strings(1, &bprm->filename, bprm->page, bprm->p);
-    bprm->p = copy_elf_strings(bprm->envc, bprm->envp, bprm->page,bprm->p);
-    bprm->p = copy_elf_strings(bprm->argc, bprm->argv, bprm->page,bprm->p);
+    bprm->p = copy_elf_strings(bprm->envc, bprm->envp, bprm->page, bprm->p);
+    bprm->p = copy_elf_strings(bprm->argc, bprm->argv, bprm->page, bprm->p);
     if (!bprm->p) {
         retval = -E2BIG;
     }
 
     /* Now read in all of the header information */
-    elf_phdata = (struct elf_phdr *)malloc(elf_ex.e_phentsize*elf_ex.e_phnum);
+    elf_phdata = (struct elf_phdr *)malloc(elf_ex.e_phentsize * elf_ex.e_phnum);
     if (elf_phdata == NULL) {
         return -ENOMEM;
     }
@@ -1223,11 +1223,11 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
     elf_interpreter = NULL;
     start_code = ~((abi_ulong)0UL);
     end_code = 0;
-    start_data = 0;
+    start_data =n 0;
     end_data = 0;
     interp_ex.a_info = 0;
 
-    for (i = 0;i < elf_ex.e_phnum; i++) {
+    for (i = 0; i < elf_ex.e_phnum; i++) {
         if (elf_ppnt->p_type == PT_INTERP) {
             if (elf_interpreter != NULL)
             {
@@ -1267,7 +1267,7 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
 
             if (strcmp(elf_interpreter, "/usr/lib/libc.so.1") == 0 ||
                 strcmp(elf_interpreter, "/usr/lib/ld.so.1") == 0) {
-              ibcs2_interpreter = 1;
+                ibcs2_interpreter = 1;
             }
 
             if (retval >= 0) {
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 28/48] bsd-user: style tweak: comments
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (26 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 27/48] bsd-user: style tweak: space pedantry imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:51   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 29/48] bsd-user: style tweak: use {} correctly imp
                   ` (20 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Use the preferred block comment style, move comments as needed for line length
restrictions, delete some dead code that looked like a comment, break some lines
> 80 columns at the same time since there are many associated with comments.
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/elfload.c | 216 ++++++++++++++++++++++++++-------------------
 1 file changed, 123 insertions(+), 93 deletions(-)
diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c
index f455a3812a..75ccc06719 100644
--- a/bsd-user/elfload.c
+++ b/bsd-user/elfload.c
@@ -23,10 +23,10 @@
  * These occupy the top three bytes.
  */
 enum {
-        ADDR_NO_RANDOMIZE =     0x0040000,      /* disable randomization of VA space */
-        FDPIC_FUNCPTRS =        0x0080000,      /* userspace function ptrs point to descriptors
-                                                 * (signal handling)
-                                                 */
+            /* disable randomization of VA space */
+        ADDR_NO_RANDOMIZE =     0x0040000,
+            /* userspace function ptrs point to descriptors (signal handling) */
+        FDPIC_FUNCPTRS =        0x0080000,
         MMAP_PAGE_ZERO =        0x0100000,
         ADDR_COMPAT_LAYOUT =    0x0200000,
         READ_IMPLIES_EXEC =     0x0400000,
@@ -117,7 +117,8 @@ static uint32_t get_elf_hwcap(void)
 #define ELF_DATA       ELFDATA2LSB
 #define ELF_ARCH       EM_X86_64
 
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
     regs->rax = 0;
     regs->rsp = infop->start_stack;
@@ -143,18 +144,21 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 #define ELF_DATA        ELFDATA2LSB
 #define ELF_ARCH        EM_386
 
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
     regs->esp = infop->start_stack;
     regs->eip = infop->entry;
 
-    /* SVR4/i386 ABI (pages 3-31, 3-32) says that when the program
-       starts %edx contains a pointer to a function which might be
-       registered using `atexit'.  This provides a mean for the
-       dynamic linker to call DT_FINI functions for shared libraries
-       that have been loaded before the code runs.
-
-       A value of 0 tells we have no such handler.  */
+    /*
+     * SVR4/i386 ABI (pages 3-31, 3-32) says that when the program starts %edx
+     * contains a pointer to a function which might be registered using
+     * `atexit'.  This provides a mean for the dynamic linker to call DT_FINI
+     * functions for shared libraries that have been loaded before the code
+     * runs.
+     *
+     * A value of 0 tells we have no such handler.
+     */
     regs->edx = 0;
 }
 #endif
@@ -178,7 +182,8 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 #endif
 #define ELF_ARCH        EM_ARM
 
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
     abi_long stack = infop->start_stack;
     memset(regs, 0, sizeof(*regs));
@@ -235,7 +240,8 @@ enum
 
 #define STACK_BIAS              2047
 
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
 #ifndef TARGET_ABI32
     regs->tstate = 0;
@@ -267,7 +273,8 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 #define ELF_DATA    ELFDATA2MSB
 #define ELF_ARCH    EM_SPARC
 
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
     regs->psr = 0;
     regs->pc = infop->entry;
@@ -321,6 +328,7 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
  *   AT_IGNOREPPC is used for that.
  * - for compatibility with glibc ARCH_DLINFO must always be defined on PPC,
  *   even if DLINFO_ARCH_ITEMS goes to zero or is undefined.
+ * - Handle glibc compatibility with last two...
  */
 #define DLINFO_ARCH_ITEMS       5
 #define ARCH_DLINFO                                                     \
@@ -328,14 +336,12 @@ do {                                                                    \
         NEW_AUX_ENT(AT_DCACHEBSIZE, 0x20);                              \
         NEW_AUX_ENT(AT_ICACHEBSIZE, 0x20);                              \
         NEW_AUX_ENT(AT_UCACHEBSIZE, 0);                                 \
-        /*                                                              \
-         * Now handle glibc compatibility.                              \
-         */                                                             \
         NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC);                        \
         NEW_AUX_ENT(AT_IGNOREPPC, AT_IGNOREPPC);                        \
  } while (0)
 
-static inline void init_thread(struct target_pt_regs *_regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *_regs,
+                               struct image_info *infop)
 {
     abi_ulong pos = infop->start_stack;
     abi_ulong tmp;
@@ -353,11 +359,12 @@ static inline void init_thread(struct target_pt_regs *_regs, struct image_info *
     infop->entry = entry;
 #endif
     _regs->nip = infop->entry;
-    /* Note that isn't exactly what regular kernel does
+    /*
+     * Note that isn't exactly what regular kernel does
      * but this is what the ABI wants and is needed to allow
      * execution of PPC BSD programs.
+     * FIXME - what to for failure of get_user()?
      */
-    /* FIXME - what to for failure of get_user()? */
     get_user_ual(_regs->gpr[3], pos);
     pos += sizeof(abi_ulong);
     _regs->gpr[4] = pos;
@@ -390,7 +397,8 @@ static inline void init_thread(struct target_pt_regs *_regs, struct image_info *
 #endif
 #define ELF_ARCH    EM_MIPS
 
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
     regs->cp0_status = 2 << CP0St_KSU;
     regs->cp0_epc = infop->entry;
@@ -412,11 +420,12 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 #define ELF_DATA  ELFDATA2LSB
 #define ELF_ARCH  EM_SH
 
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
-  /* Check other registers XXXXX */
-  regs->pc = infop->entry;
-  regs->regs[15] = infop->start_stack;
+    /* Check other registers XXXXX */
+    regs->pc = infop->entry;
+    regs->regs[15] = infop->start_stack;
 }
 
 #define USE_ELF_CORE_DUMP
@@ -434,9 +443,10 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 #define ELF_DATA  ELFDATA2LSB
 #define ELF_ARCH  EM_CRIS
 
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
-  regs->erp = infop->entry;
+    regs->erp = infop->entry;
 }
 
 #define USE_ELF_CORE_DUMP
@@ -454,10 +464,8 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 #define ELF_DATA        ELFDATA2MSB
 #define ELF_ARCH        EM_68K
 
-/* ??? Does this need to do anything?
-#define ELF_PLAT_INIT(_r) */
-
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
     regs->usp = infop->start_stack;
     regs->sr = 0;
@@ -479,7 +487,8 @@ static inline void init_thread(struct target_pt_regs *regs, struct image_info *i
 #define ELF_DATA       ELFDATA2MSB
 #define ELF_ARCH       EM_ALPHA
 
-static inline void init_thread(struct target_pt_regs *regs, struct image_info *infop)
+static inline void init_thread(struct target_pt_regs *regs,
+                               struct image_info *infop)
 {
     regs->pc = infop->entry;
     regs->ps = 8;
@@ -538,8 +547,10 @@ struct exec
 
 /* Necessary parameters */
 #define TARGET_ELF_EXEC_PAGESIZE TARGET_PAGE_SIZE
-#define TARGET_ELF_PAGESTART(_v) ((_v) & ~(unsigned long)(TARGET_ELF_EXEC_PAGESIZE - 1))
-#define TARGET_ELF_PAGEOFFSET(_v) ((_v) & (TARGET_ELF_EXEC_PAGESIZE - 1))
+#define TARGET_ELF_PAGESTART(_v) \
+    ((_v) & ~(unsigned long)(TARGET_ELF_EXEC_PAGESIZE - 1))
+#define TARGET_ELF_PAGEOFFSET(_v) \
+    ((_v) & (TARGET_ELF_EXEC_PAGESIZE - 1))
 
 #define INTERPRETER_NONE 0
 #define INTERPRETER_AOUT 1
@@ -557,7 +568,7 @@ static int load_aout_interp(void *exptr, int interp_fd);
 #ifdef BSWAP_NEEDED
 static void bswap_ehdr(struct elfhdr *ehdr)
 {
-    bswap16s(&ehdr->e_type);                    /* Object file type */
+    bswap16s(&ehdr->e_type);            /* Object file type */
     bswap16s(&ehdr->e_machine);         /* Architecture */
     bswap32s(&ehdr->e_version);         /* Object file version */
     bswaptls(&ehdr->e_entry);           /* Entry point virtual address */
@@ -565,16 +576,16 @@ static void bswap_ehdr(struct elfhdr *ehdr)
     bswaptls(&ehdr->e_shoff);           /* Section header table file offset */
     bswap32s(&ehdr->e_flags);           /* Processor-specific flags */
     bswap16s(&ehdr->e_ehsize);          /* ELF header size in bytes */
-    bswap16s(&ehdr->e_phentsize);               /* Program header table entry size */
+    bswap16s(&ehdr->e_phentsize);       /* Program header table entry size */
     bswap16s(&ehdr->e_phnum);           /* Program header table entry count */
-    bswap16s(&ehdr->e_shentsize);               /* Section header table entry size */
+    bswap16s(&ehdr->e_shentsize);       /* Section header table entry size */
     bswap16s(&ehdr->e_shnum);           /* Section header table entry count */
-    bswap16s(&ehdr->e_shstrndx);                /* Section header string table index */
+    bswap16s(&ehdr->e_shstrndx);        /* Section header string table index */
 }
 
 static void bswap_phdr(struct elf_phdr *phdr)
 {
-    bswap32s(&phdr->p_type);                    /* Segment type */
+    bswap32s(&phdr->p_type);            /* Segment type */
     bswaptls(&phdr->p_offset);          /* Segment file offset */
     bswaptls(&phdr->p_vaddr);           /* Segment virtual address */
     bswaptls(&phdr->p_paddr);           /* Segment physical address */
@@ -668,8 +679,9 @@ static abi_ulong setup_arg_pages(abi_ulong p, struct linux_binprm *bprm,
     abi_ulong stack_base, size, error;
     int i;
 
-    /* Create enough stack to hold everything.  If we don't use
-     * it for args, we'll use it for something else...
+    /*
+     * Create enough stack to hold everything.  If we don't use it for args,
+     * we'll use it for something else...
      */
     size = x86_stack_size;
     if (size < MAX_ARG_PAGES * TARGET_PAGE_SIZE)
@@ -717,9 +729,11 @@ static void set_brk(abi_ulong start, abi_ulong end)
 }
 
 
-/* We need to explicitly zero any fractional pages after the data
-   section (i.e. bss).  This would contain the junk from the file that
-   should not be in memory. */
+/*
+ * We need to explicitly zero any fractional pages after the data section
+ * (i.e. bss).  This would contain the junk from the file that should not be in
+ * memory.
+ */
 static void padzero(abi_ulong elf_bss, abi_ulong last_bss)
 {
         abi_ulong nbyte;
@@ -727,11 +741,12 @@ static void padzero(abi_ulong elf_bss, abi_ulong last_bss)
         if (elf_bss >= last_bss)
                 return;
 
-        /* XXX: this is really a hack : if the real host page size is
-           smaller than the target page size, some pages after the end
-           of the file may not be mapped. A better fix would be to
-           patch target_mmap(), but it is more complicated as the file
-           size must be known */
+        /*
+         * XXX: this is really a hack : if the real host page size is smaller
+         * than the target page size, some pages after the end f the file may
+         * not be mapped. A better fix would be to patch target_mmap(), but it
+         * is more complicated as the file size must be known.
+         */
         if (qemu_real_host_page_size < qemu_host_page_size) {
             abi_ulong end_addr, end_addr1;
             end_addr1 = REAL_HOST_PAGE_ALIGN(elf_bss);
@@ -794,7 +809,8 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc,
         if (size & 15)
                 sp -= 16 - (size & 15);
 
-        /* This is correct because Linux defines
+        /*
+         * This is correct because Linux defines
          * elf_addr_t as Elf32_Off / Elf64_Off
          */
 #define NEW_AUX_ENT(id, val) do {               \
@@ -902,8 +918,10 @@ static abi_ulong load_elf_interp(struct elfhdr *interp_elf_ex,
 #endif
 
     if (interp_elf_ex->e_type == ET_DYN) {
-        /* in order to avoid hardcoding the interpreter load
-           address in qemu, we allocate a big enough memory zone */
+        /*
+         * in order to avoid hardcoding the interpreter load address in qemu, we
+         * allocate a big enough memory zone
+         */
         error = target_mmap(0, INTERP_MAP_SIZE,
                             PROT_NONE, MAP_PRIVATE | MAP_ANON,
                             -1, 0);
@@ -931,11 +949,11 @@ static abi_ulong load_elf_interp(struct elfhdr *interp_elf_ex,
                 vaddr = eppnt->p_vaddr;
             }
             error = target_mmap(load_addr + TARGET_ELF_PAGESTART(vaddr),
-                                eppnt->p_filesz + TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr),
-                                elf_prot,
-                                elf_type,
-                                interpreter_fd,
-                                eppnt->p_offset - TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr));
+                eppnt->p_filesz + TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr),
+                elf_prot,
+                elf_type,
+                interpreter_fd,
+                eppnt->p_offset - TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr));
 
             if (error == -1) {
                 /* Real error */
@@ -975,7 +993,8 @@ static abi_ulong load_elf_interp(struct elfhdr *interp_elf_ex,
      * bss page.
      */
     padzero(elf_bss, last_bss);
-    elf_bss = TARGET_ELF_PAGESTART(elf_bss + qemu_host_page_size - 1); /* What we have mapped so far */
+    /* What we have mapped so far */
+    elf_bss = TARGET_ELF_PAGESTART(elf_bss + qemu_host_page_size - 1);
 
     /* Map the last of the bss segment */
     if (last_bss > elf_bss) {
@@ -1109,10 +1128,12 @@ static void load_symbols(struct elfhdr *hdr, int fd)
         i++;
     }
 
-     /* Attempt to free the storage associated with the local symbols
-        that we threw away.  Whether or not this has any effect on the
-        memory allocation depends on the malloc implementation and how
-        many symbols we managed to discard. */
+     /*
+      * Attempt to free the storage associated with the local symbols that we
+      * threw away.  Whether or not this has any effect on the memory allocation
+      * depends on the malloc implementation and how many symbols we managed to
+      * discard.
+      */
     new_syms = realloc(syms, nsyms * sizeof(*syms));
     if (new_syms == NULL) {
         free(s);
@@ -1237,9 +1258,9 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
                 return -EINVAL;
             }
 
-            /* This is the program interpreter used for
-             * shared libraries - for now assume that this
-             * is an a.out format binary
+            /*
+             * This is the program interpreter used for shared libraries - for
+             * now assume that this is an a.out format binary
              */
 
             elf_interpreter = (char *)malloc(elf_ppnt->p_filesz);
@@ -1259,9 +1280,10 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
                 exit(-1);
             }
 
-            /* If the program interpreter is one of these two,
-               then assume an iBCS2 image. Otherwise assume
-               a native linux image. */
+            /*
+             * If the program interpreter is one of these two, then assume an
+             * iBCS2 image. Otherwise assume a native linux image.
+             */
 
             /* JRP - Need to add X86 lib dir stuff here... */
 
@@ -1278,7 +1300,6 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
                 else {
                     perror(elf_interpreter);
                     exit(-1);
-                    /* retval = -errno; */
                 }
             }
 
@@ -1289,8 +1310,8 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
                 }
             }
             if (retval >= 0) {
-                interp_ex = *((struct exec *) bprm->buf); /* aout exec-header */
-                interp_elf_ex = *((struct elfhdr *) bprm->buf); /* elf exec-header */
+                interp_ex = *((struct exec *) bprm->buf); /* aout */
+                interp_elf_ex = *((struct elfhdr *) bprm->buf); /* elf */
             }
             if (retval < 0) {
                 perror("load_elf_binary3");
@@ -1327,8 +1348,10 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
         }
     }
 
-    /* OK, we are done with that, now set up the arg stuff,
-       and then start this sucker up */
+    /*
+     * OK, we are done with that, now set up the arg stuff, and then start this
+     * sucker up
+     */
 
     {
         char *passed_p;
@@ -1378,18 +1401,19 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
         }
     }
 
-    /* Do this so that we can load the interpreter, if need be.  We will
-       change some of these later */
+    /*
+     * Do this so that we can load the interpreter, if need be.  We will change
+     * some of these later
+     */
     info->rss = 0;
     bprm->p = setup_arg_pages(bprm->p, bprm, info);
     info->start_stack = bprm->p;
 
-    /* Now we do a little grungy work by mmaping the ELF image into
-     * the correct location in memory.  At this point, we assume that
-     * the image should be loaded at fixed address, not at a variable
-     * address.
+    /*
+     * Now we do a little grungy work by mmaping the ELF image into the correct
+     * location in memory.  At this point, we assume that the image should be
+     * loaded at fixed address, not at a variable address.
      */
-
     for (i = 0, elf_ppnt = elf_phdata; i < elf_ex.e_phnum; i++, elf_ppnt++) {
         int elf_prot = 0;
         int elf_flags = 0;
@@ -1405,11 +1429,13 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
         if (elf_ex.e_type == ET_EXEC || load_addr_set) {
             elf_flags |= MAP_FIXED;
         } else if (elf_ex.e_type == ET_DYN) {
-            /* Try and get dynamic programs out of the way of the default mmap
-               base, as well as whatever program they might try to exec.  This
-               is because the brk will follow the loader, and is not movable.  */
-            /* NOTE: for qemu, we do a big mmap to get enough space
-               without hardcoding any address */
+            /*
+             * Try and get dynamic programs out of the way of the default mmap
+             * base, as well as whatever program they might try to exec.  This
+             * is because the brk will follow the loader, and is not movable.
+             * NOTE: for qemu, we do a big mmap to get enough space without
+             * hardcoding any address
+             */
             error = target_mmap(0, ET_DYN_MAP_SIZE,
                                 PROT_NONE, MAP_PRIVATE | MAP_ANON,
                                 -1, 0);
@@ -1520,18 +1546,22 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
     info->end_data = end_data;
     info->start_stack = bprm->p;
 
-    /* Calling set_brk effectively mmaps the pages that we need for the bss and break
-       sections */
+    /*
+     * Calling set_brk effectively mmaps the pages that we need for the bss and
+     * break sections
+     */
     set_brk(elf_bss, elf_brk);
 
     padzero(elf_bss, elf_brk);
 
     if (info->personality == PER_SVR4)
     {
-            /* Why this, you ask???  Well SVr4 maps page 0 as read-only,
-               and some applications "depend" upon this behavior.
-               Since we do not have the power to recompile these, we
-               emulate the SVr4 behavior.  Sigh.  */
+            /*
+             * Why this, you ask???  Well SVr4 maps page 0 as read-only, and
+             * some applications "depend" upon this behavior.  Since we do not
+             * have the power to recompile these, we emulate the SVr4 behavior.
+             * Sigh.
+             */
             target_mmap(0, qemu_host_page_size, PROT_READ | PROT_EXEC,
                                       MAP_FIXED | MAP_PRIVATE, -1, 0);
     }
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * Re: [PATCH v2 28/48] bsd-user: style tweak: comments
  2021-04-24 15:59 ` [PATCH v2 28/48] bsd-user: style tweak: comments imp
@ 2021-04-24 17:51   ` Richard Henderson
  0 siblings, 0 replies; 84+ messages in thread
From: Richard Henderson @ 2021-04-24 17:51 UTC (permalink / raw)
  To: imp, qemu-devel; +Cc: kevans, arichardson
On 4/24/21 8:59 AM, imp@bsdimp.com wrote:
> From: Warner Losh<imp@bsdimp.com>
> 
> Use the preferred block comment style, move comments as needed for line length
> restrictions, delete some dead code that looked like a comment, break some lines
>> 80 columns at the same time since there are many associated with comments.
> Signed-off-by: Warner Losh<imp@bsdimp.com>
> ---
>   bsd-user/elfload.c | 216 ++++++++++++++++++++++++++-------------------
>   1 file changed, 123 insertions(+), 93 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
r~
^ permalink raw reply	[flat|nested] 84+ messages in thread 
 
- * [PATCH v2 29/48] bsd-user: style tweak: use {} correctly
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (27 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 28/48] bsd-user: style tweak: comments imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:55   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 30/48] bsd-user: style tweak: fix block comments imp
                   ` (19 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Format if/for/while statements with {} always, on a separate line
and fix a couple indentations issues for singletons.
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/elfload.c | 147 ++++++++++++++++++++++++++++-----------------
 1 file changed, 92 insertions(+), 55 deletions(-)
diff --git a/bsd-user/elfload.c b/bsd-user/elfload.c
index 75ccc06719..437ee82637 100644
--- a/bsd-user/elfload.c
+++ b/bsd-user/elfload.c
@@ -93,10 +93,12 @@ static const char *get_elf_platform(void)
 {
     static char elf_platform[] = "i386";
     int family = object_property_get_int(OBJECT(thread_cpu), "family", NULL);
-    if (family > 6)
+    if (family > 6) {
         family = 6;
-    if (family >= 3)
+    }
+    if (family >= 3) {
         elf_platform[1] = '0' + family;
+    }
     return elf_platform;
 }
 
@@ -188,8 +190,9 @@ static inline void init_thread(struct target_pt_regs *regs,
     abi_long stack = infop->start_stack;
     memset(regs, 0, sizeof(*regs));
     regs->ARM_cpsr = 0x10;
-    if (infop->entry & 1)
+    if (infop->entry & 1) {
         regs->ARM_cpsr |= CPSR_T;
+    }
     regs->ARM_pc = infop->entry & 0xfffffffe;
     regs->ARM_sp = infop->start_stack;
     /* FIXME - what to for failure of get_user()? */
@@ -205,8 +208,7 @@ static inline void init_thread(struct target_pt_regs *regs,
 #define USE_ELF_CORE_DUMP
 #define ELF_EXEC_PAGESIZE       4096
 
-enum
-{
+enum {
   ARM_HWCAP_ARM_SWP       = 1 << 0,
   ARM_HWCAP_ARM_HALF      = 1 << 1,
   ARM_HWCAP_ARM_THUMB     = 1 << 2,
@@ -252,9 +254,9 @@ static inline void init_thread(struct target_pt_regs *regs,
 #ifdef TARGET_ABI32
     regs->u_regs[14] = infop->start_stack - 16 * 4;
 #else
-    if (personality(infop->personality) == PER_LINUX32)
+    if (personality(infop->personality) == PER_LINUX32) {
         regs->u_regs[14] = infop->start_stack - 16 * 4;
-    else {
+    } else {
         regs->u_regs[14] = infop->start_stack - 16 * 8 - STACK_BIAS;
         if (bsd_type == target_freebsd) {
             regs->u_regs[8] = infop->start_stack;
@@ -520,8 +522,7 @@ static inline void init_thread(struct target_pt_regs *regs,
 
 #include "elf.h"
 
-struct exec
-{
+struct exec {
   unsigned int a_info;   /* Use macros N_MAGIC, etc for access */
   unsigned int a_text;   /* length of text, in bytes */
   unsigned int a_data;   /* length of data, in bytes */
@@ -640,7 +641,9 @@ static abi_ulong copy_elf_strings(int argc, char **argv, void **page,
             exit(-1);
         }
         tmp1 = tmp;
-        while (*tmp++);
+        while (*tmp++) {
+            continue;
+        }
         len = tmp - tmp1;
         if (p < len) {  /* this shouldn't happen - 128kB */
                 return 0;
@@ -653,14 +656,14 @@ static abi_ulong copy_elf_strings(int argc, char **argv, void **page,
                 if (!pag) {
                     pag = g_try_malloc0(TARGET_PAGE_SIZE);
                     page[p / TARGET_PAGE_SIZE] = pag;
-                    if (!pag)
+                    if (!pag) {
                         return 0;
+                    }
                 }
             }
             if (len == 0 || offset == 0) {
                 *(pag + offset) = *tmp;
-            }
-            else {
+            } else {
               int bytes_to_copy = (len > offset) ? offset : len;
               tmp -= bytes_to_copy;
               p -= bytes_to_copy;
@@ -684,8 +687,9 @@ static abi_ulong setup_arg_pages(abi_ulong p, struct linux_binprm *bprm,
      * we'll use it for something else...
      */
     size = x86_stack_size;
-    if (size < MAX_ARG_PAGES * TARGET_PAGE_SIZE)
+    if (size < MAX_ARG_PAGES * TARGET_PAGE_SIZE) {
         size = MAX_ARG_PAGES * TARGET_PAGE_SIZE;
+    }
     error = target_mmap(0,
                         size + qemu_host_page_size,
                         PROT_READ | PROT_WRITE,
@@ -718,8 +722,9 @@ static void set_brk(abi_ulong start, abi_ulong end)
         /* page-align the start and end addresses... */
         start = HOST_PAGE_ALIGN(start);
         end = HOST_PAGE_ALIGN(end);
-        if (end <= start)
+        if (end <= start) {
                 return;
+        }
         if (target_mmap(start, end - start,
                        PROT_READ | PROT_WRITE | PROT_EXEC,
                        MAP_FIXED | MAP_PRIVATE | MAP_ANON, -1, 0) == -1) {
@@ -738,8 +743,9 @@ static void padzero(abi_ulong elf_bss, abi_ulong last_bss)
 {
         abi_ulong nbyte;
 
-        if (elf_bss >= last_bss)
-                return;
+        if (elf_bss >= last_bss) {
+            return;
+        }
 
         /*
          * XXX: this is really a hack : if the real host page size is smaller
@@ -798,16 +804,18 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc,
          */
         sp = sp & ~(abi_ulong)15;
         size = (DLINFO_ITEMS + 1) * 2;
-        if (k_platform)
-                size += 2;
+        if (k_platform) {
+            size += 2;
+        }
 #ifdef DLINFO_ARCH_ITEMS
         size += DLINFO_ARCH_ITEMS * 2;
 #endif
         size += envc + argc + 2;
         size += (!ibcs ? 3 : 1);        /* argc itself */
         size *= n;
-        if (size & 15)
-                sp -= 16 - (size & 15);
+        if (size & 15) {
+            sp -= 16 - (size & 15);
+        }
 
         /*
          * This is correct because Linux defines
@@ -834,8 +842,9 @@ static abi_ulong create_elf_tables(abi_ulong p, int argc, int envc,
         NEW_AUX_ENT(AT_EGID, (abi_ulong) getegid());
         NEW_AUX_ENT(AT_HWCAP, (abi_ulong) ELF_HWCAP);
         NEW_AUX_ENT(AT_CLKTCK, (abi_ulong) sysconf(_SC_CLK_TCK));
-        if (k_platform)
+        if (k_platform) {
             NEW_AUX_ENT(AT_PLATFORM, u_platform);
+        }
 #ifdef ARCH_DLINFO
         /*
          * ARCH_DLINFO must come last so platform specific code can enforce
@@ -879,15 +888,16 @@ static abi_ulong load_elf_interp(struct elfhdr *interp_elf_ex,
 
 
     /* Now read in all of the header information */
-
-    if (sizeof(struct elf_phdr) * interp_elf_ex->e_phnum > TARGET_PAGE_SIZE)
+    if (sizeof(struct elf_phdr) * interp_elf_ex->e_phnum > TARGET_PAGE_SIZE) {
         return ~(abi_ulong)0UL;
+    }
 
     elf_phdata =  (struct elf_phdr *)
         malloc(sizeof(struct elf_phdr) * interp_elf_ex->e_phnum);
 
-    if (!elf_phdata)
+    if (!elf_phdata) {
         return ~((abi_ulong)0UL);
+    }
 
     /*
      * If the size of this structure has changed, then punt, since
@@ -934,16 +944,22 @@ static abi_ulong load_elf_interp(struct elfhdr *interp_elf_ex,
     }
 
     eppnt = elf_phdata;
-    for (i = 0; i < interp_elf_ex->e_phnum; i++, eppnt++)
+    for (i = 0; i < interp_elf_ex->e_phnum; i++, eppnt++) {
         if (eppnt->p_type == PT_LOAD) {
             int elf_type = MAP_PRIVATE | MAP_DENYWRITE;
             int elf_prot = 0;
             abi_ulong vaddr = 0;
             abi_ulong k;
 
-            if (eppnt->p_flags & PF_R) elf_prot =  PROT_READ;
-            if (eppnt->p_flags & PF_W) elf_prot |= PROT_WRITE;
-            if (eppnt->p_flags & PF_X) elf_prot |= PROT_EXEC;
+            if (eppnt->p_flags & PF_R) {
+                elf_prot =  PROT_READ;
+            }
+            if (eppnt->p_flags & PF_W) {
+                elf_prot |= PROT_WRITE;
+            }
+            if (eppnt->p_flags & PF_X) {
+                elf_prot |= PROT_EXEC;
+            }
             if (interp_elf_ex->e_type == ET_EXEC || load_addr_set) {
                 elf_type |= MAP_FIXED;
                 vaddr = eppnt->p_vaddr;
@@ -972,15 +988,20 @@ static abi_ulong load_elf_interp(struct elfhdr *interp_elf_ex,
              * track of the largest address we see for this.
              */
             k = load_addr + eppnt->p_vaddr + eppnt->p_filesz;
-            if (k > elf_bss) elf_bss = k;
+            if (k > elf_bss) {
+                elf_bss = k;
+            }
 
             /*
              * Do the same thing for the memory mapping - between
              * elf_bss and last_bss is the bss section.
              */
             k = load_addr + eppnt->p_memsz + eppnt->p_vaddr;
-            if (k > last_bss) last_bss = k;
+            if (k > last_bss) {
+                last_bss = k;
+            }
         }
+    }
 
     /* Now use mmap to map the library into memory. */
 
@@ -1061,8 +1082,9 @@ static void load_symbols(struct elfhdr *hdr, int fd)
 
     lseek(fd, hdr->e_shoff, SEEK_SET);
     for (i = 0; i < hdr->e_shnum; i++) {
-        if (read(fd, &sechdr, sizeof(sechdr)) != sizeof(sechdr))
+        if (read(fd, &sechdr, sizeof(sechdr)) != sizeof(sechdr)) {
             return;
+        }
 #ifdef BSWAP_NEEDED
         bswap_shdr(&sechdr);
 #endif
@@ -1244,14 +1266,13 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
     elf_interpreter = NULL;
     start_code = ~((abi_ulong)0UL);
     end_code = 0;
-    start_data =n 0;
+    start_data = 0;
     end_data = 0;
     interp_ex.a_info = 0;
 
     for (i = 0; i < elf_ex.e_phnum; i++) {
         if (elf_ppnt->p_type == PT_INTERP) {
-            if (elf_interpreter != NULL)
-            {
+            if (elf_interpreter != NULL) {
                 free(elf_phdata);
                 free(elf_interpreter);
                 close(bprm->fd);
@@ -1296,8 +1317,7 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
                 retval = open(path(elf_interpreter), O_RDONLY);
                 if (retval >= 0) {
                     interpreter_fd = retval;
-                }
-                else {
+                } else {
                     perror(elf_interpreter);
                     exit(-1);
                 }
@@ -1392,8 +1412,9 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
          */
         for (i = 0, elf_ppnt = elf_phdata; i < elf_ex.e_phnum;
             i++, elf_ppnt++) {
-            if (elf_ppnt->p_type != PT_LOAD)
+            if (elf_ppnt->p_type != PT_LOAD) {
                 continue;
+            }
             if (HOST_PAGE_ALIGN(elf_ppnt->p_vaddr) < mmap_min_addr) {
                 guest_base = HOST_PAGE_ALIGN(mmap_min_addr);
                 break;
@@ -1419,12 +1440,19 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
         int elf_flags = 0;
         abi_ulong error;
 
-        if (elf_ppnt->p_type != PT_LOAD)
+        if (elf_ppnt->p_type != PT_LOAD) {
             continue;
+        }
 
-        if (elf_ppnt->p_flags & PF_R) elf_prot |= PROT_READ;
-        if (elf_ppnt->p_flags & PF_W) elf_prot |= PROT_WRITE;
-        if (elf_ppnt->p_flags & PF_X) elf_prot |= PROT_EXEC;
+        if (elf_ppnt->p_flags & PF_R) {
+            elf_prot |= PROT_READ;
+        }
+        if (elf_ppnt->p_flags & PF_W) {
+            elf_prot |= PROT_WRITE;
+        }
+        if (elf_ppnt->p_flags & PF_X) {
+            elf_prot |= PROT_EXEC;
+        }
         elf_flags = MAP_PRIVATE | MAP_DENYWRITE;
         if (elf_ex.e_type == ET_EXEC || load_addr_set) {
             elf_flags |= MAP_FIXED;
@@ -1460,8 +1488,9 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
         }
 
 #ifdef LOW_ELF_STACK
-        if (TARGET_ELF_PAGESTART(elf_ppnt->p_vaddr) < elf_stack)
+        if (TARGET_ELF_PAGESTART(elf_ppnt->p_vaddr) < elf_stack) {
             elf_stack = TARGET_ELF_PAGESTART(elf_ppnt->p_vaddr);
+        }
 #endif
 
         if (!load_addr_set) {
@@ -1475,19 +1504,26 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
             }
         }
         k = elf_ppnt->p_vaddr;
-        if (k < start_code)
+        if (k < start_code) {
             start_code = k;
-        if (start_data < k)
+        }
+        if (start_data < k) {
             start_data = k;
+        }
         k = elf_ppnt->p_vaddr + elf_ppnt->p_filesz;
-        if (k > elf_bss)
+        if (k > elf_bss) {
             elf_bss = k;
-        if ((elf_ppnt->p_flags & PF_X) && end_code <  k)
+        }
+        if ((elf_ppnt->p_flags & PF_X) && end_code <  k) {
             end_code = k;
-        if (end_data < k)
+        }
+        if (end_data < k) {
             end_data = k;
+        }
         k = elf_ppnt->p_vaddr + elf_ppnt->p_memsz;
-        if (k > elf_brk) elf_brk = k;
+        if (k > elf_brk) {
+            elf_brk = k;
+        }
     }
 
     elf_entry += load_bias;
@@ -1501,8 +1537,7 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
     if (elf_interpreter) {
         if (interpreter_type & 1) {
             elf_entry = load_aout_interp(&interp_ex, interpreter_fd);
-        }
-        else if (interpreter_type & 2) {
+        } else if (interpreter_type & 2) {
             elf_entry = load_elf_interp(&interp_elf_ex, interpreter_fd,
                                             &interp_load_addr);
         }
@@ -1521,10 +1556,13 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
 
     free(elf_phdata);
 
-    if (qemu_log_enabled())
+    if (qemu_log_enabled()) {
         load_symbols(&elf_ex, bprm->fd);
+    }
 
-    if (interpreter_type != INTERPRETER_AOUT) close(bprm->fd);
+    if (interpreter_type != INTERPRETER_AOUT) {
+        close(bprm->fd);
+    }
     info->personality = (ibcs2_interpreter ? PER_SVR4 : PER_LINUX);
 
 #ifdef LOW_ELF_STACK
@@ -1554,8 +1592,7 @@ int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
 
     padzero(elf_bss, elf_brk);
 
-    if (info->personality == PER_SVR4)
-    {
+    if (info->personality == PER_SVR4) {
             /*
              * Why this, you ask???  Well SVr4 maps page 0 as read-only, and
              * some applications "depend" upon this behavior.  Since we do not
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * Re: [PATCH v2 29/48] bsd-user: style tweak: use {} correctly
  2021-04-24 15:59 ` [PATCH v2 29/48] bsd-user: style tweak: use {} correctly imp
@ 2021-04-24 17:55   ` Richard Henderson
  0 siblings, 0 replies; 84+ messages in thread
From: Richard Henderson @ 2021-04-24 17:55 UTC (permalink / raw)
  To: imp, qemu-devel; +Cc: kevans, arichardson
On 4/24/21 8:59 AM, imp@bsdimp.com wrote:
> From: Warner Losh<imp@bsdimp.com>
> 
> Format if/for/while statements with {} always, on a separate line
> and fix a couple indentations issues for singletons.
> 
> Signed-off-by: Warner Losh<imp@bsdimp.com>
> ---
>   bsd-user/elfload.c | 147 ++++++++++++++++++++++++++++-----------------
>   1 file changed, 92 insertions(+), 55 deletions(-)
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
> -    start_data =n 0;
> +    start_data = 0;
Ah, I see it got fixed.  Anyway, squashing this back into the previous is the 
right thing to do.
r~
^ permalink raw reply	[flat|nested] 84+ messages in thread
 
- * [PATCH v2 30/48] bsd-user: style tweak: fix block comments
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (28 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 29/48] bsd-user: style tweak: use {} correctly imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 17:59   ` Richard Henderson
  2021-04-24 15:59 ` [PATCH v2 31/48] bsd-user: style tweak: use {} for all if statements, format else correctly imp
                   ` (18 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/mmap.c | 51 ++++++++++++++++++++++++++++---------------------
 1 file changed, 29 insertions(+), 22 deletions(-)
diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c
index 0ac1b92706..0ff06d7349 100644
--- a/bsd-user/mmap.c
+++ b/bsd-user/mmap.c
@@ -23,8 +23,6 @@
 #include "bsd-mman.h"
 #include "exec/exec-all.h"
 
-//#define DEBUG_MMAP
-
 static pthread_mutex_t mmap_mutex = PTHREAD_MUTEX_INITIALIZER;
 static __thread int mmap_lock_count;
 
@@ -165,8 +163,10 @@ static int mmap_frag(abi_ulong real_start,
 
     prot_new = prot | prot1;
     if (!(flags & MAP_ANON)) {
-        /* msync() won't work here, so we return an error if write is
-           possible while it is a shared mapping */
+        /*
+         * msync() won't work here, so we return an error if write is possible
+         * while it is a shared mapping
+         */
         if ((flags & TARGET_BSD_MAP_FLAGMASK) == MAP_SHARED &&
             (prot & PROT_WRITE))
             return -1;
@@ -194,12 +194,13 @@ static abi_ulong mmap_next_start = 0x40000000;
 
 unsigned long last_brk;
 
-/* find a free memory area of size 'size'. The search starts at
-   'start'. If 'start' == 0, then a default start address is used.
-   Return -1 if error.
-*/
-/* page_init() marks pages used by the host as reserved to be sure not
-   to use them. */
+/*
+ * find a free memory area of size 'size'. The search starts at 'start'. If
+ * 'start' == 0, then a default start address is used.  Return -1 if error.
+ *
+ * page_init() marks pages used by the host as reserved to be sure not to use
+ * them.
+ */
 static abi_ulong mmap_find_vma(abi_ulong start, abi_ulong size)
 {
     abi_ulong addr, addr1, addr_start;
@@ -208,11 +209,12 @@ static abi_ulong mmap_find_vma(abi_ulong start, abi_ulong size)
 
     new_brk = (unsigned long)sbrk(0);
     if (last_brk && last_brk < new_brk && last_brk == (target_ulong)last_brk) {
-        /* This is a hack to catch the host allocating memory with brk().
-           If it uses mmap then we loose.
-           FIXME: We really want to avoid the host allocating memory in
-           the first place, and maybe leave some slack to avoid switching
-           to mmap.  */
+        /*
+         * This is a hack to catch the host allocating memory with brk().  If it
+         * uses mmap then we loose.
+         * FIXME: We really want to avoid the host allocating memory in the
+         * first place, and maybe leave some slack to avoid switching to mmap.
+         */
         page_set_flags(last_brk & TARGET_PAGE_MASK,
                        TARGET_PAGE_ALIGN(new_brk),
                        PAGE_RESERVED);
@@ -298,9 +300,10 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
             errno = ENOMEM;
             goto fail;
         }
-        /* Note: we prefer to control the mapping address. It is
-           especially important if qemu_host_page_size >
-           qemu_real_host_page_size */
+        /*
+         * Note: we prefer to control the mapping address. It is specially
+         * important if qemu_host_page_size > qemu_real_host_page_size
+         */
         p = mmap(g2h_untagged(mmap_start),
                  host_len, prot, flags | MAP_FIXED, fd, host_offset);
         if (p == MAP_FAILED)
@@ -329,12 +332,16 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
             }
         }
 
-        /* worst case: we cannot map the file because the offset is not
-           aligned, so we read it */
+        /*
+         * worst case: we cannot map the file because the offset is not aligned,
+         * so we read it
+         */
         if (!(flags & MAP_ANON) &&
             (offset & ~qemu_host_page_mask) != (start & ~qemu_host_page_mask)) {
-            /* msync() won't work here, so we return an error if write is
-               possible while it is a shared mapping */
+            /*
+             * msync() won't work here, so we return an error if write is
+             * possible while it is a shared mapping
+             */
             if ((flags & TARGET_BSD_MAP_FLAGMASK) == MAP_SHARED &&
                 (prot & PROT_WRITE)) {
                 errno = EINVAL;
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 31/48] bsd-user: style tweak: use {} for all if statements, format else correctly
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (29 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 30/48] bsd-user: style tweak: fix block comments imp
@ 2021-04-24 15:59 ` imp
  2021-04-24 18:01   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 32/48] bsd-user: style tweak: remove spacing after '*' and add after } imp
                   ` (17 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 15:59 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/mmap.c | 112 ++++++++++++++++++++++++++++++++----------------
 1 file changed, 74 insertions(+), 38 deletions(-)
diff --git a/bsd-user/mmap.c b/bsd-user/mmap.c
index 0ff06d7349..1aec1916c0 100644
--- a/bsd-user/mmap.c
+++ b/bsd-user/mmap.c
@@ -48,17 +48,19 @@ bool have_mmap_lock(void)
 /* Grab lock to make sure things are in a consistent state after fork().  */
 void mmap_fork_start(void)
 {
-    if (mmap_lock_count)
+    if (mmap_lock_count) {
         abort();
+    }
     pthread_mutex_lock(&mmap_mutex);
 }
 
 void mmap_fork_end(int child)
 {
-    if (child)
+    if (child) {
         pthread_mutex_init(&mmap_mutex, NULL);
-    else
+    } else {
         pthread_mutex_unlock(&mmap_mutex);
+    }
 }
 
 /* NOTE: all the constants are the HOST ones, but addresses are target. */
@@ -75,15 +77,18 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
            prot & PROT_EXEC ? 'x' : '-');
 #endif
 
-    if ((start & ~TARGET_PAGE_MASK) != 0)
+    if ((start & ~TARGET_PAGE_MASK) != 0) {
         return -EINVAL;
+    }
     len = TARGET_PAGE_ALIGN(len);
     end = start + len;
-    if (end < start)
+    if (end < start) {
         return -EINVAL;
+    }
     prot &= PROT_READ | PROT_WRITE | PROT_EXEC;
-    if (len == 0)
+    if (len == 0) {
         return 0;
+    }
 
     mmap_lock();
     host_start = start & qemu_host_page_mask;
@@ -102,8 +107,9 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
         }
         ret = mprotect(g2h_untagged(host_start),
                        qemu_host_page_size, prot1 & PAGE_BITS);
-        if (ret != 0)
+        if (ret != 0) {
             goto error;
+        }
         host_start += qemu_host_page_size;
     }
     if (end < host_end) {
@@ -113,16 +119,18 @@ int target_mprotect(abi_ulong start, abi_ulong len, int prot)
         }
         ret = mprotect(g2h_untagged(host_end - qemu_host_page_size),
                        qemu_host_page_size, prot1 & PAGE_BITS);
-        if (ret != 0)
+        if (ret != 0) {
             goto error;
+        }
         host_end -= qemu_host_page_size;
     }
 
     /* handle the pages in the middle */
     if (host_start < host_end) {
         ret = mprotect(g2h_untagged(host_start), host_end - host_start, prot);
-        if (ret != 0)
+        if (ret != 0) {
             goto error;
+        }
     }
     page_set_flags(start, start + len, prot | PAGE_VALID);
     mmap_unlock();
@@ -147,16 +155,18 @@ static int mmap_frag(abi_ulong real_start,
     /* get the protection of the target pages outside the mapping */
     prot1 = 0;
     for (addr = real_start; addr < real_end; addr++) {
-        if (addr < start || addr >= end)
+        if (addr < start || addr >= end) {
             prot1 |= page_get_flags(addr);
+        }
     }
 
     if (prot1 == 0) {
         /* no page was there, so we allocate one */
         void *p = mmap(host_start, qemu_host_page_size, prot,
                        flags | MAP_ANON, -1, 0);
-        if (p == MAP_FAILED)
+        if (p == MAP_FAILED) {
             return -1;
+        }
         prot1 = prot;
     }
     prot1 &= PAGE_BITS;
@@ -168,19 +178,22 @@ static int mmap_frag(abi_ulong real_start,
          * while it is a shared mapping
          */
         if ((flags & TARGET_BSD_MAP_FLAGMASK) == MAP_SHARED &&
-            (prot & PROT_WRITE))
+            (prot & PROT_WRITE)) {
             return -1;
+        }
 
         /* adjust protection to be able to read */
-        if (!(prot1 & PROT_WRITE))
+        if (!(prot1 & PROT_WRITE)) {
             mprotect(host_start, qemu_host_page_size, prot1 | PROT_WRITE);
+        }
 
         /* read the corresponding file data */
         pread(fd, g2h_untagged(start), end - start, offset);
 
         /* put final protection */
-        if (prot_new != (prot1 | PROT_WRITE))
+        if (prot_new != (prot1 | PROT_WRITE)) {
             mprotect(host_start, qemu_host_page_size, prot_new);
+        }
     } else {
         /* just update the protection */
         if (prot_new != prot1) {
@@ -224,23 +237,27 @@ static abi_ulong mmap_find_vma(abi_ulong start, abi_ulong size)
     size = HOST_PAGE_ALIGN(size);
     start = start & qemu_host_page_mask;
     addr = start;
-    if (addr == 0)
+    if (addr == 0) {
         addr = mmap_next_start;
+    }
     addr_start = addr;
     for (;;) {
         prot = 0;
         for (addr1 = addr; addr1 < (addr + size); addr1 += TARGET_PAGE_SIZE) {
             prot |= page_get_flags(addr1);
         }
-        if (prot == 0)
+        if (prot == 0) {
             break;
+        }
         addr += qemu_host_page_size;
         /* we found nothing */
-        if (addr == addr_start)
+        if (addr == addr_start) {
             return (abi_ulong)-1;
+        }
     }
-    if (start == 0)
+    if (start == 0) {
         mmap_next_start = addr + size;
+    }
     return addr;
 }
 
@@ -260,10 +277,12 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
                prot & PROT_READ ? 'r' : '-',
                prot & PROT_WRITE ? 'w' : '-',
                prot & PROT_EXEC ? 'x' : '-');
-        if (flags & MAP_FIXED)
+        if (flags & MAP_FIXED) {
             printf("MAP_FIXED ");
-        if (flags & MAP_ANON)
+        }
+        if (flags & MAP_ANON) {
             printf("MAP_ANON ");
+        }
         switch (flags & TARGET_BSD_MAP_FLAGMASK) {
         case MAP_PRIVATE:
             printf("MAP_PRIVATE ");
@@ -285,8 +304,9 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
     }
 
     len = TARGET_PAGE_ALIGN(len);
-    if (len == 0)
+    if (len == 0) {
         goto the_end;
+    }
     real_start = start & qemu_host_page_mask;
 
     if (!(flags & MAP_FIXED)) {
@@ -306,12 +326,14 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
          */
         p = mmap(g2h_untagged(mmap_start),
                  host_len, prot, flags | MAP_FIXED, fd, host_offset);
-        if (p == MAP_FAILED)
+        if (p == MAP_FAILED) {
             goto fail;
+        }
         /* update start so that it points to the file position at 'offset' */
         host_start = (unsigned long)p;
-        if (!(flags & MAP_ANON))
+        if (!(flags & MAP_ANON)) {
             host_start += offset - host_offset;
+        }
         start = h2g(host_start);
     } else {
         int flg;
@@ -350,8 +372,9 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
             retaddr = target_mmap(start, len, prot | PROT_WRITE,
                                   MAP_FIXED | MAP_PRIVATE | MAP_ANON,
                                   -1, 0);
-            if (retaddr == -1)
+            if (retaddr == -1) {
                 goto fail;
+            }
             pread(fd, g2h_untagged(start), len, offset);
             if (!(prot & PROT_WRITE)) {
                 ret = target_mprotect(start, len, prot);
@@ -369,14 +392,16 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
                 /* one single host page */
                 ret = mmap_frag(real_start, start, end,
                                 prot, flags, fd, offset);
-                if (ret == -1)
+                if (ret == -1) {
                     goto fail;
+                }
                 goto the_end1;
             }
             ret = mmap_frag(real_start, start, real_start + qemu_host_page_size,
                             prot, flags, fd, offset);
-            if (ret == -1)
+            if (ret == -1) {
                 goto fail;
+            }
             real_start += qemu_host_page_size;
         }
         /* handle the end of the mapping */
@@ -385,8 +410,9 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
                             real_end - qemu_host_page_size, real_end,
                             prot, flags, fd,
                             offset + real_end - qemu_host_page_size - start);
-            if (ret == -1)
+            if (ret == -1) {
                 goto fail;
+            }
             real_end -= qemu_host_page_size;
         }
 
@@ -394,14 +420,16 @@ abi_long target_mmap(abi_ulong start, abi_ulong len, int prot,
         if (real_start < real_end) {
             void *p;
             unsigned long offset1;
-            if (flags & MAP_ANON)
+            if (flags & MAP_ANON) {
                 offset1 = 0;
-            else
+            } else {
                 offset1 = offset + real_start - start;
+            }
             p = mmap(g2h_untagged(real_start), real_end - real_start,
                      prot, flags, fd, offset1);
-            if (p == MAP_FAILED)
+            if (p == MAP_FAILED) {
                 goto fail;
+            }
         }
     }
  the_end1:
@@ -427,11 +455,13 @@ int target_munmap(abi_ulong start, abi_ulong len)
 #ifdef DEBUG_MMAP
     printf("munmap: start=0x%lx len=0x%lx\n", start, len);
 #endif
-    if (start & ~TARGET_PAGE_MASK)
+    if (start & ~TARGET_PAGE_MASK) {
         return -EINVAL;
+    }
     len = TARGET_PAGE_ALIGN(len);
-    if (len == 0)
+    if (len == 0) {
         return -EINVAL;
+    }
     mmap_lock();
     end = start + len;
     real_start = start & qemu_host_page_mask;
@@ -449,16 +479,18 @@ int target_munmap(abi_ulong start, abi_ulong len)
             }
             end = real_end;
         }
-        if (prot != 0)
+        if (prot != 0) {
             real_start += qemu_host_page_size;
+        }
     }
     if (end < real_end) {
         prot = 0;
         for (addr = end; addr < real_end; addr += TARGET_PAGE_SIZE) {
             prot |= page_get_flags(addr);
         }
-        if (prot != 0)
+        if (prot != 0) {
             real_end -= qemu_host_page_size;
+        }
     }
 
     ret = 0;
@@ -467,8 +499,9 @@ int target_munmap(abi_ulong start, abi_ulong len)
         ret = munmap(g2h_untagged(real_start), real_end - real_start);
     }
 
-    if (ret == 0)
+    if (ret == 0) {
         page_set_flags(start, start + len, 0);
+    }
     mmap_unlock();
     return ret;
 }
@@ -477,14 +510,17 @@ int target_msync(abi_ulong start, abi_ulong len, int flags)
 {
     abi_ulong end;
 
-    if (start & ~TARGET_PAGE_MASK)
+    if (start & ~TARGET_PAGE_MASK) {
         return -EINVAL;
+    }
     len = TARGET_PAGE_ALIGN(len);
     end = start + len;
-    if (end < start)
+    if (end < start) {
         return -EINVAL;
-    if (end == start)
+    }
+    if (end == start) {
         return 0;
+    }
 
     start &= qemu_host_page_mask;
     return msync(g2h_untagged(start), end - start, flags);
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 32/48] bsd-user: style tweak: remove spacing after '*' and add after }
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (30 preceding siblings ...)
  2021-04-24 15:59 ` [PATCH v2 31/48] bsd-user: style tweak: use {} for all if statements, format else correctly imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:03   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 33/48] bsd-user: style tweak: Use preferred block comments imp
                   ` (16 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/qemu.h | 18 +++++++++---------
 1 file changed, 9 insertions(+), 9 deletions(-)
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index 5a82722281..de20e8329a 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -124,19 +124,19 @@ struct linux_binprm {
         int argc, envc;
         char **argv;
         char **envp;
-        char * filename;        /* Name of binary */
+        char *filename;         /* Name of binary */
 };
 
 void do_init_thread(struct target_pt_regs *regs, struct image_info *infop);
 abi_ulong loader_build_argptr(int envc, int argc, abi_ulong sp,
                               abi_ulong stringp, int push_ptr);
-int loader_exec(const char * filename, char ** argv, char ** envp,
-             struct target_pt_regs * regs, struct image_info *infop);
+int loader_exec(const char *filename, char **argv, char **envp,
+             struct target_pt_regs *regs, struct image_info *infop);
 
-int load_elf_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
-                    struct image_info * info);
-int load_flt_binary(struct linux_binprm * bprm, struct target_pt_regs * regs,
-                    struct image_info * info);
+int load_elf_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
+                    struct image_info *info);
+int load_flt_binary(struct linux_binprm *bprm, struct target_pt_regs *regs,
+                    struct image_info *info);
 
 abi_long memcpy_to_target(abi_ulong dest, const void *src,
                           unsigned long len);
@@ -246,7 +246,7 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
         break;\
     default:\
         abort();\
-    }\
+    } \
     0;\
 })
 
@@ -270,7 +270,7 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
         /* avoid warning */\
         x = 0;\
         abort();\
-    }\
+    } \
     0;\
 })
 
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 33/48] bsd-user: style tweak: Use preferred block comments
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (31 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 32/48] bsd-user: style tweak: remove spacing after '*' and add after } imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:07   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 34/48] bsd-user: style tweak: don't assign in if statements imp
                   ` (15 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/qemu.h | 74 ++++++++++++++++++++++++++++---------------------
 1 file changed, 43 insertions(+), 31 deletions(-)
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index de20e8329a..7f3cfa68aa 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -47,9 +47,10 @@ extern enum BSDType bsd_type;
 #define THREAD
 #endif
 
-/* This struct is used to hold certain information about the image.
- * Basically, it replicates in user space what would be certain
- * task_struct fields in the kernel
+/*
+ * This struct is used to hold certain information about the image.  Basically,
+ * it replicates in user space what would be certain task_struct fields in the
+ * kernel
  */
 struct image_info {
     abi_ulong load_addr;
@@ -78,12 +79,13 @@ struct sigqueue {
 struct emulated_sigtable {
     int pending; /* true if signal is pending */
     struct sigqueue *first;
-    struct sigqueue info; /* in order to always have memory for the
-                             first signal, we put it here */
+    /* in order to always have memory for the first signal, we put it here */
+    struct sigqueue info;
 };
 
-/* NOTE: we force a big alignment so that the stack stored after is
-   aligned too */
+/*
+ * NOTE: we force a big alignment so that the stack stored after is aligned too
+ */
 typedef struct TaskState {
     pid_t ts_tid;     /* tid (or pid) of this task */
 
@@ -103,7 +105,6 @@ void init_task_state(TaskState *ts);
 extern const char *qemu_uname_release;
 extern unsigned long mmap_min_addr;
 
-/* ??? See if we can avoid exposing so much of the loader internals.  */
 /*
  * MAX_ARG_PAGES defines the number of pages allocated for arguments
  * and envelope for the new program. 32 should suffice, this gives
@@ -224,9 +225,11 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
     return page_check_range((target_ulong)addr, size, type) == 0;
 }
 
-/* NOTE __get_user and __put_user use host pointers and don't check access. */
-/* These are usually used to access struct data members once the
- * struct has been locked - usually with lock_user_struct().
+/*
+ * NOTE __get_user and __put_user use host pointers and don't check access.
+ *
+ * These are usually used to access struct data members once the struct has been
+ * locked - usually with lock_user_struct().
  */
 #define __put_user(x, hptr)\
 ({\
@@ -267,17 +270,18 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
         x = (typeof(*hptr))tswap64(*(uint64_t *)(hptr));\
         break;\
     default:\
-        /* avoid warning */\
         x = 0;\
         abort();\
     } \
     0;\
 })
 
-/* put_user()/get_user() take a guest address and check access */
-/* These are usually used to access an atomic data type, such as an int,
- * that has been passed by address.  These internally perform locking
- * and unlocking on the data type.
+/*
+ * put_user()/get_user() take a guest address and check access
+ *
+ * These are usually used to access an atomic data type, such as an int, that
+ * has been passed by address.  These internally perform locking and unlocking
+ * on the data type.
  */
 #define put_user(x, gaddr, target_type)                                 \
 ({                                                                      \
@@ -301,7 +305,6 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
         __ret = __get_user((x), __hptr);                                \
         unlock_user(__hptr, __gaddr, 0);                                \
     } else {                                                            \
-        /* avoid warning */                                             \
         (x) = 0;                                                        \
         __ret = -TARGET_EFAULT;                                         \
     }                                                                   \
@@ -330,22 +333,28 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
 #define get_user_u8(x, gaddr)  get_user((x), (gaddr), uint8_t)
 #define get_user_s8(x, gaddr)  get_user((x), (gaddr), int8_t)
 
-/* copy_from_user() and copy_to_user() are usually used to copy data
+/*
+ * copy_from_user() and copy_to_user() are usually used to copy data
  * buffers between the target and host.  These internally perform
  * locking/unlocking of the memory.
  */
 abi_long copy_from_user(void *hptr, abi_ulong gaddr, size_t len);
 abi_long copy_to_user(abi_ulong gaddr, void *hptr, size_t len);
 
-/* Functions for accessing guest memory.  The tget and tput functions
-   read/write single values, byteswapping as necessary.  The lock_user function
-   gets a pointer to a contiguous area of guest memory, but does not perform
-   any byteswapping.  lock_user may return either a pointer to the guest
-   memory, or a temporary buffer.  */
+/*
+ * Functions for accessing guest memory.  The tget and tput functions
+ * read/write single values, byteswapping as necessary.  The lock_user function
+ * gets a pointer to a contiguous area of guest memory, but does not perform
+ * any byteswapping.  lock_user may return either a pointer to the guest
+ * memory, or a temporary buffer.
+ */
 
-/* Lock an area of guest memory into the host.  If copy is true then the
-   host area will have the same contents as the guest.  */
-static inline void *lock_user(int type, abi_ulong guest_addr, long len, int copy)
+/*
+ * Lock an area of guest memory into the host.  If copy is true then the
+ * host area will have the same contents as the guest.
+ */
+static inline void *lock_user(int type, abi_ulong guest_addr, long len,
+                              int copy)
 {
     if (!access_ok(type, guest_addr, len))
         return NULL;
@@ -364,9 +373,10 @@ static inline void *lock_user(int type, abi_ulong guest_addr, long len, int copy
 #endif
 }
 
-/* Unlock an area of guest memory.  The first LEN bytes must be
-   flushed back to guest memory. host_ptr = NULL is explicitly
-   allowed and does nothing. */
+/*
+ * Unlock an area of guest memory.  The first LEN bytes must be flushed back to
+ * guest memory. host_ptr = NULL is explicitly allowed and does nothing.
+ */
 static inline void unlock_user(void *host_ptr, abi_ulong guest_addr,
                                long len)
 {
@@ -382,8 +392,10 @@ static inline void unlock_user(void *host_ptr, abi_ulong guest_addr,
 #endif
 }
 
-/* Return the length of a string in target memory or -TARGET_EFAULT if
-   access error. */
+/*
+ * Return the length of a string in target memory or -TARGET_EFAULT if access
+ * error.
+ */
 abi_long target_strlen(abi_ulong gaddr);
 
 /* Like lock_user but for null terminated strings.  */
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 34/48] bsd-user: style tweak: don't assign in if statements
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (32 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 33/48] bsd-user: style tweak: Use preferred block comments imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:09   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 35/48] bsd-user: style tweak: use {} for all if statements, format else correctly imp
                   ` (14 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/qemu.h | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index 7f3cfa68aa..2494d9209d 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -288,7 +288,8 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
     abi_ulong __gaddr = (gaddr);                                        \
     target_type *__hptr;                                                \
     abi_long __ret;                                                     \
-    if ((__hptr = lock_user(VERIFY_WRITE, __gaddr, sizeof(target_type), 0))) { \
+    __hptr = lock_user(VERIFY_WRITE, __gaddr, sizeof(target_type), 0);  \
+    if (__hptr) {                                                       \
         __ret = __put_user((x), __hptr);                                \
         unlock_user(__hptr, __gaddr, sizeof(target_type));              \
     } else                                                              \
@@ -301,7 +302,8 @@ static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
     abi_ulong __gaddr = (gaddr);                                        \
     target_type *__hptr;                                                \
     abi_long __ret;                                                     \
-    if ((__hptr = lock_user(VERIFY_READ, __gaddr, sizeof(target_type), 1))) { \
+    __hptr = lock_user(VERIFY_READ, __gaddr, sizeof(target_type), 1);   \
+    if (__hptr) {                                                       \
         __ret = __get_user((x), __hptr);                                \
         unlock_user(__hptr, __gaddr, 0);                                \
     } else {                                                            \
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 35/48] bsd-user: style tweak: use {} for all if statements, format else correctly
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (33 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 34/48] bsd-user: style tweak: don't assign in if statements imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:12   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 36/48] bsd-user: style tweak: Use preferred block comments imp
                   ` (13 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/qemu.h | 20 +++++++++++++-------
 1 file changed, 13 insertions(+), 7 deletions(-)
diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index 2494d9209d..8d3767964d 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -358,16 +358,18 @@ abi_long copy_to_user(abi_ulong gaddr, void *hptr, size_t len);
 static inline void *lock_user(int type, abi_ulong guest_addr, long len,
                               int copy)
 {
-    if (!access_ok(type, guest_addr, len))
+    if (!access_ok(type, guest_addr, len)) {
         return NULL;
+    }
 #ifdef DEBUG_REMAP
     {
         void *addr;
         addr = g_malloc(len);
-        if (copy)
+        if (copy) {
             memcpy(addr, g2h_untagged(guest_addr), len);
-        else
+        } else {
             memset(addr, 0, len);
+        }
         return addr;
     }
 #else
@@ -384,12 +386,15 @@ static inline void unlock_user(void *host_ptr, abi_ulong guest_addr,
 {
 
 #ifdef DEBUG_REMAP
-    if (!host_ptr)
+    if (!host_ptr) {
         return;
-    if (host_ptr == g2h_untagged(guest_addr))
+    }
+    if (host_ptr == g2h_untagged(guest_addr)) {
         return;
-    if (len > 0)
+    }
+    if (len > 0) {
         memcpy(g2h_untagged(guest_addr), host_ptr, len);
+    }
     g_free(host_ptr);
 #endif
 }
@@ -405,8 +410,9 @@ static inline void *lock_user_string(abi_ulong guest_addr)
 {
     abi_long len;
     len = target_strlen(guest_addr);
-    if (len < 0)
+    if (len < 0) {
         return NULL;
+    }
     return lock_user(VERIFY_READ, guest_addr, (long)(len + 1), 1);
 }
 
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 36/48] bsd-user: style tweak: Use preferred block comments
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (34 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 35/48] bsd-user: style tweak: use {} for all if statements, format else correctly imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:13   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 37/48] bsd-user: style tweak: don't assign in if statements imp
                   ` (12 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/uaccess.c | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/bsd-user/uaccess.c b/bsd-user/uaccess.c
index 89163257f4..7eb4546fed 100644
--- a/bsd-user/uaccess.c
+++ b/bsd-user/uaccess.c
@@ -4,9 +4,10 @@
 
 #include "qemu.h"
 
-/* copy_from_user() and copy_to_user() are usually used to copy data
- * buffers between the target and host.  These internally perform
- * locking/unlocking of the memory.
+/*
+ * copy_from_user() and copy_to_user() are usually used to copy data buffers
+ * between the target and host.  These internally perform locking/unlocking of
+ * the memory.
  */
 abi_long copy_from_user(void *hptr, abi_ulong gaddr, size_t len)
 {
@@ -37,8 +38,10 @@ abi_long copy_to_user(abi_ulong gaddr, void *hptr, size_t len)
     return ret;
 }
 
-/* Return the length of a string in target memory or -TARGET_EFAULT if
-   access error  */
+/*
+ * Return the length of a string in target memory or -TARGET_EFAULT if access
+ * error
+ */
 abi_long target_strlen(abi_ulong guest_addr1)
 {
     uint8_t *ptr;
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 37/48] bsd-user: style tweak: don't assign in if statements
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (35 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 36/48] bsd-user: style tweak: Use preferred block comments imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:14   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 38/48] bsd-user: style tweak: use {} for all if statements, format else correctly imp
                   ` (11 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/uaccess.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/bsd-user/uaccess.c b/bsd-user/uaccess.c
index 7eb4546fed..aab5e995a9 100644
--- a/bsd-user/uaccess.c
+++ b/bsd-user/uaccess.c
@@ -14,7 +14,8 @@ abi_long copy_from_user(void *hptr, abi_ulong gaddr, size_t len)
     abi_long ret = 0;
     void *ghptr;
 
-    if ((ghptr = lock_user(VERIFY_READ, gaddr, len, 1))) {
+    ghptr = lock_user(VERIFY_READ, gaddr, len, 1);
+    if (ghptr) {
         memcpy(hptr, ghptr, len);
         unlock_user(ghptr, gaddr, 0);
     } else
@@ -29,7 +30,8 @@ abi_long copy_to_user(abi_ulong gaddr, void *hptr, size_t len)
     abi_long ret = 0;
     void *ghptr;
 
-    if ((ghptr = lock_user(VERIFY_WRITE, gaddr, len, 0))) {
+    ghptr = lock_user(VERIFY_WRITE, gaddr, len, 0);
+    if (ghptr) {
         memcpy(ghptr, hptr, len);
         unlock_user(ghptr, gaddr, len);
     } else
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 38/48] bsd-user: style tweak: use {} for all if statements, format else correctly
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (36 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 37/48] bsd-user: style tweak: don't assign in if statements imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:15   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 39/48] bsd-user: style tweak: spaces around =, remove stray space imp
                   ` (10 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/uaccess.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/bsd-user/uaccess.c b/bsd-user/uaccess.c
index aab5e995a9..2e8ad2982f 100644
--- a/bsd-user/uaccess.c
+++ b/bsd-user/uaccess.c
@@ -54,8 +54,9 @@ abi_long target_strlen(abi_ulong guest_addr1)
     for (;;) {
         max_len = TARGET_PAGE_SIZE - (guest_addr & ~TARGET_PAGE_MASK);
         ptr = lock_user(VERIFY_READ, guest_addr, max_len, 1);
-        if (!ptr)
+        if (!ptr) {
             return -TARGET_EFAULT;
+        }
         len = qemu_strnlen((const char *)ptr, max_len);
         unlock_user(ptr, guest_addr, 0);
         guest_addr += len;
@@ -63,8 +64,9 @@ abi_long target_strlen(abi_ulong guest_addr1)
         if (guest_addr == 0 ||
             (guest_addr - guest_addr1) > 0x7fffffff)
             return -TARGET_EFAULT;
-        if (len != max_len)
+        if (len != max_len) {
             break;
+        }
     }
     return guest_addr - guest_addr1;
 }
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 39/48] bsd-user: style tweak: spaces around =, remove stray space
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (37 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 38/48] bsd-user: style tweak: use {} for all if statements, format else correctly imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:16   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 40/48] bsd-user: style tweak: Use preferred block comments imp
                   ` (9 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/strace.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/bsd-user/strace.c b/bsd-user/strace.c
index be40b8a20c..e4153fd0a1 100644
--- a/bsd-user/strace.c
+++ b/bsd-user/strace.c
@@ -147,11 +147,11 @@ static void print_syscall(int num, const struct syscallname *scnames,
         abi_long arg4, abi_long arg5, abi_long arg6)
 {
     unsigned int i;
-    const char *format="%s(" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld ","
+    const char *format = "%s(" TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld ","
         TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld "," TARGET_ABI_FMT_ld ","
         TARGET_ABI_FMT_ld ")";
 
-    gemu_log("%d ", getpid() );
+    gemu_log("%d ", getpid());
 
     for (i = 0; i < nscnames; i++) {
         if (scnames[i].nr == num) {
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 40/48] bsd-user: style tweak: Use preferred block comments
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (38 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 39/48] bsd-user: style tweak: spaces around =, remove stray space imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:16   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 41/48] bsd-user: style tweak: don't assign in if statements imp
                   ` (8 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/strace.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/bsd-user/strace.c b/bsd-user/strace.c
index e4153fd0a1..aa4ab8cee7 100644
--- a/bsd-user/strace.c
+++ b/bsd-user/strace.c
@@ -159,8 +159,10 @@ static void print_syscall(int num, const struct syscallname *scnames,
                 scnames[i].call(&scnames[i], arg1, arg2, arg3, arg4, arg5,
                         arg6);
             } else {
-                /* XXX: this format system is broken because it uses
-                   host types and host pointers for strings */
+                /*
+                 * XXX: this format system is broken because it uses host types
+                 * and host pointers for strings
+                 */
                 if (scnames[i].format != NULL) {
                     format = scnames[i].format;
                 }
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 41/48] bsd-user: style tweak: don't assign in if statements
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (39 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 40/48] bsd-user: style tweak: Use preferred block comments imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:17   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 42/48] bsd-user: style tweak: spaces around operators and commas imp
                   ` (7 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/strace.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/bsd-user/strace.c b/bsd-user/strace.c
index aa4ab8cee7..94f2b59565 100644
--- a/bsd-user/strace.c
+++ b/bsd-user/strace.c
@@ -80,7 +80,8 @@ static void print_execve(const struct syscallname *name, abi_long arg1,
         if (!arg_addr) {
             break;
         }
-        if ((s = lock_user_string(arg_addr))) {
+        s = lock_user_string(arg_addr);
+        if (s) {
             gemu_log("\"%s\",", s);
             unlock_user(s, arg_addr, 0);
         }
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 42/48] bsd-user: style tweak: spaces around operators and commas
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (40 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 41/48] bsd-user: style tweak: don't assign in if statements imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:18   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 43/48] bsd-user: style tweak: fold long lines imp
                   ` (6 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/syscall.c | 22 +++++++++++-----------
 1 file changed, 11 insertions(+), 11 deletions(-)
diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index 3352735c68..5e033e8bf4 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -77,8 +77,8 @@ static abi_long do_obreak(abi_ulong new_brk)
     /* We need to allocate more memory after the brk... */
     new_alloc_size = HOST_PAGE_ALIGN(new_brk - brk_page + 1);
     mapped_addr = get_errno(target_mmap(brk_page, new_alloc_size,
-                                        PROT_READ|PROT_WRITE,
-                                        MAP_ANON|MAP_FIXED|MAP_PRIVATE, -1, 0));
+                                        PROT_READ | PROT_WRITE,
+                                        MAP_ANON | MAP_FIXED | MAP_PRIVATE, -1, 0));
 
     if (!is_error(mapped_addr))
         target_brk = new_brk;
@@ -158,7 +158,7 @@ static abi_long do_freebsd_sysarch(void *env, int op, abi_ulong parms)
 static int
 oidfmt(int *oid, int len, char *fmt, uint32_t *kind)
 {
-    int qoid[CTL_MAXNAME+2];
+    int qoid[CTL_MAXNAME + 2];
     uint8_t buf[BUFSIZ];
     int i;
     size_t j;
@@ -241,7 +241,7 @@ static abi_long do_freebsd_sysctl(abi_ulong namep, int32_t namelen, abi_ulong ol
         return -TARGET_EFAULT;
     holdlen = oldlen;
     for (p = hnamep, q = snamep, i = 0; i < namelen; p++, i++)
-       *q++ = tswap32(*p);
+        *q++ = tswap32(*p);
     oidfmt(snamep, namelen, NULL, &kind);
     /* XXX swap hnewp */
     ret = get_errno(sysctl(snamep, namelen, holdp, &holdlen, hnewp, newlen));
@@ -271,7 +271,7 @@ static abi_long lock_iovec(int type, struct iovec *vec, abi_ulong target_addr,
     target_vec = lock_user(VERIFY_READ, target_addr, count * sizeof(struct target_iovec), 1);
     if (!target_vec)
         return -TARGET_EFAULT;
-    for (i = 0;i < count; i++) {
+    for (i = 0; i < count; i++) {
         base = tswapl(target_vec[i].iov_base);
         vec[i].iov_len = tswapl(target_vec[i].iov_len);
         if (vec[i].iov_len != 0) {
@@ -283,7 +283,7 @@ static abi_long lock_iovec(int type, struct iovec *vec, abi_ulong target_addr,
             vec[i].iov_base = NULL;
         }
     }
-    unlock_user (target_vec, target_addr, 0);
+    unlock_user(target_vec, target_addr, 0);
     return 0;
 }
 
@@ -297,13 +297,13 @@ static abi_long unlock_iovec(struct iovec *vec, abi_ulong target_addr,
     target_vec = lock_user(VERIFY_READ, target_addr, count * sizeof(struct target_iovec), 1);
     if (!target_vec)
         return -TARGET_EFAULT;
-    for (i = 0;i < count; i++) {
+    for (i = 0; i < count; i++) {
         if (target_vec[i].iov_base) {
             base = tswapl(target_vec[i].iov_base);
             unlock_user(vec[i].iov_base, base, copy ? vec[i].iov_len : 0);
         }
     }
-    unlock_user (target_vec, target_addr, 0);
+    unlock_user(target_vec, target_addr, 0);
 
     return 0;
 }
@@ -393,7 +393,7 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
         break;
     case TARGET_FREEBSD_NR_syscall:
     case TARGET_FREEBSD_NR___syscall:
-        ret = do_freebsd_syscall(cpu_env,arg1 & 0xffff,arg2,arg3,arg4,arg5,arg6,arg7,arg8,0);
+        ret = do_freebsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5, arg6, arg7, arg8, 0);
         break;
     default:
         ret = get_errno(syscall(num, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8));
@@ -472,7 +472,7 @@ abi_long do_netbsd_syscall(void *cpu_env, int num, abi_long arg1,
         break;
     case TARGET_NETBSD_NR_syscall:
     case TARGET_NETBSD_NR___syscall:
-        ret = do_netbsd_syscall(cpu_env,arg1 & 0xffff,arg2,arg3,arg4,arg5,arg6,0);
+        ret = do_netbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5, arg6, 0);
         break;
     default:
         ret = syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
@@ -551,7 +551,7 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
         break;
     case TARGET_OPENBSD_NR_syscall:
     case TARGET_OPENBSD_NR___syscall:
-        ret = do_openbsd_syscall(cpu_env,arg1 & 0xffff,arg2,arg3,arg4,arg5,arg6,0);
+        ret = do_openbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5, arg6, 0);
         break;
     default:
         ret = syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 43/48] bsd-user: style tweak: fold long lines
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (41 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 42/48] bsd-user: style tweak: spaces around operators and commas imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:18   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 44/48] bsd-user: style tweak: use preferred block comments imp
                   ` (5 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/syscall.c | 40 +++++++++++++++++++++++++---------------
 1 file changed, 25 insertions(+), 15 deletions(-)
diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index 5e033e8bf4..46c0e29841 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -28,8 +28,6 @@
 #include "qemu-common.h"
 #include "user/syscall-trace.h"
 
-//#define DEBUG
-
 static abi_ulong target_brk;
 static abi_ulong target_original_brk;
 
@@ -78,7 +76,8 @@ static abi_long do_obreak(abi_ulong new_brk)
     new_alloc_size = HOST_PAGE_ALIGN(new_brk - brk_page + 1);
     mapped_addr = get_errno(target_mmap(brk_page, new_alloc_size,
                                         PROT_READ | PROT_WRITE,
-                                        MAP_ANON | MAP_FIXED | MAP_PRIVATE, -1, 0));
+                                        MAP_ANON | MAP_FIXED | MAP_PRIVATE,
+                                        -1, 0));
 
     if (!is_error(mapped_addr))
         target_brk = new_brk;
@@ -221,8 +220,9 @@ static int sysctl_oldcvt(void *holdp, size_t holdlen, uint32_t kind)
 }
 
 /* XXX this needs to be emulated on non-FreeBSD hosts... */
-static abi_long do_freebsd_sysctl(abi_ulong namep, int32_t namelen, abi_ulong oldp,
-                          abi_ulong oldlenp, abi_ulong newp, abi_ulong newlen)
+static abi_long do_freebsd_sysctl(abi_ulong namep, int32_t namelen,
+                                  abi_ulong oldp, abi_ulong oldlenp,
+                                  abi_ulong newp, abi_ulong newlen)
 {
     abi_long ret;
     void *hnamep, *holdp, *hnewp = NULL;
@@ -268,7 +268,8 @@ static abi_long lock_iovec(int type, struct iovec *vec, abi_ulong target_addr,
     abi_ulong base;
     int i;
 
-    target_vec = lock_user(VERIFY_READ, target_addr, count * sizeof(struct target_iovec), 1);
+    target_vec = lock_user(VERIFY_READ, target_addr,
+                           count * sizeof(struct target_iovec), 1);
     if (!target_vec)
         return -TARGET_EFAULT;
     for (i = 0; i < count; i++) {
@@ -294,7 +295,8 @@ static abi_long unlock_iovec(struct iovec *vec, abi_ulong target_addr,
     abi_ulong base;
     int i;
 
-    target_vec = lock_user(VERIFY_READ, target_addr, count * sizeof(struct target_iovec), 1);
+    target_vec = lock_user(VERIFY_READ, target_addr,
+                           count * sizeof(struct target_iovec), 1);
     if (!target_vec)
         return -TARGET_EFAULT;
     for (i = 0; i < count; i++) {
@@ -373,7 +375,8 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
         break;
     case TARGET_FREEBSD_NR_mmap:
         ret = get_errno(target_mmap(arg1, arg2, arg3,
-                                    target_to_host_bitmask(arg4, mmap_flags_tbl),
+                                    target_to_host_bitmask(arg4,
+                                                           mmap_flags_tbl),
                                     arg5,
                                     arg6));
         break;
@@ -393,10 +396,12 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
         break;
     case TARGET_FREEBSD_NR_syscall:
     case TARGET_FREEBSD_NR___syscall:
-        ret = do_freebsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5, arg6, arg7, arg8, 0);
+        ret = do_freebsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4,
+                                 arg5, arg6, arg7, arg8, 0);
         break;
     default:
-        ret = get_errno(syscall(num, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8));
+        ret = get_errno(syscall(num, arg1, arg2, arg3, arg4, arg5, arg6,
+                                arg7, arg8));
         break;
     }
  fail:
@@ -463,7 +468,8 @@ abi_long do_netbsd_syscall(void *cpu_env, int num, abi_long arg1,
         break;
     case TARGET_NETBSD_NR_mmap:
         ret = get_errno(target_mmap(arg1, arg2, arg3,
-                                    target_to_host_bitmask(arg4, mmap_flags_tbl),
+                                    target_to_host_bitmask(arg4,
+                                                           mmap_flags_tbl),
                                     arg5,
                                     arg6));
         break;
@@ -472,7 +478,8 @@ abi_long do_netbsd_syscall(void *cpu_env, int num, abi_long arg1,
         break;
     case TARGET_NETBSD_NR_syscall:
     case TARGET_NETBSD_NR___syscall:
-        ret = do_netbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5, arg6, 0);
+        ret = do_netbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5,
+                                arg6, 0);
         break;
     default:
         ret = syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
@@ -536,13 +543,15 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
         if (!(p = lock_user_string(arg1)))
             goto efault;
         ret = get_errno(open(path(p),
-                             target_to_host_bitmask(arg2, fcntl_flags_tbl),
+                             target_to_host_bitmask(arg2,
+                                                    fcntl_flags_tbl),
                              arg3));
         unlock_user(p, arg1, 0);
         break;
     case TARGET_OPENBSD_NR_mmap:
         ret = get_errno(target_mmap(arg1, arg2, arg3,
-                                    target_to_host_bitmask(arg4, mmap_flags_tbl),
+                                    target_to_host_bitmask(arg4,
+                                                           mmap_flags_tbl),
                                     arg5,
                                     arg6));
         break;
@@ -551,7 +560,8 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
         break;
     case TARGET_OPENBSD_NR_syscall:
     case TARGET_OPENBSD_NR___syscall:
-        ret = do_openbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5, arg6, 0);
+        ret = do_openbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4,
+                                 arg5, arg6, 0);
         break;
     default:
         ret = syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 44/48] bsd-user: style tweak: use preferred block comments
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (42 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 43/48] bsd-user: style tweak: fold long lines imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:19   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 45/48] bsd-user: style tweak: Use preferred {} in if/else statements imp
                   ` (4 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/syscall.c | 21 +++++++++++++--------
 1 file changed, 13 insertions(+), 8 deletions(-)
diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index 46c0e29841..fbe3b3b2fe 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -140,8 +140,8 @@ static abi_long do_freebsd_sysarch(CPUX86State *env, int op, abi_ulong parms)
 #ifdef TARGET_SPARC
 static abi_long do_freebsd_sysarch(void *env, int op, abi_ulong parms)
 {
-    /* XXX handle
-     * TARGET_FREEBSD_SPARC_UTRAP_INSTALL,
+    /*
+     * XXX handle TARGET_FREEBSD_SPARC_UTRAP_INSTALL,
      * TARGET_FREEBSD_SPARC_SIGTRAMP_INSTALL
      */
     return -TARGET_EINVAL;
@@ -257,7 +257,8 @@ static abi_long do_freebsd_sysctl(abi_ulong namep, int32_t namelen,
 }
 #endif
 
-/* FIXME
+/*
+ * FIXME
  * lock_iovec()/unlock_iovec() have a return code of 0 for success where
  * other lock functions have a return code of 0 for failure.
  */
@@ -277,8 +278,10 @@ static abi_long lock_iovec(int type, struct iovec *vec, abi_ulong target_addr,
         vec[i].iov_len = tswapl(target_vec[i].iov_len);
         if (vec[i].iov_len != 0) {
             vec[i].iov_base = lock_user(type, base, vec[i].iov_len, copy);
-            /* Don't check lock_user return value. We must call writev even
-               if a element has invalid base address. */
+            /*
+             * Don't check lock_user return value. We must call writev even if a
+             * element has invalid base address.
+             */
         } else {
             /* zero length pointer is ignored */
             vec[i].iov_base = NULL;
@@ -310,9 +313,11 @@ static abi_long unlock_iovec(struct iovec *vec, abi_ulong target_addr,
     return 0;
 }
 
-/* do_syscall() should always have a single exit point at the end so
-   that actions, such as logging of syscall results, can be performed.
-   All errnos that do_syscall() returns must be -TARGET_<errcode>. */
+/*
+ * do_syscall() should always have a single exit point at the end so that
+ * actions, such as logging of syscall results, can be performed.  All errnos
+ * that do_syscall() returns must be -TARGET_<errcode>.
+ */
 abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
                             abi_long arg2, abi_long arg3, abi_long arg4,
                             abi_long arg5, abi_long arg6, abi_long arg7,
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 45/48] bsd-user: style tweak: Use preferred {} in if/else statements.
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (43 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 44/48] bsd-user: style tweak: use preferred block comments imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:21   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 46/48] bsd-user: style tweak: Return is not a function call imp
                   ` (3 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/syscall.c | 120 +++++++++++++++++++++++++++++----------------
 1 file changed, 78 insertions(+), 42 deletions(-)
diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index fbe3b3b2fe..36ffa6a880 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -33,11 +33,12 @@ static abi_ulong target_original_brk;
 
 static inline abi_long get_errno(abi_long ret)
 {
-    if (ret == -1)
+    if (ret == -1) {
         /* XXX need to translate host -> target errnos here */
         return -(errno);
-    else
+    } else {
         return ret;
+    }
 }
 
 #define target_to_host_bitmask(x, tbl) (x)
@@ -59,10 +60,12 @@ static abi_long do_obreak(abi_ulong new_brk)
     abi_long mapped_addr;
     int new_alloc_size;
 
-    if (!new_brk)
+    if (!new_brk) {
         return 0;
-    if (new_brk < target_original_brk)
+    }
+    if (new_brk < target_original_brk) {
         return -TARGET_EINVAL;
+    }
 
     brk_page = HOST_PAGE_ALIGN(target_brk);
 
@@ -79,10 +82,11 @@ static abi_long do_obreak(abi_ulong new_brk)
                                         MAP_ANON | MAP_FIXED | MAP_PRIVATE,
                                         -1, 0));
 
-    if (!is_error(mapped_addr))
+    if (!is_error(mapped_addr)) {
         target_brk = new_brk;
-    else
+    } else {
         return mapped_addr;
+    }
 
     return 0;
 }
@@ -98,35 +102,39 @@ static abi_long do_freebsd_sysarch(CPUX86State *env, int op, abi_ulong parms)
 #ifdef TARGET_ABI32
     case TARGET_FREEBSD_I386_SET_GSBASE:
     case TARGET_FREEBSD_I386_SET_FSBASE:
-        if (op == TARGET_FREEBSD_I386_SET_GSBASE)
+        if (op == TARGET_FREEBSD_I386_SET_GSBASE) {
 #else
     case TARGET_FREEBSD_AMD64_SET_GSBASE:
     case TARGET_FREEBSD_AMD64_SET_FSBASE:
-        if (op == TARGET_FREEBSD_AMD64_SET_GSBASE)
+        if (op == TARGET_FREEBSD_AMD64_SET_GSBASE) {
 #endif
             idx = R_GS;
-        else
+        } else {
             idx = R_FS;
-        if (get_user(val, parms, abi_ulong))
+        }
+        if (get_user(val, parms, abi_ulong)) {
             return -TARGET_EFAULT;
+        }
         cpu_x86_load_seg(env, idx, 0);
         env->segs[idx].base = val;
         break;
 #ifdef TARGET_ABI32
     case TARGET_FREEBSD_I386_GET_GSBASE:
     case TARGET_FREEBSD_I386_GET_FSBASE:
-        if (op == TARGET_FREEBSD_I386_GET_GSBASE)
+        if (op == TARGET_FREEBSD_I386_GET_GSBASE) {
 #else
     case TARGET_FREEBSD_AMD64_GET_GSBASE:
     case TARGET_FREEBSD_AMD64_GET_FSBASE:
-        if (op == TARGET_FREEBSD_AMD64_GET_GSBASE)
+        if (op == TARGET_FREEBSD_AMD64_GET_GSBASE) {
 #endif
             idx = R_GS;
-        else
+        } else {
             idx = R_FS;
+        }
         val = env->segs[idx].base;
-        if (put_user(val, parms, abi_ulong))
+        if (put_user(val, parms, abi_ulong)) {
             return -TARGET_EFAULT;
+        }
         break;
     /* XXX handle the others... */
     default:
@@ -168,14 +176,17 @@ oidfmt(int *oid, int len, char *fmt, uint32_t *kind)
 
     j = sizeof(buf);
     i = sysctl(qoid, len + 2, buf, &j, 0, 0);
-    if (i)
+    if (i) {
         return i;
+    }
 
-    if (kind)
+    if (kind) {
         *kind = *(uint32_t *)buf;
+    }
 
-    if (fmt)
+    if (fmt) {
         strcpy(fmt, (char *)(buf + sizeof(uint32_t)));
+    }
     return (0);
 }
 
@@ -231,27 +242,34 @@ static abi_long do_freebsd_sysctl(abi_ulong namep, int32_t namelen,
     int32_t *snamep = g_malloc(sizeof(int32_t) * namelen), *p, *q, i;
     uint32_t kind = 0;
 
-    if (oldlenp)
+    if (oldlenp) {
         get_user_ual(oldlen, oldlenp);
-    if (!(hnamep = lock_user(VERIFY_READ, namep, namelen, 1)))
+    }
+    if (!(hnamep = lock_user(VERIFY_READ, namep, namelen, 1))) {
         return -TARGET_EFAULT;
-    if (newp && !(hnewp = lock_user(VERIFY_READ, newp, newlen, 1)))
+    }
+    if (newp && !(hnewp = lock_user(VERIFY_READ, newp, newlen, 1))) {
         return -TARGET_EFAULT;
-    if (!(holdp = lock_user(VERIFY_WRITE, oldp, oldlen, 0)))
+    }
+    if (!(holdp = lock_user(VERIFY_WRITE, oldp, oldlen, 0))) {
         return -TARGET_EFAULT;
+    }
     holdlen = oldlen;
-    for (p = hnamep, q = snamep, i = 0; i < namelen; p++, i++)
+    for (p = hnamep, q = snamep, i = 0; i < namelen; p++, i++) {
         *q++ = tswap32(*p);
+    }
     oidfmt(snamep, namelen, NULL, &kind);
     /* XXX swap hnewp */
     ret = get_errno(sysctl(snamep, namelen, holdp, &holdlen, hnewp, newlen));
-    if (!ret)
+    if (!ret) {
         sysctl_oldcvt(holdp, holdlen, kind);
+    }
     put_user_ual(holdlen, oldlenp);
     unlock_user(hnamep, namep, 0);
     unlock_user(holdp, oldp, holdlen);
-    if (hnewp)
+    if (hnewp) {
         unlock_user(hnewp, newp, 0);
+    }
     g_free(snamep);
     return ret;
 }
@@ -271,8 +289,9 @@ static abi_long lock_iovec(int type, struct iovec *vec, abi_ulong target_addr,
 
     target_vec = lock_user(VERIFY_READ, target_addr,
                            count * sizeof(struct target_iovec), 1);
-    if (!target_vec)
+    if (!target_vec) {
         return -TARGET_EFAULT;
+    }
     for (i = 0; i < count; i++) {
         base = tswapl(target_vec[i].iov_base);
         vec[i].iov_len = tswapl(target_vec[i].iov_len);
@@ -300,8 +319,9 @@ static abi_long unlock_iovec(struct iovec *vec, abi_ulong target_addr,
 
     target_vec = lock_user(VERIFY_READ, target_addr,
                            count * sizeof(struct target_iovec), 1);
-    if (!target_vec)
+    if (!target_vec) {
         return -TARGET_EFAULT;
+    }
     for (i = 0; i < count; i++) {
         if (target_vec[i].iov_base) {
             base = tswapl(target_vec[i].iov_base);
@@ -332,8 +352,9 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
 #endif
     record_syscall_start(cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, 0, 0);
 
-    if (do_strace)
+    if (do_strace) {
         print_freebsd_syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
+    }
 
     switch (num) {
     case TARGET_FREEBSD_NR_exit:
@@ -347,14 +368,16 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
         ret = 0; /* avoid warning */
         break;
     case TARGET_FREEBSD_NR_read:
-        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0)))
+        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
             goto efault;
+        }
         ret = get_errno(read(arg1, p, arg3));
         unlock_user(p, arg2, ret);
         break;
     case TARGET_FREEBSD_NR_write:
-        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1)))
+        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
             goto efault;
+        }
         ret = get_errno(write(arg1, p, arg3));
         unlock_user(p, arg2, 0);
         break;
@@ -364,15 +387,17 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
             struct iovec *vec;
 
             vec = alloca(count * sizeof(struct iovec));
-            if (lock_iovec(VERIFY_READ, vec, arg2, count, 1) < 0)
+            if (lock_iovec(VERIFY_READ, vec, arg2, count, 1) < 0) {
                 goto efault;
+            }
             ret = get_errno(writev(arg1, vec, count));
             unlock_iovec(vec, arg2, count, 0);
         }
         break;
     case TARGET_FREEBSD_NR_open:
-        if (!(p = lock_user_string(arg1)))
+        if (!(p = lock_user_string(arg1))) {
             goto efault;
+        }
         ret = get_errno(open(path(p),
                              target_to_host_bitmask(arg2, fcntl_flags_tbl),
                              arg3));
@@ -413,8 +438,9 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
 #ifdef DEBUG
     gemu_log(" = %ld\n", ret);
 #endif
-    if (do_strace)
+    if (do_strace) {
         print_freebsd_syscall_ret(num, ret);
+    }
 
     record_syscall_return(cpu, num, ret);
     return ret;
@@ -437,8 +463,9 @@ abi_long do_netbsd_syscall(void *cpu_env, int num, abi_long arg1,
 
     record_syscall_start(cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, 0, 0);
 
-    if (do_strace)
+    if (do_strace) {
         print_netbsd_syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
+    }
 
     switch (num) {
     case TARGET_NETBSD_NR_exit:
@@ -452,20 +479,23 @@ abi_long do_netbsd_syscall(void *cpu_env, int num, abi_long arg1,
         ret = 0; /* avoid warning */
         break;
     case TARGET_NETBSD_NR_read:
-        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0)))
+        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
             goto efault;
+        }
         ret = get_errno(read(arg1, p, arg3));
         unlock_user(p, arg2, ret);
         break;
     case TARGET_NETBSD_NR_write:
-        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1)))
+        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
             goto efault;
+        }
         ret = get_errno(write(arg1, p, arg3));
         unlock_user(p, arg2, 0);
         break;
     case TARGET_NETBSD_NR_open:
-        if (!(p = lock_user_string(arg1)))
+        if (!(p = lock_user_string(arg1))) {
             goto efault;
+        }
         ret = get_errno(open(path(p),
                              target_to_host_bitmask(arg2, fcntl_flags_tbl),
                              arg3));
@@ -494,8 +524,9 @@ abi_long do_netbsd_syscall(void *cpu_env, int num, abi_long arg1,
 #ifdef DEBUG
     gemu_log(" = %ld\n", ret);
 #endif
-    if (do_strace)
+    if (do_strace) {
         print_netbsd_syscall_ret(num, ret);
+    }
 
     record_syscall_return(cpu, num, ret);
     return ret;
@@ -518,8 +549,9 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
 
     record_syscall_start(cpu, num, arg1, arg2, arg3, arg4, arg5, arg6, 0, 0);
 
-    if (do_strace)
+    if (do_strace) {
         print_openbsd_syscall(num, arg1, arg2, arg3, arg4, arg5, arg6);
+    }
 
     switch (num) {
     case TARGET_OPENBSD_NR_exit:
@@ -533,20 +565,23 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
         ret = 0; /* avoid warning */
         break;
     case TARGET_OPENBSD_NR_read:
-        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0)))
+        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
             goto efault;
+        }
         ret = get_errno(read(arg1, p, arg3));
         unlock_user(p, arg2, ret);
         break;
     case TARGET_OPENBSD_NR_write:
-        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1)))
+        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
             goto efault;
+        }
         ret = get_errno(write(arg1, p, arg3));
         unlock_user(p, arg2, 0);
         break;
     case TARGET_OPENBSD_NR_open:
-        if (!(p = lock_user_string(arg1)))
+        if (!(p = lock_user_string(arg1))) {
             goto efault;
+        }
         ret = get_errno(open(path(p),
                              target_to_host_bitmask(arg2,
                                                     fcntl_flags_tbl),
@@ -576,8 +611,9 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
 #ifdef DEBUG
     gemu_log(" = %ld\n", ret);
 #endif
-    if (do_strace)
+    if (do_strace) {
         print_openbsd_syscall_ret(num, ret);
+    }
 
     record_syscall_return(cpu, num, ret);
     return ret;
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 46/48] bsd-user: style tweak: Return is not a function call.
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (44 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 45/48] bsd-user: style tweak: Use preferred {} in if/else statements imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:21   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 47/48] bsd-user: style tweak: don't assign in if statement imp
                   ` (2 subsequent siblings)
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/syscall.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index 36ffa6a880..1f6b93923c 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -187,7 +187,7 @@ oidfmt(int *oid, int len, char *fmt, uint32_t *kind)
     if (fmt) {
         strcpy(fmt, (char *)(buf + sizeof(uint32_t)));
     }
-    return (0);
+    return 0;
 }
 
 /*
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 47/48] bsd-user: style tweak: don't assign in if statement.
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (45 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 46/48] bsd-user: style tweak: Return is not a function call imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:21   ` Richard Henderson
  2021-04-24 16:00 ` [PATCH v2 48/48] bsd-user: put back a break; that had gone missing imp
  2021-04-24 16:55 ` [PATCH v2 00/48] bsd-user style and reorg patches no-reply
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/syscall.c | 40 +++++++++++++++++++++++++++-------------
 1 file changed, 27 insertions(+), 13 deletions(-)
diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index 1f6b93923c..1851311acd 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -245,13 +245,18 @@ static abi_long do_freebsd_sysctl(abi_ulong namep, int32_t namelen,
     if (oldlenp) {
         get_user_ual(oldlen, oldlenp);
     }
-    if (!(hnamep = lock_user(VERIFY_READ, namep, namelen, 1))) {
+    hnamep = lock_user(VERIFY_READ, namep, namelen, 1);
+    if (!hnamep) {
         return -TARGET_EFAULT;
     }
-    if (newp && !(hnewp = lock_user(VERIFY_READ, newp, newlen, 1))) {
-        return -TARGET_EFAULT;
+    if (newp) {
+        hnewp = lock_user(VERIFY_READ, newp, newlen, 1);
+        if (!hnewp) {
+            return -TARGET_EFAULT;
+        }
     }
-    if (!(holdp = lock_user(VERIFY_WRITE, oldp, oldlen, 0))) {
+    holdp = lock_user(VERIFY_WRITE, oldp, oldlen, 0);
+    if (!holdp) {
         return -TARGET_EFAULT;
     }
     holdlen = oldlen;
@@ -368,14 +373,16 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
         ret = 0; /* avoid warning */
         break;
     case TARGET_FREEBSD_NR_read:
-        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
+        p = lock_user(VERIFY_WRITE, arg2, arg3, 0);
+        if (!p) {
             goto efault;
         }
         ret = get_errno(read(arg1, p, arg3));
         unlock_user(p, arg2, ret);
         break;
     case TARGET_FREEBSD_NR_write:
-        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
+        p = lock_user(VERIFY_READ, arg2, arg3, 1);
+        if (!p) {
             goto efault;
         }
         ret = get_errno(write(arg1, p, arg3));
@@ -395,7 +402,8 @@ abi_long do_freebsd_syscall(void *cpu_env, int num, abi_long arg1,
         }
         break;
     case TARGET_FREEBSD_NR_open:
-        if (!(p = lock_user_string(arg1))) {
+        p = lock_user_string(arg1);
+        if (!p) {
             goto efault;
         }
         ret = get_errno(open(path(p),
@@ -479,21 +487,24 @@ abi_long do_netbsd_syscall(void *cpu_env, int num, abi_long arg1,
         ret = 0; /* avoid warning */
         break;
     case TARGET_NETBSD_NR_read:
-        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
+        p = lock_user(VERIFY_WRITE, arg2, arg3, 0);
+        if (!p) {
             goto efault;
         }
         ret = get_errno(read(arg1, p, arg3));
         unlock_user(p, arg2, ret);
         break;
     case TARGET_NETBSD_NR_write:
-        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
+        p = lock_user(VERIFY_READ, arg2, arg3, 1);
+        if (!p) {
             goto efault;
         }
         ret = get_errno(write(arg1, p, arg3));
         unlock_user(p, arg2, 0);
         break;
     case TARGET_NETBSD_NR_open:
-        if (!(p = lock_user_string(arg1))) {
+        p = lock_user_string(arg1);
+        if (!p) {
             goto efault;
         }
         ret = get_errno(open(path(p),
@@ -565,21 +576,24 @@ abi_long do_openbsd_syscall(void *cpu_env, int num, abi_long arg1,
         ret = 0; /* avoid warning */
         break;
     case TARGET_OPENBSD_NR_read:
-        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
+        p = lock_user(VERIFY_WRITE, arg2, arg3, 0);
+        if (!p) {
             goto efault;
         }
         ret = get_errno(read(arg1, p, arg3));
         unlock_user(p, arg2, ret);
         break;
     case TARGET_OPENBSD_NR_write:
-        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
+        p = lock_user(VERIFY_READ, arg2, arg3, 1);
+        if (!p) {
             goto efault;
         }
         ret = get_errno(write(arg1, p, arg3));
         unlock_user(p, arg2, 0);
         break;
     case TARGET_OPENBSD_NR_open:
-        if (!(p = lock_user_string(arg1))) {
+        p = lock_user_string(arg1);
+        if (!p) {
             goto efault;
         }
         ret = get_errno(open(path(p),
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * [PATCH v2 48/48] bsd-user: put back a break; that had gone missing...
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (46 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 47/48] bsd-user: style tweak: don't assign in if statement imp
@ 2021-04-24 16:00 ` imp
  2021-04-24 18:22   ` Richard Henderson
  2021-04-24 16:55 ` [PATCH v2 00/48] bsd-user style and reorg patches no-reply
  48 siblings, 1 reply; 84+ messages in thread
From: imp @ 2021-04-24 16:00 UTC (permalink / raw)
  To: qemu-devel; +Cc: kevans, arichardson, Warner Losh
From: Warner Losh <imp@bsdimp.com>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
 bsd-user/syscall.c | 1 +
 1 file changed, 1 insertion(+)
diff --git a/bsd-user/syscall.c b/bsd-user/syscall.c
index 1851311acd..d5c3168a6d 100644
--- a/bsd-user/syscall.c
+++ b/bsd-user/syscall.c
@@ -209,6 +209,7 @@ static int sysctl_oldcvt(void *holdp, size_t holdlen, uint32_t kind)
 #else
     case CTLTYPE_LONG:
         *(uint64_t *)holdp = tswap64(*(long *)holdp);
+        break;
     case CTLTYPE_ULONG:
         *(uint64_t *)holdp = tswap64(*(unsigned long *)holdp);
         break;
-- 
2.22.1
^ permalink raw reply related	[flat|nested] 84+ messages in thread
- * Re: [PATCH v2 00/48] bsd-user style and reorg patches
  2021-04-24 15:59 [PATCH v2 00/48] bsd-user style and reorg patches imp
                   ` (47 preceding siblings ...)
  2021-04-24 16:00 ` [PATCH v2 48/48] bsd-user: put back a break; that had gone missing imp
@ 2021-04-24 16:55 ` no-reply
  2021-04-24 17:00   ` Warner Losh
  48 siblings, 1 reply; 84+ messages in thread
From: no-reply @ 2021-04-24 16:55 UTC (permalink / raw)
  To: imp; +Cc: kevans, arichardson, qemu-devel, imp
Patchew URL: https://patchew.org/QEMU/20210424160016.15200-1-imp@bsdimp.com/
Hi,
This series seems to have some coding style problems. See output below for
more information:
Type: series
Message-id: 20210424160016.15200-1-imp@bsdimp.com
Subject: [PATCH v2 00/48] bsd-user style and reorg patches
=== TEST SCRIPT BEGIN ===
#!/bin/bash
git rev-parse base > /dev/null || exit 0
git config --local diff.renamelimit 0
git config --local diff.renames True
git config --local diff.algorithm histogram
./scripts/checkpatch.pl --mailback base..
=== TEST SCRIPT END ===
Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
From https://github.com/patchew-project/qemu
 * [new tag]         patchew/20210424160016.15200-1-imp@bsdimp.com -> patchew/20210424160016.15200-1-imp@bsdimp.com
Switched to a new branch 'test'
be1f8df bsd-user: put back a break; that had gone missing...
19b2708 bsd-user: style tweak: don't assign in if statement.
1bf13fe bsd-user: style tweak: Return is not a function call.
de239a3 bsd-user: style tweak: Use preferred {} in if/else statements.
cf2e30f bsd-user: style tweak: use preferred block comments
1a93628 bsd-user: style tweak: fold long lines
1448c0f bsd-user: style tweak: spaces around operators and commas
11e0aae bsd-user: style tweak: don't assign in if statements
2c53346 bsd-user: style tweak: Use preferred block comments
8946d14 bsd-user: style tweak: spaces around =, remove stray space
ab7c026 bsd-user: style tweak: use {} for all if statements, format else correctly
3a3b578 bsd-user: style tweak: don't assign in if statements
d32211e bsd-user: style tweak: Use preferred block comments
695b534 bsd-user: style tweak: use {} for all if statements, format else correctly
eca311e bsd-user: style tweak: don't assign in if statements
45bfe91 bsd-user: style tweak: Use preferred block comments
d00c21e bsd-user: style tweak: remove spacing after '*' and add after }
780e9f4 bsd-user: style tweak: use {} for all if statements, format else correctly
e92240f bsd-user: style tweak: fix block comments
cb3234a bsd-user: style tweak: use {} correctly
522e458 bsd-user: style tweak: comments
e7e00a4 bsd-user: style tweak: space pedantry
55da1fd bsd-user: move sparc cpu_loop into target_arch_cpu.h as target_cpu_loop
c546aa9 bsd-user: move x86 (i386 and x86_64) cpu_loop to target_arch_cpu.h
f19b57e bsd-user: create target_arch_cpu.h
7ed989c bsd-user: introduce host_os.h for bsd-specific code and defaults
9cb365d bsd-user: use qemu_strtoul in preference to strtol
4454689 bsd-user: style nits: return is not a function
0c748d0 bsd-user: style tweak: use {} consistently in for / if / else statements
3ce10b8 bsd-user: style tweak: move extern to header file
3aa06bf bsd-user: style tweak: Use preferred block comments
2e4fcda bsd-user: style tweak: Fix commentary issues
4416126 bsd-user: style tweak: Put {} around all if/else/for statements
dc7ae60 bsd-user: style tweak: return is not a function, eliminate ()
b84160d bsd-user: style tweak: Remove #if 0'd code
df39a25 bsd-user: style tweak: Remove #if 0'd code
9d92841 bsd-user: style tweak: Remove #if 0'd code
7ef0035 bsd-user: style tweak: Remove #if 0'd code
00a0b5e bsd-user: Remove commented out code
c87209f bsd-user: style tweak: use C not C++ comments
1284f86 bsd-user: style tweak: use C not C++ comments
afedaf7 bsd-user: style tweak: keyword space (
d903536 bsd-user: style tweak: keyword space (
a9aa3e4 bsd-user: style tweak: keyword space (
64b81a2 bsd-user: style tweak: keyword space (
1c1ed78 bsd-user: whitespace changes
3d281e8 bsd-user: whitespace changes
6f7ee37 bsd-user: whitespace changes
=== OUTPUT BEGIN ===
1/48 Checking commit 6f7ee37e5c9f (bsd-user: whitespace changes)
2/48 Checking commit 3d281e896a43 (bsd-user: whitespace changes)
WARNING: line over 80 characters
#149: FILE: bsd-user/elfload.c:541:
+#define TARGET_ELF_PAGESTART(_v) ((_v) & ~(unsigned long)(TARGET_ELF_EXEC_PAGESIZE - 1))
ERROR: braces {} are necessary for all arms of this statement
#331: FILE: bsd-user/elfload.c:867:
+    if (sizeof(struct elf_phdr) * interp_elf_ex->e_phnum > TARGET_PAGE_SIZE)
[...]
ERROR: braces {} are necessary for all arms of this statement
#341: FILE: bsd-user/elfload.c:873:
+    if (!elf_phdata)
[...]
ERROR: space prohibited between function name and open parenthesis '('
#382: FILE: bsd-user/elfload.c:894:
+        free (elf_phdata);
ERROR: spaces required around that '<' (ctx:VxV)
#391: FILE: bsd-user/elfload.c:899:
+    for (i = 0; i<interp_elf_ex->e_phnum; i++, eppnt++) {
                  ^
WARNING: Block comments use a leading /* on a separate line
#409: FILE: bsd-user/elfload.c:905:
+        /* in order to avoid hardcoding the interpreter load
WARNING: Block comments use * on subsequent lines
#410: FILE: bsd-user/elfload.c:906:
+        /* in order to avoid hardcoding the interpreter load
+           address in qemu, we allocate a big enough memory zone */
WARNING: Block comments use a trailing */ on a separate line
#410: FILE: bsd-user/elfload.c:906:
+           address in qemu, we allocate a big enough memory zone */
WARNING: line over 80 characters
#442: FILE: bsd-user/elfload.c:934:
+                                eppnt->p_filesz + TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr),
WARNING: line over 80 characters
#446: FILE: bsd-user/elfload.c:938:
+                                eppnt->p_offset - TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr));
ERROR: line over 90 characters
#507: FILE: bsd-user/elfload.c:978:
+    elf_bss = TARGET_ELF_PAGESTART(elf_bss + qemu_host_page_size - 1); /* What we have mapped so far */
ERROR: space required after that ',' (ctx:VxV)
#554: FILE: bsd-user/elfload.c:1186:
+    bprm->p = copy_elf_strings(bprm->envc, bprm->envp, bprm->page,bprm->p);
                                                                  ^
ERROR: space required after that ',' (ctx:VxV)
#555: FILE: bsd-user/elfload.c:1187:
+    bprm->p = copy_elf_strings(bprm->argc, bprm->argv, bprm->page,bprm->p);
                                                                  ^
ERROR: space required after that ';' (ctx:VxV)
#590: FILE: bsd-user/elfload.c:1230:
+    for (i = 0;i < elf_ex.e_phnum; i++) {
               ^
ERROR: suspect code indent for conditional statements (12, 14)
#626: FILE: bsd-user/elfload.c:1268:
+            if (strcmp(elf_interpreter, "/usr/lib/libc.so.1") == 0 ||
[...]
               ibcs2_interpreter = 1;
total: 9 errors, 6 warnings, 666 lines checked
Patch 2/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
3/48 Checking commit 1c1ed7831e8a (bsd-user: whitespace changes)
ERROR: consider using qemu_strtol in preference to strtol
#102: FILE: bsd-user/main.c:835:
+            guest_base = strtol(argv[optind++], NULL, 0);
ERROR: braces {} are necessary for all arms of this statement
#143: FILE: bsd-user/main.c:1126:
+        for (i = 0; i < 8; i++)
[...]
ERROR: braces {} are necessary for all arms of this statement
#146: FILE: bsd-user/main.c:1128:
+        for (i = 0; i < 8; i++)
[...]
total: 3 errors, 0 warnings, 119 lines checked
Patch 3/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
4/48 Checking commit 64b81a2f81d0 (bsd-user: style tweak: keyword space ()
5/48 Checking commit a9aa3e409bd8 (bsd-user: style tweak: keyword space ()
6/48 Checking commit d903536bcaa8 (bsd-user: style tweak: keyword space ()
ERROR: space required after that ';' (ctx:VxV)
#32: FILE: bsd-user/syscall.c:274:
+    for (i = 0;i < count; i++) {
               ^
ERROR: space required after that ';' (ctx:VxV)
#41: FILE: bsd-user/syscall.c:300:
+    for (i = 0;i < count; i++) {
               ^
total: 2 errors, 0 warnings, 60 lines checked
Patch 6/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
7/48 Checking commit afedaf7c29e2 (bsd-user: style tweak: keyword space ()
8/48 Checking commit 1284f86e9b7b (bsd-user: style tweak: use C not C++ comments)
9/48 Checking commit c87209f1f0f9 (bsd-user: style tweak: use C not C++ comments)
10/48 Checking commit 00a0b5ee4157 (bsd-user: Remove commented out code)
11/48 Checking commit 7ef00352a15f (bsd-user: style tweak: Remove #if 0'd code)
12/48 Checking commit 9d92841f7d3a (bsd-user: style tweak: Remove #if 0'd code)
13/48 Checking commit df39a2547ed7 (bsd-user: style tweak: Remove #if 0'd code)
14/48 Checking commit b84160d0a3db (bsd-user: style tweak: Remove #if 0'd code)
15/48 Checking commit dc7ae6073667 (bsd-user: style tweak: return is not a function, eliminate ())
16/48 Checking commit 4416126bd67b (bsd-user: style tweak: Put {} around all if/else/for statements)
17/48 Checking commit 2e4fcdafda97 (bsd-user: style tweak: Fix commentary issues)
18/48 Checking commit 3aa06bf4a169 (bsd-user: style tweak: Use preferred block comments)
19/48 Checking commit 3ce10b8d1073 (bsd-user: style tweak: move extern to header file)
20/48 Checking commit 0c748d0a6ea1 (bsd-user: style tweak: use {} consistently in for / if / else statements)
21/48 Checking commit 4454689b7dff (bsd-user: style nits: return is not a function)
22/48 Checking commit 9cb365d13f71 (bsd-user: use qemu_strtoul in preference to strtol)
23/48 Checking commit 7ed989c1d383 (bsd-user: introduce host_os.h for bsd-specific code and defaults)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#24: 
new file mode 100644
WARNING: architecture specific defines should be avoided
#48: FILE: bsd-user/freebsd/host_os.h:20:
+#ifndef __HOST_OS_H_
WARNING: architecture specific defines should be avoided
#101: FILE: bsd-user/netbsd/host_os.h:20:
+#ifndef __HOST_OS_H_
WARNING: architecture specific defines should be avoided
#132: FILE: bsd-user/openbsd/host_os.h:20:
+#ifndef __HOST_OS_H_
total: 0 errors, 4 warnings, 91 lines checked
Patch 23/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
24/48 Checking commit f19b57e6a271 (bsd-user: create target_arch_cpu.h)
Use of uninitialized value $acpi_testexpected in string eq at ./scripts/checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#31: 
new file mode 100644
total: 0 errors, 1 warnings, 111 lines checked
Patch 24/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
25/48 Checking commit c546aa906cbe (bsd-user: move x86 (i386 and x86_64) cpu_loop to target_arch_cpu.h)
26/48 Checking commit 55da1fd9d9a3 (bsd-user: move sparc cpu_loop into target_arch_cpu.h as target_cpu_loop)
27/48 Checking commit e7e00a4308a1 (bsd-user: style tweak: space pedantry)
ERROR: spaces required around that '=' (ctx:WxV)
#78: FILE: bsd-user/elfload.c:1226:
+    start_data =n 0;
                ^
total: 1 errors, 0 warnings, 73 lines checked
Patch 27/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
28/48 Checking commit 522e4589fc17 (bsd-user: style tweak: comments)
29/48 Checking commit cb3234ad892f (bsd-user: style tweak: use {} correctly)
30/48 Checking commit e92240f03f40 (bsd-user: style tweak: fix block comments)
31/48 Checking commit 780e9f44ba8b (bsd-user: style tweak: use {} for all if statements, format else correctly)
32/48 Checking commit d00c21e0a91a (bsd-user: style tweak: remove spacing after '*' and add after })
33/48 Checking commit 45bfe917b433 (bsd-user: style tweak: Use preferred block comments)
34/48 Checking commit eca311e2127b (bsd-user: style tweak: don't assign in if statements)
35/48 Checking commit 695b53466022 (bsd-user: style tweak: use {} for all if statements, format else correctly)
36/48 Checking commit d32211e78858 (bsd-user: style tweak: Use preferred block comments)
37/48 Checking commit 3a3b578aff7b (bsd-user: style tweak: don't assign in if statements)
38/48 Checking commit ab7c026d39c0 (bsd-user: style tweak: use {} for all if statements, format else correctly)
39/48 Checking commit 8946d1425629 (bsd-user: style tweak: spaces around =, remove stray space)
40/48 Checking commit 2c5334681060 (bsd-user: style tweak: Use preferred block comments)
41/48 Checking commit 11e0aae47a39 (bsd-user: style tweak: don't assign in if statements)
42/48 Checking commit 1448c0f5067c (bsd-user: style tweak: spaces around operators and commas)
WARNING: line over 80 characters
#24: FILE: bsd-user/syscall.c:81:
+                                        MAP_ANON | MAP_FIXED | MAP_PRIVATE, -1, 0));
ERROR: line over 90 characters
#85: FILE: bsd-user/syscall.c:396:
+        ret = do_freebsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5, arg6, arg7, arg8, 0);
WARNING: line over 80 characters
#94: FILE: bsd-user/syscall.c:475:
+        ret = do_netbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5, arg6, 0);
WARNING: line over 80 characters
#103: FILE: bsd-user/syscall.c:554:
+        ret = do_openbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4, arg5, arg6, 0);
total: 1 errors, 3 warnings, 81 lines checked
Patch 42/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
43/48 Checking commit 1a936284fa25 (bsd-user: style tweak: fold long lines)
44/48 Checking commit cf2e30fc41ca (bsd-user: style tweak: use preferred block comments)
45/48 Checking commit de239a3b68bb (bsd-user: style tweak: Use preferred {} in if/else statements.)
ERROR: do not use assignment in if condition
#139: FILE: bsd-user/syscall.c:248:
+    if (!(hnamep = lock_user(VERIFY_READ, namep, namelen, 1))) {
ERROR: do not use assignment in if condition
#143: FILE: bsd-user/syscall.c:251:
+    if (newp && !(hnewp = lock_user(VERIFY_READ, newp, newlen, 1))) {
ERROR: do not use assignment in if condition
#147: FILE: bsd-user/syscall.c:254:
+    if (!(holdp = lock_user(VERIFY_WRITE, oldp, oldlen, 0))) {
ERROR: do not use assignment in if condition
#210: FILE: bsd-user/syscall.c:371:
+        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
ERROR: do not use assignment in if condition
#218: FILE: bsd-user/syscall.c:378:
+        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
ERROR: do not use assignment in if condition
#238: FILE: bsd-user/syscall.c:398:
+        if (!(p = lock_user_string(arg1))) {
ERROR: do not use assignment in if condition
#271: FILE: bsd-user/syscall.c:482:
+        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
ERROR: do not use assignment in if condition
#279: FILE: bsd-user/syscall.c:489:
+        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
ERROR: do not use assignment in if condition
#287: FILE: bsd-user/syscall.c:496:
+        if (!(p = lock_user_string(arg1))) {
ERROR: do not use assignment in if condition
#320: FILE: bsd-user/syscall.c:568:
+        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
ERROR: do not use assignment in if condition
#328: FILE: bsd-user/syscall.c:575:
+        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
ERROR: do not use assignment in if condition
#336: FILE: bsd-user/syscall.c:582:
+        if (!(p = lock_user_string(arg1))) {
total: 12 errors, 0 warnings, 318 lines checked
Patch 45/48 has style problems, please review.  If any of these errors
are false positives report them to the maintainer, see
CHECKPATCH in MAINTAINERS.
46/48 Checking commit 1bf13fe0ac6b (bsd-user: style tweak: Return is not a function call.)
47/48 Checking commit 19b2708a0763 (bsd-user: style tweak: don't assign in if statement.)
48/48 Checking commit be1f8df08151 (bsd-user: put back a break; that had gone missing...)
=== OUTPUT END ===
Test command exited with code: 1
The full log is available at
http://patchew.org/logs/20210424160016.15200-1-imp@bsdimp.com/testing.checkpatch/?type=message.
---
Email generated automatically by Patchew [https://patchew.org/].
Please send your feedback to patchew-devel@redhat.com
^ permalink raw reply	[flat|nested] 84+ messages in thread
- * Re: [PATCH v2 00/48] bsd-user style and reorg patches
  2021-04-24 16:55 ` [PATCH v2 00/48] bsd-user style and reorg patches no-reply
@ 2021-04-24 17:00   ` Warner Losh
  0 siblings, 0 replies; 84+ messages in thread
From: Warner Losh @ 2021-04-24 17:00 UTC (permalink / raw)
  To: QEMU Developers; +Cc: Kyle Evans, Alex Richardson
[-- Attachment #1: Type: text/plain, Size: 17927 bytes --]
This is a false positive. The files were wrong before, so it's detecting
residual wrongness in the incremental changes.
The cumulative diff of all 48 patches passes with only warnings:
Use of uninitialized value $acpi_testexpected in string eq at ../scripts/
checkpatch.pl line 1529.
WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
#2:
new file mode 100644
WARNING: architecture specific defines should be avoided
#1641: FILE: bsd-user/freebsd/host_os.h:20:
+#ifndef __HOST_OS_H_
WARNING: architecture specific defines should be avoided
#3123: FILE: bsd-user/netbsd/host_os.h:20:
+#ifndef __HOST_OS_H_
WARNING: architecture specific defines should be avoided
#3154: FILE: bsd-user/openbsd/host_os.h:20:
+#ifndef __HOST_OS_H_
total: 0 errors, 4 warnings, 4264 lines checked
Warner
On Sat, Apr 24, 2021 at 10:55 AM <no-reply@patchew.org> wrote:
> Patchew URL:
> https://patchew.org/QEMU/20210424160016.15200-1-imp@bsdimp.com/
>
>
>
> Hi,
>
> This series seems to have some coding style problems. See output below for
> more information:
>
> Type: series
> Message-id: 20210424160016.15200-1-imp@bsdimp.com
> Subject: [PATCH v2 00/48] bsd-user style and reorg patches
>
> === TEST SCRIPT BEGIN ===
> #!/bin/bash
> git rev-parse base > /dev/null || exit 0
> git config --local diff.renamelimit 0
> git config --local diff.renames True
> git config --local diff.algorithm histogram
> ./scripts/checkpatch.pl --mailback base..
> === TEST SCRIPT END ===
>
> Updating 3c8cf5a9c21ff8782164d1def7f44bd888713384
> From https://github.com/patchew-project/qemu
>  * [new tag]         patchew/20210424160016.15200-1-imp@bsdimp.com ->
> patchew/20210424160016.15200-1-imp@bsdimp.com
> Switched to a new branch 'test'
> be1f8df bsd-user: put back a break; that had gone missing...
> 19b2708 bsd-user: style tweak: don't assign in if statement.
> 1bf13fe bsd-user: style tweak: Return is not a function call.
> de239a3 bsd-user: style tweak: Use preferred {} in if/else statements.
> cf2e30f bsd-user: style tweak: use preferred block comments
> 1a93628 bsd-user: style tweak: fold long lines
> 1448c0f bsd-user: style tweak: spaces around operators and commas
> 11e0aae bsd-user: style tweak: don't assign in if statements
> 2c53346 bsd-user: style tweak: Use preferred block comments
> 8946d14 bsd-user: style tweak: spaces around =, remove stray space
> ab7c026 bsd-user: style tweak: use {} for all if statements, format else
> correctly
> 3a3b578 bsd-user: style tweak: don't assign in if statements
> d32211e bsd-user: style tweak: Use preferred block comments
> 695b534 bsd-user: style tweak: use {} for all if statements, format else
> correctly
> eca311e bsd-user: style tweak: don't assign in if statements
> 45bfe91 bsd-user: style tweak: Use preferred block comments
> d00c21e bsd-user: style tweak: remove spacing after '*' and add after }
> 780e9f4 bsd-user: style tweak: use {} for all if statements, format else
> correctly
> e92240f bsd-user: style tweak: fix block comments
> cb3234a bsd-user: style tweak: use {} correctly
> 522e458 bsd-user: style tweak: comments
> e7e00a4 bsd-user: style tweak: space pedantry
> 55da1fd bsd-user: move sparc cpu_loop into target_arch_cpu.h as
> target_cpu_loop
> c546aa9 bsd-user: move x86 (i386 and x86_64) cpu_loop to target_arch_cpu.h
> f19b57e bsd-user: create target_arch_cpu.h
> 7ed989c bsd-user: introduce host_os.h for bsd-specific code and defaults
> 9cb365d bsd-user: use qemu_strtoul in preference to strtol
> 4454689 bsd-user: style nits: return is not a function
> 0c748d0 bsd-user: style tweak: use {} consistently in for / if / else
> statements
> 3ce10b8 bsd-user: style tweak: move extern to header file
> 3aa06bf bsd-user: style tweak: Use preferred block comments
> 2e4fcda bsd-user: style tweak: Fix commentary issues
> 4416126 bsd-user: style tweak: Put {} around all if/else/for statements
> dc7ae60 bsd-user: style tweak: return is not a function, eliminate ()
> b84160d bsd-user: style tweak: Remove #if 0'd code
> df39a25 bsd-user: style tweak: Remove #if 0'd code
> 9d92841 bsd-user: style tweak: Remove #if 0'd code
> 7ef0035 bsd-user: style tweak: Remove #if 0'd code
> 00a0b5e bsd-user: Remove commented out code
> c87209f bsd-user: style tweak: use C not C++ comments
> 1284f86 bsd-user: style tweak: use C not C++ comments
> afedaf7 bsd-user: style tweak: keyword space (
> d903536 bsd-user: style tweak: keyword space (
> a9aa3e4 bsd-user: style tweak: keyword space (
> 64b81a2 bsd-user: style tweak: keyword space (
> 1c1ed78 bsd-user: whitespace changes
> 3d281e8 bsd-user: whitespace changes
> 6f7ee37 bsd-user: whitespace changes
>
> === OUTPUT BEGIN ===
> 1/48 Checking commit 6f7ee37e5c9f (bsd-user: whitespace changes)
> 2/48 Checking commit 3d281e896a43 (bsd-user: whitespace changes)
> WARNING: line over 80 characters
> #149: FILE: bsd-user/elfload.c:541:
> +#define TARGET_ELF_PAGESTART(_v) ((_v) & ~(unsigned
> long)(TARGET_ELF_EXEC_PAGESIZE - 1))
>
> ERROR: braces {} are necessary for all arms of this statement
> #331: FILE: bsd-user/elfload.c:867:
> +    if (sizeof(struct elf_phdr) * interp_elf_ex->e_phnum >
> TARGET_PAGE_SIZE)
> [...]
>
> ERROR: braces {} are necessary for all arms of this statement
> #341: FILE: bsd-user/elfload.c:873:
> +    if (!elf_phdata)
> [...]
>
> ERROR: space prohibited between function name and open parenthesis '('
> #382: FILE: bsd-user/elfload.c:894:
> +        free (elf_phdata);
>
> ERROR: spaces required around that '<' (ctx:VxV)
> #391: FILE: bsd-user/elfload.c:899:
> +    for (i = 0; i<interp_elf_ex->e_phnum; i++, eppnt++) {
>                   ^
>
> WARNING: Block comments use a leading /* on a separate line
> #409: FILE: bsd-user/elfload.c:905:
> +        /* in order to avoid hardcoding the interpreter load
>
> WARNING: Block comments use * on subsequent lines
> #410: FILE: bsd-user/elfload.c:906:
> +        /* in order to avoid hardcoding the interpreter load
> +           address in qemu, we allocate a big enough memory zone */
>
> WARNING: Block comments use a trailing */ on a separate line
> #410: FILE: bsd-user/elfload.c:906:
> +           address in qemu, we allocate a big enough memory zone */
>
> WARNING: line over 80 characters
> #442: FILE: bsd-user/elfload.c:934:
> +                                eppnt->p_filesz +
> TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr),
>
> WARNING: line over 80 characters
> #446: FILE: bsd-user/elfload.c:938:
> +                                eppnt->p_offset -
> TARGET_ELF_PAGEOFFSET(eppnt->p_vaddr));
>
> ERROR: line over 90 characters
> #507: FILE: bsd-user/elfload.c:978:
> +    elf_bss = TARGET_ELF_PAGESTART(elf_bss + qemu_host_page_size - 1); /*
> What we have mapped so far */
>
> ERROR: space required after that ',' (ctx:VxV)
> #554: FILE: bsd-user/elfload.c:1186:
> +    bprm->p = copy_elf_strings(bprm->envc, bprm->envp,
> bprm->page,bprm->p);
>                                                                   ^
>
> ERROR: space required after that ',' (ctx:VxV)
> #555: FILE: bsd-user/elfload.c:1187:
> +    bprm->p = copy_elf_strings(bprm->argc, bprm->argv,
> bprm->page,bprm->p);
>                                                                   ^
>
> ERROR: space required after that ';' (ctx:VxV)
> #590: FILE: bsd-user/elfload.c:1230:
> +    for (i = 0;i < elf_ex.e_phnum; i++) {
>                ^
>
> ERROR: suspect code indent for conditional statements (12, 14)
> #626: FILE: bsd-user/elfload.c:1268:
> +            if (strcmp(elf_interpreter, "/usr/lib/libc.so.1") == 0 ||
> [...]
>                ibcs2_interpreter = 1;
>
> total: 9 errors, 6 warnings, 666 lines checked
>
> Patch 2/48 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
>
> 3/48 Checking commit 1c1ed7831e8a (bsd-user: whitespace changes)
> ERROR: consider using qemu_strtol in preference to strtol
> #102: FILE: bsd-user/main.c:835:
> +            guest_base = strtol(argv[optind++], NULL, 0);
>
> ERROR: braces {} are necessary for all arms of this statement
> #143: FILE: bsd-user/main.c:1126:
> +        for (i = 0; i < 8; i++)
> [...]
>
> ERROR: braces {} are necessary for all arms of this statement
> #146: FILE: bsd-user/main.c:1128:
> +        for (i = 0; i < 8; i++)
> [...]
>
> total: 3 errors, 0 warnings, 119 lines checked
>
> Patch 3/48 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
>
> 4/48 Checking commit 64b81a2f81d0 (bsd-user: style tweak: keyword space ()
> 5/48 Checking commit a9aa3e409bd8 (bsd-user: style tweak: keyword space ()
> 6/48 Checking commit d903536bcaa8 (bsd-user: style tweak: keyword space ()
> ERROR: space required after that ';' (ctx:VxV)
> #32: FILE: bsd-user/syscall.c:274:
> +    for (i = 0;i < count; i++) {
>                ^
>
> ERROR: space required after that ';' (ctx:VxV)
> #41: FILE: bsd-user/syscall.c:300:
> +    for (i = 0;i < count; i++) {
>                ^
>
> total: 2 errors, 0 warnings, 60 lines checked
>
> Patch 6/48 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
>
> 7/48 Checking commit afedaf7c29e2 (bsd-user: style tweak: keyword space ()
> 8/48 Checking commit 1284f86e9b7b (bsd-user: style tweak: use C not C++
> comments)
> 9/48 Checking commit c87209f1f0f9 (bsd-user: style tweak: use C not C++
> comments)
> 10/48 Checking commit 00a0b5ee4157 (bsd-user: Remove commented out code)
> 11/48 Checking commit 7ef00352a15f (bsd-user: style tweak: Remove #if 0'd
> code)
> 12/48 Checking commit 9d92841f7d3a (bsd-user: style tweak: Remove #if 0'd
> code)
> 13/48 Checking commit df39a2547ed7 (bsd-user: style tweak: Remove #if 0'd
> code)
> 14/48 Checking commit b84160d0a3db (bsd-user: style tweak: Remove #if 0'd
> code)
> 15/48 Checking commit dc7ae6073667 (bsd-user: style tweak: return is not a
> function, eliminate ())
> 16/48 Checking commit 4416126bd67b (bsd-user: style tweak: Put {} around
> all if/else/for statements)
> 17/48 Checking commit 2e4fcdafda97 (bsd-user: style tweak: Fix commentary
> issues)
> 18/48 Checking commit 3aa06bf4a169 (bsd-user: style tweak: Use preferred
> block comments)
> 19/48 Checking commit 3ce10b8d1073 (bsd-user: style tweak: move extern to
> header file)
> 20/48 Checking commit 0c748d0a6ea1 (bsd-user: style tweak: use {}
> consistently in for / if / else statements)
> 21/48 Checking commit 4454689b7dff (bsd-user: style nits: return is not a
> function)
> 22/48 Checking commit 9cb365d13f71 (bsd-user: use qemu_strtoul in
> preference to strtol)
> 23/48 Checking commit 7ed989c1d383 (bsd-user: introduce host_os.h for
> bsd-specific code and defaults)
> Use of uninitialized value $acpi_testexpected in string eq at ./scripts/
> checkpatch.pl line 1529.
> WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
> #24:
> new file mode 100644
>
> WARNING: architecture specific defines should be avoided
> #48: FILE: bsd-user/freebsd/host_os.h:20:
> +#ifndef __HOST_OS_H_
>
> WARNING: architecture specific defines should be avoided
> #101: FILE: bsd-user/netbsd/host_os.h:20:
> +#ifndef __HOST_OS_H_
>
> WARNING: architecture specific defines should be avoided
> #132: FILE: bsd-user/openbsd/host_os.h:20:
> +#ifndef __HOST_OS_H_
>
> total: 0 errors, 4 warnings, 91 lines checked
>
> Patch 23/48 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
> 24/48 Checking commit f19b57e6a271 (bsd-user: create target_arch_cpu.h)
> Use of uninitialized value $acpi_testexpected in string eq at ./scripts/
> checkpatch.pl line 1529.
> WARNING: added, moved or deleted file(s), does MAINTAINERS need updating?
> #31:
> new file mode 100644
>
> total: 0 errors, 1 warnings, 111 lines checked
>
> Patch 24/48 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
> 25/48 Checking commit c546aa906cbe (bsd-user: move x86 (i386 and x86_64)
> cpu_loop to target_arch_cpu.h)
> 26/48 Checking commit 55da1fd9d9a3 (bsd-user: move sparc cpu_loop into
> target_arch_cpu.h as target_cpu_loop)
> 27/48 Checking commit e7e00a4308a1 (bsd-user: style tweak: space pedantry)
> ERROR: spaces required around that '=' (ctx:WxV)
> #78: FILE: bsd-user/elfload.c:1226:
> +    start_data =n 0;
>                 ^
>
> total: 1 errors, 0 warnings, 73 lines checked
>
> Patch 27/48 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
>
> 28/48 Checking commit 522e4589fc17 (bsd-user: style tweak: comments)
> 29/48 Checking commit cb3234ad892f (bsd-user: style tweak: use {}
> correctly)
> 30/48 Checking commit e92240f03f40 (bsd-user: style tweak: fix block
> comments)
> 31/48 Checking commit 780e9f44ba8b (bsd-user: style tweak: use {} for all
> if statements, format else correctly)
> 32/48 Checking commit d00c21e0a91a (bsd-user: style tweak: remove spacing
> after '*' and add after })
> 33/48 Checking commit 45bfe917b433 (bsd-user: style tweak: Use preferred
> block comments)
> 34/48 Checking commit eca311e2127b (bsd-user: style tweak: don't assign in
> if statements)
> 35/48 Checking commit 695b53466022 (bsd-user: style tweak: use {} for all
> if statements, format else correctly)
> 36/48 Checking commit d32211e78858 (bsd-user: style tweak: Use preferred
> block comments)
> 37/48 Checking commit 3a3b578aff7b (bsd-user: style tweak: don't assign in
> if statements)
> 38/48 Checking commit ab7c026d39c0 (bsd-user: style tweak: use {} for all
> if statements, format else correctly)
> 39/48 Checking commit 8946d1425629 (bsd-user: style tweak: spaces around
> =, remove stray space)
> 40/48 Checking commit 2c5334681060 (bsd-user: style tweak: Use preferred
> block comments)
> 41/48 Checking commit 11e0aae47a39 (bsd-user: style tweak: don't assign in
> if statements)
> 42/48 Checking commit 1448c0f5067c (bsd-user: style tweak: spaces around
> operators and commas)
> WARNING: line over 80 characters
> #24: FILE: bsd-user/syscall.c:81:
> +                                        MAP_ANON | MAP_FIXED |
> MAP_PRIVATE, -1, 0));
>
> ERROR: line over 90 characters
> #85: FILE: bsd-user/syscall.c:396:
> +        ret = do_freebsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3,
> arg4, arg5, arg6, arg7, arg8, 0);
>
> WARNING: line over 80 characters
> #94: FILE: bsd-user/syscall.c:475:
> +        ret = do_netbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3, arg4,
> arg5, arg6, 0);
>
> WARNING: line over 80 characters
> #103: FILE: bsd-user/syscall.c:554:
> +        ret = do_openbsd_syscall(cpu_env, arg1 & 0xffff, arg2, arg3,
> arg4, arg5, arg6, 0);
>
> total: 1 errors, 3 warnings, 81 lines checked
>
> Patch 42/48 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
>
> 43/48 Checking commit 1a936284fa25 (bsd-user: style tweak: fold long lines)
> 44/48 Checking commit cf2e30fc41ca (bsd-user: style tweak: use preferred
> block comments)
> 45/48 Checking commit de239a3b68bb (bsd-user: style tweak: Use preferred
> {} in if/else statements.)
> ERROR: do not use assignment in if condition
> #139: FILE: bsd-user/syscall.c:248:
> +    if (!(hnamep = lock_user(VERIFY_READ, namep, namelen, 1))) {
>
> ERROR: do not use assignment in if condition
> #143: FILE: bsd-user/syscall.c:251:
> +    if (newp && !(hnewp = lock_user(VERIFY_READ, newp, newlen, 1))) {
>
> ERROR: do not use assignment in if condition
> #147: FILE: bsd-user/syscall.c:254:
> +    if (!(holdp = lock_user(VERIFY_WRITE, oldp, oldlen, 0))) {
>
> ERROR: do not use assignment in if condition
> #210: FILE: bsd-user/syscall.c:371:
> +        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
>
> ERROR: do not use assignment in if condition
> #218: FILE: bsd-user/syscall.c:378:
> +        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
>
> ERROR: do not use assignment in if condition
> #238: FILE: bsd-user/syscall.c:398:
> +        if (!(p = lock_user_string(arg1))) {
>
> ERROR: do not use assignment in if condition
> #271: FILE: bsd-user/syscall.c:482:
> +        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
>
> ERROR: do not use assignment in if condition
> #279: FILE: bsd-user/syscall.c:489:
> +        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
>
> ERROR: do not use assignment in if condition
> #287: FILE: bsd-user/syscall.c:496:
> +        if (!(p = lock_user_string(arg1))) {
>
> ERROR: do not use assignment in if condition
> #320: FILE: bsd-user/syscall.c:568:
> +        if (!(p = lock_user(VERIFY_WRITE, arg2, arg3, 0))) {
>
> ERROR: do not use assignment in if condition
> #328: FILE: bsd-user/syscall.c:575:
> +        if (!(p = lock_user(VERIFY_READ, arg2, arg3, 1))) {
>
> ERROR: do not use assignment in if condition
> #336: FILE: bsd-user/syscall.c:582:
> +        if (!(p = lock_user_string(arg1))) {
>
> total: 12 errors, 0 warnings, 318 lines checked
>
> Patch 45/48 has style problems, please review.  If any of these errors
> are false positives report them to the maintainer, see
> CHECKPATCH in MAINTAINERS.
>
> 46/48 Checking commit 1bf13fe0ac6b (bsd-user: style tweak: Return is not a
> function call.)
> 47/48 Checking commit 19b2708a0763 (bsd-user: style tweak: don't assign in
> if statement.)
> 48/48 Checking commit be1f8df08151 (bsd-user: put back a break; that had
> gone missing...)
> === OUTPUT END ===
>
> Test command exited with code: 1
>
>
> The full log is available at
>
> http://patchew.org/logs/20210424160016.15200-1-imp@bsdimp.com/testing.checkpatch/?type=message
> .
> ---
> Email generated automatically by Patchew [https://patchew.org/].
> Please send your feedback to patchew-devel@redhat.com
[-- Attachment #2: Type: text/html, Size: 20885 bytes --]
^ permalink raw reply	[flat|nested] 84+ messages in thread