WindSLIC - PCI Replacement ROM for SLIC Injection

Discussion in 'MDL Projects and Applications' started by truthinjection, Feb 22, 2010.

  1. enb141

    enb141 MDL Novice

    Feb 14, 2009
    29
    0
    0
    #61 enb141, Mar 13, 2010
    Last edited: Mar 13, 2010
  2. enb141

    enb141 MDL Novice

    Feb 14, 2009
    29
    0
    0
    Tested and no good, the only version that works for me was:

    windslic-2009_10_20
     
  3. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    Hi all. Real life kinda popped up, but I'm still around. Time to see if I can get back into things for a minute real quick. :)


    Hm. If I remember correctly, 2009_10_20 was one of the versions that tried to actually de-protect the F000 region, which (if possible to do for a particular motherboard) is technically "the best way" to do it. Newer versions do EBDA stuff instead, which isn't as good, but is actually doable most of the time.

    Looking at your screen-capture, it all looks like it's supposed to, I think.

    What is your boot order set to in the BIOS? It should (ideally for install) be WindSLIC as first, then DVD as second, and HDD as third.

    Also, you don't have UEFI enabled in the BIOS, do you? I don't think WindSLIC does very well if UEFI is enabled. WindSLIC works fine on boards that have the UEFI option, just not if it is enabled.

    Fun & excitement,
    -tij-
     
  4. enb141

    enb141 MDL Novice

    Feb 14, 2009
    29
    0
    0
    I tested with UEFI enabled and disabled, selecting DVD first WindSLIC sencond and then third, fourth and so on my hard drives.

    I also tried pressing F10 then selecting WindSlic but no go, the only one that works for me is windslic-2009_10_20 with UEFI enabled, DVD first WindSlic second and then hard drives.

    By the way I have three hard drives but now my principal hard drive (the one in SATA0) now appears twice in the list.
     
  5. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    #65 nononsence, Mar 26, 2010
    Last edited by a moderator: Apr 20, 2017
  6. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    #66 nononsence, Mar 26, 2010
    Last edited by a moderator: Apr 20, 2017
  7. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    Interesting. I had considered the pre-clearing of memory once, but had decided that as long as the tables were intact, they should have been sufficient without clearing since they had lengths, checksums, and the like. Guess that was a bad assumption.

    I'll see about getting that into the main release code. It's been needing an update for a while now, but real-life has been eating up all of my normal computer hobby time.

    Thanks,
    -tij-
     
  8. nononsence

    nononsence MDL Addicted

    Aug 18, 2009
    806
    826
    30
    #68 nononsence, Mar 29, 2010
    Last edited by a moderator: Apr 20, 2017
  9. TomT

    TomT MDL Novice

    May 28, 2009
    22
    0
    0
    I am trying to get this working with an Intel server motherboard. After setting up the network card, I get the initial "Press F5" etc message and I have the system booting from the network card but when the raid controller starts loading windows it quickly stops and hangs.

    When I remove the raid card I get the message "(A)Windslic.. Going.." but I don't get this message with the raid card installed (although I definately have set the network card as the first boot device). If I have the network card installed but do not boot from it then the raid controller works fine but of course I have no SLIC.

    Can anybody suggest any alterations to the assembler code that might make this work?

    Thanks, Tom
     
  10. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    Hm. Did you try enabling the workaround for Dell Video? Or set the level to BS_HIDDEN and the BS_VISIBLE value to 0 so that it doesn't force BS_MINIMAL?

    Is UEFI enabled in the BIOS? That also screws WindSLIC up.

    Also, nononsense has made a Bootable USB version of WindSLIC and a Bootable CD version of WindSLIC that might help, as well. (See the first page of this thread for links to his threads).

    Give those a try and see how it goes,
    -tij-
     
  11. TomT

    TomT MDL Novice

    May 28, 2009
    22
    0
    0
    None of those suggestions made any difference and there is no UEFI option in the BIOS.

    The bootable options (USB and CD) are not really what I am after. Ideally I would like to do a BIOS mod but that isn't possible with Intel BIOSes.

    I would really like to get this working. I have a limited opportunity of a week or so where I have a new server that I can mess around with without the fear of screwing up a live installation!

    Any other suggestions?

    Thanks, Tom
     
  12. TomT

    TomT MDL Novice

    May 28, 2009
    22
    0
    0
    Thanks but I'm looking for a "transparant" method. There are loaders that do the job but I'm after a method that is untraceable as possible and doesn't interfere with boot sectors.
     
  13. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    Right. I was suggesting the usb and cd as an alternate test just to see if they booted successfully (since they are now somewhat divergent from my original windslic implementation.)

    Also if you can boot to usb flash devices, you could make a dos boot usb flash device and compile the "DOS COM File" version of windslic and run it after booting to usb dos. If it completes, then it's likely just an issue with the video mode stuff (although if you compiled windslic in full hidden mode that should eliminate the video as a cause of failure...).

    Beyond those testing options I am currently out of quick suggestions.

    Good luck!
    -tij-
     
  14. TomT

    TomT MDL Novice

    May 28, 2009
    22
    0
    0
    Sorry I misunderstood your intention.

    I have tried the CD implementation and that works! Is there any chance of tracking down the changes made to that version that make them compatible with this server and implementing the same changes in WindSLIC?

    Booting from USB is not a possibility - To boot from USB on these servers you have to insert the USB device AFTER power on. I presume this is guard against someone accidently leaving a bootable memory stick plugged in and preventing normal bootup.

    Thanks, Tom
     
  15. TomT

    TomT MDL Novice

    May 28, 2009
    22
    0
    0
    well strangely enough it did!

    Changing DEBUG_SKIP_INTHOOK_STUFF to 1 not only allowed the server to boot but also successfully loaded the SLIC table! I haven't looked at your code in any detail (and it's now an area that I know much about) but my understanding is that you use int15 to query the system address map. If this doesn't happen what does you program do by default because it seems to work?!

    The old code also works too.

    I ran the CD code with the defaults unchanged - as you said DISABLE_BIOS_RW=0

    Thanks for you help (and the program!), Tom
     
  16. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    Hm. Odd.

    For the moment, running with the 2009.10.20 code is probably the "right" answer, since it works, but let me look up what it looks like.

    You don't want to run long-term with the Int15H stuff disabled, though, since it basically puts your ACPI tables in open upper memory without any reservations or warnings to other things (like OSes) that they're there.

    I spent a fair amount of time re-writing the Int15H stuff to hopefully fix it a few months ago, but I guess it didn't fix everything.

    Anyway, go with the 2009 code for right now and I'll look into it and the new code to see if I can figure out anything about the new code.

    Thanks,
    -tij-
     
  17. truthinjection

    truthinjection MDL Member

    Aug 27, 2009
    247
    46
    10
    In the DEBUG_SKIP_INTHOOK_STUFF =1 case, the program still queries the system address map, to determine an unused (at boot time) region of memory; it just doesn't hook interrupt 15h to allow it to reserve that region in the address map.

    It sort of puts it in "squatter" mode, I guess.

    -tij-