1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-20 20:09:11 +00:00

- Add ahci emulation fix for FreeBSD guests. [1]

- Add OPTION to build a seabios git snapshot that add ahci boot disk
  emulation. [2]
- Bump PORTREVISION.

Submitted by:	avg [1]
Suggested by:	avg [2]
This commit is contained in:
Juergen Lock 2011-09-16 19:17:12 +00:00
parent 3aaaebfa50
commit 78889e9c76
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=281855
3 changed files with 38 additions and 1 deletions

View File

@ -7,6 +7,7 @@
PORTNAME= qemu
PORTVERSION= 0.15.0
PORTREVISION= 1
CATEGORIES= emulators
MASTER_SITES= SAVANNAH:release \
http://wiki.qemu.org/download/:release \
@ -44,6 +45,7 @@ OPTIONS= SAMBA "samba dependency (for -smb)" Off \
CURL "libcurl dependency (remote images)" On \
CDROM_DMA "IDE CDROM DMA" On \
PCAP "pcap dependency (networking with bpf)" On \
SEABIOS_GIT "add seabios snapshot (-bios seabios-devel.bin)" On \
USBREDIR "usb device network redirection (experimental!)" Off \
GNS3 "gns3 patches (udp, promiscuous multicast)" Off \
ADD_AUDIO "Emulate more audio hardware (experimental!)" Off \
@ -133,6 +135,10 @@ CONFIGURE_ARGS+= --audio-card-list=ac97,es1370,sb16,cs4231a,adlib,gus,hda
RUN_DEPENDS+= ${LOCALBASE}/sbin/smbd:${PORTSDIR}/net/samba35
.endif
.if defined(WITH_SEABIOS_GIT)
RUN_DEPENDS+= ${LOCALBASE}/share/qemu/seabios-devel.bin:${PORTSDIR}/emulators/seabios-devel
.endif
.if defined(NOPORTDOCS)
MAKE_ARGS+= NOPORTDOCS=${NOPORTDOCS}
.else

View File

@ -0,0 +1,31 @@
--- qemu/hw/ide/ahci.c.prev 2011-09-11 16:39:53.000000000 +0300
+++ qemu/hw/ide/ahci.c 2011-09-11 16:39:48.000000000 +0300
@@ -505,10 +505,7 @@ static void ahci_reset_port(AHCIState *s
ide_bus_reset(&d->port);
ide_state->ncq_queues = AHCI_MAX_CMDS;
- pr->irq_stat = 0;
- pr->irq_mask = 0;
pr->scr_stat = 0;
- pr->scr_ctl = 0;
pr->scr_err = 0;
pr->scr_act = 0;
d->busy_slot = -1;
@@ -1157,12 +1154,17 @@ void ahci_uninit(AHCIState *s)
void ahci_reset(void *opaque)
{
struct AHCIPCIState *d = opaque;
+ AHCIPortRegs *pr;
int i;
d->ahci.control_regs.irqstatus = 0;
d->ahci.control_regs.ghc = 0;
for (i = 0; i < d->ahci.ports; i++) {
+ pr = &d->ahci.dev[i].port_regs;
+ pr->irq_stat = 0;
+ pr->irq_mask = 0;
+ pr->scr_ctl = 0;
ahci_reset_port(&d->ahci, i);
}
}

View File

@ -98,4 +98,4 @@ etc/qemu/target-x86_64.conf.sample
%%DATADIR%%/keymaps/th
%%DATADIR%%/keymaps/tr
@dirrm %%DATADIR%%/keymaps
@dirrm %%DATADIR%%
@dirrmtry %%DATADIR%%