Skip to contentSkip to conversation

Add DPMS support to cirrus vga bios.

PATCH In review Gleb Natapov 3 participants 3 messages Dec 11, 2008

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add DPMS support to cirrus vga bios.

I am not sure who maintains vgabios :(

vgabios/clext.c +34 -2
index ea37ec5..c7a2ad0 100644
@@ -510,7 +510,7 @@ cirrus_vesa:
 #ifdef CIRRUS_DEBUG
   call cirrus_debug_dump
 #endif
-  cmp al, #0x0F
+  cmp al, #0x10
   ja cirrus_vesa_not_handled
   push bx
   xor bx, bx
@@ -1196,6 +1196,37 @@ cirrus_vesa_07h_2:
   mov  ax, #0x004f
   ret
 
+cirrus_vesa_10h:
+  cmp bl, #0x00
+  jne cirrus_vesa_10h_01
+  mov bx, #0x0f30
+  mov ax, #0x004f
+  ret
+cirrus_vesa_10h_01:
+  cmp bl, #0x01
+  jne cirrus_vesa_10h_02
+  push dx
+  push ds
+  mov dx, #0x40
+  mov ds, dx
+  mov [0xb9], bh
+  pop ds
+  pop dx
+  mov ax, #0x004f
+  ret
+cirrus_vesa_10h_02:
+  cmp bl, #0x02
+  jne cirrus_vesa_unimplemented
+  push dx
+  push ds
+  mov dx, #0x40
+  mov ds, dx
+  mov bh, [0xb9]
+  pop ds
+  pop dx
+  mov ax, #0x004f
+  ret
+
 cirrus_vesa_unimplemented:
   mov ax, #0x014F ;; not implemented
   ret
@@ -1612,7 +1643,8 @@ cirrus_vesa_handlers:
   dw cirrus_vesa_unimplemented
   dw cirrus_vesa_unimplemented
   dw cirrus_vesa_unimplemented
-
+  ;; 10h
+  dw cirrus_vesa_10h
 
 
 ASM_END

--
Gleb.

#1 lore raw
Quoted 1 line · Gleb Natapov

I am not sure who maintains vgabios :(

Volker does at http://www.nongnu.org/vgabios/

- Sebastian

Quoted 65 lines
vgabios/clext.c +32 -1
index ea37ec5..c7a2ad0 100644
@@ -510,7 +510,7 @@ cirrus_vesa:
 #ifdef CIRRUS_DEBUG
  call cirrus_debug_dump
 #endif
-  cmp al, #0x0F
+  cmp al, #0x10
  ja cirrus_vesa_not_handled
  push bx
  xor bx, bx
@@ -1196,6 +1196,37 @@ cirrus_vesa_07h_2:
  mov  ax, #0x004f
  ret
 
+cirrus_vesa_10h:
+  cmp bl, #0x00
+  jne cirrus_vesa_10h_01
+  mov bx, #0x0f30
+  mov ax, #0x004f
+  ret
+cirrus_vesa_10h_01:
+  cmp bl, #0x01
+  jne cirrus_vesa_10h_02
+  push dx
+  push ds
+  mov dx, #0x40
+  mov ds, dx
+  mov [0xb9], bh
+  pop ds
+  pop dx
+  mov ax, #0x004f
+  ret
+cirrus_vesa_10h_02:
+  cmp bl, #0x02
+  jne cirrus_vesa_unimplemented
+  push dx
+  push ds
+  mov dx, #0x40
+  mov ds, dx
+  mov bh, [0xb9]
+  pop ds
+  pop dx
+  mov ax, #0x004f
+  ret
+

cirrus_vesa_unimplemented:
mov ax, #0x014F ;; not implemented
ret

vgabios/clext.c +2 -1
@@ -1612,7 +1643,8 @@ cirrus_vesa_handlers:
  dw cirrus_vesa_unimplemented
  dw cirrus_vesa_unimplemented
  dw cirrus_vesa_unimplemented
-
+  ;; 10h
+  dw cirrus_vesa_10h
 
 

ASM_END
--
Gleb.

#2 lore raw
Quoted 5 lines · Sebastian Herbszt
Quoted 1 line · Gleb Natapov

I am not sure who maintains vgabios :(

Volker does at http://www.nongnu.org/vgabios/

Gleb: can you give Volker a poke?

I'm testing out the newest bochs bios. There's been quite a lot of changes since our last sync. I'd like to switch over to that tomorrow if all goes well. I'll see about updating the vgabios too.

Regards,

Anthony Liguori

Quoted 70 lines

- Sebastian

Quoted 65 lines
vgabios/clext.c +32 -1
index ea37ec5..c7a2ad0 100644
@@ -510,7 +510,7 @@ cirrus_vesa:
 #ifdef CIRRUS_DEBUG
  call cirrus_debug_dump
 #endif
-  cmp al, #0x0F
+  cmp al, #0x10
  ja cirrus_vesa_not_handled
  push bx
  xor bx, bx
@@ -1196,6 +1196,37 @@ cirrus_vesa_07h_2:
  mov  ax, #0x004f
  ret
 
+cirrus_vesa_10h:
+  cmp bl, #0x00
+  jne cirrus_vesa_10h_01
+  mov bx, #0x0f30
+  mov ax, #0x004f
+  ret
+cirrus_vesa_10h_01:
+  cmp bl, #0x01
+  jne cirrus_vesa_10h_02
+  push dx
+  push ds
+  mov dx, #0x40
+  mov ds, dx
+  mov [0xb9], bh
+  pop ds
+  pop dx
+  mov ax, #0x004f
+  ret
+cirrus_vesa_10h_02:
+  cmp bl, #0x02
+  jne cirrus_vesa_unimplemented
+  push dx
+  push ds
+  mov dx, #0x40
+  mov ds, dx
+  mov bh, [0xb9]
+  pop ds
+  pop dx
+  mov ax, #0x004f
+  ret
+

cirrus_vesa_unimplemented:
mov ax, #0x014F ;; not implemented
ret

vgabios/clext.c +2 -1
@@ -1612,7 +1643,8 @@ cirrus_vesa_handlers:
  dw cirrus_vesa_unimplemented
  dw cirrus_vesa_unimplemented
  dw cirrus_vesa_unimplemented
-
+  ;; 10h
+  dw cirrus_vesa_10h
 
 

ASM_END

Signature · 1 line
Gleb.