{"id":211,"date":"2011-12-24T23:50:50","date_gmt":"2011-12-24T22:50:50","guid":{"rendered":"\/wordpress\/?p=211"},"modified":"2016-02-06T20:36:04","modified_gmt":"2016-02-06T19:36:04","slug":"patch-slic-pour-seabios","status":"publish","type":"post","link":"https:\/\/mrtaz.net\/wordpress\/2011\/12\/24\/patch-slic-pour-seabios\/","title":{"rendered":"Patch SLIC pour Seabios."},"content":{"rendered":"<p>Yop!<\/p>\n<p>Petit patch pour rajouter une injection direct d&rsquo;un dump de table SLIC dans la table acpi de la machine virtuelle sans modifier kvm\/qemu.<br \/>\n\u00c7a copie aussi oem_id et oem_table_id de la table SLIC dans la table RSDT.<\/p>\n<p>Voici le diff.<\/p>\n<pre>--- acpi.c.orig\t2011-12-24 18:03:11.346256959 +0100\r\n+++ acpi.c\t2011-12-24 17:58:07.368750605 +0100\r\n@@ -628,6 +628,11 @@\r\n\r\n     u16 i, external_tables = qemu_cfg_acpi_additional_tables();\r\n\r\n+    #define SLIC_SIGNATURE 0x43494C53 \/\/ SLIC\r\n+    #define HACK_SLIC_SIGNATURE 0x43314C35 \/\/ HACK SLIC\r\n+    struct acpi_table_header *slic;\r\n+    slic = 0;\r\n+\r\n     for(i = 0; i &lt; external_tables; i++) {\r\n         u16 len = qemu_cfg_next_acpi_table_len();\r\n         void *addr = malloc_high(len);\r\n@@ -635,7 +640,13 @@\r\n             warn_noalloc();\r\n             continue;\r\n         }\r\n-        ACPI_INIT_TABLE(qemu_cfg_next_acpi_table_load(addr, len));\r\n+        struct acpi_table_header *acpi_ext_table;\r\n+        acpi_ext_table = qemu_cfg_next_acpi_table_load(addr, len);\r\n+        if (acpi_ext_table-&gt;signature == HACK_SLIC_SIGNATURE) {\r\n+                acpi_ext_table = acpi_ext_table+1;\r\n+                slic = acpi_ext_table;\r\n+        }\r\n+        ACPI_INIT_TABLE(acpi_ext_table);\r\n         if (tbl_idx == MAX_ACPI_TABLES) {\r\n             warn_noalloc();\r\n             break;\r\n@@ -653,7 +664,19 @@\r\n     memset(rsdt, 0, rsdt_len);\r\n     memcpy(rsdt-&gt;table_offset_entry, tables, sizeof(u32) * tbl_idx);\r\n\r\n-    build_header((void*)rsdt, RSDT_SIGNATURE, rsdt_len, 1);\r\n+    if (slic-&gt;signature == SLIC_SIGNATURE){\r\n+        rsdt-&gt;signature = RSDT_SIGNATURE;\r\n+        rsdt-&gt;length = cpu_to_le32(rsdt_len);\r\n+        rsdt-&gt;revision = 1;\r\n+        memcpy(rsdt-&gt;oem_id, slic-&gt;oem_id, 6);\r\n+        memcpy(rsdt-&gt;oem_table_id, slic-&gt;oem_table_id, 8);\r\n+        memcpy(rsdt-&gt;asl_compiler_id, CONFIG_APPNAME4, 4);\r\n+        rsdt-&gt;oem_revision = cpu_to_le32(1);\r\n+        rsdt-&gt;asl_compiler_revision = cpu_to_le32(1);\r\n+        rsdt-&gt;checksum -= checksum(rsdt, rsdt_len);\r\n+    } else {\r\n+        build_header((void*)rsdt, RSDT_SIGNATURE, rsdt_len, 1);\r\n+    }\r\n\r\n     \/\/ Build rsdp pointer table\r\n     memset(rsdp, 0, sizeof(*rsdp));<\/pre>\n<p><a href=\"\/mrtaz\/acpi_slic.patch\">acpi_slic.patch<\/a>\u00a0<a href=\"\/mrtaz\/bios.bin\">bios.bin<\/a><\/p>\n<p><a href=\"\/wordpress\/wp-content\/uploads\/2011\/12\/W7_qemu.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"221\" data-permalink=\"https:\/\/mrtaz.net\/wordpress\/2011\/12\/24\/patch-slic-pour-seabios\/w7_qemu\/\" data-orig-file=\"https:\/\/i0.wp.com\/mrtaz.net\/wordpress\/wp-content\/uploads\/2011\/12\/W7_qemu.png?fit=802%2C625&amp;ssl=1\" data-orig-size=\"802,625\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"W7_qemu\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/mrtaz.net\/wordpress\/wp-content\/uploads\/2011\/12\/W7_qemu.png?fit=625%2C487&amp;ssl=1\" class=\"alignnone size-full wp-image-221\" title=\"W7_qemu\" src=\"\/wordpress\/wp-content\/uploads\/2011\/12\/W7_qemu.png\" alt=\"\" width=\"802\" height=\"625\" srcset=\"https:\/\/i0.wp.com\/mrtaz.net\/wordpress\/wp-content\/uploads\/2011\/12\/W7_qemu.png?w=802&amp;ssl=1 802w, https:\/\/i0.wp.com\/mrtaz.net\/wordpress\/wp-content\/uploads\/2011\/12\/W7_qemu.png?resize=300%2C233&amp;ssl=1 300w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><a href=\"\/mrtaz\/bios.bin\"><br \/>\n<\/a><\/p>\n<p>Merci, pour les commentaires.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Yop! Petit patch pour rajouter une injection direct d&rsquo;un dump de table SLIC dans la table acpi de la machine virtuelle sans modifier kvm\/qemu. \u00c7a copie aussi oem_id et oem_table_id de la table SLIC dans la table RSDT. Voici le diff. &#8212; acpi.c.orig 2011-12-24 18:03:11.346256959 +0100 +++ acpi.c 2011-12-24 17:58:07.368750605 +0100 @@ -628,6 +628,11 @@ [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[7],"tags":[35,33,37,34,38,32,36,39],"class_list":["post-211","post","type-post","status-publish","format-standard","hentry","category-la-vie-la-vraie","tag-acpi","tag-kvm","tag-patch","tag-qemu","tag-rsdt","tag-seabios","tag-slic","tag-windows"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7qSCz-3p","jetpack-related-posts":[{"id":669,"url":"https:\/\/mrtaz.net\/wordpress\/2024\/10\/02\/p2v-linux-to-hyperv\/","url_meta":{"origin":211,"position":0},"title":"P2V Linux to HyperV","author":"MrTAZ","date":"02\/10\/2024","format":false,"excerpt":"Si comme moi vous avez eu besoin de convertir une machine sous linux vers HyperV, voici comment j'ai proc\u00e9d\u00e9. Montage du partage Windows distant. mount.cifs -osec=ntlmv2,domaine=~domaine~,username=~nom d'utilisateur~ \/\/~nom de serveur~\/~dossier partag\u00e9~ .\/~dossier local~ Transfert\/conversion du disque. qemu-img convert -p -f raw -O vhdx \/dev\/~disque dur~ .\/~dossier local~\/~nom de fichier~.vhdx Suppression\u2026","rel":"","context":"Dans &quot;La vie, la vraie...&quot;","block_context":{"text":"La vie, la vraie...","link":"https:\/\/mrtaz.net\/wordpress\/category\/la-vie-la-vraie\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":223,"url":"https:\/\/mrtaz.net\/wordpress\/2012\/09\/29\/ricoh-microvision-hp-webcam-1000-r5u870-drivers-windows-7-x64\/","url_meta":{"origin":211,"position":1},"title":"Ricoh \/ Microvision HP Webcam 1000 (r5u870) drivers Windows 7 x64","author":"MrTAZ","date":"29\/09\/2012","format":false,"excerpt":"Et non, je ne suis pas mort!!! Bref, j'ai trouv\u00e9 comment faire fonctionner la webcam de mon vieux portable alors qu'il n'existe pas de drivers pour celle-ci! Enfin... Presque! C'est un chip Ricoh anciennement Microvision r5u870 dont le firmware est configur\u00e9 pour fonctionner en WDM. (VID\u00a005CA PID\u00a01870) Bref, apr\u00e8s des\u2026","rel":"","context":"Dans &quot;La vie, la vraie...&quot;","block_context":{"text":"La vie, la vraie...","link":"https:\/\/mrtaz.net\/wordpress\/category\/la-vie-la-vraie\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":185,"url":"https:\/\/mrtaz.net\/wordpress\/2008\/01\/22\/163-freeplug-freebox-hd-1ere-box-integrant-le-courant-porteur-en-ligne-cpl-sans-surcout\/","url_meta":{"origin":211,"position":2},"title":"Freeplug : Freebox HD, 1\u00e8re Box int\u00e9grant le courant porteur en ligne (CPL) sans surco\u00fbt.","author":"MrTAZ","date":"22\/01\/2008","format":false,"excerpt":"Fid\u00e8le \u00e0 sa strat\u00e9gie d\u2019offrir toujours plus de services pour un prix inchang\u00e9 (29,99 euros\/mois), Free propose d\u00e9sormais Freeplug. Cette innovation incluse dans l\u2019offre Freebox permet de b\u00e9n\u00e9ficier en standard du courant porteur en ligne (CPL) pour relier entre elles les deux parties de la Freebox HD.","rel":"","context":"Dans &quot;News&quot;","block_context":{"text":"News","link":"https:\/\/mrtaz.net\/wordpress\/category\/news\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":178,"url":"https:\/\/mrtaz.net\/wordpress\/2008\/02\/20\/170-linux-pour-les-nuls-d\/","url_meta":{"origin":211,"position":3},"title":"Linux pour les nuls. ;-D","author":"MrTAZ","date":"20\/02\/2008","format":false,"excerpt":"Un outils int\u00e9r\u00e9ssant pour installer des logiciels divers et vari\u00e9s. Assez intuitif, il conviendra aux utilisateurs un peu perdu dans les gestionnaire de paquets habituel. CNR => Click and Run","rel":"","context":"Dans &quot;Linux world&quot;","block_context":{"text":"Linux world","link":"https:\/\/mrtaz.net\/wordpress\/category\/linux-world\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":20,"url":"https:\/\/mrtaz.net\/wordpress\/2005\/02\/27\/17-pas-mal\/","url_meta":{"origin":211,"position":4},"title":"Pas mal!","author":"MrTAZ","date":"27\/02\/2005","format":false,"excerpt":"Pour info, il y a des softs pas mal pour bloger directement dans windows ou x11. L\u00e0, j'essaye w.bloggar. Il a l'air pas trop mal. Je pense qu'il y a mieux quand m\u00eame A suivre...","rel":"","context":"Dans &quot;La vie, la vraie...&quot;","block_context":{"text":"La vie, la vraie...","link":"https:\/\/mrtaz.net\/wordpress\/category\/la-vie-la-vraie\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":167,"url":"https:\/\/mrtaz.net\/wordpress\/2008\/12\/15\/179-pirelli-dp-l10-hack-suite\/","url_meta":{"origin":211,"position":5},"title":"Pirelli DP-L10 Hack (Suite 2)","author":"MrTAZ","date":"15\/12\/2008","format":false,"excerpt":"Yop!!! Je suis toujours sur la br\u00e8che! J'ai abandonn\u00e9 l'id\u00e9e de monter du CMX-FFS sous Linux comme sous Windows... Je cherche maintenant comment r\u00e9cup\u00e9rer le firmware de free dans la flash. Pour le moment, je n'y arrive pas, mais je sais qu'il est l\u00e0, j'ai lanc\u00e9 la mise \u00e0 jour\u2026","rel":"","context":"Dans &quot;La vie, la vraie...&quot;","block_context":{"text":"La vie, la vraie...","link":"https:\/\/mrtaz.net\/wordpress\/category\/la-vie-la-vraie\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/posts\/211","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/comments?post=211"}],"version-history":[{"count":9,"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/posts\/211\/revisions"}],"predecessor-version":[{"id":292,"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/posts\/211\/revisions\/292"}],"wp:attachment":[{"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/media?parent=211"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/categories?post=211"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/mrtaz.net\/wordpress\/wp-json\/wp\/v2\/tags?post=211"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}