]> git.ipfire.org Git - thirdparty/grub.git/commitdiff
Fix getvirt function on yeeloong
authorVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 22 May 2010 22:11:47 +0000 (00:11 +0200)
committerVladimir 'phcoder' Serbinenko <phcoder@gmail.com>
Sat, 22 May 2010 22:11:47 +0000 (00:11 +0200)
bus/pci.c
include/grub/pci.h

index 2fe9d764ee07517b984bc55b8edc09b747b87e1a..3fec44fc23dda42bd0612546251b273c73cf7edd 100644 (file)
--- a/bus/pci.c
+++ b/bus/pci.c
@@ -36,7 +36,7 @@ grub_dma_free (struct grub_pci_dma_chunk *ch)
 #endif
 
 #ifdef GRUB_MACHINE_MIPS_YEELOONG
-void *
+volatile void *
 grub_dma_get_virt (struct grub_pci_dma_chunk *ch)
 {
   return (void *) ((((grub_uint32_t) ch) & 0x1fffffff) | 0xa0000000);
@@ -45,7 +45,7 @@ grub_dma_get_virt (struct grub_pci_dma_chunk *ch)
 grub_uint32_t
 grub_dma_get_phys (struct grub_pci_dma_chunk *ch)
 {
-  return ((grub_uint32_t) ch) & 0x1fffffff;
+  return (((grub_uint32_t) ch) & 0x1fffffff) | 0x80000000;
 }
 #else
 
index fff4d3e3a78ca5aecb3e65c5a9fb09686d528445..51adf9377098302bb4f9e0025f624d4773575de1 100644 (file)
@@ -115,7 +115,7 @@ struct grub_pci_dma_chunk;
 struct grub_pci_dma_chunk *EXPORT_FUNC(grub_memalign_dma32) (grub_size_t align,
                                                             grub_size_t size);
 void EXPORT_FUNC(grub_dma_free) (struct grub_pci_dma_chunk *ch);
-void *EXPORT_FUNC(grub_dma_get_virt) (struct grub_pci_dma_chunk *ch);
+volatile void *EXPORT_FUNC(grub_dma_get_virt) (struct grub_pci_dma_chunk *ch);
 grub_uint32_t EXPORT_FUNC(grub_dma_get_phys) (struct grub_pci_dma_chunk *ch);
 
 #endif