SLIC in memory

Discussion in 'Windows Vista' started by Sabresite, Apr 20, 2008.

  1. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    I have a quick question for those who are really good at SLIC'ing bioses.
    I don't know how to check (everest?) - But after windows loads, is the SLIC table in the ACPI memory in the same location every time? Does it depend on the bios?

    Is there a way to find it in memory? If so, where do I find this information?
     
  2. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,979
    340
    #2 Yen, Apr 20, 2008
    Last edited by a moderator: May 23, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  3. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    #3 Sabresite, Apr 21, 2008
    Last edited: Apr 21, 2008
    (OP)
    Ah thats exactly what I wanted to know. I am thinking that if I wanted to insert the SLIC after the computer booted, I could use the super static method to find the memory location (its fixed) and insert it.

    So the tool AcpiScope will help me find that? Or is that only for the dynamic addressing?

    Thanks for your help Yen.
     
  4. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,979
    340
    #4 Yen, Apr 21, 2008
    Last edited: Apr 21, 2008
    AcpiScope shows the location of every Acpi table, no matter what kind of allocation. It also shows the structure of the tables, very useful tool.

    You want to insert a SLIC after boot? After boot it will be difficult!

    .......and is like a softmod!

    At a superstatic v3 mod (AMI) the address of SLIC is always 000FF200h. (If you use the automatic tool!) So this is no secret and you don’t even need AcpiScope to figure that out.

    We (the modder) can change the addresses if we want!

    So you want to make another softmod??????

    Remember: Just to ‘insert’ or copy the SLIC into the physical memory is insufficient for a successful activation, because it won’t act like a ACPI table. It has to be in the ACPI namespace.

    The SLIC must be called properly, like a usual ACPI table. The call of it is made from the RSDT (XSDT).


    I’m quoting the ACPI specifications:

    During OS initialization, OSPM (operating system directed power management) must obtain the Root System Description Pointer (RSDP) structure from the platform.

    When OSPM locates the Root System Description Pointer (RSDP) structure, it then locates the Root System Description Table (RSDT) or the Extended Root System Description Table (XSDT) using the physical system address supplied in the RSDP.”

    So RSDP points to RSDT / XSDT
    RSDT / XSDT calls, among other things, the SLIC
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  5. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    #5 Sabresite, Apr 21, 2008
    Last edited: Apr 21, 2008
    (OP)
    Yes I wanted to make a soft mod because some people I know who have macs, intel motherboards, or other odd hardware, cannot benefit from slic'd bioses.

    The current softmods available do not work with some macs, sata hard drive setups, or raid setups. Its a shame so I am hoping to learn enough to build my own. This seems like a difficult task though.

    Do you yen, or anyone else, have the C/C++ coding skills to help me do this? The old softmod method used was called vistaloader, which used Grub. I have the newest version of Grub, I am just not entirely sure how to add the proper function to it.
     
  6. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,979
    340
    Unfortunately I don't have the skills therefore.

    I only know Tommiy who has rewritten the ISA module to introduce a SLIC! It is written in machine language, especially AML (ACPI Machine Language) to be compiled with Fasm..
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  7. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    I would love to get into contact with him if you can give me some informatiojn. Getting this together would solve the softmod problem for those who cannot use the bios slicing. I am one of those people, because I have an Intel DG33TL motherboard which uses the custom intel bioses.

    Thanks alot for your help Yen!
     
  8. ciscokid

    ciscokid MDL Senior Member

    Jun 3, 2007
    317
    74
    10
    Yen, this rewritten ISA module, is it for Asus only? Do you know if Tommiy made any other brands such as Dell or HP. I use HP with my Gigabyte because HP is easier to add SLP 1.0 but I have the sleep problem in Vista. It'd be great to have a "sleep fixed" HP ISA module.
     
  9. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,979
    340
    #9 Yen, Apr 22, 2008
    Last edited by a moderator: May 23, 2017
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  10. ciscokid

    ciscokid MDL Senior Member

    Jun 3, 2007
    317
    74
    10
    #10 ciscokid, Apr 22, 2008
    Last edited by a moderator: May 23, 2017
  11. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    I went through vistafans.com but the translation is not that great. And it is difficult to search through. I did not find any useful or updated information.

    Yen, if its possible, could you find some information regarding updates to vista loader, or even possibly requesting for me, someone to help me perfect the softmod method?

    Meanwhile, I already messaged tommiy, awaiting his reply now.
     
  12. Yen

    Yen Admin
    Staff Member

    May 6, 2007
    13,081
    13,979
    340
    I'll keep an eye open!
    I would make a request regarding this, but unfortunately I cannot read, speak, understand any Chinese.

    It's as difficult to me as for others to work with all those crudely translated instructions.

    Even though my nick sounds Chinese, I'm not...............:)
     
    Stop hovering to collapse... Click to collapse... Hover to expand... Click to expand...
  13. tommiy

    tommiy MDL Member

    Nov 5, 2007
    172
    2
    10
    Never really played/examined with vistaloader at all but interesting reuse of loading a slic into memory by the sounds. Wouldn't expect that its all really that hard but I'm being flogged to death by work at present (20hr days). If someone can tell me whats wrong or what someone wants to do with vistaloader maybe a start.
     
  14. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    Sorry, maybe China4Ever can? lol
     
  15. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    #15 Sabresite, Apr 24, 2008
    Last edited: Apr 25, 2008
    (OP)
    Right now VistaLoader 2.1.2 (the current version) is basically a grub4dos file which is loaded by the computer at boot up. The program inserts the slic information into memory using the super static method and then chainloads vista.

    The version of grub4dos that vistaloader uses is 0.4.3 which is an old version that has been known to have many bugs with non-ntfs partitions (Macs), raided/AHCI drives, and multiple partitions. These are all grub4dos bugs which have already been fixed in the current Grub4DOS 1.9.6 version.

    Basically, a new function has to be made which can be called from grub.conf. That way before chainloading vista, the grub menu can load the special function (in the original vistaloader, it was called ReplaceSlic).
     
  16. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    #16 Sabresite, Apr 25, 2008
    Last edited: Apr 25, 2008
    (OP)
    Okay I have all of the information... the thing I am missing is how to calculate the checksum for the RSDT?

    *RSDP = Search from E0000h-F0000h for "RSD PTR"
    *RSDT = RSDP+0x10

    OEMID = BINFILE 0x0A (Length = 0x6)
    (RSDT+0x0A) = OEMID
    OEMTID = BINFILE 0x10 (Length = 0x8)
    (RSDT+0x10) = OEMTID

    (RSDT+0x9) = Sum of all digits must add to zero (CHECKSUM)

    *SLIC = (RSDT+0x5C)
    SLIC = BINFILE (374bytes)

    Also since I do not have an XSDT setup.. Can someone help me get the numbers for that?
     
  17. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    I got the checksum information... You count up the value of each digit of the table and it must equal to 0 including the checksum digit (8bits, unsigned).
     
  18. Sabresite

    Sabresite MDL Member

    Nov 7, 2007
    210
    49
    10
    Yen, tommiy said you have his source to put the slic table in reverse order so that its not overriden by sleep mode. I would love to get that code so I can analyze how he calculated the memory location of where the slic table should go.