Merge branch 'mainline' into relocator

Conflicts:
	loader/i386/multiboot.c
This commit is contained in:
Vladimir 'phcoder' Serbinenko 2009-08-23 01:31:12 +02:00
commit 5e03640baf
56 changed files with 2847 additions and 4824 deletions

View file

@ -1732,6 +1732,52 @@ FUNCTION(grub_vbe_bios_get_mode)
popl %ebp
ret
/*
* grub_vbe_status_t grub_vbe_bios_getset_dac_palette_width (int set, int *dac_mask_size)
*
* Register allocations for parameters:
* %eax set
* %edx *dac_mask_size
*/
FUNCTION(grub_vbe_bios_getset_dac_palette_width)
pushl %ebp
pushl %ebx
xorl %ebx, %ebx
/* If we only want to fetch the value, set %bl to 1. */
testl %eax, %eax
jne 1f
incb %bl
1:
/* Put desired width in %bh. */
movl (%edx), %eax
movb %al, %bh
call prot_to_real
.code16
movw $0x4f08, %ax
int $0x10
movw %ax, %dx /* real_to_prot destroys %eax. */
DATA32 call real_to_prot
.code32
/* Move result back to *dac_mask_size. */
movb %bh, %al
movl %eax, (%edx)
/* Return value in %eax. */
xorl %eax, %eax
movw %dx, %ax
popl %ebx
popl %ebp
ret
/*
* grub_vbe_status_t grub_vbe_bios_set_memory_window (grub_uint32_t window,
* grub_uint32_t position);