Summary: 1203 instances, 1002 unique Text Count /* TODO: Figure out how to implemet/decode AOMASK */ 1 /* TODO: unref root container, check all devices are ok */ 1 /* FIXME: 0x30000 per spec? */ 1 /* FIXME: when the branch is in range, we could avoid r12 load if we 1 /* XXX TODO implement and test setting mac addr 1 /* FIXME: Once the kernel module is patched to honor block sizes, 1 /* TODO: Random readable, CD read, DVD read, drive serial number, 1 * TODO: Move this into translate-all.c with the rest of the 1 * See also the TODO in omap_dma_channel_load. */ 1 /* TODO: Is it alright to modify flock? */ 1 /* TODO: purge in char driver */ 1 /* FIXME - should return an error */ 1 /* TODO: remove the nd_table[] entry */ 1 /* FIXME our lexer matches RFC 8259 in forbidding Inf or NaN, 1 * TODO: Perhaps better to record all of the TBs associated 1 /* Bus 3: TODO bmp280@77 */ 1 * TODO: Block scope support 1 * TODO: This should also clear USBSTS.HSE field in USB XHCI register. 1 * TODO: really needed? 1 if (env->regs[2] == 0) { /* FIXME: syscall 0 workaround */ 1 * TODO Have to include block/block.h for a bunch of block layer 1 * FIXME writing straight to memory is *wrong*. We 1 * TODO: This is entirely boiler plate just registering empty PCI devices 1 * TODO: At the moment all transactions are considered as privileged (EL1) 1 assert(0); /* TODO */ 2 * TODO We'll want to use types appropriate for opt->desc->type, but 1 /* TODO: report error */ 1 * TODO Eventually we should call qmp_device_add() here to make sure it 1 /* LATER TODO: add automatic boot sector generation from 1 * TODO At this point it is possible to check if any clusters that are 1 /* TODO: guarantee 64-bit single-copy atomicity */ 3 * TODO: ideally we should model the SoC SYSTICK_CR register at 0xe0042038, 1 * TODO: Turn this backon later. 1 if (sgid_idx <= 0) { /* TODO check also less than bk.max_sgid */ 1 request.crc = 0; /* FIXME */ 1 TODO: get device id from EEPROM for i82557C or later. 1 /* TODO - device IN token queue flush */ 1 /* FIXME -- check is_annulled flag. */ 1 case TUSB_INT_SRC_SET: /* TODO: What do these two return? */ 1 /* TODO: Change QEMUFileOps prototype to be signed: size_t => long 1 TODO: get subsystem id from EEPROM for i82557C or later. 1 /* TODO: handle reset values of PHB_LSI_SRC_ID */ 1 * TODO: Improve the device_add functionality to allow resets to be 1 * FIXME: Clamp period to reasonable min value? 2 } xtregs_opt_t; /* TODO */ 1 /* TODO: _DW */ 1 * TODO: some existing controllers violate the above rule. Identify and fix them. 1 /* FIXME: Honor TX disable, and allow queueing of packets. */ 1 /* FIXME: bdrv_drop_intermediate treats total failures and partial failures 1 * TODO: ideally the MSF2 timer device should use a Clock rather than a 1 /* TODO: duplicated with ram_init_bitmaps */ 1 else if (/* FIXME !user_mode(regs) */ 0 && 1 /* TODO: spare areas */ 1 * TODO: add support for READ4 (0x13) on AST2600 1 /* TODO: Fix OPAL to do that: establish default BAR values */ 1 xen_pv_printf(&netdev->xendev, 0, "FIXME: extra info flag\n"); 1 /* TODO 17, 18, 27, 31 */ 1 /* FIXME: Should use branch #defines. */ 1 /* TODO: Implement debug registers. */ 1 * FIXME: these cases of malformed tx descriptors (bad sizes) 1 /* TODO: on MPIC v4.0 only, set nomask for non-INT */ 1 /* TODO: update Global IRQ status register on AST2600 (Need specs) */ 1 env->regs[5] = 0; /* FIXME: regs->int_parm_long */ 1 * TODO Future callers may need to specify parent/child_class in order for 1 s->regs.crtc_offset_cntl = data; /* FIXME */ 1 * TODO: MONRDY should RAZ/WI if DEMCR.SDME is set. 1 /* TODO: Test unaligned dump counter address on real hardware. */ 1 /* FIXME: what is the Atomics request here? */ 1 /* TODO: optimization, check mask here. That means 1 /* FIXME - handle put_user() failures */ 6 * TODO: make this work also during runtime: it should be 1 /* TODO: Should reuse or destroy current s->serial */ 1 /* FIXME: use fmovicc/fmovfcc? */ /* v9 */ 1 /* TODO: handle device remove OST event */ 1 /* FIXME: Check for segfaults. */ 1 * TODO: find something better 1 /* XXX: TODO: relay the signal to CKSTP_OUT pin */ 2 /* TODO: An additional option to set UUID values might be useful. */ 1 /* TODO: Spec says this shall fail if some are already enabled. 1 /* TODO: actually implement real values here */ 1 /* TODO: Capture is level-line is held high in the kernel */ 1 #define FIXME(_msg) do { fprintf(stderr, "FIXME %s:%d %s\n", \ 1 /* TODO: 2E reset stuff */ 1 * TODO: compute the CS from the DMA address and the segment 1 /* TODO: fill_FCB(etsec); */ 1 /* TODO: ioctl */ 1 /* TODO: depending on s->setup[4] bits [1:0] assert an IRQ or 2 /* TODO: check and handle errors. */ 1 #include "cpu.h" /* FIXME should not use tswap* */ 1 /* FIXME: break code should be configured on a key by key basis */ 1 /* TODO: Implement the use of EXTRAM */ 1 /* TODO: cleanup config space changes? */ 1 * FIXME: This assumes that a Type1 IOMMU can map any 64-bit 1 /* TODO: fill the rest of the panel with DPD */ 1 * FIXME: 1 /* TODO check range */ 1 int nslots = SHPC_MAX_SLOTS; /* TODO: qdev property? */ 1 /* TODO: implement memory removal on guest signal */ 1 /* TODO: Move abort back into core.c and introduce proper error flow between 1 /* TODO: handle threshold sensor */ 1 * TODO: 2 /* FIXME - what to do if get_user() fails? */ 1 * TODO: Currently we restrict @owner to being either NULL (for 3 * TODO: Compare with Linux code and test real hardware. 1 /* ufd is a pointer to the struct uffd_msg *TODO: more Portable! */ 1 * TODO SOCKET_ADDRESS_TYPE_FD when fd is AF_INET or AF_INET6 1 /* TODO: check PNV_XSCOM_EX_SIZE for p10 */ 1 /* TODO: add a way for SCSIBusInfo's load_request to fail, 1 /* XXX: TODO */ 1 if (1 /* FIXME */) { 2 /* TODO - implement FIFO registers for slave mode */ 1 /* TODO: sequential reads etc - how do we make sure the host doesn't 1 * TODO lift the restriction 1 /* TODO: Protection (supervisor only access) is not implemented. */ 1 /* TODO update the other clocks */ 1 /* TODO: Add TCG_TARGET_HAS_nand_vec when adding a backend supports it. */ 1 // TODO: The implementations could be improved for sizes different from 32bit 1 /* TODO: Endianness! */ 2 info.flags & 1 /* FIXME: Y_0_TOP */, 1 /* FIXME: Assume it will work, actual check done after realize */ 1 /* FIXME: In the next instruction, we should only permit %dn if the 1 * FIXME: use bitfields of features? teach libslirp to save with 1 bool internal; /* TODO: eventually use TYPE_USER_CREATABLE */ 1 uint32_t fifo[PL181_FIFO_LEN]; /* TODO use Fifo32 */ 1 __put_user(0, &sc->sc_traparg_a1); /* FIXME */ 1 case TUSB_PRCM_WAKEUP_CLEAR: /* TODO: What does this one return? */ 1 /* TODO: Start the QEMU emulated watchdog if not running on KVM. 1 awc->ext_pulse_width_mask = 0xfffff; /* TODO */ 1 #define MAC_WUCSR 12 /* TODO */ 1 /* TODO: fake some values when appropriate s->control bits are set */ 1 yield self.prepend("/* FIXME: %s */\n" % (issue)) 1 * TODO - Some Nvidia devices provide config access to their companion HDA 1 /* FIXME: VOF assumes entry is same as load address */ 1 /* FIXME: Improve error handling; should have been caught 1 * TODO: otherwise an interconnect access error is generated. */ 1 /* TODO: H_INT_SET_OS_REPORTING_LINE */ 1 /* TODO: notify guest (raise HSE irq?) */ 1 /* TODO: for transfers where entire frames can be read and written 1 /* TODO: AVX512 adds support for MO_16, MO_64. */ 1 /* FIXME: handle endianness switch */ 1 /* FIXME: filter by server#? */ 1 stw_p(w++, N810_BLIZZARD_RESET_GPIO); /* TODO: n800 s16 nreset_gpio */ 1 /* TODO: Ethernet Power Consumption Registers (i82559 and later). */ 1 /* TODO Allow multi-level nesting and set file.filename here */ 2 * TODO: Ideally we would expose the chip select and spi bus on the 1 * TODO: change .realized property to enum that states 1 /* Load and decode. FIXME: handle endianness. */ 3 * TODO: Check endianness: skiboot is BIG, Aspeed AHB is LITTLE, flash 1 /* FIXME: this is temporary fix, other checkpoints 1 /* FIXME: this is not entirely correct; the target need not ask 1 [TIMER2] = { 0xb0, POWER0, 6, 0x70, 0x37, false }, /* TODO async */ 1 /* TODO: perhaps make use of e->ext_size[1] here. */ 1 /* TODO: BEV_BASE and SELECT_BEV */ 1 /* LATER TODO: if FAT32, this is wrong */ 1 /* TODO: these errors should be more verbose and propagated to the guest.*/ 1 * FIXME: 1. previous write_zeroes may be redundant 1 /* FIXME We cannot require callers to have write permissions when all they 1 {ARM_EXT_V4T, 0x4800, 0xF800, "ldr%c\t%8-10r, [pc, #%0-7W]\t(%0-7a)"}, /* TODO: Disassemble PC relative "LDR rD,=" */ 1 /* TODO: 1 /* TODO: H_INT_GET_OS_REPORTING_LINE */ 1 /* TODO: Limit to support IO page sizes */ 1 /* TODO : consider BYTE/WORD access */ 2 # TODO: Remove after we opt in to Pylint 2.8.3. See commit msg. 1 /* TODO: EISR/EIMR */ 2 /* TODO: Make this something that isn't fixed size. */ 2 /* TODO: extra byte is a hack to ensure MAX_PATH space on Windows. */ 1 /* TODO: How is this signalled? */ 1 instruction. FIXME: Make this optional later. */ 1 * FIXME: Even if the guest can't receive packets for some reasons, 1 * TODO: make sure that the short name is not matching *another* file 1 /* TODO: */ 2 return 0x00; /* TODO */ 1 /* TODO: do we need any locking on the END ? */ 1 int thread_index = 0; /* TODO: TCG supports only one thread */ 1 /* TODO: remove fully only on state DISABLED and LED off. 1 /* FIXME: Check CRC. */ 1 /* TODO: reset options */ 1 /* TODO: migration isn't yet supported */ 1 /* LATER TODO: if FAT32, adjust */ 1 bool y_0_top = false; /* FIXME */ 1 /* TODO: model power only and disabled slot states. */ 1 * TODO: currently we are safe since we are the only one that is 1 * TODO: Without KVM_CAP_MANUAL_DIRTY_LOG_PROTECT2 and kvm clear dirty log, 1 /* TODO: update palette */ 1 /* TODO: Check flexible mode */ 1 /* TODO (?): Try to push pending requests from the arm->vc mbox */ 1 /* XXX: TODO */ 1 /* TODO: unimplemented ATR T1 parameters */ 1 /* TODO: Fix callers to not pass NULL when they mean "", so that we 1 /* TODO: controlled by DEMCR.SDME, which we don't yet implement */ 1 * TODO: Modern Linux doesn't use storage keys unless running KVM guests 1 /* This assumes uint64_t is unsigned long long TODO relax */ 1 /* FIXME: PCI IRQ connections may be board specific */ 1 /* TODO: Add TCG_TARGET_HAS_eqv_vec when adding a backend supports it. */ 1 __put_user(0, &sc->sc_traparg_a0); /* FIXME */ 1 /* FIXME: currently hardcoded to 128Mb. */ 1 /* TODO: add .exit and unref the region there. Not needed yet since sysbus 1 xen_pv_printf(&netdev->xendev, 0, "FIXME: more data flag\n"); 1 /* TODO handle ERROR_OFFSET */ 1 /* TODO: Update FSP MR if/when we support FSP BAR */ 1 s->lines = 1; /* TODO: needs to be settable per-board */ 1 /* TODO: i2c-8: Add BMC FRU eeprom@50 */ 1 * TODO Should this really be an error? If no, the old value 1 return H_HARDWARE; /* FIXME actually handle this */ 1 * TODO: implement vectors. 2 case 0x83: /* TODO: AACS media key block */ 1 /* TODO: set echo for frontends QMP and qtest */ 1 /* TODO: store in eeprom? */ 1 /* FIXME: check for channel enablement in config registers */ 1 /* TODO: 8-bit accesses */ 2 * TODO: Must be a better way to organise that 1 /* FIXME: should update at first or at last? */ 1 #FIXME: don't do this if we're already inside qom/object.h 1 /*case 0x1000:*/ /* TODO:__kuser_helper_version */ 1 /* TODO: Convert "ret" to a human readable error message. */ 1 /* TODO: Populate SPD eeprom data. */ 2 /* TODO: More regs ..., maybe create a table with masks... */ 1 /* FIXME: why isn't cpu_synchronize_all_post_init enough? */ 1 /* TODO: include pmbus page info in vmstate */ 1 /* FIXME use qdev NIC properties instead of nd_table[] */ 4 /* FIXME use a qdev drive property instead of drive_get() */ 2 /* TODO: change this assert when adding support for other reset types */ 2 * TODO: We should leave them queued. But currently there's no way 1 /* TODO Add BB name/QOM path */ 1 TODO: support >64 threads ? */ 1 /* TODO: Add checks for fuse_session_exited */ 1 QemuCoSleep sleep; /* TODO: protect API with a lock */ 1 /* TODO: Control Cache mapping with Memory Test Unit (MTU) */ 1 /* TODO: Append CRCs */ 1 * FIXME: PCI does not work this way. 1 // TODO: VisitLoadStoreRegisterOffsetUnpriv. 1 (*regs)[16] = tswapreg(env->dregs[0]); /* FIXME: orig_d0 */ 1 * TODO: reset IP. 1 # TODO catching name collisions in generated code would be nice 1 /* TODO: what with low-speed Bulk and Isochronous? */ 1 /* FIXME: use seccomp_api_get() >= 2 check when released */ 1 __put_user(0, &sc->sc_traparg_a2); /* FIXME */ 1 /* FIXME: make use of TPI, for that enable subchannel and isc */ 1 * TODO: remove the function when DeviceClass's reset method 1 * TODO: When the read/write comes from the monitor, NULL is 1 /* TODO: unimplemented ATR T0 parameters */ 1 /* FIXME - what to do if put_user() fails? */ 1 /* TODO check device. */ 1 /* FIXME: add proper locking */ 2 * TODO: Delay swapping back to the read-write region of the TB 1 /* FIXME: section version, subtype and creator id? */ 2 * FIXME: For VFIO iommu types which have KVM acceleration to 1 #TODO: replace lonely DECLARE_INSTANCE_CHECKER with DECLARE_OBJ_CHECKERS 1 /* TODO we should move all of this lot into postcopy_ram.c or a shared code 1 /* TODO: support 8-bit access */ 2 /* TODO: IPv6 */ 1 /* TODO: call try_commit() only after a timeout */ 1 /* TODO: if there are more entries, bootsector has to be adjusted! */ 1 * TODO: define constraints for: 1 /* TODO bar0, bar1: 64bit BAR support*/ 1 /* TODO: port removal for ports like PCMCIA memory */ 1 /* FIXME: We only really need a temporary if src and dst overlap */ 1 /* TODO: respect the reset tolerance registers */ 1 /* FIXME: Do we want to mark these as F_FLOAT, or something similar? */ 1 /* FIXME: Malta specific hw assumptions ahead */ 2 /* FIXME: This setting should be derived from the SCU hw strapping 1 /* TODO : consider endian */ 2 FIXME: Emit v0..v3 flag names somehow. */ 1 /* LATER TODO: strict: return -1; */ 1 /* FIXME: Figure out how to generate these from stellaris_boards. */ 1 /* TODO: implement */ 1 * TODO: How to do hugepage 1 /* TODO - TX fifo flush */ 1 /* TODO: Implement interrupt deassertion intervals. */ 1 /* TODO: 2 * TODO: Reset something? 1 /* FIXME: this should be handled with fchmodat(AT_SYMLINK_NOFOLLOW). 1 /* FIXME: SIZE_FIELD_SIGNED and all necessary changes. */ 4 * TODO: Add something to the register allocator to allow 1 DPRINTF("xhci: FIXME: endpoint reset w/ xfers running, " 1 /* TODO: RST# value should be 0 */ 1 /* FIXME: we may run out of IOVA addresses after repeated 1 * TODO: We may need a timeout mechanism to prevent COLO process 1 /* FIXME: filter by server#? */ 1 (*regs)[19] = 0; /* FIXME: regs->format | regs->vector */ 1 // TODO verify enough time remains in the uframe as in 4.4.1.1 1 /* FIXME: is it useful to try autoload modules here ??? */ 1 * TODO: make a common KVMEnabledCPU layer for XICS and XIVE 1 /* TODO: Implement MIB. */ 2 /* FIXME: multiply all volumes by s->invol[2], s->invol[3] */ 1 * TODO: unify this with cacheinfo.c. 1 /* TODO : check validity of size change */ 1 * anyway. (TODO: check in /sys). 1 * TODO: Here should be a warn_report_once() if lock failed. 1 /* TODO: draw the segments */ 1 if ((s->cc[0] & 0x500) == 0x500) { /* TODO: Which bits? */ 1 /* TODO: detect a buffer that's too short, set NEEDS_RESET */ 1 /* TODO avoid SIGBUS loss on macOS */ 1 /* FIXME: if branch was immed, replay the imm as well. */ 1 /* TODO Check graph modification op blockers (BLK_PERM_GRAPH_MOD) once 1 /* TODO: check configuration byte 15/4 (ignore U/L). */ 1 /* TODO: if the files mbr.img and bootsect.img exist, use them */ 1 /* TODO: make ui/keymap.c parser accept QKeyCode names */ 1 * FIXME: Make the below statement universally true: 1 /* FIXME - handle put_user() failures */ 1 * TODO: rework to use address_space_stq() and address_space_ldq() 1 #define __SIGNAL_FRAMESIZE 160 /* FIXME: 31-bit mode -> 96 */ 1 /* TODO: Broadcast and Multicast */ 1 /* TODO: check that LCD output is enabled in DISPC. */ 1 * TODO: remove this work around. 1 /* FIXME: This should SEGV if the access fails. */ 1 * c) TODO: Request starts in the same cluster as the in-flight 1 /* TODO: rather than setting the size of the mapping (which should be 1 /* TODO update clocks */ 27 DPRINTF("xhci: FIXME: endpoint stopped w/ xfers running, " 1 /* TODO: Need to make sure pfn is between bar start address and 1 /* TODO: a passthru backened that works on local machine. third card type?*/ 1 /* FIXME: Should the slave device really be on a separate bus? */ 1 TODO: make this configurable? */ 1 * FIXME: if vmbus_resched() is called from within vmbus_do_run(), it 1 * TODO: Bridges default to 10-bit VGA decoding but we currently only 1 /* Bus 7: TODO si7021-a20@20 */ 1 /* TODO: Windows wants revision id 0x0c. */ 1 /* FIXME drop when all init functions store an Error */ 1 * TODO: This will be removed for performance reasons. 1 /* FIXME: Should probably use a hash table on the major opcode here. */ 1 goto segv_and_exit; /* TODO: restore_rwin_state */ 1 /* TODO: We should use the PHB BAR 2 register but we don't ... */ 1 /* FIXME - handle failure of get_user() */ 5 case 0x82: /* TODO: AACS media identifier */ 1 /* TODO: reset regs ? */ 1 /* TODO do we need to handle the error? */ 1 * TODO: remove gluster+rdma interface support 1 * TODO: force a scrambler reset?? 1 /* FIXME: Microblaze no-mmu user-space has a difference stat64 layout... */ 1 /* TODO: should we assert() if we can find a NVT ? */ 1 /* TODO: Fail? Disable this sharer? */ 1 /* TODO: set options */ 1 /* Create CPU -- FIXME */ 1 env->regs[6] = 0; /* FIXME: current->thread.last_break */ 1 /* FIXME: don't allow Dw==Dx. */ 1 /* FIXME: Should we (perhaps conditionally) be setting 1 /* TODO: Shouldn't we set PCI_STATUS_SIG_SYSTEM_ERROR? 1 g_debug("TODO handle ctrl %x\n", cmd->cmd_hdr.type); 1 // TODO: investigate impact of treating reads as producing 2 return sd_crc7(buffer, 5) != req->crc; /* TODO */ 1 /* TODO: check msix_init's error, and should fail on msix=on */ 1 /* TODO: check stripping enable bit. */ 1 /* TODO: signal eop to the client. */ 1 * TODO: For user mode, see the caveat re host vs guest virtual 1 /* TODO: replace QObject with a simpler visitor to avoid a dependency 1 * FIXME: it's a bit weird to allow using a mux chardev here 1 /* TODO vu_message_write() spins if non-blocking! */ 1 /* TODO handle case that requested size is wrong and 1 * TODO: this part is not in ACPI spec and current linux kernel boots fine 1 * TODO on some boards bit 1 is CPU_WAIT. 1 // FIXME: how does the chip reflect the GPIO input level change? 1 /* TODO: split transfers are not implemented */ 1 /* TODO: add this define to pci_regs.h in linux and then in qemu. */ 1 * FIXME Should this be named visit_start_object, since it is also 1 TODO: status bit 4 can be disabled by EEPROM for i82558, i82559. 1 /* FIXME: rewrite failed children if acb->children_read > 1? */ 1 * TODO: there should be a better way to do this. 1 /* TODO: Auto EOI. */ 1 /* TODO: AVX512 adds support for MO_64. */ 1 /* TODO: RNR interrupt only at first failed frame? */ 1 /* TODO: i2c-7: Add PDB FRU eeprom@52 */ 1 /* FIXME premature! */ 1 * TODO: add state handling here, so migration works at least with 1 TODO: get vendor id from EEPROM for i82557C or later. 1 /* FIXME should save @offset, @width for case 1+ */ 1 /* TODO Remember the clusters to free them later and avoid leaking */ 1 /* FIXME: we should batch these completions */ 1 * TODO: qemu does not support PSW_MASK_RI; it will never be set. 1 * TODO: Check this is true for ast2600 1 /* Not banked. TODO should RAZ/WI if DEMCR.SDME is set */ 1 /* TODO: log the event using IOMMU log event interface */ 1 /* TODO convert hcd-musb to QOM/qdev and remove MUSBReadFunc/MUSBWriteFunc */ 1 /* TODO handle error */ 1 * FIXME: We assume the one big unmap below is adequate to 1 /* TODO - implement FIFOs to support slave mode */ 2 /* FIXME: this is N^2 in number of sections */ 1 /* TODO: Configurable retry-until-timeout behaviour. */ 1 /* FIXME: Should we check against registered IO addresses? */ 1 /* FIXME handle cur_hv_offs correctly */ 2 /* TODO: mute/unmute respective paths */ 7 /* TODO: spec recommends using 64 bit prefetcheable BAR. 1 /* TODO: once all bus devices are qdevified, this should be done 1 * TODO Since callers don't either, this can result in confusing 1 case TUSB_USBIP_INT_SET: /* TODO: What do these two return? */ 1 fdctrl->dma_chann = dma_chann; /* FIXME */ 1 /* FIXME: use an array of byte or block backend property? */ 1 /* TODO: check correctness */ 1 /* FIXME: implement */ 2 SerialMM *serial; /* TODO */ 1 /* TODO: check TCO Statistical Counters bit. Documentation not clear. */ 1 /* FIXME handle R/WO */ 2 /* FIXME: Improve error handling; should have been caught 1 /* FIXME: Should register things through the MachineState's qdev 1 /* TODO: implement coefficients support */ 1 * TODO: Actually, we want to rollback all previous iterations 1 /* FIXME: For graphic_rotate. Should probably be done in common code. */ 1 /* FIXME error_setg(errp, ...) on failure */ 1 * TODO: currently we have per-device IOMMU memory region only 1 * TODO it is better to reuse these clusters */ 1 * TODO: We can inhibit that ack and only do it if it was requested 1 /* TODO - RX fifo flush */ 1 /* TODO: Handle errors. */ 1 /* DeviceState to VirtIOPCIProxy. For use off data-path. TODO: use QOM. */ 1 /* FIXME: implement array device properties */ 1 /* TODO add security */ 4 /* TODO: Add error fields and support simulated errors? */ 1 /* TODO set .tm_mday instead */ 1 /* TODO: xtregs */ 3 /* FIXME: Code that sets/uses this is broken and needs to go away. */ 1 /* TODO: check if we really need to update anything here or perhaps we 1 * Node without drv is an object without a class :/. TODO: finally fix 1 #if 0 /* TODO: replace dummy code for power management emulation. */ 1 * TODO: provide a smarter timeout rather than a constant? 1 * TODO remove once we're there 1 * TODO: model the lack of systick (currently the armv7m object 1 /* TODO This interface is not stable until we QAPIfy it */ 1 /*case 0x1040:*/ /* TODO:__kuser_sigtramp */ 1 /* TODO: unsigned long orig_r7; */ 1 /* TODO: check device id. */ 2 #define MAC_VLAN1 9 /* TODO */ 1 # TODO Worth changing the visitor signature, so we could 2 /* TODO: Flag overrun and receive errors. */ 1 /* TODO: Implement PEC. */ 1 * some IOMMU hardware. TODO: VFIO should tell us the IOMMU width. 1 * TODO: hardware behaviour is to move the contents of volatile 1 /* TODO: validate CRCs */ 1 /* FIXME: invalid value, should be 0xFFFFFFFFFFFFFFFF if not impl. ? */ 1 /* TODO MONRDY should RAZ/WI if DEMCR.SDME is set */ 1 /* FIXME: we can't sensibly set write_size here, without waiting 1 /* TODO Move common fields from CPUArchState here. */ 1 * TODO: check V bit in Q[0-3]W2 2 return omap_badwidth_read32(opaque, addr); /* TODO */ 1 TODO: header type is determined by EEPROM for i82559. 1 /* TODO: connect to MAC address of USB NIC device, once we emulate it */ 1 /* FIXME: move magic number definition somewhere sensible */ 1 /* FIXME: when software clears the IM field, check the IP field. But do we 2 /* TODO: in non-Bypass mode we probably need to just assert the 1 /* TODO: wrong revision id. */ 1 /* FIXME: infinite loop */ 1 /* FIXME use qdev NIC properties instead of nd_table[] */ 2 /* TODO: Check it doesn't collide with LSIs */ 1 /* TODO: need to check if kvm-arm supports irqfd */ 1 * (TODO:This could do with being in a postcopy file - but there again it's 1 (s->swar2 - s->last_swcr) * 10); /* TODO: fixup */ 1 /* TODO: Next not for promiscuous mode? */ 1 /* TODO Take force_share from reopen_queue */ 1 /* TODO : chain irq to IRL */ 1 * FIXME: create a macro to define this kind of entry 1 /* FIXME: This should use elf_ops.h */ 2 /* FIXME: When should the IRQ be lowered? */ 1 ((s->rttr & 0xffff) + 1)) >> 15)); /* TODO: fixup */ 2 * FIXME What flags do data-streams, external-control and 1 /* TODO: missing code. */ 1 * TODO: gdb singlestep should only override gdb breakpoints, 1 /* TODO: cleanup config space? */ 1 /* TODO Check the correct usage of the PHCS field of the FCB in case the NPH 1 /* TODO SOCKET_ADDRESS_TYPE_FD where fd has AF_INET or AF_INET6 */ 1 /* TODO: use src and dst as array indices. */ 1 FIXME: Where does mips_target_info come from? */ 1 /* TODO: Make a bitmap (or sizeof(char)map) of access privileges 1 # TODO: Remove cycle. [schema -> expr -> parser -> schema] 1 GIOCondition pending_events; /* TODO: use GAWatch.pollfd.revents */ 1 /* FIXME: There's a problem here, different m68k processors call the 1 /* FIXME: This is not complete and does not work, only implemented partially 1 /* TODO: parse parent locator fields */ 1 /* TODO add some postcopy stats */ 1 /* FIXME: does 460EX have ECC interrupts? */ 1 t->bios_rom_size = 0; /* hardcoded in SeaBIOS with FIXME comment */ 1 /* TODO create and connect IDE devices for ide_drive_get() */ 3 /* Load RTC RAM - TODO: provide possibility to load contents from file */ 1 * TODO: is blk_bs(blk)->bl.opt_transfer appropriate? */ 1 /* TODO: this is RAZ/WI from NS if DEMCR.SDME is set */ 2 /* FIXME */ 1 /* FIXME - what to do if put_user() fails? */ 1 # FIXME invalid names other than the empty string aren't flagged 1 /* TODO in overflow-and-match mode if the first event to 1 /* TODO: support constant memory address for source port as used for 1 /* TODO: consider enabling 66MHz support */ 1 /* TODO: scatter the packet over available receive ring descriptors space */ 1 /* TODO: BD support, fall through for now */ 1 * TODO Should this really be an error? If no, the old value 1 * TODO: load a vdso, which would also contain the signal trampolines. 1 /* TODO: Check CPU type. */ 1 /* TODO Rewrite "" to null instead */ 2 return 0x2f8; /* FIXME: This should be settable via registers f2-f4 */ 1 /* TODO: Power Management Control / Status. */ 1 /* TODO SOCKET_ADDRESS_TYPE_FD when fd has AF_UNIX */ 1 /* TODO Preallocate data if requested */ 1 * TODO: Add support for Protection Status 1 /* TODO Implement option pass-through and set raw.filename here */ 1 * mark this as a TODO in case one day we'll have 1 * TODO: block group support 1 /* TODO: handle SERR and wakeups */ 1 /* TODO: Check CRC before committing */ 5 /* FIXME we should resubmit pending requests when the CDS reconnects. */ 1 * TODO: Lookup table for known devices. 1 /* TODO: vdi_get_info would be needed for machine snapshots. 1 /* FIXME - check return value of memcpy_to_target() for failure */ 1 /* TODO: Use this for failure cases as well with a bad value. */ 2 /* TODO */ 4 /* TODO: 1 /* FIXME: support unaligned access? */ 1 /* FIXME use a qdev chardev prop instead of parallel_hds[] */ 1 # TODO reject names that differ only in '_' vs. '.' vs. '-', 1 /* FIXME check @offset, @width */ 2 /* TODO: handle device insert OST event */ 1 /* FIXME this is where we should write out the buffer */ 1 /* TODO: A translation failure here ought to set PCI error codes on the 1 /* TODO: Some cleanup/deallocation! */ 1 /* TODO: should be sent every 40ms */ 1 * FIXME: sure we want to support implicit 1 # Undocumented TODO outlaw 1 hw_error("%s: FIXME: bad SPI word width %i\n", __func__, len); 2 * to >4G. Check it. TODO: we might need to support 1 /* TODO: add timeout */ 1 /* TODO set error bit in status */ 2 /* TODO Callback into the BB owner for something more detailed */ 1 * FIXME: g_string_append_printf() is locale dependent; but JSON 1 #TODO: detect when OBJECT_DECLARE_SIMPLE_TYPE can be used 1 * TODO: Once gluster provides a way for us to determine if the option 1 /* TODO: fix next line */ 1 /* TODO : simulate gate control */ 2 * TODO: vdagent protocol is defined to be LE, 1 /* TODO: Clearing of hash register for selective reset, too? */ 1 /* TODO: return the real Card Detect */ 1 /* TODO purge them with fire */ 1 /* FIXME: */ 1 /* TODO: This algorithm looses bits too quickly for float128. */ 1 /* TODO: We would need a per-BDS .supported_read_flags and 1 /* TODO: Implement reset */ 1 /* FIXME:fix names */ 1 return 0x0; /* TODO */ 1 /* TODO: error report? */ 1 /* TODO: slave mode */ 1 /* TODO: check env->error_code */ 1 /* TODO: Use the P9 XSCOMs for now on P10 */ 1 /* FIXME: take handler into account when translating qcode */ 1 // TODO: Make the return types of these functions consistent. 1 /* Whether this code is flagged as crisv32. FIXME: Should be an enum 1 .unmigratable = 1, /* TODO: Implement this when m68k CPU is migratable */ 1 // TODO: The comment below considers average case complexity for our 1 /* TODO: this seems to actually be connected to the menelaus, to 1 * FIXME: For VFIO iommu types which have KVM acceleration to 1 * TODO: remove once every reset callback is unused 1 /* FIXME: we should enable DMA with a custom IsaDma device */ 1 /* TODO: Reset char device, send BREAK? */ 1 /* TODO: if (s->bufaddr & 3) + s->count was > 4 (2k-pages) 4 /* is_annulled = 1; */ /* see FIXME below */ 1 /* TODO: Real hardware has limited size FIFOs. We have a full 16 entry 1 /* TODO: parameterize */ 1 /* This assumes int64_t is long long TODO relax */ 1 * TODO - support passed fds... is this necessary? 1 # FIXME: Consolidate and centralize definitions for TopLevelExpr, 1 * TODO: Power down things? 1 * port is still open. TODO: we should only send 1 * TODO: 8 // TODO: This currently doesn't allow renaming of V registers. 1 /* FIXME: report error if ret != 0 */ 1 /* TODO: handle FSTN type */ 1 case 0xc0: /* TODO: Write protection status */ 1 /* TODO: Check MAC control frames (or we don't care) ? */ 1 /* TODO We can support BDRV_REQ_NO_FALLBACK here */ 1 /* FIXME: What WIMG combinations could be sensible for IO? 1 uint32_t page_shift = 16; /* TODO: fix page_shift */ 1 /* TODO: can replay help performance here? */ 1 /* TODO: Is it all right to execute everything or should we do per-cycle 1 return 0x00000000; /* TODO */ 1 #define _SIGCONTEXT_NSIG_BPW 64 /* FIXME: 31-bit mode -> 32 */ 1 // TODO: rename/refactor to make it specific to instructions. 1 /* FIXME bss at end ??? */ 1 /* TODO - core soft reset */ 1 /* FIXME: check the endianness */ 1 /* TODO: Configure BARs. */ 1 * So, we can ignore this case for now, but TODO: "generation" 1 /* FIXME: This might be lw, or it might be addiu to $sp or 1 * TODO: add some xenbus / xenstore concepts overview here. 1 /* TODO: i82559 has six reserved statistics but a total of 24 dwords. */ 1 /* TODO: check len for over/underruns of an OUT packet? */ 2 /* TODO: Consider checking compatibility with the IIDR ? */ 1 /* TODO - host frame counter reset */ 1 /* TODO: this doesn't handle base = 0 limit = 2^64 - 1 correctly. 1 /* FIXME: make this a link<> */ 1 /* TODO: send event to monitor */ 2 case 0x81: /* TODO: AACS media serial number */ 1 /* TODO: track what monitor requested. */ 1 /* TODO update Card Detect interrupts */ 1 /* FIXME: SIZE_FIELD_UNSIGNED and all necessary changes. */ 6 /* TODO: Get the device name into this error somehow */ 1 /* FIXME: arch_init.c assumes that this is not called throughout 1 /* TODO SOCKET_ADDRESS_FD where fd has AF_UNIX */ 1 /* FIXME: Should abort here; next constraint letter 1 /* TODO: Add TCG_TARGET_HAS_nor_vec when adding a backend supports it. */ 1 /* TODO: check for overlapping regions and report access errors */ 1 } else if (l4_protocol == IPPROTO_UDP) { /* TODO: add udplite? */ 1 * TODO: make priorities correct and remove this work around. 1 /* TODO check what callers really want: bs->node_name or blk_name() */ 1 TODO: capability pointer depends on EEPROM for i82558. 1 /* TODO: include definition in ipmi.h */ 1 /* TODO: check the actual iclk status */ 6 /* TODO: do we still need this? */ 1 /* TODO: Raise early RX interrupt? */ 1 /* TODO : For SH7751, SCIF mask should be 0xfb. */ 1 /* FIXME: remove this after fixing l2sram mapping in ppc440_uc.c? */ 1 /* TODO: Allow reconnects?? */ 1 /* TODO: MII registers aren't modelled. 1 /* TODO: display COLO specific information (checkpoint info etc.) */ 1 /* TODO: Implement pause. */ 1 /* TODO: no need to override */ 1 /* TODO: take a specific reader. i.e. track which reader 1 /* TODO: check CLKSTP bit */ 1 # FIXME not nice: things like '# @foo:' and '# @foo: ' aren't 1 * TODO: We should be able to use a VDSO to address this, by providing 1 * TODO: should we decide on how many chips we can create based 1 /* TODO: clock framework (see above) */ 2 * TODO: Venice/Murano support it on bottom window above 4G and 1 /* TODO: this is the default. do not override. */ 2 * FIXME: Structure is from Revision 6.0 where 'GIC Structure' 1 /* TODO: We should also use TDR and RDR bits */ 1 /* TODO: handle it */ 2 /* FIXME: when IQE is Clear, should we try to fetch some Invalidation 1 /* TODO: read cap/ecap from host to decide which cap to be exposed. */ 1 /* FIXME: Find another way to pass on the fake csum. */ 1 /* TODO: AVX512 adds support for MO_16. */ 2 /* TODO: What if file is not writable? */ 1 /* TODO: reset peripherals */ 1 /* TODO: start of capability list, but no capability 1 /* TODO: i2c-1: Add baseboard FRU eeprom@54 24c64 */ 1 /* TODO: additional PCI buses only wired up for 32-bit machines */ 1 * TODO: make this faster when nr_slots is big while there are 1 /* TODO: teach all callers that this can fail, and return failure instead 1 /* TODO: We don't support disabling htm yet */ 1 DPRINTF("%s: FIXME: status = %d\n", __func__, 1 /* TODO: use this in place of all post-fork() fclose(std*) callers */ 1 /* TODO: In user mode, we should use the task state PID */ 1 /* TODO: remove it since all hotplugged DIMMs are in high mem */ 1 /* TODO: Implement FIFO level IRQs. */ 1 * FIXME: This is wrong. We should probably either 2 #define MAC_VLAN2 10 /* TODO */ 1 /* TODO: take into account the format set up in s->rfbi.config[?] and 1 /* FIXME dependent on locale; a pervasive issue in QEMU */ 1 /* FIXME mvs: movx insns print as ".word 0x%03x", insn & 0xfff 1 /* TODO: wakeup */ 1 FIXME: We should improve the solution to avoid the multitude of 1 /* TODO */ 14 * TODO: cache translation, rather than doing this each time! 1 /* TODO: differencing files */ 1 * unique name for migration. TODO: Ideally we should implement 3 /* TODO: make sure this doesn't overflow 32-bits */ 1 /* TODO: Validate that the command is only issued once */ 1 /* TODO: take a functional-clock argument */ 1 /* TODO: high priority tx ring */ 1 /* TODO: Stop transmission. */ 1 * FIXME: Callers that try to output NULL *obj should not be allowed. 1 env->regs[4] = 0; /* FIXME: regs->int_code & 127 */ 1 /* TODO: i2c-1: Add Frontpanel FRU eeprom@57 24c64 */ 1 /* FIXME: tpm_util_test_tpmdev() accepts only on socket fd, as it also used 1 /* PM1b_CNT.SLP_TYP, FIXME: not impl. */ 1 /* FIXME use a qdev drive property instead of drive_get() */ 1 * TODO: check mixer: see 7.20 of sdk for panning pos (applies to all gus models?)? 1 /* TODO: has to be implemented */ 1 /* TODO ireg sem*() syscalls */ 1 * FIXME: This risks printing Inf or NaN, which are not valid 1 * FIXME: sure we want to support implicit 1 * TODO: Should we expand QMP NbdServerRemoveNode enum to allow a 1 /* TODO: this should be converted to a property of ARM_CPU */ 1 /* FIXME leaks like a sieve on error paths */ 1 /* TODO: need a xive_source_irq_reset_lsi() */ 1 /* TODO: Check IDENTIFY data word 125 for defacult BCL (currently 0) */ 1 /* TODO: check that this is issued only following the chip reset 1 * it. (FIXME: perhaps this can be detected at type definition time?) 1 /* FIXME: need to be masked with HAW? */ 1 /* TODO: Implement row/column remapping. */ 1 * TODO: Improve address allocation to avoid this problem, and to 1 * TODO: Remove @filename and @flags; it should be possible to specify a whole 1 /* FIXME: The asynch write path appears to be broken at 1 /* XXX: TODO: actual reaction may depends on HID0 status 2 * TODO: QOM design, define a QOM interface for "I am an etraxfs 1 /* FIXME: This is not threadsafe. */ 2 /* FIXME: how is size encoded? */ 1 /* TODO: implement watchdog. */ 1 * TODO: Removing the x_dirty_bitmap hack will mean refactoring 1 /* FIXME: Maybe add a property to select VGA or DVI port? */ 1 * TODO: in an ideal world we would model the effects of changing 1 0); // FIXME: gnd 1 "addo.b -1,r0,acr" as "addo .b-1,r0,acr". FIXME: Sounds like a 1 /* FIXME: close fd? */ 1 /* TODO: Handle boundaries */ 2 * TODO: What about selinux context? 1 /* TODO: reset */ 3 /* TODO - do something here? */ 1 /* The bit of supported pv event, TODO: include uapi header and remove this */ 1 /* TODO: get the following values from a real chip! */ 1 * TODO: verify address ranges and alignment 1 /* Encode and store. FIXME: handle endianness. */ 2 /* FIXME: only used by CAN */ 1 /* Bus 7: TODO max31785@52 */ 1 /* TODO: code duplicated from pci.c */ 1 /* TODO: CSC is a wakeup event */ 1 /* FIXME: flash aliases to mmio?! */ 1 /* TODO: Individual devices generally have very little idea about the rest 1 /* TODO: Make this use the limit of the loaded application. */ 1 /* TODO: if TxBD[TOE/UN] skip the Tx Frame Control Block*/ 1 FIXME: TPM_TIS_IRQ=5 conflicts with PNP0C0F irqs, 1 /* TODO: save bytes left to the end of the mapping somewhere so we 1 /* TODO: Query QP to get max_inline_data and save it to be used in send */ 1 /* TODO: convert access to globals to compat properties */ 1 * FIXME: qemu can't un-init gfx display (yet?). 1 /* FIXME - handle put_user() failures */ 5 /* FIXME: missing Jazz sound at 0x8000c000, rc4030[2] */ 1 /* FIXME: check what real hardware does */ 1 /* Use 64 word EEPROM. TODO: could be a runtime option. */ 1 /* TODO: recursive realization */ 1 /* FIXME: need to kill thread and close file handle: 1 /* FIXME: check this field with Eric and add a B, C and D */ 1 /* FIXME: the next two variants should not permit moving an address 1 /* TODO: support more than 256M RAM as highmem */ 1 /* TODO: Stash 'zero' support flags somewhere */ 1 /* TODO Remove once realize propagates to child devices. */ 2 * TODO: We assume right now that all mapped host memory backends are 1 * TODO: get a better solution from kernel so we 1 case OPB_MASTER_LS_ROUTE1: /* TODO */ 2 /* TODO : simulate gate & clock control */ 1 /* TODO: for a->frame_delta[i] > 0 still use the fast path, just 1 * TODO: Make this TYPE_OBJECT once QOM provides something like 1 qdev_set_legacy_instance_id(dev, 0 /* io */, 2); /* FIXME */ 1 * TODO: When using -drive to specify blockdev options, all values 1 * TODO support ip fragment, Out-Of-Order 1 * TODO: We implement VGA Enable in the Bridge Control Register 1 /* TODO: Multi-level untested */ 2 /* TODO: magic should contain PT_REG_MAGIC + %tt. */ 1 /* TODO: Implement vertical refresh. */ 1 /* Bus 11: TODO ucd90160@64 */ 1 /* TODO : Pad to minimum Ethernet frame length */ 1 /* Parse disassembler options and store state in info. FIXME: For the 1 /* TODO: Make this handle multiple masters. */ 1 * TODO: Move this to translator_loop, so that all const 1 /* FIXME: Try to work with the specified size instead of all the pages 1 'TODO:') 1 /* TODO: We don't support disabling vsx yet */ 1 /* FIXME - make sure System Software has finished writing incase 1 /* TODO: if the destination port is IMIF or EMIFF, set the dirty 1 /* FIXME: reset irq and sr state to empty queues. */ 1 * TODO: We don't need to re-do gen_intermediate_code, nor 1 /* FIXME this cast is evil */ 1 * TODO Can this be unified with bdrv_open_image()? 1 * TODO (clg@kaod.org): stolen from xilinx_spips.c. Should move to a 1 * FIXME: is there a qemu helper for this? 2 TODO: get subsystem vendor id from EEPROM for i82557C or later. 1 TODO: exp. rom baddr depends on a bit in EEPROM for i82558 or later. 1 /* TODO Better pass a option string/QDict/QemuOpts to add any rule? */ 1 /* FIXME: not working for surrogate pairs */ 1 * TODO: Add friendly names for the register nums. 1 /* TODO: in non-Bypass mode we probably need to just deassert the DRQ. */ 1 /* LATER TODO: statify all functions */ 1 /* FIXME (skiboot): This is the only XSCOM load. Bizarre. */ 1 omap_badwidth_write32(opaque, addr, value); /* TODO */ 1 /* TODO: should all of this only be done if dma->update, and otherwise 1 /* TODO: Give a moment to think if we want to redo driver settings 1 /* TODO: i2c-3: Add BIOS FRU eeprom@56 24c64 */ 1 * TODO: Perhaps allow bits to be a few bits less than the size. 1 /* TODO check 4.12 for splits */ 1 * FIXME: also avoid memory copy if there are multiple buffers 1 /* TODO: This is incorrect, but we get away with it because 1 /* FIXME first arg should be BusState */ 1 # FIXME: If T is a user-defined type, the user is responsible 1 * TODO: issue syncs required to ensure all in-flight interrupts 1 * TODO: generate event and event data bytes depending on the 1 /* FIXME report write? */ 1 /* TODO: test MSI support under Windows */ 1 return 0x00; /* TODO */ 1 * TODO: support vlan. 1 /* Bus 3: TODO max31785@52 */ 1 /* FIXME - what to do if get_user() fails? */ 1 /* TODO SOCKET_ADDRESS_KIND_FD where fd has AF_INET or AF_INET6 */ 1 * TODO: It might be better to use the existing extract64() and 1 /* TODO: signedness possibly depends on the CODEC hardware - or 1 * TODO: This is after a hard reboot typically, we need to do 1 /* FIXME: This should be merged into/replaced by eeprom93xx.c. */ 1 * TODO: remove this, make it re-enter safe. 1 # TODO Doc generated for conditions needs polish 1 /* TODO: Implement this. */ 2 /* TODO: Implement fault status registers. */ 1 /* TODO: Do something sensible with speed ? */ 1 #define MAC_WUFF 11 /* TODO */ 1 * FIXME: clearing unit attention conditions upon autosense should be done 1 g_warning("TODO handle ctrl %x\n", cmd->cmd_hdr.type); 1 # TODO: properly check we're in a code block 1 if (*++ptr != pix) { /* FIXME */ 1 * indicates XICS, even if we have ic-mode=xive. TODO: clean 1 case VC_EQC_CONFIG: /* TODO: silent escalation */ 1 /* TODO: TX ON/OFF */ 1 * FIXME: 1 /* TODO: reset value should be 0. */ 1 /* TODO: Add a trace point to mention the server complaint */ 1 * FIXME: clarify comment: 1 * TODO: ideally we should model the SoC RCC and its ability to 3 /* TODO: handle multiple chips on one ATAG list */ 1 /* TODO: negative values */ 1 /* FIXME What does Radeon have here? */ 1 case 0xfc: /* FIXME */ 1 /* Handle a denormalized number. FIXME: What should we do for 1 /* FIXME - check return value of memcpy_to_target() for failure */ 3 /* TODO: May need to handle devices deregistering during postcopy */ 1 * Todo (see also TODO in code): 1 /* TODO 17, 18, 27, 29, 30, 31 */ 1 SCMP_SYS(prctl), /* TODO restrict to just PR_SET_NAME? */ 1 * TODO: Connect the ALARM and SECONDS interrupts once our RTC model 1 /* TODO: Limit to 'len' */ 1 /* TODO: return first pixel components */ 1 /* FIXME Should these be the same as VGA CRTC regs? */ 1 /* XXX: TODO reset all internal peripherals */ 1 /* FIXME: how about if we overflow the page here? */ 1 case 0x80: /* TODO: AACS volume identifier */ 1 /* TODO: implement format using DMA expected by the Bochs BIOS 1 /* TODO */ 1 /* TODO: Implement address filter registers (or we don't care ?) */ 1 goto segv_and_exit; /* TODO: restore_rwin */ 1 /* FIXME - handle failure of get_user() */ 2 /* TODO: Find the actual hardware value */ 1 /* TODO: Implement dropped frames counter. */ 1 /* TODO: This and other bits probably depend on 1 /* FIXME: need specifier for mode 2 and 5 to simplify below insn patterns. */ 1 /* FIXME Get CPU name from CPU object */ 1 case TUSB_DMA_INT_SET: /* TODO: What do these two return? */ 1 * TODO: Support has to be added to handle more types. In particular, 1 /* FIXME - handle put_user() failures */ 3 * TODO: Synchronous, guaranteed unregistration (should not occur during 1 * FIXME TOCTTOU: this iterates over memory backends' mem-path, which 1 /* MAYBE TODO: write block-visofs.c */ 1 /* TODO: purge from char device */ 2 /* TODO: add list of allowed registers and error out if not */ 4 /* FIXME not qdev yet */ 1 (s->swar1 - s->last_swcr) * 10); /* TODO: fixup */ 1 /* TODO: check if SDL 24-bit planes are not in the same format and 1 /* TODO: N - 2 is frac_size for rounding; could use input fmt. */ 2 endian = 0; /* FIXME */ \ 2 * TODO Remove this helper and force callers to hold an inode refcount until 1 * TODO: Ideally we should have a clock framework that 1 printf("FIXME SUSPEND !!\n"); 1 /* TODO: update clocks */ 1 /* TODO report -ERANGE more nicely */ 4 request.crc = 0; /* FIXME */ 1 /* FIXME */ 1 case OPB_MASTER_LS_ROUTE0: /* TODO */ 2 * TODO: if qemu would support >64K packets 1 /* TODO: unsigned long orig_r2; */ 1 /* TODO: Implement LOOP mode. */ 2 * TODO: could we 'break' here? following operations appear 1 /* FIXME: This is unnecessary for periodic checkpoint mode */ 1 /* TODO: once we support numa, assign to right node */ 2 /* XXX: TODO */ 3 /* FIXME: bounds check the address */ 1 /* FIXME: Actually handle L2 cache mapping */ 1 /* FIXME: protect shared variables or use other sync mechanism */ 1 /* FIXME unaligned access */ 1 /* FIXME: Implement this. */ 2 * TODO: If we had a main 'reset container' that the whole system 1 * XXX TODO: Power Reduction Register support 1 * ID is 0x00406210. TODO: Do a gigabit PHY like BCM5400 1 /* TODO: possibly discard current buffer if overrun */ 1 /* FIXME use a qdev drive property instead of drive_get_next() */ 1 /* TODO: guarantee 64-bit single-copy atomicity */ 1 /* TODO: check size of statistical counters. */ 2 /* TODO: report an error mesage that makes sense. */ 1 /* TODO: replace rs->pending with watch->revents */ 1 /* TODO: init cmask */ 1 * TODO: make it hard error in future */ 1 /* TODO ultimately we should allow --target-image-opts 1 /* TODO set when bar is registered. no need to override. */ 2 /* FIXME: These should be shared with gdb somehow. */ 1 /* FIXME use a qdev chardev prop instead of serial_hd() */ 1 * TODO this should really be different for the two cores, but we 1 /* FIXME: what if irq is pending, allowed by mask, and we allow it 1 /* TODO: Don't ignore mbk. */ 1 /*TODO: Could just disable this sharer */ 2 /* FIXME use a qdev chardev prop instead of serial_hd() */ 1 /* FIXME - what to for failure of get_user()? */ 1 /* TODO: forwarded IRQs. Should be like HW triggers */ 1 * TODO Require !(perm & BLK_PERM_CONSISTENT_READ), too? 1 /* TODO: theoretically if ch->sync && ch->prefetch && 1 * FIXME: For the LM3S6965, not all of the PL061 instances have the 1 /* TODO: check PE/MSI assignement */ 1 * FIXME: better handle failure in vhost code, remove bh 1 * TODO: get_fd_from_hostaddr(), proxy_mrs_can_merge() and 1 /* TODO inverted pulse on timer->out_val == 1? */ 1 /* TODO Translate this into permission system. Current definition of 1 env->regs[5] = 0; /* FIXME: current->thread.last_break */ 1 /* FIXME: something might go wrong if System Software writes in chunks 1 /* FIXME: print_type_int64 mishandles values over INT64_MAX */ 1 /* FIXME: report device iotlb error */ 1 /* FIXME: queue notification to status pipe? */ 1 /* TODO: Implement other image types. */ 1 /* FIXME: Should this be sent via the PCI bus somehow? */ 1 * TODO: Currently the available panic actions are: none, pause, and 1 /* TODO: Assert wake-up */ 1 /* TODO: implement MAC hash filtering. */ 2 * anyway. (TODO: they could also send MODE SENSE). 1 /* TODO: We don't support disabling dfp yet */ 1 /* TODO: additional checks possible. */ 1 /* FIXME: Add F_ANACHRONISTIC flag for v9. */ 1 /* FIXME: multiply all volumes by s->outvol[0], s->outvol[1] */ 1 /* FIXME: attach to the sysbus instead */ 1 /* int is_annulled = 0; */ /* see FIXME below */ 1 /* TODO: Stash feature flags somewhere */ 1 /* TODO: Implement IPCR. */ 1 default: /* TODO: formats beyond DVD-ROM requires */ 1 /* TODO Running in the main context. Block drivers need to error out or add 1 * TODO: the entity of below two cases will be implemented in future series. 1 /* TODO: use pci_set_word */ 1 /* TODO: allow changing MBAR and RAMBAR. */ 1 case TUSB_GPIO_INT_SRC: /* TODO: What do these two return? */ 1 * TODO: Need a CPU helper to set HMER, also handle generation 1 /* TODO - we need to check whether mfromhost is zero which indicates 1 * FIXME: there is no documentation on Digic timer 1 /* FIXME: there is no backend(s) yet so just call a trace */ 1 /* TODO: cause an interrupt, as selected by the TCO_INT_SEL bits */ 1 /* FIXME: make the function non-blocking, or it may block a VCPU */ 1 /* FIXME: Should trigger a qmp message to let management know 1 /* TODO: Implement FIFO overflow notification. */ 1 /* FIXME: check interval (for now assume one xfer per frame) */ 1 * TODO: This currently expects the only frontend supporting more than 2 1 /* TODO: host to guest notifications can get dropped 1 /* TODO: Many places that call this routine could be optimized. */ 1 * TODO: This is Linux specific 1 /* FIXME suspicious: many errors are reported, then ignored */ 1 * FIXME should read only complete, valid UTF-8 characters up 1 * FIXME: in softmmu mode, the gdbstub will schedule our callback 1 /* FIXME: reflect DIM */ 1 /* TODO: wake-up */ 1 * TODO: always disable this workaround for virtio 1.0 devices. 1 printf("FIXME Command %d !!\n", cmd & 7); 1 /* LATER TODO: still true for FAT32? */ 1 /* TODO: reissue the interrupt every 100ms or so. */ 2 * FIXME: we shouldn't return anything bigger than 4k, but the code 1 FIXME: Make this optional later. */ 1 /* FIXME: If odd address, this is CLEARLY a mips 16 instruction. */ 1 * TODO We might want to use bdrv_block_status(bs) here, but we're 1 * FIXME: if s->waiting != LSI_NOWAIT, this will only execute one 2 * TODO Figure out what we really need here, and clean this up. 1 /* FIXME move that to avr_cpu_set_int() once 'sample' board is removed */ 1 * TODO: fix ich9.c and drop the extra allocation. 1 /* TODO use QAPI_CLONE() instead of duplicating it inline */ 3 /* TODO: add ":bootsector=blabla.img:" */ 1 /* TODO - Not Supported */ 1 /* FIXME: This can be lw or la. We assume it is lw. */ 1 /* XXX TODO */ 1 /* TODO: Implement MAC address filtering. */ 1 /* XXX: TODO: update DBSR[MRR] */ 1 # FIXME: Our declaration of local variables (and of 'errp' in the 1 /* TODO: Maybe use a static crw pool? */ 1 (*regs)[TARGET_REG_SYSCALL] = 0; /* FIXME */ 1 /* TODO: FIFO overflow checking. */ 1 aml_append(pkg, aml_int(1)); /* PM1b_CNT.SLP_TYP, FIXME: not impl. */ 1 case RETU_REG_IDR: /* TODO: Or is this ffs(s->irqst)? */ 1 val = 7; /* FIXME: should be read from EISA controller */ 1 # TODO: Remove after Python 3.7 adds @dataclass: 1 /* TODO: assert these after some timeout ? */ 1 /* Handle denormalized numbers. FIXME: What should we do for 1 break; /* XXX: TODO: Reset various devices. */ 1 /* TODO Drivers without bdrv_file_open must be specified explicitly */ 1 /* TODO check for errors, and should fail when msix=on */ 1 /* FIXME - what to do if get_user() fails? */ 1 * TODO: port endianness 1 #TODO: need to find out what's the parent class type... 1 * TODO: CQ_INT_ADDR_OPT for 1-block-per-chip mode 1 /* TODO: Implement power control. */ 1 * TODO: make sure there would have no conflict with real PCI bus 1 /* TODO: Add Memory Riser i2c mux and eeproms. */ 1 case 0x90: /* TODO: List of recognized format layers */ 1 return; /* TODO */ 3 * TODO: if qemu would support >64K packets - add jumbo option check 1 * TODO: find out whether the FIFO is advanced a single character 1 /* TODO: move socket_id/core_id/thread_id checks into x86_cpu_realizefn() 1 // TODO write back ptr to async list when done or out of time 1 /* FIXME: section subtype and creator id? */ 1 /* TODO: check extended tcb support. */ 1 /* TODO: OSv implements wait morphing here, where the wakeup 1 /* TODO Catch duplicate monitor IDs */ 1 * FIXME: should not return to device code in case 1 /* FIXME: Remove when we have custom CPU address space support */ 1 /* FIXME it is probably more complex than this and may need to be */ 1 /* TODO bpp */ 1 /* FIXME: Implement these. */ 2 mpu->ulpd_pm_regs[0x40 >> 2] = 0x0000; /* FIXME: dump a real STATUS_REQ */ 1 /* FIXME: This is a very crude algorithm, somewhat prone to oscillation. */ 1 /* FIXME Deprecate and remove keypairs or make it available in QMP. */ 1 /* FIXME: Unsure if info->bytes_per_chunk is the 1 /* TODO: Signal that we want to disable the functional clock and let 1 * TODO (PowerNV): ignore mode. The low order bits of the NVT 1 /* TODO: TCG will support all CPU types */ 1 /* TODO - host soft reset */ 1 /* TODO: extra fields need to be added to support revisions above rev5 */ 1 case FTGMAC100_ITC: /* TODO: Interrupt Timer Control */ 1 * TODO: if adding more ResetType support, some additional checks 1 /* TODO: RST# value should be 0, PCI spec 6.2.4 */ 1 /* TODO: There's lots of complicated stuff to do here */ 1 /* FIXME - Disable instructions that are newer than the specified arch */ 1 /* TODO: Implement CH (stop) bit. */ 1 /* FIXME: There are dozens of them. Not sure we want them all. 1 __put_user(0, &sf->rwin_save); /* TODO: save_rwin_state */ 2 /* TODO: IP and NOP need to be implemented later. */ 1