mirror of
https://github.com/izzy2lost/xemu.git
synced 2026-07-06 00:20:22 -07:00
Merge remote-tracking branch 'stefanha/trivial-patches' into staging
Conflicts: cpu-all.h
This commit is contained in:
@@ -525,7 +525,7 @@ version 0.1.5:
|
||||
|
||||
- ppc64 support + personality() patch (Rusty Russell)
|
||||
- first Alpha CPU patches (Falk Hueffner)
|
||||
- removed bfd.h dependancy
|
||||
- removed bfd.h dependency
|
||||
- fixed shrd, shld, idivl and divl on PowerPC.
|
||||
- fixed buggy glibc PowerPC rint() function (test-i386 passes now on PowerPC).
|
||||
|
||||
|
||||
@@ -88,6 +88,8 @@ include $(SRC_PATH)/Makefile.objs
|
||||
endif
|
||||
|
||||
$(common-obj-y): $(GENERATED_HEADERS)
|
||||
subdir-libcacard: $(oslib-obj-y) $(trace-obj-y) qemu-malloc.o qemu-timer-common.o
|
||||
|
||||
$(filter %-softmmu,$(SUBDIR_RULES)): $(trace-obj-y) $(common-obj-y) subdir-libdis
|
||||
|
||||
$(filter %-user,$(SUBDIR_RULES)): $(GENERATED_HEADERS) $(trace-obj-y) subdir-libdis-user subdir-libuser
|
||||
|
||||
+4
-5
@@ -7,8 +7,8 @@ qobject-obj-y += qerror.o
|
||||
#######################################################################
|
||||
# oslib-obj-y is code depending on the OS (win32 vs posix)
|
||||
oslib-obj-y = osdep.o
|
||||
oslib-obj-$(CONFIG_WIN32) += oslib-win32.o
|
||||
oslib-obj-$(CONFIG_POSIX) += oslib-posix.o
|
||||
oslib-obj-$(CONFIG_WIN32) += oslib-win32.o qemu-thread-win32.o
|
||||
oslib-obj-$(CONFIG_POSIX) += oslib-posix.o qemu-thread-posix.o
|
||||
|
||||
#######################################################################
|
||||
# block-obj-y is code used by both qemu system emulation and qemu-img
|
||||
@@ -143,8 +143,7 @@ common-obj-y += $(addprefix ui/, $(ui-obj-y))
|
||||
common-obj-$(CONFIG_VNC) += $(addprefix ui/, $(vnc-obj-y))
|
||||
|
||||
common-obj-y += iov.o acl.o
|
||||
common-obj-$(CONFIG_POSIX) += qemu-thread-posix.o compatfd.o
|
||||
common-obj-$(CONFIG_WIN32) += qemu-thread-win32.o
|
||||
common-obj-$(CONFIG_POSIX) += compatfd.o
|
||||
common-obj-y += notify.o event_notifier.o
|
||||
common-obj-y += qemu-timer.o qemu-timer-common.o
|
||||
|
||||
@@ -335,7 +334,7 @@ trace-dtrace.h: trace-dtrace.dtrace
|
||||
$(call quiet-command,dtrace -o $@ -h -s $<, " GEN trace-dtrace.h")
|
||||
|
||||
# Normal practice is to name DTrace probe file with a '.d' extension
|
||||
# but that gets picked up by QEMU's Makefile as an external dependancy
|
||||
# but that gets picked up by QEMU's Makefile as an external dependency
|
||||
# rule file. So we use '.dtrace' instead
|
||||
trace-dtrace.dtrace: trace-dtrace.dtrace-timestamp
|
||||
trace-dtrace.dtrace-timestamp: $(SRC_PATH)/trace-events config-host.mak
|
||||
|
||||
@@ -455,7 +455,7 @@ static int bdrv_open_common(BlockDriverState *bs, const char *filename,
|
||||
open_flags = flags & ~(BDRV_O_SNAPSHOT | BDRV_O_NO_BACKING);
|
||||
|
||||
/*
|
||||
* Snapshots should be writeable.
|
||||
* Snapshots should be writable.
|
||||
*/
|
||||
if (bs->is_temporary) {
|
||||
open_flags |= BDRV_O_RDWR;
|
||||
@@ -747,7 +747,7 @@ DeviceState *bdrv_get_attached(BlockDriverState *bs)
|
||||
* Run consistency checks on an image
|
||||
*
|
||||
* Returns 0 if the check could be completed (it doesn't mean that the image is
|
||||
* free of errors) or -errno when an internal error occured. The results of the
|
||||
* free of errors) or -errno when an internal error occurred. The results of the
|
||||
* check are stored in res.
|
||||
*/
|
||||
int bdrv_check(BlockDriverState *bs, BdrvCheckResult *res)
|
||||
|
||||
@@ -1063,7 +1063,7 @@ fail:
|
||||
* Checks an image for refcount consistency.
|
||||
*
|
||||
* Returns 0 if no errors are found, the number of errors in case the image is
|
||||
* detected as corrupted, and -errno when an internal error occured.
|
||||
* detected as corrupted, and -errno when an internal error occurred.
|
||||
*/
|
||||
int qcow2_check_refcounts(BlockDriverState *bs, BdrvCheckResult *res)
|
||||
{
|
||||
|
||||
+2
-2
@@ -196,7 +196,7 @@ static inline uint64_t fnv_64a_buf(void *buf, size_t len, uint64_t hval)
|
||||
return hval;
|
||||
}
|
||||
|
||||
static inline int is_data_obj_writeable(SheepdogInode *inode, unsigned int idx)
|
||||
static inline int is_data_obj_writable(SheepdogInode *inode, unsigned int idx)
|
||||
{
|
||||
return inode->vdi_id == inode->data_vdi_id[idx];
|
||||
}
|
||||
@@ -1577,7 +1577,7 @@ static void sd_readv_writev_bh_cb(void *p)
|
||||
|
||||
create = 1;
|
||||
} else if (acb->aiocb_type == AIOCB_WRITE_UDATA
|
||||
&& !is_data_obj_writeable(inode, idx)) {
|
||||
&& !is_data_obj_writable(inode, idx)) {
|
||||
/* Copy-On-Write */
|
||||
create = 1;
|
||||
old_oid = oid;
|
||||
|
||||
+1
-1
@@ -237,7 +237,7 @@ void cpu_loop(CPUX86State *env)
|
||||
break;
|
||||
#ifndef TARGET_ABI32
|
||||
case EXCP_SYSCALL:
|
||||
/* syscall from syscall intruction */
|
||||
/* syscall from syscall instruction */
|
||||
if (bsd_type == target_freebsd)
|
||||
env->regs[R_EAX] = do_freebsd_syscall(env,
|
||||
env->regs[R_EAX],
|
||||
|
||||
+1
-1
@@ -323,7 +323,7 @@ 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 neccessary. The lock_user
|
||||
read/write single values, byteswapping as necessary. The lock_user
|
||||
gets a pointer to a contiguous area of guest memory, but does not perform
|
||||
and byteswapping. lock_user may return either a pointer to the guest
|
||||
memory, or a temporary buffer. */
|
||||
|
||||
+2
-2
@@ -503,7 +503,7 @@ int cpu_exec(CPUState *env1)
|
||||
jump normally, then does the exception return when the
|
||||
CPU tries to execute code at the magic address.
|
||||
This will cause the magic PC value to be pushed to
|
||||
the stack if an interrupt occured at the wrong time.
|
||||
the stack if an interrupt occurred at the wrong time.
|
||||
We avoid this by disabling interrupts when
|
||||
pc contains a magic address. */
|
||||
if (interrupt_request & CPU_INTERRUPT_HARD
|
||||
@@ -563,7 +563,7 @@ int cpu_exec(CPUState *env1)
|
||||
next_tb = 0;
|
||||
}
|
||||
#endif
|
||||
/* Don't use the cached interupt_request value,
|
||||
/* Don't use the cached interrupt_request value,
|
||||
do_interrupt may have updated the EXITTB flag. */
|
||||
if (env->interrupt_request & CPU_INTERRUPT_EXITTB) {
|
||||
env->interrupt_request &= ~CPU_INTERRUPT_EXITTB;
|
||||
|
||||
@@ -977,7 +977,7 @@ long do_unix_syscall_indirect(void *cpu_env, int num)
|
||||
#elif TARGET_PPC
|
||||
{
|
||||
int i;
|
||||
/* XXX: not really needed those regs are volatile accross calls */
|
||||
/* XXX: not really needed those regs are volatile across calls */
|
||||
uint32_t **regs = ((CPUPPCState*)cpu_env)->gpr;
|
||||
for(i = 11; i > 3; i--)
|
||||
*regs[i] = *regs[i-1];
|
||||
|
||||
+1
-1
@@ -1645,7 +1645,7 @@ static const char *const fp_reg_names[] =
|
||||
|
||||
typedef unsigned int CORE_ADDR;
|
||||
|
||||
/* Get at various relevent fields of an instruction word. */
|
||||
/* Get at various relevant fields of an instruction word. */
|
||||
|
||||
#define MASK_5 0x1f
|
||||
#define MASK_10 0x3ff
|
||||
|
||||
@@ -1001,8 +1001,6 @@ static int write_audio (AC97LinkState *s, AC97BusMasterRegs *r,
|
||||
|
||||
static void write_bup (AC97LinkState *s, int elapsed)
|
||||
{
|
||||
int written = 0;
|
||||
|
||||
dolog ("write_bup\n");
|
||||
if (!(s->bup_flag & BUP_SET)) {
|
||||
if (s->bup_flag & BUP_LAST) {
|
||||
@@ -1026,7 +1024,6 @@ static void write_bup (AC97LinkState *s, int elapsed)
|
||||
return;
|
||||
temp -= copied;
|
||||
elapsed -= copied;
|
||||
written += copied;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1069,7 +1066,7 @@ static int read_audio (AC97LinkState *s, AC97BusMasterRegs *r,
|
||||
static void transfer_audio (AC97LinkState *s, int index, int elapsed)
|
||||
{
|
||||
AC97BusMasterRegs *r = &s->bm_regs[index];
|
||||
int written = 0, stop = 0;
|
||||
int stop = 0;
|
||||
|
||||
if (s->invalid_freq[index]) {
|
||||
AUD_log ("ac97", "attempt to use voice %d with invalid frequency %d\n",
|
||||
@@ -1114,7 +1111,6 @@ static void transfer_audio (AC97LinkState *s, int index, int elapsed)
|
||||
switch (index) {
|
||||
case PO_INDEX:
|
||||
temp = write_audio (s, r, elapsed, &stop);
|
||||
written += temp;
|
||||
elapsed -= temp;
|
||||
r->picb -= (temp >> 1);
|
||||
break;
|
||||
|
||||
@@ -1441,7 +1441,7 @@ typedef struct {
|
||||
#define EVT_FLUSH_OCCURRED 0x11
|
||||
typedef struct {
|
||||
uint16_t handle;
|
||||
} __attribute__ ((packed)) evt_flush_occured;
|
||||
} __attribute__ ((packed)) evt_flush_occurred;
|
||||
#define EVT_FLUSH_OCCURRED_SIZE 2
|
||||
|
||||
#define EVT_ROLE_CHANGE 0x12
|
||||
|
||||
+1
-1
@@ -1126,7 +1126,7 @@ static void eepro100_write_eeprom(eeprom_t * eeprom, uint8_t val)
|
||||
{
|
||||
TRACE(EEPROM, logout("val=0x%02x\n", val));
|
||||
|
||||
/* mask unwriteable bits */
|
||||
/* mask unwritable bits */
|
||||
#if 0
|
||||
val = SET_MASKED(val, 0x31, eeprom->value);
|
||||
#endif
|
||||
|
||||
+5
-5
@@ -75,7 +75,7 @@ struct _eeprom_t {
|
||||
uint8_t tick;
|
||||
uint8_t address;
|
||||
uint8_t command;
|
||||
uint8_t writeable;
|
||||
uint8_t writable;
|
||||
|
||||
uint8_t eecs;
|
||||
uint8_t eesk;
|
||||
@@ -130,7 +130,7 @@ static const VMStateDescription vmstate_eeprom = {
|
||||
VMSTATE_UINT8(tick, eeprom_t),
|
||||
VMSTATE_UINT8(address, eeprom_t),
|
||||
VMSTATE_UINT8(command, eeprom_t),
|
||||
VMSTATE_UINT8(writeable, eeprom_t),
|
||||
VMSTATE_UINT8(writable, eeprom_t),
|
||||
|
||||
VMSTATE_UINT8(eecs, eeprom_t),
|
||||
VMSTATE_UINT8(eesk, eeprom_t),
|
||||
@@ -165,7 +165,7 @@ void eeprom93xx_write(eeprom_t *eeprom, int eecs, int eesk, int eedi)
|
||||
address = 0x0;
|
||||
} else if (eeprom->eecs && ! eecs) {
|
||||
/* End chip select cycle. This triggers write / erase. */
|
||||
if (eeprom->writeable) {
|
||||
if (eeprom->writable) {
|
||||
uint8_t subcommand = address >> (eeprom->addrbits - 2);
|
||||
if (command == 0 && subcommand == 2) {
|
||||
/* Erase all. */
|
||||
@@ -232,7 +232,7 @@ void eeprom93xx_write(eeprom_t *eeprom, int eecs, int eesk, int eedi)
|
||||
switch (address >> (eeprom->addrbits - 2)) {
|
||||
case 0:
|
||||
logout("write disable command\n");
|
||||
eeprom->writeable = 0;
|
||||
eeprom->writable = 0;
|
||||
break;
|
||||
case 1:
|
||||
logout("write all command\n");
|
||||
@@ -242,7 +242,7 @@ void eeprom93xx_write(eeprom_t *eeprom, int eecs, int eesk, int eedi)
|
||||
break;
|
||||
case 3:
|
||||
logout("write enable command\n");
|
||||
eeprom->writeable = 1;
|
||||
eeprom->writable = 1;
|
||||
break;
|
||||
}
|
||||
} else {
|
||||
|
||||
+1
-1
@@ -721,7 +721,7 @@ static void do_phy_write(lan9118_state *s, int reg, uint32_t val)
|
||||
break;
|
||||
}
|
||||
s->phy_control = val & 0x7980;
|
||||
/* Complete autonegotiation imediately. */
|
||||
/* Complete autonegotiation immediately. */
|
||||
if (val & 0x1000) {
|
||||
s->phy_status |= 0x0020;
|
||||
}
|
||||
|
||||
+9
-9
@@ -189,7 +189,7 @@ typedef struct {
|
||||
uint32_t script_ram_base;
|
||||
|
||||
int carry; /* ??? Should this be an a visible register somewhere? */
|
||||
int sense;
|
||||
int status;
|
||||
/* Action to take at the end of a MSG IN phase.
|
||||
0 = COMMAND, 1 = disconnect, 2 = DATA OUT, 3 = DATA IN. */
|
||||
int msg_action;
|
||||
@@ -695,8 +695,8 @@ static void lsi_command_complete(SCSIBus *bus, int reason, uint32_t tag,
|
||||
|
||||
out = (s->sstat1 & PHASE_MASK) == PHASE_DO;
|
||||
if (reason == SCSI_REASON_DONE) {
|
||||
DPRINTF("Command complete sense=%d\n", (int)arg);
|
||||
s->sense = arg;
|
||||
DPRINTF("Command complete status=%d\n", (int)arg);
|
||||
s->status = arg;
|
||||
s->command_complete = 2;
|
||||
if (s->waiting && s->dbc != 0) {
|
||||
/* Raise phase mismatch for short transfers. */
|
||||
@@ -783,14 +783,14 @@ static void lsi_do_command(LSIState *s)
|
||||
|
||||
static void lsi_do_status(LSIState *s)
|
||||
{
|
||||
uint8_t sense;
|
||||
DPRINTF("Get status len=%d sense=%d\n", s->dbc, s->sense);
|
||||
uint8_t status;
|
||||
DPRINTF("Get status len=%d status=%d\n", s->dbc, s->status);
|
||||
if (s->dbc != 1)
|
||||
BADF("Bad Status move\n");
|
||||
s->dbc = 1;
|
||||
sense = s->sense;
|
||||
s->sfbr = sense;
|
||||
cpu_physical_memory_write(s->dnad, &sense, 1);
|
||||
status = s->status;
|
||||
s->sfbr = status;
|
||||
cpu_physical_memory_write(s->dnad, &status, 1);
|
||||
lsi_set_phase(s, PHASE_MI);
|
||||
s->msg_action = 1;
|
||||
lsi_add_msg_byte(s, 0); /* COMMAND COMPLETE */
|
||||
@@ -2122,7 +2122,7 @@ static const VMStateDescription vmstate_lsi_scsi = {
|
||||
VMSTATE_PCI_DEVICE(dev, LSIState),
|
||||
|
||||
VMSTATE_INT32(carry, LSIState),
|
||||
VMSTATE_INT32(sense, LSIState),
|
||||
VMSTATE_INT32(status, LSIState),
|
||||
VMSTATE_INT32(msg_action, LSIState),
|
||||
VMSTATE_INT32(msg_len, LSIState),
|
||||
VMSTATE_BUFFER(msg, LSIState),
|
||||
|
||||
@@ -155,7 +155,7 @@ int msi_init(struct PCIDevice *dev, uint8_t offset,
|
||||
pci_set_word(dev->wmask + msi_data_off(dev, msi64bit), 0xffff);
|
||||
|
||||
if (msi_per_vector_mask) {
|
||||
/* Make mask bits 0 to nr_vectors - 1 writeable. */
|
||||
/* Make mask bits 0 to nr_vectors - 1 writable. */
|
||||
pci_set_long(dev->wmask + msi_mask_off(dev, msi64bit),
|
||||
0xffffffff >> (PCI_MSI_VECTORS_MAX - nr_vectors));
|
||||
}
|
||||
|
||||
@@ -87,7 +87,7 @@ static int msix_add_config(struct PCIDevice *pdev, unsigned short nentries,
|
||||
pci_set_long(config + MSIX_PBA_OFFSET, (bar_size + MSIX_PAGE_PENDING) |
|
||||
bar_nr);
|
||||
pdev->msix_cap = config_offset;
|
||||
/* Make flags bit writeable. */
|
||||
/* Make flags bit writable. */
|
||||
pdev->wmask[config_offset + MSIX_CONTROL_OFFSET] |= MSIX_ENABLE_MASK |
|
||||
MSIX_MASKALL_MASK;
|
||||
return 0;
|
||||
|
||||
+1
-1
@@ -154,7 +154,7 @@ mst_fpga_writeb(void *opaque, target_phys_addr_t addr, uint32_t value)
|
||||
case MST_MSCRD:
|
||||
s->mscrd = value;
|
||||
break;
|
||||
case MST_INTMSKENA: /* Mask interupt */
|
||||
case MST_INTMSKENA: /* Mask interrupt */
|
||||
s->intmskena = (value & 0xFEEFF);
|
||||
qemu_set_irq(s->parent, s->intsetclr & s->intmskena);
|
||||
break;
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user