| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '34005a0060c176b3025a9e7c5d064615a9f80325':
Add configure option to compile user targets as PIE
Fix text relocations in linux-user targets
Do not link usermode targets with libhw*.a
Work around OpenSolaris sys/regset.h namespace pollution
Fix signedness warnings on OpenSolaris
Add #defines needed by OpenSolaris, fix breakage by the #defines
Fix OpenSolaris build breaking typos
Add 'static'
Conflicts:
Makefile.target
Signed-off-by: Marcelo Tosatti <mtosatti@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
We need to define _XOPEN_SOURCE and __EXTENSIONS__ macros in order to get
CMSG_ and TIOCWIN macros defined. But then _POSIX_C_SOURCE gets defined, which
is (incorrectly) used as an indicator for existence of posix_memalign() in osdep.c.
Signed-off-by: Blue Swirl <blauwirbel@gmail.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '4dd75c702c96ec84db4efe24fcc80a4d7bb32df2':
make pthreads mandatory
qemu: move virtio-pci.o to near pci.o
char: Emit 'CLOSED' events on char device close
cleanup cpu-exec.c, part 0/N: consolidate handle_cpu_signal
unify popen/fopen qemu wrappers
Only build osdep once
Conflicts:
block/raw-posix.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| | |
We no longer need hackery to work around kqemu
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '4a1418e07bdcfaa3177739e04707ecaec75d89e1':
Unbreak large mem support by removing kqemu
Add a configure switch to enable / disable all user targets. I felt compelled to do it for symmetry, mostly it is useful to disable user targets when you don't want to build them.
Migration via unix sockets.
Conflicts:
Makefile.target
exec.c
osdep.c
vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
kqemu introduces a number of restrictions on the i386 target. The worst is that
it prevents large memory from working in the default build.
Furthermore, kqemu is fundamentally flawed in a number of ways. It relies on
the TSC as a time source which will not be reliable on a multiple processor
system in userspace. Since most modern processors are multicore, this severely
limits the utility of kqemu.
kvm is a viable alternative for people looking to accelerate qemu and has the
benefit of being supported by the upstream Linux kernel. If someone can
implement work arounds to remove the restrictions introduced by kqemu, I'm
happy to avoid and/or revert this patch.
N.B. kqemu will still function in the 0.11 series but this patch removes it from
the 0.12 series.
Paul, please Ack or Nack this patch.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'eb82284f180196f911fd70ebf0cddfbfdf5af3e3': (38 commits)
simplify brlapi selection
simplify curses library selection
Define and use xen libs in a single place
indent with 2 spaces sdl tests
remove sdl_static. Just do the right thing if static is yes
target_softmmu is undefined at that point
instead of setup sdl_x11 just add -lX11 to sdl_libs
Calculate sdl_libs and sdl_flags and use them everywhere
sdl_config value was always sdl-config
the else part of this test is obsolete We are testing for sdl = yes inside the else part of the test if sdl = yes
Use CONFIG_POSIX to simplify Makefile
Add CONFIG_POSIX
rename WORDS_BIGENDIAN to HOST_WORDS_BIGENDIAN
rename DEBUG_EXEC to CONFIG_DEBUG_EXEC
rename DEBUG_TCG to CONFIG_DEBUG_TCG
rename HAVE_BYTESWAP_H to CONFIG_BYTESWAP_H
rename HAVE_GPROF to TARGET_GPROF
rename HAVE_MACHINE_BSWAP_H to CONFIG_MACHINE_BSWAP_H
rename HAVE_FNMATCH_H to CONFIG_FNMATCH
rename HAVE_IOVEC to CONFIG_IOVEC
...
Conflicts:
configure
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| | |
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'dfe5fff3eaab1285cd1565fa0a33e5acd13b279c':
change HOST_SOLARIS to CONFIG_SOLARIS{_VERSION}
Enable USE_DIRECT_JUMP on Win32.
Remove special Win32 code in vl.c that's no longer needed.
Remove setvbuf(<handle>, NULL, _IOLBF, 0) calls for Win32
Conflicts:
cpu-exec.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| | |
Signed-off-by: Juan Quintela <quintela@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit '94c5495dd16ca3311cbc95705e58d28a45899d1d':
MIPS signal handling fix
Enable MIPS NPTL
MIPS atomic instructions
MIPS usermode TLS register
Fix MIPS sys_clone
qdev: convert ac97.
qdev: convert es1370.
qdev/pci: misc fixes.
qdev: remove DeviceType
qdev: replace bus_type enum with bus_info struct.
qdev: update pci device registration.
Remove SDL/ prefix
Add out of memory and zero size argument checks to be consistent with
Fix the PCI header type of APB
Update OpenBIOS images to r505
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| | |
the qemu_malloc routines
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* 'master' of git://git.sv.gnu.org/qemu: (116 commits)
kvm: add error message for when SMP is requested
Remove initrd warning message
initialize struct sigevent before timer_create
Fix NULL alarm_timer pointer at exit
keep initrd in below 4g area.
migrate.c: migrate_fd_put_buffer: Do not busyloop: stop writing if EWOULDBLOCK
kvm: work around supported cpuid ioctl() brokenness
remove gcc 3.x requirement from documentation
Remove dead code
Format per CODING_STYLE
Abort on attempts to allocate zero bytes
Unbreak out-of-tree builds
Hardware convenience library
Disable >4G ram support on 32-bit targets
Only define __llseek if it is going to be used
Avoid implicit truncation compiler warnings
Remove obsolete BIOS_SIZE from sysemu.h
cris: First shot at qdev for CRIS interrupts.
etrax: Don't keep the passed irq pointer.
etrax: Remove unused eth irq line.
...
Conflicts:
Makefile
Makefile.target
block/raw-posix.c
configure
hw/boards.h
hw/pc.h
hw/pci.c
hw/virtio-console.c
target-ppc/cpu.h
vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
osdep.c is built in both as a toplevel target independant object, and
as a per-target object because of kqemu dependencies. Under some
circumstances make picks up the wrong one.
Build the former as tool-osdep to avoid this conflict.
Signed-off-by: Paul Brook <paul@codesourcery.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* commit 'master': (180 commits)
xen: add -vga xenfb option, configure xenfb (Gerd Hoffmann)
simplify vga selection (Gerd Hoffmann)
xen: pv domain builder. (Gerd Hoffmann)
xen: blk & nic configuration via cmd line. (Gerd Hoffmann)
xen: add net backend driver. (Gerd Hoffmann)
xen: add block device backend driver. (Gerd Hoffmann)
xen: add framebuffer backend driver (Gerd Hoffmann)
xen: add console backend driver. (Gerd Hoffmann)
xen: backend driver core (Gerd Hoffmann)
xen: groundwork for xen support (Gerd Hoffmann)
update .gitignore: add qemu-io (Gerd Hoffmann)
qcow2: Add plausibility check for L1/L2 entries (Kevin Wolf)
qcow2: Refcount checking code cleanup (Kevin Wolf)
Introduce qemu-img check subcommand (Kevin Wolf)
Introduce bdrv_check (Kevin Wolf)
qcow2: Fix warnings in check_refcount() (Kevin Wolf)
sending NUMA topology to BIOS (Andre Przywara)
add info numa command to monitor (Andre Przywara)
added -numa cmdline parameter parser (Andre Przywara)
Safety net for the cases where disassembler/translator disagree over instruction decoding
...
Conflicts:
Makefile
Makefile.target
configure
cpu-all.h
gdbstub.c
hw/apic.c
hw/cirrus_vga.c
hw/eepro100.c
hw/pc.c
hw/pcnet.c
hw/rtl8139.c
hw/vga.c
net.c
pc-bios/bios.bin
sysemu.h
vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Basically a recursive ":%s/USE_KQEMU/CONFIG_KQEMU/g".
Signed-off-by: Paul Bolle <pebolle@tiscali.nl>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@7189 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qemu-cvs: (37 commits)
Revert r6404
Revert r6405
Revert r6406
Revert r6407
Revert r6408
tcg: move {not,neg}_i{32,64} definitions at the right place
tcg: fix commit r6805
Clean build: Add bt-host.h
tcg-arm: fix qemu_ld64
tcg: update TODO
tcg/x86: add not/neg/extu/bswap/rot i32 ops
tcg: optimize logical operations
target-ppc: fix commit r6789
musicpal: Reorganize IO memory handling (Jan Kiszka)
Fix tcg after commit 6800
target-mips: use nor instead of or + not
tcg: use TCGV_EQUAL_I{32,64}
tcg: define TCGV_EQUAL_I{32,64}
tcg: optimize nor(X, Y, Y), used on PPC for not(X, Y)
Implement TCG not ops for x86-64
...
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We want to globally define WIN_LEAN_AND_MEAN and WINVER to particular values so
let's do it in OS_CFLAGS.
Then, we can pepper in windows.h includes where using #includes that require it.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6783 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
* qemu-cvs: (135 commits)
Use firmware configuration instead of NVRAM (initial patch by Aurelien Jarno)
Add new entries to firmware configuration device
Rename _BSD to HOST_BSD so that it's more obvious that it's defined by configure
target-mips: remove dead code
target-mips: rename helpers from do_ to helper_
do not pretend to support low voltage operation
Fix correct reset value for ARM CP15 c1 auxiliary control register
Work around QEMU GDB stub suboptimality
Fix off-by-one errors for Altivec and SPE registers
Use C99 initializers for BlockDriver methods
clean build: Fix remaining m68k warnings
clean build: Fix arm build warnings
arm: Fix gic_irq_state.level bitfield type
target-ppc: move the CD-ROM drive to the second IDE
ppc_oldworld: swap the MACIO and CMD646 IDE controllers
Use a dedicated function to request exit from execution loop
Fix texinfo syntax errors.
Disable BAT for 970
Fix mfcr on ppc64-softmmu
Keep SLB in-CPU
...
Conflicts:
qemu/configure
qemu/cpu-defs.h
qemu/exec.c
qemu/hw/pci-hotplug.c
qemu/monitor.c
qemu/net.c
qemu/pc-bios/Makefile
qemu/pc-bios/bios.bin
qemu/qemu-tool.c
qemu/sysemu.h
qemu/vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| | |
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6775 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| | |
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6746 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| | |
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6742 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Fix Sparse warnings:
* use NULL instead of plain 0
* rearrange header include order to avoid redefining types accidentally
* ANSIfy SLIRP
* avoid "restrict" keyword
* add static
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@6736 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qemu/Makefile
qemu/Makefile.target
qemu/block-raw-posix.c
qemu/configure
qemu/cutils.c
qemu/dyngen.c
qemu/hw/cirrus_vga.c
qemu/hw/e1000.c
qemu/hw/pci.c
qemu/hw/vga.c
qemu/osdep.c
qemu/pc-bios/Makefile
qemu/qemu-common.h
qemu/target-ppc/helper.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
since _BSD if already handled in osdep.c:qemu_memalign(), we don't need to
check it in the calling function again. getpagesize() is available in BSD.
Signed-off-by: Andre Przywara <andre.przywara@amd.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5983 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qemu/block-raw-posix.c
qemu/configure
qemu/cpu-defs.h
qemu/cpu-exec.c
qemu/exec.c
qemu/gdbstub.c
qemu/loader.c
qemu/osdep.c
qemu/sysemu.h
qemu/target-i386/helper.c
qemu/target-ppc/cpu.h
qemu/target-ppc/helper.c
qemu/usb-linux.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| | |
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5778 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| | |
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5730 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
qemu/osdep.c
qemu/vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Unfortunately, -linux-user doesn't use osdep as it replaces some of those
functions with specific ones. The code #ifdef code in exec.c needs to
remain in place so instead of introducing a qemu_getpagesize() let's just
use getpagesize() in the non-Windows implementation of qemu_vmalloc.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5703 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| |
| |
| |
| |
| | |
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5702 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| |
| |
| |
| |
| | |
Signed-off-by: Hollis Blanchard <hollisb@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5701 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qemu/block-raw-posix.c
qemu/hw/pc.c
qemu/monitor.c
qemu/vl.c
Signed-off-by: Avi Kivity <avi@redhat.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Right now, we sprinkle #if defined(QEMU_IMG) && defined(QEMU_NBD) all over the
code. It's ugly and causes us to have to build multiple object files for
linking against qemu and the tools.
This patch introduces a new file, qemu-tool.c which contains enough for
qemu-img, qemu-nbd, and QEMU to all share the same objects.
This also required getting qemu-nbd to be a bit more Windows friendly. I also
changed the Windows block-raw to use normal IO instead of overlapping IO since
we don't actually do AIO yet on Windows. I changed the various #if 0's to
#if WIN32_AIO to make it easier for someone to eventually fix AIO on Windows.
After this patch, there are no longer any #ifdef's related to qemu-img and
qemu-nbd.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5226 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| |
| |
| |
| |
| | |
Conflicts:
qemu/configure
Signed-off-by: Avi Kivity <avi@qumranet.com>
|
| |
| |
| |
| | |
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5012 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qemu/block-raw-posix.c
qemu/configure
qemu/exec.c
qemu/hw/pc.c
qemu/sysemu.h
qemu/vl.c
Signed-off-by: Avi Kivity <avi@qumranet.com>
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qemu/Makefile
qemu/Makefile.target
qemu/configure
qemu/cpu-all.h
qemu/cpu-exec.c
qemu/exec.c
qemu/hw/boards.h
qemu/hw/pc.c
qemu/hw/vga.c
qemu/monitor.c
qemu/osdep.c
qemu/pc-bios/bios.bin
qemu/sysemu.h
qemu/vl.c
|
| |
| |
| |
| |
| |
| |
| | |
Anthony Liguori.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4265 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| |
| |
| |
| | |
not yet ready.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4240 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| |
| |
| |
| | |
Anthony Liguori.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4238 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| |
| |
| |
| | |
which results in emptying this virtual file system.
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4228 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
qemu/Makefile.target
qemu/configure
qemu/cutils.c
qemu/exec.c
qemu/hw/acpi.c
qemu/hw/apic.c
qemu/hw/ide.c
qemu/hw/pc.c
qemu/monitor.c
qemu/pc-bios/bios.bin
qemu/pc-bios/bios.diff
qemu/qemu-img.c
qemu/vl.c
Signed-off-by: Avi Kivity <avi@qumranet.com>
|
| |
| |
| |
| |
| |
| |
| | |
(Kevin Wolf)
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4191 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch attempts to clean up the interactions between KVM and QEMU. Sorry
for such a big patch, but I don't think there's a better way to approach this
such that it's still bisect friendly. I think this is most of what's needed to
get basic KVM support into QEMU though.
Right now, there's a mix of #ifdef USE_KVM, if (kvm_allowed), and various
extern declarations. It's all pretty fugly and there's a lot of mistakes due
to it.
The following patch eliminates almost all uses of #ifdef USE_KVM by introducing
a kvm_enabled() macro. If USE_KVM is set, this macro evaluates to kvm_allowed.
If USE_KVM isn't set, the macro evaluates to 0.
Since GCC eliminates if (0) blocks, this is just as good as using #ifdef. By
making sure that we never call into libkvm directly from QEMU, we can also just
not link qemu-kvm when USE_KVM isn't set instead of having the entire file
wrapped in a USE_KVM.
We also change the --enable-kvm configure option to --disable-kvm since KVM is
enabled by default.
I've tested this patch on x86 with 32-bit and 64-bit Linux guests and a 32-bit
Windows guest. I've also tested with USE_KVM not set. Jerone has also
verified that it doesn't PPC. My apologies if it breaks ia64 but I have no
way of testing that.
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Signed-off-by: Avi Kivity <avi@qumranet.com>
|
|\|
| |
| |
| |
| |
| | |
Conflicts:
qemu/block.h
qemu/hw/ide.c
|
| |
| |
| |
| | |
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3848 c046a42c-6fe2-441c-8c8c-71466251a162
|
| |
| |
| |
| | |
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3832 c046a42c-6fe2-441c-8c8c-71466251a162
|
|\|
| |
| | |
Signed-off-by: Avi Kivity <avi@qumranet.com>
|
| |
| |
| |
| | |
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@3683 c046a42c-6fe2-441c-8c8c-71466251a162
|