Re: [SeaBIOS] [PATCH 0/3] Run pvscsi driver entirely in 32bit mode.

2014-05-30 Thread Don Koch
On Wed, 14 May 2014 19:40:23 -0400 Kevin O'Connor wrote: > On Wed, May 14, 2014 at 01:00:39PM -0400, Don Koch wrote: > > On Fri, 27 Dec 2013 12:17:42 -0500 > > Kevin O'Connor wrote: > > > As with the recent change to AHCI, if the pvscsi driver needs to jump > > > into 32bit mode to access a regi

[SeaBIOS] [PATCH 0/3] Extended disk drive (EDD) cleanups

2014-05-30 Thread Kevin O'Connor
This series cleans up the int1348 logic a bit. It separates it out from disk.c and breaks out some of the controller specific logic. -Kevin Kevin O'Connor (3): edd: Move EDD get drive parameters (int 1348) logic from disk.c to block.c. edd: Use sectors==-1 to detect removable media. e

[SeaBIOS] [PATCH 2/3] edd: Use sectors==-1 to detect removable media.

2014-05-30 Thread Kevin O'Connor
Don't look for DTYPE_ATA_ATAPI to determine if a removable media (such as a cdrom) is present, instead look for a -1 in the sector count. This improves the results for cdroms on controllers other than ATA ATAPI. Signed-off-by: Kevin O'Connor --- src/block.c | 5 ++--- 1 file changed, 2 insertion

[SeaBIOS] [PATCH 1/3] edd: Move EDD get drive parameters (int 1348) logic from disk.c to block.c.

2014-05-30 Thread Kevin O'Connor
Signed-off-by: Kevin O'Connor --- src/block.c | 179 +++ src/block.h | 3 +- src/disk.c | 181 +--- 3 files changed, 184 insertions(+), 179 deletions(-) diff --git a/src/block.c b/s

[SeaBIOS] [PATCH 3/3] edd: Separate out ATA and virtio specific parts of fill_edd().

2014-05-30 Thread Kevin O'Connor
This also changes DTYPE_VIRTIO_SCSI drives to report that they are using a "SCSI" bus instead of an "ATA" bus - it was obviously incorrect before. Signed-off-by: Kevin O'Connor --- src/block.c | 169 +++- 1 file changed, 88 insertions(+), 8

[SeaBIOS] [PATCH 1/2] cdemu: store internal cdemu fields in standard "el-torito" spec format.

2014-05-30 Thread Kevin O'Connor
Store the fields necessary to export the "el-torito" spec information directly in an internal copy of the "el-torito" struct. This simplifies the interface and obviates the need for an internal home grown struct with the same info. Signed-off-by: Kevin O'Connor --- src/block.h| 15 -

[SeaBIOS] [PATCH 2/2] Move cdemu call interface and disk_ret helper code to disk.c.

2014-05-30 Thread Kevin O'Connor
Signed-off-by: Kevin O'Connor --- src/block.c | 31 --- src/block.h | 10 -- src/cdrom.c | 17 - src/disk.c | 53 - src/util.h | 1 - 5 files changed, 52 insertions(+), 60 deletions(-) diff

[SeaBIOS] [PATCH 4/5] smm: Replace SMI assembler code with C code.

2014-05-30 Thread Kevin O'Connor
Convert the SMI handler from assembly to C. This makes the handler easier to understand and enhance. The new handler will use references to the reserved memory at 0xf-0x10. If the physical memory in that range is modified at runtime, then the SMI handler will cease to function properly (

[SeaBIOS] [PATCH 3/5] smm: unify SMM handlers

2014-05-30 Thread Paolo Bonzini
The next patch will add shared code between the initial handler for SMBASE relocation and the actual SMI handler. Combine the code of the two handlers for simplicity. Signed-off-by: Paolo Bonzini --- src/fw/smm.c | 27 +++ 1 file changed, 11 insertions(+), 16 deletions(-

[SeaBIOS] [PATCH 0/5] Convert SMM handler to C

2014-05-30 Thread Kevin O'Connor
This series converts the SMM handler to C. It is based on top of Paolo's SMM patch series, which I've included here as reference. -Kevin Kevin O'Connor (2): smm: Replace SMI assembler code with C code. smm: Use a C struct to define the layout of the SMM area. Paolo Bonzini (3): piix: add

[SeaBIOS] [PATCH 2/5] smm: complete SMM setup

2014-05-30 Thread Paolo Bonzini
SMI generation requires two bits to be set in PIIX4, one for APMC interrupts specifically and a general one. For Q35 it is the same, plus it is a good thing to lock SMIs after enabling them. Signed-off-by: Paolo Bonzini --- src/fw/dev-piix.h | 2 ++ src/fw/dev-q35.h | 3 +++ src/fw/smm.c

[SeaBIOS] [PATCH 1/5] piix: add and use dev-piix.h

2014-05-30 Thread Paolo Bonzini
Move all definitions for PIIX registers to a single header file, like there is one already for Q35, and make the naming more consistent. Signed-off-by: Paolo Bonzini --- src/fw/acpi.c | 18 ++ src/fw/dev-piix.h | 27 +++ src/fw/pciinit.c | 13 +++-

[SeaBIOS] [PATCH 5/5] smm: Use a C struct to define the layout of the SMM area.

2014-05-30 Thread Kevin O'Connor
Describe the memory layout using a struct instead of hard coded offsets. Signed-off-by: Kevin O'Connor --- src/config.h| 5 ++--- src/fw/smm.c| 64 ++--- src/romlayout.S | 2 +- 3 files changed, 55 insertions(+), 16 deletions(-) diff

[SeaBIOS] [PATCH] smp: Replace QEMU SMP init assembler code with C; run only in 32bit mode.

2014-05-30 Thread Kevin O'Connor
Change the multi-processor init code to trampoline into 32bit mode on each of the additional processors. Implement an atomic lock so that each processor performs its initialization serially. Signed-off-by: Kevin O'Connor --- Makefile| 3 +- src/config.h| 1 + src/fw/smp.c| 1

[SeaBIOS] [PATCH] Don't enable thread preemption during S3 resume vga option rom execution.

2014-05-30 Thread Kevin O'Connor
Signed-off-by: Kevin O'Connor --- src/stacks.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/stacks.c b/src/stacks.c index 6bcb319..beccc0f 100644 --- a/src/stacks.c +++ b/src/stacks.c @@ -287,7 +287,7 @@ thread_init(void) int threads_during_optionroms(void) { -re

[SeaBIOS] [PATCH] Remove old Bochs bios fixed address string at 0xfff00.

2014-05-30 Thread Kevin O'Connor
There is no indication that the address 0xff00 is a BIOS standard, so don't emit the old Bochs copyright string at that fixed address. Signed-off-by: Kevin O'Connor --- src/misc.c | 3 --- 1 file changed, 3 deletions(-) diff --git a/src/misc.c b/src/misc.c index 6712355..21693fc 100644 --- a/sr

[SeaBIOS] [PATCH] Move most of the VAR16FIXED() defs to misc.c.

2014-05-30 Thread Kevin O'Connor
Signed-off-by: Kevin O'Connor --- src/disk.c | 3 --- src/hw/floppy.c | 2 -- src/misc.c | 8 src/serial.c| 3 --- src/util.h | 1 + 5 files changed, 9 insertions(+), 8 deletions(-) diff --git a/src/disk.c b/src/disk.c index 2aadd8a..fe2e2c3 100644 --- a/src/disk.c ++