Loading .exrc 0 → 100644 +7 −0 Original line number Diff line number Diff line "VIM settings to match QEMU coding style. They are activated by adding the "following settings (without the " symbol) as last two lines in $HOME/.vimrc: "set secure "set exrc set expandtab set shiftwidth=4 set smarttab .gitignore +7 −6 Original line number Diff line number Diff line config-devices.* config-all-devices.* config-all-disas.* config-host.* config-target.* trace.h trace.c trace-dtrace.h trace-dtrace.dtrace trace/generated-tracers.h trace/generated-tracers.c trace/generated-tracers-dtrace.h trace/generated-tracers-dtrace.dtrace *-timestamp *-softmmu *-darwin-user *-linux-user *-bsd-user libdis* libhw32 libhw64 libuser linux-headers/asm qapi-generated Loading Loading @@ -49,6 +48,7 @@ test-qmp-output-visitor test-string-input-visitor test-string-output-visitor test-visitor-serialization fsdev/virtfs-proxy-helper fsdev/virtfs-proxy-helper.1 fsdev/virtfs-proxy-helper.pod .gdbinit Loading @@ -70,6 +70,7 @@ fsdev/virtfs-proxy-helper.pod *.tp *.vr *.d !scripts/qemu-guest-agent/fsfreeze-hook.d *.o *.lo *.la Loading .gitmodules +3 −0 Original line number Diff line number Diff line Loading @@ -19,3 +19,6 @@ [submodule "roms/sgabios"] path = roms/sgabios url = git://git.qemu.org/sgabios.git [submodule "pixman"] path = pixman url = git://anongit.freedesktop.org/pixman HACKING +26 −5 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ mandatory for VMState fields. Don't use Linux kernel internal types like u32, __u32 or __le32. Use target_phys_addr_t for guest physical addresses except pcibus_t Use hwaddr for guest physical addresses except pcibus_t for PCI addresses. In addition, ram_addr_t is a QEMU internal address space that maps guest RAM physical addresses into an intermediate address space that can map to host virtual address spaces. Generally Loading Loading @@ -91,10 +91,11 @@ emulators. 4. String manipulation Do not use the strncpy function. According to the man page, it does *not* guarantee a NULL-terminated buffer, which makes it extremely dangerous to use. Instead, use functionally equivalent function: void pstrcpy(char *buf, int buf_size, const char *str) Do not use the strncpy function. As mentioned in the man page, it does *not* guarantee a NULL-terminated buffer, which makes it extremely dangerous to use. It also zeros trailing destination bytes out to the specified length. Instead, use this similar function when possible, but note its different signature: void pstrcpy(char *dest, int dest_buf_size, const char *src) Don't use strcat because it can't check for buffer overflows, but: char *pstrcat(char *buf, int buf_size, const char *s) Loading Loading @@ -122,3 +123,23 @@ gcc's printf attribute directive in the prototype. This makes it so gcc's -Wformat and -Wformat-security options can do their jobs and cross-check format strings with the number and types of arguments. 6. C standard, implementation defined and undefined behaviors C code in QEMU should be written to the C99 language specification. A copy of the final version of the C99 standard with corrigenda TC1, TC2, and TC3 included, formatted as a draft, can be downloaded from: http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf The C language specification defines regions of undefined behavior and implementation defined behavior (to give compiler authors enough leeway to produce better code). In general, code in QEMU should follow the language specification and avoid both undefined and implementation defined constructs. ("It works fine on the gcc I tested it with" is not a valid argument...) However there are a few areas where we allow ourselves to assume certain behaviors because in practice all the platforms we care about behave in the same way and writing strictly conformant code would be painful. These are: * you may assume that integers are 2s complement representation * you may assume that right shift of a signed integer duplicates the sign bit (ie it is an arithmetic shift, not a logical shift) MAINTAINERS +82 −5 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ Guest CPU Cores (KVM): ---------------------- Overall M: Avi Kivity <avi@redhat.com> M: Gleb Natapov <gleb@redhat.com> M: Marcelo Tosatti <mtosatti@redhat.com> L: kvm@vger.kernel.org S: Supported Loading @@ -150,7 +150,7 @@ S: Maintained F: target-s390x/kvm.c X86 M: Avi Kivity <avi@redhat.com> M: Gleb Natapov <gleb@redhat.com> M: Marcelo Tosatti <mtosatti@redhat.com> L: kvm@vger.kernel.org S: Supported Loading Loading @@ -268,6 +268,7 @@ S: Maintained F: hw/xilinx_zynq.c F: hw/zynq_slcr.c F: hw/cadence_* F: hw/xilinx_spips.c CRIS Machines ------------- Loading Loading @@ -349,9 +350,31 @@ PowerPC Machines 405 M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org S: Maintained S: Odd Fixes F: hw/ppc405_boards.c Bamboo M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org S: Odd Fixes F: hw/ppc440_bamboo.c e500 M: Alexander Graf <agraf@suse.de> M: Scott Wood <scottwood@freescale.com> L: qemu-ppc@nongnu.org S: Supported F: hw/ppc/e500.[hc] F: hw/ppc/e500plat.c mpc8544ds M: Alexander Graf <agraf@suse.de> M: Scott Wood <scottwood@freescale.com> L: qemu-ppc@nongnu.org S: Supported F: hw/ppc/mpc8544ds.c F: hw/mpc8544_guts.c New World M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org Loading @@ -375,6 +398,19 @@ F: hw/ppc_prep.c F: hw/prep_pci.[hc] F: hw/pc87312.[hc] sPAPR M: David Gibson <david@gibson.dropbear.id.au> M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org S: Supported F: hw/spapr* virtex_ml507 M: Edgar E. Iglesias <edgar.iglesias@gmail.com> L: qemu-ppc@nongnu.org S: Odd Fixes F: hw/virtex_ml507.c SH4 Machines ------------ R2D Loading @@ -399,6 +435,12 @@ M: Blue Swirl <blauwirbel@gmail.com> S: Maintained F: hw/sun4u.c Leon3 M: Fabien Chouteau <chouteau@adacore.com> S: Maintained F: hw/leon3.c F: hw/grlib* S390 Machines ------------- S390 Virtio Loading Loading @@ -449,9 +491,23 @@ F: hw/omap* PCI M: Michael S. Tsirkin <mst@redhat.com> S: Supported F: hw/pci/* F: hw/pci* F: hw/piix* ppc4xx M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org S: Odd Fixes F: hw/ppc4xx*.[hc] ppce500 M: Alexander Graf <agraf@suse.de> M: Scott Wood <scottwood@freescale.com> L: qemu-ppc@nongnu.org S: Supported F: hw/ppce500_* SCSI M: Paolo Bonzini <pbonzini@redhat.com> S: Supported Loading @@ -464,11 +520,22 @@ M: Paul Brook <paul@codesourcery.com> S: Odd Fixes F: hw/lsi53c895a.c SSI M: Peter Crosthwaite <peter.crosthwaite@petalogix.com> S: Maintained F: hw/ssi.* F: hw/m25p80.c USB M: Gerd Hoffmann <kraxel@redhat.com> S: Maintained F: hw/usb* VFIO M: Alex Williamson <alex.williamson@redhat.com> S: Supported F: hw/vfio* vhost M: Michael S. Tsirkin <mst@redhat.com> S: Supported Loading @@ -488,6 +555,7 @@ T: git git://github.com/kvaneesh/QEMU.git virtio-blk M: Kevin Wolf <kwolf@redhat.com> M: Stefan Hajnoczi <stefanha@redhat.com> S: Supported F: hw/virtio-blk* Loading @@ -507,6 +575,7 @@ F: hw/xilinx_intc.c F: hw/xilinx_ethlite.c F: hw/xilinx_timer.c F: hw/xilinx.h F: hw/xilinx_spi.c Subsystems ---------- Loading @@ -517,6 +586,7 @@ F: audio/ Block M: Kevin Wolf <kwolf@redhat.com> M: Stefan Hajnoczi <stefanha@redhat.com> S: Supported F: block* F: block/ Loading @@ -526,6 +596,13 @@ M: Anthony Liguori <aliguori@us.ibm.com> S: Maintained F: qemu-char.c CPU M: Andreas Färber <afaerber@suse.de> S: Supported F: qom/cpu.c F: include/qemu/cpu.h F: target-i386/cpu.c Device Tree M: Peter Crosthwaite <peter.crosthwaite@petalogix.com> M: Alexander Graf <agraf@suse.de> Loading Loading @@ -569,7 +646,7 @@ F: monitor.c Network device layer M: Anthony Liguori <aliguori@us.ibm.com> M: Stefan Hajnoczi <stefanha@gmail.com> M: Stefan Hajnoczi <stefanha@redhat.com> S: Maintained F: net/ T: git git://github.com/stefanha/qemu.git net Loading @@ -589,7 +666,7 @@ F: slirp/ T: git git://git.kiszka.org/qemu.git queues/slirp Tracing M: Stefan Hajnoczi <stefanha@gmail.com> M: Stefan Hajnoczi <stefanha@redhat.com> S: Maintained F: trace/ F: scripts/tracetool.py Loading Loading
.exrc 0 → 100644 +7 −0 Original line number Diff line number Diff line "VIM settings to match QEMU coding style. They are activated by adding the "following settings (without the " symbol) as last two lines in $HOME/.vimrc: "set secure "set exrc set expandtab set shiftwidth=4 set smarttab
.gitignore +7 −6 Original line number Diff line number Diff line config-devices.* config-all-devices.* config-all-disas.* config-host.* config-target.* trace.h trace.c trace-dtrace.h trace-dtrace.dtrace trace/generated-tracers.h trace/generated-tracers.c trace/generated-tracers-dtrace.h trace/generated-tracers-dtrace.dtrace *-timestamp *-softmmu *-darwin-user *-linux-user *-bsd-user libdis* libhw32 libhw64 libuser linux-headers/asm qapi-generated Loading Loading @@ -49,6 +48,7 @@ test-qmp-output-visitor test-string-input-visitor test-string-output-visitor test-visitor-serialization fsdev/virtfs-proxy-helper fsdev/virtfs-proxy-helper.1 fsdev/virtfs-proxy-helper.pod .gdbinit Loading @@ -70,6 +70,7 @@ fsdev/virtfs-proxy-helper.pod *.tp *.vr *.d !scripts/qemu-guest-agent/fsfreeze-hook.d *.o *.lo *.la Loading
.gitmodules +3 −0 Original line number Diff line number Diff line Loading @@ -19,3 +19,6 @@ [submodule "roms/sgabios"] path = roms/sgabios url = git://git.qemu.org/sgabios.git [submodule "pixman"] path = pixman url = git://anongit.freedesktop.org/pixman
HACKING +26 −5 Original line number Diff line number Diff line Loading @@ -32,7 +32,7 @@ mandatory for VMState fields. Don't use Linux kernel internal types like u32, __u32 or __le32. Use target_phys_addr_t for guest physical addresses except pcibus_t Use hwaddr for guest physical addresses except pcibus_t for PCI addresses. In addition, ram_addr_t is a QEMU internal address space that maps guest RAM physical addresses into an intermediate address space that can map to host virtual address spaces. Generally Loading Loading @@ -91,10 +91,11 @@ emulators. 4. String manipulation Do not use the strncpy function. According to the man page, it does *not* guarantee a NULL-terminated buffer, which makes it extremely dangerous to use. Instead, use functionally equivalent function: void pstrcpy(char *buf, int buf_size, const char *str) Do not use the strncpy function. As mentioned in the man page, it does *not* guarantee a NULL-terminated buffer, which makes it extremely dangerous to use. It also zeros trailing destination bytes out to the specified length. Instead, use this similar function when possible, but note its different signature: void pstrcpy(char *dest, int dest_buf_size, const char *src) Don't use strcat because it can't check for buffer overflows, but: char *pstrcat(char *buf, int buf_size, const char *s) Loading Loading @@ -122,3 +123,23 @@ gcc's printf attribute directive in the prototype. This makes it so gcc's -Wformat and -Wformat-security options can do their jobs and cross-check format strings with the number and types of arguments. 6. C standard, implementation defined and undefined behaviors C code in QEMU should be written to the C99 language specification. A copy of the final version of the C99 standard with corrigenda TC1, TC2, and TC3 included, formatted as a draft, can be downloaded from: http://www.open-std.org/jtc1/sc22/WG14/www/docs/n1256.pdf The C language specification defines regions of undefined behavior and implementation defined behavior (to give compiler authors enough leeway to produce better code). In general, code in QEMU should follow the language specification and avoid both undefined and implementation defined constructs. ("It works fine on the gcc I tested it with" is not a valid argument...) However there are a few areas where we allow ourselves to assume certain behaviors because in practice all the platforms we care about behave in the same way and writing strictly conformant code would be painful. These are: * you may assume that integers are 2s complement representation * you may assume that right shift of a signed integer duplicates the sign bit (ie it is an arithmetic shift, not a logical shift)
MAINTAINERS +82 −5 Original line number Diff line number Diff line Loading @@ -132,7 +132,7 @@ Guest CPU Cores (KVM): ---------------------- Overall M: Avi Kivity <avi@redhat.com> M: Gleb Natapov <gleb@redhat.com> M: Marcelo Tosatti <mtosatti@redhat.com> L: kvm@vger.kernel.org S: Supported Loading @@ -150,7 +150,7 @@ S: Maintained F: target-s390x/kvm.c X86 M: Avi Kivity <avi@redhat.com> M: Gleb Natapov <gleb@redhat.com> M: Marcelo Tosatti <mtosatti@redhat.com> L: kvm@vger.kernel.org S: Supported Loading Loading @@ -268,6 +268,7 @@ S: Maintained F: hw/xilinx_zynq.c F: hw/zynq_slcr.c F: hw/cadence_* F: hw/xilinx_spips.c CRIS Machines ------------- Loading Loading @@ -349,9 +350,31 @@ PowerPC Machines 405 M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org S: Maintained S: Odd Fixes F: hw/ppc405_boards.c Bamboo M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org S: Odd Fixes F: hw/ppc440_bamboo.c e500 M: Alexander Graf <agraf@suse.de> M: Scott Wood <scottwood@freescale.com> L: qemu-ppc@nongnu.org S: Supported F: hw/ppc/e500.[hc] F: hw/ppc/e500plat.c mpc8544ds M: Alexander Graf <agraf@suse.de> M: Scott Wood <scottwood@freescale.com> L: qemu-ppc@nongnu.org S: Supported F: hw/ppc/mpc8544ds.c F: hw/mpc8544_guts.c New World M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org Loading @@ -375,6 +398,19 @@ F: hw/ppc_prep.c F: hw/prep_pci.[hc] F: hw/pc87312.[hc] sPAPR M: David Gibson <david@gibson.dropbear.id.au> M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org S: Supported F: hw/spapr* virtex_ml507 M: Edgar E. Iglesias <edgar.iglesias@gmail.com> L: qemu-ppc@nongnu.org S: Odd Fixes F: hw/virtex_ml507.c SH4 Machines ------------ R2D Loading @@ -399,6 +435,12 @@ M: Blue Swirl <blauwirbel@gmail.com> S: Maintained F: hw/sun4u.c Leon3 M: Fabien Chouteau <chouteau@adacore.com> S: Maintained F: hw/leon3.c F: hw/grlib* S390 Machines ------------- S390 Virtio Loading Loading @@ -449,9 +491,23 @@ F: hw/omap* PCI M: Michael S. Tsirkin <mst@redhat.com> S: Supported F: hw/pci/* F: hw/pci* F: hw/piix* ppc4xx M: Alexander Graf <agraf@suse.de> L: qemu-ppc@nongnu.org S: Odd Fixes F: hw/ppc4xx*.[hc] ppce500 M: Alexander Graf <agraf@suse.de> M: Scott Wood <scottwood@freescale.com> L: qemu-ppc@nongnu.org S: Supported F: hw/ppce500_* SCSI M: Paolo Bonzini <pbonzini@redhat.com> S: Supported Loading @@ -464,11 +520,22 @@ M: Paul Brook <paul@codesourcery.com> S: Odd Fixes F: hw/lsi53c895a.c SSI M: Peter Crosthwaite <peter.crosthwaite@petalogix.com> S: Maintained F: hw/ssi.* F: hw/m25p80.c USB M: Gerd Hoffmann <kraxel@redhat.com> S: Maintained F: hw/usb* VFIO M: Alex Williamson <alex.williamson@redhat.com> S: Supported F: hw/vfio* vhost M: Michael S. Tsirkin <mst@redhat.com> S: Supported Loading @@ -488,6 +555,7 @@ T: git git://github.com/kvaneesh/QEMU.git virtio-blk M: Kevin Wolf <kwolf@redhat.com> M: Stefan Hajnoczi <stefanha@redhat.com> S: Supported F: hw/virtio-blk* Loading @@ -507,6 +575,7 @@ F: hw/xilinx_intc.c F: hw/xilinx_ethlite.c F: hw/xilinx_timer.c F: hw/xilinx.h F: hw/xilinx_spi.c Subsystems ---------- Loading @@ -517,6 +586,7 @@ F: audio/ Block M: Kevin Wolf <kwolf@redhat.com> M: Stefan Hajnoczi <stefanha@redhat.com> S: Supported F: block* F: block/ Loading @@ -526,6 +596,13 @@ M: Anthony Liguori <aliguori@us.ibm.com> S: Maintained F: qemu-char.c CPU M: Andreas Färber <afaerber@suse.de> S: Supported F: qom/cpu.c F: include/qemu/cpu.h F: target-i386/cpu.c Device Tree M: Peter Crosthwaite <peter.crosthwaite@petalogix.com> M: Alexander Graf <agraf@suse.de> Loading Loading @@ -569,7 +646,7 @@ F: monitor.c Network device layer M: Anthony Liguori <aliguori@us.ibm.com> M: Stefan Hajnoczi <stefanha@gmail.com> M: Stefan Hajnoczi <stefanha@redhat.com> S: Maintained F: net/ T: git git://github.com/stefanha/qemu.git net Loading @@ -589,7 +666,7 @@ F: slirp/ T: git git://git.kiszka.org/qemu.git queues/slirp Tracing M: Stefan Hajnoczi <stefanha@gmail.com> M: Stefan Hajnoczi <stefanha@redhat.com> S: Maintained F: trace/ F: scripts/tracetool.py Loading