1. 22 8月, 2011 33 次提交
    • A
      tusb6010: move declarations to new file tusb6010.h · d09871f6
      Avi Kivity 提交于
      Avoid #include hell.
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      d09871f6
    • A
      gt64xxx.c: convert to memory API · fc2bf449
      Avi Kivity 提交于
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      fc2bf449
    • A
      armv7m: convert to memory API · f69bf9d4
      Avi Kivity 提交于
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      f69bf9d4
    • A
      arm_timer: convert to memory API · e219dea2
      Avi Kivity 提交于
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      e219dea2
    • A
      arm_sysctl: convert to memory API · 460d7c53
      Avi Kivity 提交于
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      460d7c53
    • A
      arm_gic: convert to memory API · 755c0802
      Avi Kivity 提交于
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      755c0802
    • A
      apic: convert to memory API · 312b4234
      Avi Kivity 提交于
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      312b4234
    • A
      apb_pci: convert to memory API · 3812ed0b
      Avi Kivity 提交于
      Signed-off-by: NAvi Kivity <avi@redhat.com>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      3812ed0b
    • H
    • B
      e1000: use MII status register for link up/down · d4044c2a
      Bjørn Mork 提交于
      Some guests will use the standard MII status register
      to verify link state.  They will not notice link changes
      unless this register is updated.
      
      Verified with Linux 3.0 and Windows XP guests.
      
      Without this patch, ethtool will report speed and duplex as
      unknown when the link is down, but still report the link as
      up.  This is because the Linux e1000 driver checks the
      mac_reg[STATUS] register link state before it checks speed
      and duplex, but uses the phy_reg[PHY_STATUS] register for
      the actual link state check.  Fix by updating both registers
      on link state changes.
      
      Linux guest before:
      
       (qemu) set_link e1000.0 off
      
       kvm-sid:~# ethtool eth0
       Settings for eth0:
              Supported ports: [ TP ]
              Supported link modes:   10baseT/Half 10baseT/Full
                                      100baseT/Half 100baseT/Full
                                      1000baseT/Full
              Supports auto-negotiation: Yes
              Advertised link modes:  10baseT/Half 10baseT/Full
                                      100baseT/Half 100baseT/Full
                                      1000baseT/Full
              Advertised pause frame use: No
              Advertised auto-negotiation: Yes
              Speed: Unknown!
              Duplex: Unknown! (255)
              Port: Twisted Pair
              PHYAD: 0
              Transceiver: internal
              Auto-negotiation: on
              MDI-X: Unknown
              Supports Wake-on: umbg
              Wake-on: d
              Current message level: 0x00000007 (7)
                                     drv probe link
              Link detected: yes
      
       (qemu) set_link e1000.0 on
      
      Linux guest after:
      
       (qemu) set_link e1000.0 off
       [   63.384221] e1000: eth0 NIC Link is Down
      
       kvm-sid:~# ethtool eth0
       Settings for eth0:
              Supported ports: [ TP ]
              Supported link modes:   10baseT/Half 10baseT/Full
                                      100baseT/Half 100baseT/Full
                                      1000baseT/Full
              Supports auto-negotiation: Yes
              Advertised link modes:  10baseT/Half 10baseT/Full
                                      100baseT/Half 100baseT/Full
                                      1000baseT/Full
              Advertised pause frame use: No
              Advertised auto-negotiation: Yes
              Speed: Unknown!
              Duplex: Unknown! (255)
              Port: Twisted Pair
              PHYAD: 0
              Transceiver: internal
              Auto-negotiation: on
              MDI-X: Unknown
              Supports Wake-on: umbg
              Wake-on: d
              Current message level: 0x00000007 (7)
                                     drv probe link
              Link detected: no
      
       (qemu) set_link e1000.0 on
       [   84.304582] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
      Signed-off-by: NBjørn Mork <bjorn@mork.no>
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      d4044c2a
    • A
      char: remove qemu_chr_send_event() · 903396ad
      Anthony Liguori 提交于
      It's dead code.
      Signed-off-by: NAnthony Liguori <aliguori@us.ibm.com>
      903396ad
    • A
    • A
      70f24fb6
    • A
      27143a44
    • A
      41084f1b
    • A
    • A
      c9d830ed
    • A
    • A
      fa5efccb
    • A
      e7e71b0e
    • A
      2cc6e0a1
    • B
      escc: replace DPRINTFs with tracepoints · 30c2f238
      Blue Swirl 提交于
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      30c2f238
    • B
      m48t59: avoid structure holes spotted by pahole · 42c812b9
      Blue Swirl 提交于
      Report from pahole on amd64 host:
      struct M48t59State {
      	uint32_t                   type;                 /*     0     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	qemu_irq                   IRQ;                  /*     8     8 */
      	uint32_t                   io_base;              /*    16     4 */
      	uint32_t                   size;                 /*    20     4 */
      	time_t                     time_offset;          /*    24     8 */
      	time_t                     stop_time;            /*    32     8 */
      	struct tm                  alarm;                /*    40    56 */
      	/* --- cacheline 1 boundary (64 bytes) was 32 bytes ago --- */
      	struct QEMUTimer *         alrm_timer;           /*    96     8 */
      	struct QEMUTimer *         wd_timer;             /*   104     8 */
      	uint8_t                    lock;                 /*   112     1 */
      
      	/* XXX 1 byte hole, try to pack */
      
      	uint16_t                   addr;                 /*   114     2 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	uint8_t *                  buffer;               /*   120     8 */
      	/* --- cacheline 2 boundary (128 bytes) --- */
      
      	/* size: 128, cachelines: 2 */
      	/* sum members: 119, holes: 3, sum holes: 9 */
      };	/* definitions: 1 */
      
      Fix by rearranging the structure to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      42c812b9
    • B
      escc: avoid structure holes spotted by pahole · d7b95534
      Blue Swirl 提交于
      Edited report from pahole on amd64 host:
      struct ChannelState {
      ...
      	ChnType                    type;                 /*    32     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      ...
      	uint8_t                    rregs[16];            /*    66    16 */
      
      	/* XXX 2 bytes hole, try to pack */
      ...
      	/* size: 392, cachelines: 7 */
      	/* sum members: 382, holes: 2, sum holes: 6 */
      	/* padding: 4 */
      	/* last cacheline: 8 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structure to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      d7b95534
    • B
      fdc: avoid structure holes spotted by pahole · 242cca4f
      Blue Swirl 提交于
      Edited report from pahole on amd64 host:
      struct FDCtrl {
      	uint8_t                    version;              /*     0     1 */
      
      	/* XXX 7 bytes hole, try to pack */
      
      	qemu_irq                   irq;                  /*     8     8 */
      	int                        dma_chann;            /*    16     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      ...
      	uint8_t                    status2;              /*    42     1 */
      
      	/* XXX 5 bytes hole, try to pack */
      
      	uint8_t *                  fifo;                 /*    48     8 */
      ...
      	uint8_t                    pwrd;                 /*    76     1 */
      
      	/* XXX 3 bytes hole, try to pack */
      
      	int                        sun4m;                /*    80     4 */
      	uint8_t                    num_floppies;         /*    84     1 */
      
      	/* XXX 3 bytes hole, try to pack */
      
      	FDrive                     drives[2];            /*    88    64 */
      	/* --- cacheline 2 boundary (128 bytes) was 24 bytes ago --- */
      	int                        reset_sensei;         /*   152     4 */
      
      	/* size: 160, cachelines: 3 */
      	/* sum members: 134, holes: 5, sum holes: 22 */
      	/* padding: 4 */
      	/* last cacheline: 32 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structure to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      242cca4f
    • B
      pcnet: avoid structure holes spotted by pahole · fe87aa83
      Blue Swirl 提交于
      Edited report from pahole on amd64 host:
      struct PCNetState_st {
      ...
      	uint16_t                   bcr[32];              /*   340    64 */
      
      	/* XXX 4 bytes hole, try to pack */
      ...
      	int                        tx_busy;              /*  4520     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	qemu_irq                   irq;                  /*  4528     8 */
      	void                       (*phys_mem_read)(void *, target_phys_addr_t, uint8_t *, int, int); /*  4536     8 */
      	/* --- cacheline 71 boundary (4544 bytes) --- */
      	void                       (*phys_mem_write)(void *, target_phys_addr_t, uint8_t *, int, int); /*  4544     8 */
      	void *                     dma_opaque;           /*  4552     8 */
      	int                        looptest;             /*  4560     4 */
      
      	/* size: 4568, cachelines: 72 */
      	/* sum members: 4556, holes: 2, sum holes: 8 */
      	/* padding: 4 */
      	/* last cacheline: 24 bytes */
      };	/* definitions: 2 */
      
      Fix by rearranging the structure to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      fe87aa83
    • B
      esp: avoid structure holes spotted by pahole · 9a975d63
      Blue Swirl 提交于
      Report from pahole on amd64 host:
      struct ESPState {
      	SysBusDevice               busdev;               /*     0  5648 */
      	/* --- cacheline 88 boundary (5632 bytes) was 16 bytes ago --- */
      	uint32_t                   it_shift;             /*  5648     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	qemu_irq                   irq;                  /*  5656     8 */
      	uint8_t                    rregs[16];            /*  5664    16 */
      	uint8_t                    wregs[16];            /*  5680    16 */
      	/* --- cacheline 89 boundary (5696 bytes) --- */
      	int32_t                    ti_size;              /*  5696     4 */
      	uint32_t                   ti_rptr;              /*  5700     4 */
      	uint32_t                   ti_wptr;              /*  5704     4 */
      	uint8_t                    ti_buf[16];           /*  5708    16 */
      	uint32_t                   status;               /*  5724     4 */
      	uint32_t                   dma;                  /*  5728     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	SCSIBus                    bus;                  /*  5736  2120 */
      	/* --- cacheline 122 boundary (7808 bytes) was 48 bytes ago --- */
      	SCSIDevice *               current_dev;          /*  7856     8 */
      	SCSIRequest *              current_req;          /*  7864     8 */
      	/* --- cacheline 123 boundary (7872 bytes) --- */
      	uint8_t                    cmdbuf[16];           /*  7872    16 */
      	uint32_t                   cmdlen;               /*  7888     4 */
      	uint32_t                   do_cmd;               /*  7892     4 */
      	uint32_t                   dma_left;             /*  7896     4 */
      	uint32_t                   dma_counter;          /*  7900     4 */
      	uint8_t *                  async_buf;            /*  7904     8 */
      	uint32_t                   async_len;            /*  7912     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	ESPDMAMemoryReadWriteFunc  dma_memory_read;      /*  7920     8 */
      	ESPDMAMemoryReadWriteFunc  dma_memory_write;     /*  7928     8 */
      	/* --- cacheline 124 boundary (7936 bytes) --- */
      	void *                     dma_opaque;           /*  7936     8 */
      	int                        dma_enabled;          /*  7944     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	void                       (*dma_cb)(ESPState *); /*  7952     8 */
      
      	/* size: 7960, cachelines: 125 */
      	/* sum members: 7944, holes: 4, sum holes: 16 */
      	/* last cacheline: 24 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structure to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      9a975d63
    • B
      sun4m: avoid structure holes spotted by pahole · 61999750
      Blue Swirl 提交于
      Edited report from pahole on amd64 host:
      struct sun4c_hwdef {
      ...
      	uint8_t                    nvram_machine_id;     /*   112     1 */
      
      	/* XXX 1 byte hole, try to pack */
      ...
      	/* size: 136, cachelines: 3 */
      	/* sum members: 135, holes: 1, sum holes: 1 */
      	/* last cacheline: 8 bytes */
      };	/* definitions: 1 */
      
      struct sun4d_hwdef {
      ...
      	uint8_t                    nvram_machine_id;     /*   128     1 */
      
      	/* XXX 1 byte hole, try to pack */
      ...
      	/* size: 152, cachelines: 3 */
      	/* sum members: 151, holes: 1, sum holes: 1 */
      	/* last cacheline: 24 bytes */
      };	/* definitions: 1 */
      
      struct sun4m_hwdef {
      ...
      	uint8_t                    nvram_machine_id;     /*   260     1 */
      
      	/* XXX 1 byte hole, try to pack */
      
      	uint16_t                   machine_id;           /*   262     2 */
      	uint32_t                   iommu_version;        /*   264     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      ...
      	/* size: 288, cachelines: 5 */
      	/* sum members: 283, holes: 2, sum holes: 5 */
      	/* last cacheline: 32 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structures to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      61999750
    • B
      tcx: avoid structure holes spotted by pahole · 427a66c3
      Blue Swirl 提交于
      Report from pahole on amd64 host:
      struct TCXState {
      	SysBusDevice               busdev;               /*     0  5648 */
      	/* --- cacheline 88 boundary (5632 bytes) was 16 bytes ago --- */
      	target_phys_addr_t         addr;                 /*  5648     8 */
      	DisplayState *             ds;                   /*  5656     8 */
      	uint8_t *                  vram;                 /*  5664     8 */
      	uint32_t *                 vram24;               /*  5672     8 */
      	uint32_t *                 cplane;               /*  5680     8 */
      	ram_addr_t                 vram_offset;          /*  5688     8 */
      	/* --- cacheline 89 boundary (5696 bytes) --- */
      	ram_addr_t                 vram24_offset;        /*  5696     8 */
      	ram_addr_t                 cplane_offset;        /*  5704     8 */
      	uint32_t                   vram_size;            /*  5712     4 */
      	uint16_t                   width;                /*  5716     2 */
      	uint16_t                   height;               /*  5718     2 */
      	uint16_t                   depth;                /*  5720     2 */
      	uint8_t                    r[256];               /*  5722   256 */
      	/* --- cacheline 93 boundary (5952 bytes) was 26 bytes ago --- */
      	uint8_t                    g[256];               /*  5978   256 */
      	/* --- cacheline 97 boundary (6208 bytes) was 26 bytes ago --- */
      	uint8_t                    b[256];               /*  6234   256 */
      
      	/* XXX 2 bytes hole, try to pack */
      
      	/* --- cacheline 101 boundary (6464 bytes) was 28 bytes ago --- */
      	uint32_t                   palette[256];         /*  6492  1024 */
      	/* --- cacheline 117 boundary (7488 bytes) was 28 bytes ago --- */
      	uint8_t                    dac_index;            /*  7516     1 */
      	uint8_t                    dac_state;            /*  7517     1 */
      
      	/* size: 7520, cachelines: 118 */
      	/* sum members: 7516, holes: 1, sum holes: 2 */
      	/* padding: 2 */
      	/* last cacheline: 32 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structure to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      427a66c3
    • B
      sun4m_iommu: avoid structure holes spotted by pahole · 149e1ea1
      Blue Swirl 提交于
      Report from pahole on amd64 host:
      struct IOMMUState {
      	SysBusDevice               busdev;               /*     0  5648 */
      	/* --- cacheline 88 boundary (5632 bytes) was 16 bytes ago --- */
      	uint32_t                   regs[4096];           /*  5648 16384 */
      	/* --- cacheline 344 boundary (22016 bytes) was 16 bytes ago --- */
      	target_phys_addr_t         iostart;              /* 22032     8 */
      	uint32_t                   version;              /* 22040     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	qemu_irq                   irq;                  /* 22048     8 */
      
      	/* size: 22056, cachelines: 345 */
      	/* sum members: 22052, holes: 1, sum holes: 4 */
      	/* last cacheline: 40 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structure to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      149e1ea1
    • B
      slavio_intctl: avoid structure holes spotted by pahole · 07dd0035
      Blue Swirl 提交于
      Report from pahole on amd64 host:
      struct SLAVIO_INTCTLState {
      	SysBusDevice               busdev;               /*     0  5648 */
      	/* --- cacheline 88 boundary (5632 bytes) was 16 bytes ago --- */
      	uint32_t                   intregm_pending;      /*  5648     4 */
      	uint32_t                   intregm_disabled;     /*  5652     4 */
      	uint32_t                   target_cpu;           /*  5656     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	qemu_irq                   cpu_irqs[16][16];     /*  5664  2048 */
      	/* --- cacheline 120 boundary (7680 bytes) was 32 bytes ago --- */
      	SLAVIO_CPUINTCTLState      slaves[16];           /*  7712   384 */
      	/* --- cacheline 126 boundary (8064 bytes) was 32 bytes ago --- */
      
      	/* size: 8096, cachelines: 127 */
      	/* sum members: 8092, holes: 1, sum holes: 4 */
      	/* last cacheline: 32 bytes */
      };	/* definitions: 1 */
      
      struct SLAVIO_CPUINTCTLState {
      	uint32_t                   intreg_pending;       /*     0     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	struct SLAVIO_INTCTLState * master;              /*     8     8 */
      	uint32_t                   cpu;                  /*    16     4 */
      	uint32_t                   irl_out;              /*    20     4 */
      
      	/* size: 24, cachelines: 1 */
      	/* sum members: 20, holes: 1, sum holes: 4 */
      	/* last cacheline: 24 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structures to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      07dd0035
    • B
      slavio_misc: avoid structure holes spotted by pahole · 97bbb109
      Blue Swirl 提交于
      Report from pahole on amd64 host:
      struct MiscState {
      	SysBusDevice               busdev;               /*     0  5648 */
      	/* --- cacheline 88 boundary (5632 bytes) was 16 bytes ago --- */
      	qemu_irq                   irq;                  /*  5648     8 */
      	uint32_t                   dummy;                /*  5656     4 */
      	uint8_t                    config;               /*  5660     1 */
      	uint8_t                    aux1;                 /*  5661     1 */
      	uint8_t                    aux2;                 /*  5662     1 */
      	uint8_t                    diag;                 /*  5663     1 */
      	uint8_t                    mctrl;                /*  5664     1 */
      	uint8_t                    sysctrl;              /*  5665     1 */
      	uint16_t                   leds;                 /*  5666     2 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	qemu_irq                   fdc_tc;               /*  5672     8 */
      
      	/* size: 5680, cachelines: 89 */
      	/* sum members: 5676, holes: 1, sum holes: 4 */
      	/* last cacheline: 48 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structure to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      97bbb109
    • B
      slavio_timer: avoid structure holes spotted by pahole · f90074f4
      Blue Swirl 提交于
      Report from pahole on amd64 host:
      struct SLAVIO_TIMERState {
      	SysBusDevice               busdev;               /*     0  5648 */
      	/* --- cacheline 88 boundary (5632 bytes) was 16 bytes ago --- */
      	uint32_t                   num_cpus;             /*  5648     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	CPUTimerState              cputimer[17];         /*  5656   816 */
      	/* --- cacheline 101 boundary (6464 bytes) was 8 bytes ago --- */
      	uint32_t                   cputimer_mode;        /*  6472     4 */
      
      	/* size: 6480, cachelines: 102 */
      	/* sum members: 6472, holes: 1, sum holes: 4 */
      	/* padding: 4 */
      	/* last cacheline: 16 bytes */
      };	/* definitions: 1 */
      
      struct CPUTimerState {
      	qemu_irq                   irq;                  /*     0     8 */
      	ptimer_state *             timer;                /*     8     8 */
      	uint32_t                   count;                /*    16     4 */
      	uint32_t                   counthigh;            /*    20     4 */
      	uint32_t                   reached;              /*    24     4 */
      
      	/* XXX 4 bytes hole, try to pack */
      
      	uint64_t                   limit;                /*    32     8 */
      	uint32_t                   running;              /*    40     4 */
      
      	/* size: 48, cachelines: 1 */
      	/* sum members: 40, holes: 1, sum holes: 4 */
      	/* padding: 4 */
      	/* last cacheline: 48 bytes */
      };	/* definitions: 1 */
      
      Fix by rearranging the structures to avoid padding.
      Signed-off-by: NBlue Swirl <blauwirbel@gmail.com>
      f90074f4
  2. 21 8月, 2011 1 次提交
  3. 20 8月, 2011 1 次提交
  4. 18 8月, 2011 5 次提交