€•-Œsphinx.addnodes”Œdocument”“”)”}”(Œ rawsource”Œ”Œchildren”]”(Œ translations”Œ LanguagesNode”“”)”}”(hhh]”(hŒ pending_xref”“”)”}”(hhh]”Œdocutils.nodes”ŒText”“”ŒEnglish”…””}”Œparent”hsbaŒ attributes”}”(Œids”]”Œclasses”]”Œnames”]”Œdupnames”]”Œbackrefs”]”Œ refdomain”Œstd”Œreftype”Œdoc”Œ reftarget”Œ/process/maintainer-kvm-x86”Œmodname”NŒ classname”NŒ refexplicit”ˆuŒtagname”hhh ubh)”}”(hhh]”hŒChinese (Simplified)”…””}”hh2sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/zh_CN/process/maintainer-kvm-x86”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒChinese (Traditional)”…””}”hhFsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/zh_TW/process/maintainer-kvm-x86”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒItalian”…””}”hhZsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/it_IT/process/maintainer-kvm-x86”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒJapanese”…””}”hhnsbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ja_JP/process/maintainer-kvm-x86”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒKorean”…””}”hh‚sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/ko_KR/process/maintainer-kvm-x86”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubh)”}”(hhh]”hŒPortuguese (Brazilian)”…””}”hh–sbah}”(h]”h ]”h"]”h$]”h&]”Œ refdomain”h)Œreftype”h+Œ reftarget”Œ./translations/pt_BR/process/maintainer-kvm-x86”Œmodname”NŒ classname”NŒ refexplicit”ˆuh1hhh ubeh}”(h]”h ]”h"]”h$]”h&]”Œcurrent_language”ŒSpanish”uh1h hhŒ _document”hŒsource”NŒline”NubhŒwarning”“”)”}”(hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la única referencia válida es la documentación oficial en inglés. Además, por defecto, los enlaces a documentos redirigen a la documentación en inglés, incluso si existe una versión traducida. Consulte el índice para más información.”h]”hŒ paragraph”“”)”}”(hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la única referencia válida es la documentación oficial en inglés. Además, por defecto, los enlaces a documentos redirigen a la documentación en inglés, incluso si existe una versión traducida. Consulte el índice para más información.”h]”hX?Si tiene alguna duda sobre la exactitud del contenido de esta traducción, la única referencia válida es la documentación oficial en inglés. Además, por defecto, los enlaces a documentos redirigen a la documentación en inglés, incluso si existe una versión traducida. Consulte el índice para más información.”…””}”(hh½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³Œ2Documentation/translations/sp_SP/disclaimer-sp.rst”h´Khh·ubah}”(h]”h ]”h"]”h$]”h&]”uh1hµhhh²hh³hËh´NubhŒ field_list”“”)”}”(hhh]”(hŒfield”“”)”}”(hhh]”(hŒ field_name”“”)”}”(hŒOriginal”h]”hŒOriginal”…””}”(hhÞh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhhÙh³Œ[/var/lib/git/docbuild/linux/Documentation/translations/sp_SP/process/maintainer-kvm-x86.rst”h´KubhŒ field_body”“”)”}”(hŒ,Documentation/process/maintainer-kvm-x86.rst”h]”h¼)”}”(hhñh]”hŒ,Documentation/process/maintainer-kvm-x86.rst”…””}”(hhóh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´Khhïubah}”(h]”h ]”h"]”h$]”h&]”uh1híhhÙubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×h³hìh´KhhÔh²hubhØ)”}”(hhh]”(hÝ)”}”(hŒ Translator”h]”hŒ Translator”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1hÜhj h³hìh´Kubhî)”}”(hŒJuan Embid ”h]”h¼)”}”(hŒJuan Embid ”h]”(hŒ Juan Embid <”…””}”(hj!h²hh³Nh´NubhŒ reference”“”)”}”(hŒ jembid@ucm.es”h]”hŒ jembid@ucm.es”…””}”(hj+h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:jembid@ucm.es”uh1j)hj!ubhŒ>”…””}”(hj!h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´Khjubah}”(h]”h ]”h"]”h$]”h&]”uh1híhj ubeh}”(h]”h ]”h"]”h$]”h&]”uh1h×h³hìh´KhhÔh²hubeh}”(h]”h ]”h"]”h$]”h&]”uh1hÒhhh²hh³hìh´KubhŒsection”“”)”}”(hhh]”(hŒtitle”“”)”}”(hŒKVM x86”h]”hŒKVM x86”…””}”(hj^h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjYh²hh³hìh´KubjX)”}”(hhh]”(j])”}”(hŒPrólogo”h]”hŒPrólogo”…””}”(hjoh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjlh²hh³hìh´K ubh¼)”}”(hXKVM se esfuerza por ser una comunidad acogedora; las contribuciones de los recién llegados son valoradas e incentivadas. Por favor, no se desanime ni se sienta intimidado por la extensión de este documento y las numerosas normas/directrices que contiene. Todos cometemos errores y todos hemos sido principiantes en algún momento. Mientras haga un esfuerzo honesto por seguir las directrices de KVM x86, sea receptivo a los comentarios, y aprenda de los errores que cometa, será recibido con los brazos abiertos, no con antorchas y horcas.”h]”hXKVM se esfuerza por ser una comunidad acogedora; las contribuciones de los recién llegados son valoradas e incentivadas. Por favor, no se desanime ni se sienta intimidado por la extensión de este documento y las numerosas normas/directrices que contiene. Todos cometemos errores y todos hemos sido principiantes en algún momento. Mientras haga un esfuerzo honesto por seguir las directrices de KVM x86, sea receptivo a los comentarios, y aprenda de los errores que cometa, será recibido con los brazos abiertos, no con antorchas y horcas.”…””}”(hj}h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K hjlh²hubeh}”(h]”Œprologo”ah ]”h"]”Œprólogo”ah$]”h&]”uh1jWhjYh²hh³hìh´K ubjX)”}”(hhh]”(j])”}”(hŒTL;DR”h]”hŒTL;DR”…””}”(hj–h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj“h²hh³hìh´Kubh¼)”}”(hŒTLas pruebas son obligatorias. Sea coherente con los estilos y patrones establecidos.”h]”hŒTLas pruebas son obligatorias. Sea coherente con los estilos y patrones establecidos.”…””}”(hj¤h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´Khj“h²hubeh}”(h]”Œtl-dr”ah ]”h"]”Œtl;dr”ah$]”h&]”uh1jWhjYh²hh³hìh´KubjX)”}”(hhh]”(j])”}”(hŒÃrboles”h]”hŒÃrboles”…””}”(hj½h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjºh²hh³hìh´Kubh¼)”}”(hX>KVM x86 se encuentra actualmente en un período de transición de ser parte del árbol principal de KVM, a ser "sólo otra rama de KVM". Como tal, KVM x86 está dividido entre el árbol principal de KVM, ``git.kernel.org/pub/scm/virt/kvm/kvm.git``, y un árbol específico de KVM x86, ``github.com/kvm-x86/linux.git``.”h]”(hŒÐKVM x86 se encuentra actualmente en un período de transición de ser parte del árbol principal de KVM, a ser “sólo otra rama de KVMâ€. Como tal, KVM x86 está dividido entre el árbol principal de KVM, ”…””}”(hjËh²hh³Nh´NubhŒliteral”“”)”}”(hŒ+``git.kernel.org/pub/scm/virt/kvm/kvm.git``”h]”hŒ'git.kernel.org/pub/scm/virt/kvm/kvm.git”…””}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjËubhŒ&, y un árbol específico de KVM x86, ”…””}”(hjËh²hh³Nh´NubjÔ)”}”(hŒ ``github.com/kvm-x86/linux.git``”h]”hŒgithub.com/kvm-x86/linux.git”…””}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjËubhŒ.”…””}”(hjËh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´Khjºh²hubh¼)”}”(hX‚Por lo general, las correcciones para el ciclo en curso se aplican directamente al árbol principal de KVM, mientras que todo el desarrollo para el siguiente ciclo se dirige a través del árbol de KVM x86. En el improbable caso de que una corrección para el ciclo actual se dirija a través del árbol KVM x86, se aplicará a la rama ``fixes`` antes de llegar al árbol KVM principal.”h]”(hXPPor lo general, las correcciones para el ciclo en curso se aplican directamente al árbol principal de KVM, mientras que todo el desarrollo para el siguiente ciclo se dirige a través del árbol de KVM x86. En el improbable caso de que una corrección para el ciclo actual se dirija a través del árbol KVM x86, se aplicará a la rama ”…””}”(hjÿh²hh³Nh´NubjÔ)”}”(hŒ ``fixes``”h]”hŒfixes”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjÿubhŒ) antes de llegar al árbol KVM principal.”…””}”(hjÿh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K!hjºh²hubh¼)”}”(hŒTenga en cuenta que se espera que este periodo de transición dure bastante tiempo, es decir, que será el statu quo en un futuro previsible.”h]”hŒTenga en cuenta que se espera que este periodo de transición dure bastante tiempo, es decir, que será el statu quo en un futuro previsible.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K(hjºh²hubjX)”}”(hhh]”(j])”}”(hŒRamas”h]”hŒRamas”…””}”(hj0h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj-h²hh³hìh´K,ubh¼)”}”(hXßEl árbol de KVM x86 está organizado en múltiples ramas por temas. El propósito de utilizar ramas temáticas más específicas es facilitar el control de un área de desarrollo, y para limitar los daños colaterales de errores humanos y/o commits con errores, por ejemplo, borrar el commit HEAD de una rama temática no tiene impacto en los hashes SHA1 de otros commit en en camino, y tener que rechazar una solicitud de pull debido a errores retrasa sólo esa rama temática.”h]”hXßEl árbol de KVM x86 está organizado en múltiples ramas por temas. El propósito de utilizar ramas temáticas más específicas es facilitar el control de un área de desarrollo, y para limitar los daños colaterales de errores humanos y/o commits con errores, por ejemplo, borrar el commit HEAD de una rama temática no tiene impacto en los hashes SHA1 de otros commit en en camino, y tener que rechazar una solicitud de pull debido a errores retrasa sólo esa rama temática.”…””}”(hj>h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K-hj-h²hubh¼)”}”(hŒúTodas las ramas temáticas, excepto ``next`` y ``fixes``, se agrupan en ``next`` a través de un Cthulhu merge en función de las necesidades, es decir, cuando se actualiza una rama temática. Como resultado, los push forzados a ``next`` son comunes.”h]”(hŒ$Todas las ramas temáticas, excepto ”…””}”(hjLh²hh³Nh´NubjÔ)”}”(hŒ``next``”h]”hŒnext”…””}”(hjTh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjLubhŒ y ”…””}”(hjLh²hh³Nh´NubjÔ)”}”(hŒ ``fixes``”h]”hŒfixes”…””}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjLubhŒ, se agrupan en ”…””}”(hjLh²hh³Nh´NubjÔ)”}”(hŒ``next``”h]”hŒnext”…””}”(hjxh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjLubhŒ• a través de un Cthulhu merge en función de las necesidades, es decir, cuando se actualiza una rama temática. Como resultado, los push forzados a ”…””}”(hjLh²hh³Nh´NubjÔ)”}”(hŒ``next``”h]”hŒnext”…””}”(hjŠh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjLubhŒ son comunes.”…””}”(hjLh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K5hj-h²hubeh}”(h]”Œramas”ah ]”h"]”Œramas”ah$]”h&]”uh1jWhjºh²hh³hìh´K,ubjX)”}”(hhh]”(j])”}”(hŒ Ciclo de Vida”h]”hŒ Ciclo de Vida”…””}”(hj­h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjªh²hh³hìh´K;ubh¼)”}”(hŒ¸Las correcciones dirigidas a la versión actual, también conocida como mainline, suelen aplicarse directamente al árbol principal de KVM, es decir, no pasan por el árbol x86 de KVM.”h]”hŒ¸Las correcciones dirigidas a la versión actual, también conocida como mainline, suelen aplicarse directamente al árbol principal de KVM, es decir, no pasan por el árbol x86 de KVM.”…””}”(hj»h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´Kh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KhjÔh²hubh¼)”}”(hXGExcepto para unos pocos apuntes especiales, no utilice comentarios kernel-doc para las funciones. La gran mayoría de las funciones "públicas" de KVM no son realmente públicas, ya que están destinadas únicamente al consumo interno de KVM (hay planes para privatizar las cabeceras y exportaciones de KVM para reforzar esto).”h]”hXKExcepto para unos pocos apuntes especiales, no utilice comentarios kernel-doc para las funciones. La gran mayoría de las funciones “públicas†de KVM no son realmente públicas, ya que están destinadas únicamente al consumo interno de KVM (hay planes para privatizar las cabeceras y exportaciones de KVM para reforzar esto).”…””}”(hjLh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K‘hjÔh²hubeh}”(h]”Œestilo-del-codigo”ah ]”h"]”Œestilo del codigo”ah$]”h&]”uh1jWhj8h²hh³hìh´K‚ubjX)”}”(hhh]”(j])”}”(hŒ Comentarios”h]”hŒ Comentarios”…””}”(hjeh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjbh²hh³hìh´K˜ubh¼)”}”(hXrEscriba los comentarios en modo imperativo y evite los pronombres. Utilice los comentarios para ofrecer una visión general de alto nivel del código y/o para explicar por qué el código hace lo que hace. No reitere lo que el código hace literalmente; deje que el código hable por sí mismo. Si el propio código es inescrutable, los comentarios no servirán de nada.”h]”hXrEscriba los comentarios en modo imperativo y evite los pronombres. Utilice los comentarios para ofrecer una visión general de alto nivel del código y/o para explicar por qué el código hace lo que hace. No reitere lo que el código hace literalmente; deje que el código hable por sí mismo. Si el propio código es inescrutable, los comentarios no servirán de nada.”…””}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K™hjbh²hubeh}”(h]”Œ comentarios”ah ]”h"]”Œ comentarios”ah$]”h&]”uh1jWhj8h²hh³hìh´K˜ubjX)”}”(hhh]”(j])”}”(hŒReferencias SDM y APM”h]”hŒReferencias SDM y APM”…””}”(hjŒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj‰h²hh³hìh´K ubh¼)”}”(hXNGran parte de la base de código de KVM está directamente vinculada al comportamiento de la arquitectura definido en El Manual de Desarrollo de Software (SDM) de Intel y el Manual del Programador de Arquitectura (APM) de AMD. El uso de "SDM de Intel" y "APM de AMD", o incluso sólo "SDM" o "APM", sin contexto adicional es correcto.”h]”hX^Gran parte de la base de código de KVM está directamente vinculada al comportamiento de la arquitectura definido en El Manual de Desarrollo de Software (SDM) de Intel y el Manual del Programador de Arquitectura (APM) de AMD. El uso de “SDM de Intel†y “APM de AMDâ€, o incluso sólo “SDM†o “APMâ€, sin contexto adicional es correcto.”…””}”(hjšh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K¡hj‰h²hubh¼)”}”(hXzNo haga referencia a secciones específicas, tablas, figuras, etc. por su número, especialmente en los comentarios. En su lugar, si es necesario (véase más abajo), copie y pegue el fragmento correspondiente y haga referencia a las secciones/tablas/figuras por su nombre. Los diseños del SDM y el APM cambian constantemente, por lo que los números/etiquetas no son estables.”h]”hXzNo haga referencia a secciones específicas, tablas, figuras, etc. por su número, especialmente en los comentarios. En su lugar, si es necesario (véase más abajo), copie y pegue el fragmento correspondiente y haga referencia a las secciones/tablas/figuras por su nombre. Los diseños del SDM y el APM cambian constantemente, por lo que los números/etiquetas no son estables.”…””}”(hj¨h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K§hj‰h²hubh¼)”}”(hX½En general, no haga referencia explícita ni copie-pegue del SDM o APM en los comentarios. Con pocas excepciones, KVM *debe* respetar el comportamiento de la arquitectura, por lo que está implícito que el comportamiento de KVM está emulando el comportamiento de SDM y/o APM. Tenga en cuenta que hacer referencia al SDM/APM en los registros de cambios para justificar el cambio y proporcionar contexto es perfectamente correcto y recomendable.”h]”(hŒvEn general, no haga referencia explícita ni copie-pegue del SDM o APM en los comentarios. Con pocas excepciones, KVM ”…””}”(hj¶h²hh³Nh´Nubj%)”}”(hŒ*debe*”h]”hŒdebe”…””}”(hj¾h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hj¶ubhXA respetar el comportamiento de la arquitectura, por lo que está implícito que el comportamiento de KVM está emulando el comportamiento de SDM y/o APM. Tenga en cuenta que hacer referencia al SDM/APM en los registros de cambios para justificar el cambio y proporcionar contexto es perfectamente correcto y recomendable.”…””}”(hj¶h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K®hj‰h²hubeh}”(h]”Œreferencias-sdm-y-apm”ah ]”h"]”Œreferencias sdm y apm”ah$]”h&]”uh1jWhj8h²hh³hìh´K ubjX)”}”(hhh]”(j])”}”(hŒShortlog”h]”hŒShortlog”…””}”(hjáh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjÞh²hh³hìh´K·ubh¼)”}”(hŒjEl formato de prefijo más recomendable es ``KVM: :``, donde ```` es uno de los siguientes::”h]”(hŒ+El formato de prefijo más recomendable es ”…””}”(hjïh²hh³Nh´NubjÔ)”}”(hŒ``KVM: :``”h]”hŒ KVM: :”…””}”(hj÷h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjïubhŒ, donde ”…””}”(hjïh²hh³Nh´NubjÔ)”}”(hŒ ````”h]”hŒ”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjïubhŒ es uno de los siguientes:”…””}”(hjïh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´K¸hjÞh²hubhŒ literal_block”“”)”}”(hŒR- x86 - x86/mmu - x86/pmu - x86/xen - autocomprobaciones - SVM - nSVM - VMX - nVMX”h]”hŒR- x86 - x86/mmu - x86/pmu - x86/xen - autocomprobaciones - SVM - nSVM - VMX - nVMX”…””}”hj#sbah}”(h]”h ]”h"]”h$]”h&]”Œ xml:space”Œpreserve”uh1j!h³hìh´K»hjÞh²hubh¼)”}”(hŒÚ**¡NO use x86/kvm!** ``x86/kvm`` se usa exclusivamente para cambios de Linux virtualizado por KVM, es decir, para arch/x86/kernel/kvm.c. No use nombres de archivos o archivos completos como prefijo de asunto/shortlog.”h]”(hŒstrong”“”)”}”(hŒ**¡NO use x86/kvm!**”h]”hŒ¡NO use x86/kvm!”…””}”(hj9h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j7hj3ubhŒ ”…””}”(hj3h²hh³Nh´NubjÔ)”}”(hŒ ``x86/kvm``”h]”hŒx86/kvm”…””}”(hjKh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhj3ubhŒ¹ se usa exclusivamente para cambios de Linux virtualizado por KVM, es decir, para arch/x86/kernel/kvm.c. No use nombres de archivos o archivos completos como prefijo de asunto/shortlog.”…””}”(hj3h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KÅhjÞh²hubh¼)”}”(hŒ‹Tenga en cuenta que esto no coincide con las ramas temáticas (las ramas temáticas se preocupan mucho más por los conflictos de código).”h]”hŒ‹Tenga en cuenta que esto no coincide con las ramas temáticas (las ramas temáticas se preocupan mucho más por los conflictos de código).”…””}”(hjch²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KÉhjÞh²hubh¼)”}”(hŒpTodos los nombres distinguen entre mayúsculas y minúsculas. ``KVM: x86:`` es correcto, ``kvm: vmx:`` no lo es.”h]”(hŒ>Todos los nombres distinguen entre mayúsculas y minúsculas. ”…””}”(hjqh²hh³Nh´NubjÔ)”}”(hŒ ``KVM: x86:``”h]”hŒ KVM: x86:”…””}”(hjyh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjqubhŒ es correcto, ”…””}”(hjqh²hh³Nh´NubjÔ)”}”(hŒ ``kvm: vmx:``”h]”hŒ kvm: vmx:”…””}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjqubhŒ no lo es.”…””}”(hjqh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KÌhjÞh²hubh¼)”}”(hŒ‚Escriba en mayúsculas la primera palabra de la descripción condensada del parche, pero omita la puntuación final. Por ejemplo::”h]”hŒEscriba en mayúsculas la primera palabra de la descripción condensada del parche, pero omita la puntuación final. Por ejemplo:”…””}”(hj£h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KÏhjÞh²hubj")”}”(hŒDKVM: x86: Corregir una desviación de puntero nulo en function_xyz()”h]”hŒDKVM: x86: Corregir una desviación de puntero nulo en function_xyz()”…””}”hj±sbah}”(h]”h ]”h"]”h$]”h&]”j1j2uh1j!h³hìh´KÒhjÞh²hubh¼)”}”(hŒno::”h]”hŒno:”…””}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KÔhjÞh²hubj")”}”(hŒCkvm: x86: corregir una desviación de puntero nulo en function_xyz.”h]”hŒCkvm: x86: corregir una desviación de puntero nulo en function_xyz.”…””}”hjÍsbah}”(h]”h ]”h"]”h$]”h&]”j1j2uh1j!h³hìh´KÖhjÞh²hubh¼)”}”(hŒáSi un parche afecta a varios temas, recorra el árbol conceptual hasta encontrar el primer padre común (que suele ser simplemente ``x86``). En caso de duda, ``git log path/to/file`` debería proporcionar una pista razonable.”h]”(hŒƒSi un parche afecta a varios temas, recorra el árbol conceptual hasta encontrar el primer padre común (que suele ser simplemente ”…””}”(hjÛh²hh³Nh´NubjÔ)”}”(hŒ``x86``”h]”hŒx86”…””}”(hjãh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjÛubhŒ). En caso de duda, ”…””}”(hjÛh²hh³Nh´NubjÔ)”}”(hŒ``git log path/to/file``”h]”hŒgit log path/to/file”…””}”(hjõh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjÛubhŒ+ debería proporcionar una pista razonable.”…””}”(hjÛh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KØhjÞh²hubh¼)”}”(hŒ¬De vez en cuando surgen nuevos temas, pero le rogamos que inicie un debate en la lista si desea proponer la introducción de un nuevo tema, es decir, no se ande con rodeos.”h]”hŒ¬De vez en cuando surgen nuevos temas, pero le rogamos que inicie un debate en la lista si desea proponer la introducción de un nuevo tema, es decir, no se ande con rodeos.”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KÝhjÞh²hubh¼)”}”(hXConsulte :ref:`the_canonical_patch_format` para obtener más información, con una enmienda: no trate el límite de 70-75 caracteres como un límite absoluto y duro. En su lugar, utilice 75 caracteres como límite firme, pero no duro, y 80 caracteres como límite duro. Es decir, deje que el registro corto sobrepase en algunos caracteres el límite estándar si tiene una buena razón para hacerlo.”h]”(hŒ Consulte ”…””}”(hjh²hh³Nh´Nubh)”}”(hŒ!:ref:`the_canonical_patch_format`”h]”j)”}”(hj%h]”hŒthe_canonical_patch_format”…””}”(hj'h²hh³Nh´Nubah}”(h]”h ]”(j Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jÿhj#ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”j1Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒthe_canonical_patch_format”uh1hh³hìh´KáhjubhXe para obtener más información, con una enmienda: no trate el límite de 70-75 caracteres como un límite absoluto y duro. En su lugar, utilice 75 caracteres como límite firme, pero no duro, y 80 caracteres como límite duro. Es decir, deje que el registro corto sobrepase en algunos caracteres el límite estándar si tiene una buena razón para hacerlo.”…””}”(hjh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KáhjÞh²hubeh}”(h]”Œshortlog”ah ]”h"]”Œshortlog”ah$]”h&]”uh1jWhj8h²hh³hìh´K·ubjX)”}”(hhh]”(j])”}”(hŒRegistro de cambios”h]”hŒRegistro de cambios”…””}”(hjXh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjUh²hh³hìh´Kéubh¼)”}”(hŒhY lo que es más importante, escriba los registros de cambios en modo imperativo y evite los pronombres.”h]”hŒhY lo que es más importante, escriba los registros de cambios en modo imperativo y evite los pronombres.”…””}”(hjfh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KêhjUh²hubh¼)”}”(hX»Consulte :ref:`describe_changes` para obtener más información, con una recomendación: comience con un breve resumen de los cambios reales y continúe con el contexto y los antecedentes. Nota. Este orden entra en conflicto directo con el enfoque preferido del árbol de sugerencias. Por favor, siga el estilo preferido del árbol de sugerencias cuando envíe parches. que se dirigen principalmente a código arch/x86 que _NO_ es código KVM.”h]”(hŒ Consulte ”…””}”(hjth²hh³Nh´Nubh)”}”(hŒ:ref:`describe_changes`”h]”j)”}”(hj~h]”hŒdescribe_changes”…””}”(hj€h²hh³Nh´Nubah}”(h]”h ]”(j Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jÿhj|ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jŠŒreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒdescribe_changes”uh1hh³hìh´KíhjtubhX› para obtener más información, con una recomendación: comience con un breve resumen de los cambios reales y continúe con el contexto y los antecedentes. Nota. Este orden entra en conflicto directo con el enfoque preferido del árbol de sugerencias. Por favor, siga el estilo preferido del árbol de sugerencias cuando envíe parches. que se dirigen principalmente a código arch/x86 que _NO_ es código KVM.”…””}”(hjth²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KíhjUh²hubh¼)”}”(hX§KVM x86 prefiere indicar lo que hace un parche antes de entrar en detalles por varias razones. En primer lugar, el código que realmente se está cambiando es posiblemente la información más importante, por lo que esa información debe ser fácil de encontrar. Changelogs que entierran el "qué está cambiando realmente" en una sola línea después de 3+ párrafos de fondo hacen muy difícil encontrar esa información.”h]”hX«KVM x86 prefiere indicar lo que hace un parche antes de entrar en detalles por varias razones. En primer lugar, el código que realmente se está cambiando es posiblemente la información más importante, por lo que esa información debe ser fácil de encontrar. Changelogs que entierran el “qué está cambiando realmente†en una sola línea después de 3+ párrafos de fondo hacen muy difícil encontrar esa información.”…””}”(hj¦h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KõhjUh²hubh¼)”}”(hX×Para la revisión inicial, se podría argumentar que "lo que está roto" es más importante, pero para hojear los registros y la arqueología git, los detalles escabrosos importan cada vez menos. Por ejemplo, al hacer una serie de "git blame", los detalles de cada cambio a lo largo del camino son inútiles, los detalles sólo importan para el culpable. Proporcionar el "qué ha cambiado" facilita determinar rápidamente si una confirmación puede ser de interés o no.”h]”hXãPara la revisión inicial, se podría argumentar que “lo que está roto†es más importante, pero para hojear los registros y la arqueología git, los detalles escabrosos importan cada vez menos. Por ejemplo, al hacer una serie de “git blameâ€, los detalles de cada cambio a lo largo del camino son inútiles, los detalles sólo importan para el culpable. Proporcionar el “qué ha cambiado†facilita determinar rápidamente si una confirmación puede ser de interés o no.”…””}”(hj´h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´KühjUh²hubh¼)”}”(hX¹Otra ventaja de decir primero "qué cambia" es que casi siempre es posible decir "qué cambia" en una sola frase. A la inversa, todo menos los errores más simples requieren varias frases o párrafos para describir el problema. Si tanto "qué está cambiando" como "cuál es el fallo" son muy breves, el orden no importa. Pero si uno es más corto (casi siempre el "qué está cambiando"), entonces cubrir el más corto primero es ventajoso porque es menos inconveniente para los lectores/revisores que tienen una preferencia estricta de orden. Por ejemplo, tener que saltarse una frase para llegar al contexto es menos doloroso que tener que saltarse tres párrafos para llegar a "lo que cambia".”h]”hXÑOtra ventaja de decir primero “qué cambia†es que casi siempre es posible decir “qué cambia†en una sola frase. A la inversa, todo menos los errores más simples requieren varias frases o párrafos para describir el problema. Si tanto “qué está cambiando†como “cuál es el fallo†son muy breves, el orden no importa. Pero si uno es más corto (casi siempre el “qué está cambiandoâ€), entonces cubrir el más corto primero es ventajoso porque es menos inconveniente para los lectores/revisores que tienen una preferencia estricta de orden. Por ejemplo, tener que saltarse una frase para llegar al contexto es menos doloroso que tener que saltarse tres párrafos para llegar a “lo que cambiaâ€.”…””}”(hjÂh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MhjUh²hubeh}”(h]”Œregistro-de-cambios”ah ]”h"]”Œregistro de cambios”ah$]”h&]”uh1jWhj8h²hh³hìh´KéubjX)”}”(hhh]”(j])”}”(hŒArreglos”h]”hŒArreglos”…””}”(hjÛh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjØh²hh³hìh´Mubh¼)”}”(hŒÏSi un cambio corrige un error de KVM/kernel, añada una etiqueta Fixes: incluso si el cambio no necesita ser retroportado a kernels estables, e incluso si el cambio corrige un error en una versión anterior.”h]”hŒÏSi un cambio corrige un error de KVM/kernel, añada una etiqueta Fixes: incluso si el cambio no necesita ser retroportado a kernels estables, e incluso si el cambio corrige un error en una versión anterior.”…””}”(hjéh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MhjØh²hubh¼)”}”(hX–Por el contrario, si es necesario hacer una corrección, etiquete explícitamente el parche con "Cc: stable@vger.kernel" (aunque no es necesario que el correo electrónico incluya Cc: stable); KVM x86 opta por excluirse del backporting Correcciones: por defecto. Algunos parches seleccionados automáticamente se retroportan, pero requieren la aprobación explícita de los mantenedores (busque MANUALSEL).”h]”(hŒgPor el contrario, si es necesario hacer una corrección, etiquete explícitamente el parche con “Cc: ”…””}”(hj÷h²hh³Nh´Nubj*)”}”(hŒstable@vger.kernel”h]”hŒstable@vger.kernel”…””}”(hjÿh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”Œrefuri”Œmailto:stable@vger.kernel”uh1j)hj÷ubhX!†(aunque no es necesario que el correo electrónico incluya Cc: stable); KVM x86 opta por excluirse del backporting Correcciones: por defecto. Algunos parches seleccionados automáticamente se retroportan, pero requieren la aprobación explícita de los mantenedores (busque MANUALSEL).”…””}”(hj÷h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MhjØh²hubeh}”(h]”Œarreglos”ah ]”h"]”Œarreglos”ah$]”h&]”uh1jWhj8h²hh³hìh´MubjX)”}”(hhh]”(j])”}”(hŒReferencias a Funciones”h]”hŒReferencias a Funciones”…””}”(hj$h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj!h²hh³hìh´Mubh¼)”}”(hŒêCuando se mencione una función en un comentario, registro de cambios o registro abreviado (o en cualquier otro lugar), utilice el formato ``nombre_de_la_función()``. Los paréntesis proporcionan contexto y desambiguan la referencia.”h]”(hŒ‹Cuando se mencione una función en un comentario, registro de cambios o registro abreviado (o en cualquier otro lugar), utilice el formato ”…””}”(hj2h²hh³Nh´NubjÔ)”}”(hŒ``nombre_de_la_función()``”h]”hŒnombre_de_la_función()”…””}”(hj:h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhj2ubhŒD. Los paréntesis proporcionan contexto y desambiguan la referencia.”…””}”(hj2h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´Mhj!h²hubeh}”(h]”Œreferencias-a-funciones”ah ]”h"]”Œreferencias a funciones”ah$]”h&]”uh1jWhj8h²hh³hìh´MubjX)”}”(hhh]”(j])”}”(hŒPruebas”h]”hŒPruebas”…””}”(hj]h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjZh²hh³hìh´M$ubh¼)”}”(hX$Como mínimo, *todos* los parches de una serie deben construirse limpiamente para KVM_INTEL=m KVM_AMD=m, y KVM_WERROR=y. Construir todas las combinaciones posibles de Kconfigs no es factible, pero cuantas más mejor. KVM_SMM, KVM_XEN, PROVE_LOCKING, y X86_64 son particularmente interesantes.”h]”(hŒComo mínimo, ”…””}”(hjkh²hh³Nh´Nubj%)”}”(hŒ*todos*”h]”hŒtodos”…””}”(hjsh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hjkubhX los parches de una serie deben construirse limpiamente para KVM_INTEL=m KVM_AMD=m, y KVM_WERROR=y. Construir todas las combinaciones posibles de Kconfigs no es factible, pero cuantas más mejor. KVM_SMM, KVM_XEN, PROVE_LOCKING, y X86_64 son particularmente interesantes.”…””}”(hjkh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M%hjZh²hubh¼)”}”(hXûTambién es obligatorio ejecutar las autopruebas y las pruebas unitarias de KVM (y, como es obvio, las pruebas deben pasar). La única excepción es para los cambios que tienen una probabilidad insignificante de afectar al comportamiento en tiempo de ejecución, por ejemplo, parches que sólo modificar los comentarios. Siempre que sea posible y pertinente, se recomienda encarecidamente realizar pruebas tanto en Intel como en AMD. Se recomienda arrancar una máquina virtual real, pero no es obligatorio.”h]”hXûTambién es obligatorio ejecutar las autopruebas y las pruebas unitarias de KVM (y, como es obvio, las pruebas deben pasar). La única excepción es para los cambios que tienen una probabilidad insignificante de afectar al comportamiento en tiempo de ejecución, por ejemplo, parches que sólo modificar los comentarios. Siempre que sea posible y pertinente, se recomienda encarecidamente realizar pruebas tanto en Intel como en AMD. Se recomienda arrancar una máquina virtual real, pero no es obligatorio.”…””}”(hj‹h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M*hjZh²hubh¼)”}”(hX¼Para cambios que afecten al código de paginación en la sombra de KVM, es obligatorio ejecutar con TDP (EPT/NPT) deshabilitado. Para cambios que afecten al código MMU común de KVM, se recomienda encarecidamente ejecutar con TDP deshabilitado. Para todos los demás cambios, si el código que se está modificando depende de y/o interactúa con un parámetro del módulo, es obligatorio realizar pruebas con la configuración correspondiente.”h]”hX¼Para cambios que afecten al código de paginación en la sombra de KVM, es obligatorio ejecutar con TDP (EPT/NPT) deshabilitado. Para cambios que afecten al código MMU común de KVM, se recomienda encarecidamente ejecutar con TDP deshabilitado. Para todos los demás cambios, si el código que se está modificando depende de y/o interactúa con un parámetro del módulo, es obligatorio realizar pruebas con la configuración correspondiente.”…””}”(hj™h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M2hjZh²hubh¼)”}”(hŒåTenga en cuenta que las autopruebas de KVM y las pruebas de unidad de KVM tienen fallos conocidos. Si sospecha que un fallo no se debe a sus cambios, verifique que el *exactamente el mismo* fallo se produce con y sin sus cambios.”h]”(hŒ§Tenga en cuenta que las autopruebas de KVM y las pruebas de unidad de KVM tienen fallos conocidos. Si sospecha que un fallo no se debe a sus cambios, verifique que el ”…””}”(hj§h²hh³Nh´Nubj%)”}”(hŒ*exactamente el mismo*”h]”hŒexactamente el mismo”…””}”(hj¯h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hj§ubhŒ( fallo se produce con y sin sus cambios.”…””}”(hj§h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M9hjZh²hubh¼)”}”(hŒ²Los cambios que afecten a la documentación de texto reestructurado, es decir, a los archivos .rst, deben generar htmldocs de forma limpia, es decir, sin advertencias ni errores.”h]”hŒ²Los cambios que afecten a la documentación de texto reestructurado, es decir, a los archivos .rst, deben generar htmldocs de forma limpia, es decir, sin advertencias ni errores.”…””}”(hjÇh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M>hjZh²hubh¼)”}”(hŒ·Si no puede probar completamente un cambio, por ejemplo, por falta de hardware, indique claramente qué nivel de pruebas ha podido realizar, por ejemplo, en la carta de presentación.”h]”hŒ·Si no puede probar completamente un cambio, por ejemplo, por falta de hardware, indique claramente qué nivel de pruebas ha podido realizar, por ejemplo, en la carta de presentación.”…””}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MBhjZh²hubeh}”(h]”Œpruebas”ah ]”h"]”Œpruebas”ah$]”h&]”uh1jWhj8h²hh³hìh´M$ubjX)”}”(hhh]”(j])”}”(hŒ Novedades”h]”hŒ Novedades”…””}”(hjîh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjëh²hh³hìh´MGubh¼)”}”(hXlCon una excepción, las nuevas características *deben* venir con cobertura de pruebas. Las pruebas específicas de KVM no son estrictamente necesarias, por ejemplo, si la cobertura se proporciona mediante la ejecución de una prueba de VM huésped suficientemente habilitada, o ejecutando una autoprueba de kernel relacionada en una VM, pero en todos los casos se prefieren las pruebas KVM dedicadas. Los casos de prueba negativos en particular son obligatorios para la habilitación de nuevas características de hardware, ya que los flujos de errores y excepciones rara vez se ejercitan simplemente ejecutando una VM.”h]”(hŒ0Con una excepción, las nuevas características ”…””}”(hjüh²hh³Nh´Nubj%)”}”(hŒ*deben*”h]”hŒdeben”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hjüubhX5 venir con cobertura de pruebas. Las pruebas específicas de KVM no son estrictamente necesarias, por ejemplo, si la cobertura se proporciona mediante la ejecución de una prueba de VM huésped suficientemente habilitada, o ejecutando una autoprueba de kernel relacionada en una VM, pero en todos los casos se prefieren las pruebas KVM dedicadas. Los casos de prueba negativos en particular son obligatorios para la habilitación de nuevas características de hardware, ya que los flujos de errores y excepciones rara vez se ejercitan simplemente ejecutando una VM.”…””}”(hjüh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MHhjëh²hubh¼)”}”(hXLa única excepción a esta regla es si KVM está simplemente anunciando soporte para un a través de KVM_GET_SUPPORTED_CPUID, es decir, para instrucciones/funciones que KVM no puede impedir que utilice una VM y para las que no existe una verdadera habilitación.”h]”hXLa única excepción a esta regla es si KVM está simplemente anunciando soporte para un a través de KVM_GET_SUPPORTED_CPUID, es decir, para instrucciones/funciones que KVM no puede impedir que utilice una VM y para las que no existe una verdadera habilitación.”…””}”(hjh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MRhjëh²hubh¼)”}”(hŒýTenga en cuenta que "nuevas características" no significa sólo "nuevas características de hardware". Las nuevas funcionalidades que no puedan ser validadas usando las pruebas existentes de KVM y/o las pruebas unitarias de KVM deben venir con pruebas.”h]”hXTenga en cuenta que “nuevas características†no significa sólo “nuevas características de hardwareâ€. Las nuevas funcionalidades que no puedan ser validadas usando las pruebas existentes de KVM y/o las pruebas unitarias de KVM deben venir con pruebas.”…””}”(hj*h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MWhjëh²hubh¼)”}”(hX_Es más que bienvenido el envío de nuevos desarrollos de características sin pruebas para obtener un feedback temprano, pero tales envíos deben ser etiquetados como RFC, y la carta de presentación debe indicar claramente qué tipo de feedback se solicita/espera. No abuse del proceso de RFC; las RFC no suelen recibir una revisión en profundidad.”h]”hX_Es más que bienvenido el envío de nuevos desarrollos de características sin pruebas para obtener un feedback temprano, pero tales envíos deben ser etiquetados como RFC, y la carta de presentación debe indicar claramente qué tipo de feedback se solicita/espera. No abuse del proceso de RFC; las RFC no suelen recibir una revisión en profundidad.”…””}”(hj8h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M\hjëh²hubeh}”(h]”Œ novedades”ah ]”h"]”Œ novedades”ah$]”h&]”uh1jWhj8h²hh³hìh´MGubjX)”}”(hhh]”(j])”}”(hŒCorrección de Errores”h]”hŒCorrección de Errores”…””}”(hjQh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjNh²hh³hìh´Mcubh¼)”}”(hXSalvo en el caso de fallos "obvios" detectados por inspección, las correcciones deben ir acompañadas de un reproductor del fallo corregido. En muchos casos, el reproductor está implícito, por ejemplo, para errores de compilación y fallos de prueba, pero debe quedar claro para lectores qué es lo que no funciona y cómo verificar la solución. Se concede cierto margen a los errores detectados mediante cargas de trabajo/pruebas no públicas, pero se recomienda encarecidamente que se faciliten pruebas de regresión para dichos errores.”h]”hX#Salvo en el caso de fallos “obvios†detectados por inspección, las correcciones deben ir acompañadas de un reproductor del fallo corregido. En muchos casos, el reproductor está implícito, por ejemplo, para errores de compilación y fallos de prueba, pero debe quedar claro para lectores qué es lo que no funciona y cómo verificar la solución. Se concede cierto margen a los errores detectados mediante cargas de trabajo/pruebas no públicas, pero se recomienda encarecidamente que se faciliten pruebas de regresión para dichos errores.”…””}”(hj_h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MdhjNh²hubh¼)”}”(hXSEn general, las pruebas de regresión son preferibles para cualquier fallo que no sea trivial de encontrar. Por ejemplo, incluso si el error fue encontrado originalmente por un fuzzer como syzkaller, una prueba de regresión dirigida puede estar justificada si el error requiere golpear una condición de carrera de tipo uno en un millón.”h]”hXSEn general, las pruebas de regresión son preferibles para cualquier fallo que no sea trivial de encontrar. Por ejemplo, incluso si el error fue encontrado originalmente por un fuzzer como syzkaller, una prueba de regresión dirigida puede estar justificada si el error requiere golpear una condición de carrera de tipo uno en un millón.”…””}”(hjmh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MmhjNh²hubh¼)”}”(hŒÀRecuerde que los fallos de KVM rara vez son urgentes *y* no triviales de reproducir. Pregúntate si un fallo es realmente el fin del mundo antes de publicar una corrección sin un reproductor.”h]”(hŒ5Recuerde que los fallos de KVM rara vez son urgentes ”…””}”(hj{h²hh³Nh´Nubj%)”}”(hŒ*y*”h]”hŒy”…””}”(hjƒh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hj{ubhŒˆ no triviales de reproducir. Pregúntate si un fallo es realmente el fin del mundo antes de publicar una corrección sin un reproductor.”…””}”(hj{h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MshjNh²hubeh}”(h]”Œcorreccion-de-errores”ah ]”h"]”Œcorrección de errores”ah$]”h&]”uh1jWhj8h²hh³hìh´Mcubeh}”(h]”Œ desarrollo”ah ]”h"]”Œ desarrollo”ah$]”h&]”uh1jWhjYh²hh³hìh´KfubjX)”}”(hhh]”(j])”}”(hŒ Publicación”h]”hŒ Publicación”…””}”(hj®h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj«h²hh³hìh´MxubjX)”}”(hhh]”(j])”}”(hŒEnlaces”h]”hŒEnlaces”…””}”(hj¿h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj¼h²hh³hìh´M{ubh¼)”}”(hX½No haga referencia explícita a informes de errores, versiones anteriores de un parche/serie, etc. mediante cabeceras ``In-Reply-To:``. Usar ``In-Reply-To:`` se convierte en un lío para grandes series y/o cuando el número de versiones es alto, y ``In-Reply-To:`` es inútil para cualquiera que no tenga el mensaje original, por ejemplo, si alguien no recibió un Cc en el informe de error o si la lista de destinatarios cambia entre versiones.”h]”(hŒvNo haga referencia explícita a informes de errores, versiones anteriores de un parche/serie, etc. mediante cabeceras ”…””}”(hjÍh²hh³Nh´NubjÔ)”}”(hŒ``In-Reply-To:``”h]”hŒ In-Reply-To:”…””}”(hjÕh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjÍubhŒ. Usar ”…””}”(hjÍh²hh³Nh´NubjÔ)”}”(hŒ``In-Reply-To:``”h]”hŒ In-Reply-To:”…””}”(hjçh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjÍubhŒ[ se convierte en un lío para grandes series y/o cuando el número de versiones es alto, y ”…””}”(hjÍh²hh³Nh´NubjÔ)”}”(hŒ``In-Reply-To:``”h]”hŒ In-Reply-To:”…””}”(hjùh²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjÍubhŒµ es inútil para cualquiera que no tenga el mensaje original, por ejemplo, si alguien no recibió un Cc en el informe de error o si la lista de destinatarios cambia entre versiones.”…””}”(hjÍh²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M|hj¼h²hubh¼)”}”(hXPara enlazar con un informe de error, una versión anterior o cualquier cosa de interés, utiliza enlaces lore. Para hacer referencia a versiones anteriores, en general no incluya un Enlace: en el registro de cambios, ya que no hay necesidad de registrar la historia en git, es decir, ponga el enlace en la carta de presentación o en la sección que git ignora. Proporcione un Enlace: formal para los informes de errores y/o discusiones que condujeron al parche. El contexto de por qué se hizo un cambio es muy valioso para futuros lectores.”h]”hXPara enlazar con un informe de error, una versión anterior o cualquier cosa de interés, utiliza enlaces lore. Para hacer referencia a versiones anteriores, en general no incluya un Enlace: en el registro de cambios, ya que no hay necesidad de registrar la historia en git, es decir, ponga el enlace en la carta de presentación o en la sección que git ignora. Proporcione un Enlace: formal para los informes de errores y/o discusiones que condujeron al parche. El contexto de por qué se hizo un cambio es muy valioso para futuros lectores.”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M„hj¼h²hubeh}”(h]”Œenlaces”ah ]”h"]”Œenlaces”ah$]”h&]”uh1jWhj«h²hh³hìh´M{ubjX)”}”(hhh]”(j])”}”(hŒ Basado en Git”h]”hŒ Basado en Git”…””}”(hj* h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj' h²hh³hìh´MŽubh¼)”}”(hŒæSi utilizas la versión 2.9.0 o posterior de git (Googlers, ¡os incluimos a todos!), utilice ``git format-patch`` con el indicador ``--base`` para incluir automáticamente la información del árbol base en los parches generados.”h]”(hŒ^Si utilizas la versión 2.9.0 o posterior de git (Googlers, ¡os incluimos a todos!), utilice ”…””}”(hj8 h²hh³Nh´NubjÔ)”}”(hŒ``git format-patch``”h]”hŒgit format-patch”…””}”(hj@ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhj8 ubhŒ con el indicador ”…””}”(hj8 h²hh³Nh´NubjÔ)”}”(hŒ ``--base``”h]”hŒ--base”…””}”(hjR h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhj8 ubhŒX para incluir automáticamente la información del árbol base en los parches generados.”…””}”(hj8 h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´Mhj' h²hubh¼)”}”(hXŒTenga en cuenta que ``--base=auto`` funciona como se espera si y sólo si el upstream de una rama se establece en la rama temática base, por ejemplo, hará lo incorrecto si su upstream se establece en su repositorio personal con fines de copia de seguridad. Una solución "automática" alternativa es derivar los nombres de tus ramas de desarrollo basándose en su KVM x86, e introdúzcalo en ``--base``. Por ejemplo, ``x86/pmu/mi_nombre_de_rama``, y luego escribir un pequeño wrapper para extraer ``pmu`` del nombre de la rama actual para obtener ``--base=x/pmu``, donde ``x`` es el nombre que su repositorio utiliza para rastrear el remoto KVM x86.”h]”(hŒTenga en cuenta que ”…””}”(hjj h²hh³Nh´NubjÔ)”}”(hŒ``--base=auto``”h]”hŒ --base=auto”…””}”(hjr h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjj ubhXk funciona como se espera si y sólo si el upstream de una rama se establece en la rama temática base, por ejemplo, hará lo incorrecto si su upstream se establece en su repositorio personal con fines de copia de seguridad. Una solución “automática†alternativa es derivar los nombres de tus ramas de desarrollo basándose en su KVM x86, e introdúzcalo en ”…””}”(hjj h²hh³Nh´NubjÔ)”}”(hŒ ``--base``”h]”hŒ--base”…””}”(hj„ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjj ubhŒ. Por ejemplo, ”…””}”(hjj h²hh³Nh´NubjÔ)”}”(hŒ``x86/pmu/mi_nombre_de_rama``”h]”hŒx86/pmu/mi_nombre_de_rama”…””}”(hj– h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjj ubhŒ4, y luego escribir un pequeño wrapper para extraer ”…””}”(hjj h²hh³Nh´NubjÔ)”}”(hŒ``pmu``”h]”hŒpmu”…””}”(hj¨ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjj ubhŒ+ del nombre de la rama actual para obtener ”…””}”(hjj h²hh³Nh´NubjÔ)”}”(hŒ``--base=x/pmu``”h]”hŒ --base=x/pmu”…””}”(hjº h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjj ubhŒ, donde ”…””}”(hjj h²hh³Nh´NubjÔ)”}”(hŒ``x``”h]”hŒx”…””}”(hjÌ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1jÓhjj ubhŒI es el nombre que su repositorio utiliza para rastrear el remoto KVM x86.”…””}”(hjj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M”hj' h²hubeh}”(h]”Œ basado-en-git”ah ]”h"]”Œ basado en git”ah$]”h&]”uh1jWhj«h²hh³hìh´MŽubjX)”}”(hhh]”(j])”}”(hŒTests de Co-Publicación”h]”hŒTests de Co-Publicación”…””}”(hjï h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjì h²hh³hìh´MŸubh¼)”}”(hXïLas autopruebas de KVM asociadas a cambios de KVM, por ejemplo, pruebas de regresión para correcciones de errores, deben publicarse junto con los cambios de KVM como una única serie. Se aplicarán las reglas estándar del núcleo para la bisección, es decir, los cambios de KVM que provoquen fallos en las pruebas se ordenarán después de las actualizaciones de las autopruebas, y viceversa. Las pruebas que fallan debido a errores de KVM deben ordenarse después de las correcciones de KVM.”h]”hXïLas autopruebas de KVM asociadas a cambios de KVM, por ejemplo, pruebas de regresión para correcciones de errores, deben publicarse junto con los cambios de KVM como una única serie. Se aplicarán las reglas estándar del núcleo para la bisección, es decir, los cambios de KVM que provoquen fallos en las pruebas se ordenarán después de las actualizaciones de las autopruebas, y viceversa. Las pruebas que fallan debido a errores de KVM deben ordenarse después de las correcciones de KVM.”…””}”(hjý h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M hjì h²hubh¼)”}”(hX¡KVM-unit-tests debería *siempre* publicarse por separado. Las herramientas, por ejemplo b4 am, no saben que KVM-unit-tests es un repositorio separado y se confunden cuando los parches de una serie se aplican en diferentes árboles. Para vincular los parches de KVM-unit-tests a Parches KVM, primero publique los cambios KVM y luego proporcione un enlace lore Link: al parche/serie KVM en el parche(s) KVM-unit-tests.”h]”(hŒKVM-unit-tests debería ”…””}”(hj h²hh³Nh´Nubj%)”}”(hŒ *siempre*”h]”hŒsiempre”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hj ubhX€ publicarse por separado. Las herramientas, por ejemplo b4 am, no saben que KVM-unit-tests es un repositorio separado y se confunden cuando los parches de una serie se aplican en diferentes árboles. Para vincular los parches de KVM-unit-tests a Parches KVM, primero publique los cambios KVM y luego proporcione un enlace lore Link: al parche/serie KVM en el parche(s) KVM-unit-tests.”…””}”(hj h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M¨hjì h²hubeh}”(h]”Œtests-de-co-publicacion”ah ]”h"]”Œtests de co-publicación”ah$]”h&]”uh1jWhj«h²hh³hìh´MŸubjX)”}”(hhh]”(j])”}”(hŒNotificaciones”h]”hŒNotificaciones”…””}”(hj6 h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj3 h²hh³hìh´M°ubh¼)”}”(hX8Cuando se acepte oficialmente un parche/serie, se enviará un correo electrónico de notificación en respuesta a la publicación original (carta de presentación para series de varios parches). La notificación incluirá el árbol y la rama temática, junto con los SHA1 de los commits de los parches aplicados.”h]”hX8Cuando se acepte oficialmente un parche/serie, se enviará un correo electrónico de notificación en respuesta a la publicación original (carta de presentación para series de varios parches). La notificación incluirá el árbol y la rama temática, junto con los SHA1 de los commits de los parches aplicados.”…””}”(hjD h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M±hj3 h²hubh¼)”}”(hX Si se aplica un subconjunto de parches, se indicará claramente en la notificación. A menos que se indique lo contrario, se sobreentiende que todos los parches del Las series que no han sido aceptadas necesitan más trabajo y deben presentarse en una nueva versión.”h]”hX Si se aplica un subconjunto de parches, se indicará claramente en la notificación. A menos que se indique lo contrario, se sobreentiende que todos los parches del Las series que no han sido aceptadas necesitan más trabajo y deben presentarse en una nueva versión.”…””}”(hjR h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M·hj3 h²hubh¼)”}”(hŒæSi por alguna razón se retira un parche después de haber sido aceptado oficialmente, se enviará una respuesta al correo electrónico de notificación explicando por qué se ha retirado el parche, así como los pasos siguientes.”h]”hŒæSi por alguna razón se retira un parche después de haber sido aceptado oficialmente, se enviará una respuesta al correo electrónico de notificación explicando por qué se ha retirado el parche, así como los pasos siguientes.”…””}”(hj` h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´M¼hj3 h²hubeh}”(h]”Œnotificaciones”ah ]”h"]”Œnotificaciones”ah$]”h&]”uh1jWhj«h²hh³hìh´M°ubjX)”}”(hhh]”(j])”}”(hŒEstabilidad SHA1”h]”hŒEstabilidad SHA1”…””}”(hjy h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hjv h²hh³hìh´MÂubh¼)”}”(hXÂLos SHA1 no son 100% estables hasta que llegan al árbol de Linus. Un SHA1 es *normalmente* estable una vez que se ha enviado una notificación, pero ocurren cosas. En la mayoría de los casos, se proporcionará una actualización del correo electrónico de notificación si se aplica un SHA1 del parche. Sin embargo, en algunos escenarios, por ejemplo, si todas las ramas de KVM x86 necesitan ser rebasadas, no se darán notificaciones individuales.”•#h]”(hŒNLos SHA1 no son 100% estables hasta que llegan al árbol de Linus. Un SHA1 es ”…””}”(hj‡ h²hh³Nh´Nubj%)”}”(hŒ *normalmente*”h]”hŒ normalmente”…””}”(hj h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hj‡ ubhXg estable una vez que se ha enviado una notificación, pero ocurren cosas. En la mayoría de los casos, se proporcionará una actualización del correo electrónico de notificación si se aplica un SHA1 del parche. Sin embargo, en algunos escenarios, por ejemplo, si todas las ramas de KVM x86 necesitan ser rebasadas, no se darán notificaciones individuales.”…””}”(hj‡ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MÃhjv h²hubeh}”(h]”Œestabilidad-sha1”ah ]”h"]”Œestabilidad sha1”ah$]”h&]”uh1jWhj«h²hh³hìh´MÂubjX)”}”(hhh]”(j])”}”(hŒVulnerabilidades”h]”hŒVulnerabilidades”…””}”(hj² h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j\hj¯ h²hh³hìh´MÌubh¼)”}”(hX_Los fallos que pueden ser explotados por la VM (el "guest") para atacar al host (kernel o espacio de usuario), o que pueden ser explotados por una VM anidada a *su* host (L2 atacando a L1), son de particular interés para KVM. Por favor, siga el protocolo para :ref:`securitybugs` si sospecha que un fallo puede provocar una filtración de datos, etc.”h]”(hŒ¤Los fallos que pueden ser explotados por la VM (el “guestâ€) para atacar al host (kernel o espacio de usuario), o que pueden ser explotados por una VM anidada a ”…””}”(hjÀ h²hh³Nh´Nubj%)”}”(hŒ*su*”h]”hŒsu”…””}”(hjÈ h²hh³Nh´Nubah}”(h]”h ]”h"]”h$]”h&]”uh1j$hjÀ ubhŒa host (L2 atacando a L1), son de particular interés para KVM. Por favor, siga el protocolo para ”…””}”(hjÀ h²hh³Nh´Nubh)”}”(hŒ:ref:`securitybugs`”h]”j)”}”(hjÜ h]”hŒ securitybugs”…””}”(hjÞ h²hh³Nh´Nubah}”(h]”h ]”(j Œstd”Œstd-ref”eh"]”h$]”h&]”uh1jÿhjÚ ubah}”(h]”h ]”h"]”h$]”h&]”Œrefdoc”jŒ refdomain”jè Œreftype”Œref”Œ refexplicit”‰Œrefwarn”ˆjŒ securitybugs”uh1hh³hìh´MÍhjÀ ubhŒG si sospecha que un fallo puede provocar una filtración de datos, etc.”…””}”(hjÀ h²hh³Nh´Nubeh}”(h]”h ]”h"]”h$]”h&]”uh1h»h³hìh´MÍhj¯ h²hubeh}”(h]”Œvulnerabilidades”ah ]”h"]”Œvulnerabilidades”ah$]”h&]”uh1jWhj«h²hh³hìh´MÌubeh}”(h]”Œ publicacion”ah ]”h"]”Œ publicación”ah$]”h&]”uh1jWhjYh²hh³hìh´Mxubeh}”(h]”Œkvm-x86”ah ]”h"]”Œkvm x86”ah$]”h&]”uh1jWhhh²hh³hìh´Kubeh}”(h]”h ]”h"]”h$]”h&]”Œsource”hìuh1hŒcurrent_source”NŒ current_line”NŒsettings”Œdocutils.frontend”ŒValues”“”)”}”(j\NŒ generator”NŒ datestamp”NŒ source_link”NŒ source_url”NŒ toc_backlinks”Œentry”Œfootnote_backlinks”KŒ sectnum_xform”KŒstrip_comments”NŒstrip_elements_with_classes”NŒ strip_classes”NŒ report_level”KŒ halt_level”KŒexit_status_level”KŒdebug”NŒwarning_stream”NŒ traceback”ˆŒinput_encoding”Œ utf-8-sig”Œinput_encoding_error_handler”Œstrict”Œoutput_encoding”Œutf-8”Œoutput_encoding_error_handler”j? Œerror_encoding”Œutf-8”Œerror_encoding_error_handler”Œbackslashreplace”Œ language_code”Œen”Œrecord_dependencies”NŒconfig”NŒ id_prefix”hŒauto_id_prefix”Œid”Œ dump_settings”NŒdump_internals”NŒdump_transforms”NŒdump_pseudo_xml”NŒexpose_internals”NŒstrict_visitor”NŒ_disable_config”NŒ_source”hìŒ _destination”NŒ _config_files”]”Œ7/var/lib/git/docbuild/linux/Documentation/docutils.conf”aŒfile_insertion_enabled”ˆŒ raw_enabled”KŒline_length_limit”M'Œpep_references”NŒ pep_base_url”Œhttps://peps.python.org/”Œpep_file_url_template”Œpep-%04d”Œrfc_references”NŒ rfc_base_url”Œ&https://datatracker.ietf.org/doc/html/”Œ tab_width”KŒtrim_footnote_reference_space”‰Œsyntax_highlight”Œlong”Œ smart_quotes”ˆŒsmartquotes_locales”]”Œcharacter_level_inline_markup”‰Œdoctitle_xform”‰Œ docinfo_xform”KŒsectsubtitle_xform”‰Œ image_loading”Œlink”Œembed_stylesheet”‰Œcloak_email_addresses”ˆŒsection_self_link”‰Œenv”NubŒreporter”NŒindirect_targets”]”Œsubstitution_defs”}”Œsubstitution_names”}”Œrefnames”}”Œrefids”}”Œnameids”}”(j j jjj·j´j5j2j§j¤jêjçj-j*j¨j¥jÑjÎj_j\j†jƒjÛjØjRjOjÕjÒjjjWjTjèjåjKjHj jj j j$ j! jé jæ j0 j- js jp j¬ j© j j uŒ nametypes”}”(j ‰j‰j·‰j5‰j§‰jê‰j-‰j¨‰jщj_‰j†‰jÛ‰jR‰jÕ‰j‰jW‰jè‰jK‰j ‰j ‰j$ ‰jé ‰j0 ‰js ‰j¬ ‰j ‰uh}”(j jYjjlj´j“j2jºj¤j-jçjªj*jíj¥j8jÎjIj\jÔjƒjbjØj‰jOjÞjÒjUjjØjTj!jåjZjHjëjjNj j«j! j¼jæ j' j- jì jp j3 j© jv j j¯ uŒ footnote_refs”}”Œ citation_refs”}”Œ autofootnotes”]”Œautofootnote_refs”]”Œsymbol_footnotes”]”Œsymbol_footnote_refs”]”Œ footnotes”]”Œ citations”]”Œautofootnote_start”KŒsymbol_footnote_start”KŒ id_counter”Œ collections”ŒCounter”“”}”…”R”Œparse_messages”]”Œtransform_messages”]”Œ transformer”NŒ include_log”]”Œ?Documentation/translations/sp_SP/process/maintainer-kvm-x86.rst”(NNNNt”†”aŒ decoration”Nh²hub.