GNU/Linux >> Znalost Linux >  >> Linux

Soubor, ve kterém je definována datová struktura pro tabulku Global Descriptor a Local Descriptor?

Vyhledejte na Googlu výraz „Linux Kernel file gdt “ poskytuje přesné výsledky, které hledáte. Toto je odkaz na výsledek vyhledávání knihy s obsahem popisujícím, kde jsou definovány GDT a LDT.

  • Všechny GDT jsou uloženy v cpu_gdt_table pole.

  • Pokud se podíváte do indexu zdrojového kódu, můžete vidět, že tyto symboly jsou definovány v souboru arch/i386/kernel/head.S . Myslím si však, že index zdrojového kódu lze zobrazit, když máte kopii knihy. Ale přesto je uveden soubor, kde je definováno GDT.


Zdá se, že pro nejnovější jádro je GDT definováno alespoň ve 3 samostatných souborech.

  • arch/x86/include/asm/desc_defs.h
  • arch/x86/include/asm/desc.h
  • arch/x86/include/asm/segment.h

Rozložení hlavního GDT se zdá být definováno v arch/x86/include/asm/segment.h kolem řádku 91. Nad tímto řádkem jsou komentáře k rozvržení.

Dokončená tabulka se načte v arch/x86/include/asm/desc.h pomocí funkce static inline void native_load_gdt(const struct desc_ptr *dtr) který právě volá operační kód sestavení lgdt . To je v souladu se způsobem, jakým starší jádra načítají tabulku do procesoru. Viz linka 303 zde. V kódové základně však nemohu najít žádná volání této funkce. Prosím, pomozte mi to někdo zjistit.

Také nemohu najít ekvivalent k definování konstant skutečné tabulky jako na řádku 479 v novějších jádrech.


Linux
  1. Čtěte a zapisujte data odkudkoli s přesměrováním v terminálu Linux

  2. Alternativa k „dd“, která soubor nezkrátí?

  3. Proč Ls -l neukazuje čas a rok pro každý soubor?

  1. Proč je deskriptor souboru otevřen a přečten pouze jednou?

  2. Tabulka oprávnění pro soubor/adresář a typy uživatelů souborového systému

  3. Existuje nástroj příkazového řádku pro vizualizaci a analýzu dat?

  1. Je možné, že linuxový deskriptor souboru 0 1 2 není pro stdin, stdout a stderr?

  2. Jak mohu nechat tcpdump zapisovat do souboru a standardní výstup příslušných dat?

  3. Zaseknutý výběr mezi ext4 a ext3 pro souborový systém