[SLOF] [PATCH slof v2 4/5] pci-scan: Fix handling of 32bit windows for bridge prefetchable window

Alexey Kardashevskiy aik at ozlabs.ru
Sat Jul 22 00:44:32 AEST 2017


This zeroes bottom 4 bits of the prefetchable memory limit and
prefetchable memory base registers for 32bit windows
(the first hunk).

This simplifies updating of the prefetchable memory limit
(the second hunk).

Suggested-by: Thomas Huth <thuth at redhat.com>
Signed-off-by: Alexey Kardashevskiy <aik at ozlabs.ru>
---
 slof/fs/pci-scan.fs | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/slof/fs/pci-scan.fs b/slof/fs/pci-scan.fs
index bda8607..5abf6a8 100644
--- a/slof/fs/pci-scan.fs
+++ b/slof/fs/pci-scan.fs
@@ -146,7 +146,8 @@ here 100 allot CONSTANT pci-device-vec
     ELSE
         pci-next-mem-align-1mb
         10 rshift                           \ | keep upper 16 bits
-        pci-max-mem @ 1- FFFF0000 and or    \ | and Insert mmem Limit (set it to max)
+        FFF0 and
+        pci-max-mem @ 1- FFF00000 and or    \ | and Insert mmem Limit (set it to max)
         swap 24 + rtas-config-l!            \ | and write it into the bridge
     THEN
 ;
@@ -173,10 +174,8 @@ here 100 allot CONSTANT pci-device-vec
         \ Update current variable (add space for hot-plugging and align it)
         pci-next-mem-extend-1mb
         1-                                  \ | make limit one less than boundary
-        FFFF0000 and                        \ | keep upper 16 bits
-        over 24 + rtas-config-l@
-        0000FFFF and                        \ | fetch original Value
-        or swap 24 + rtas-config-l!         \ | and write it into the bridge
+        10 rshift                           \ | keep upper 16 bits
+        swap 26 + rtas-config-w!
     THEN
 ;
 
-- 
2.11.0



More information about the SLOF mailing list