国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      存儲(chǔ)器保護(hù)單元、存儲(chǔ)器管理單元和微控制器的制作方法

      文檔序號:12469965閱讀:450來源:國知局
      存儲(chǔ)器保護(hù)單元、存儲(chǔ)器管理單元和微控制器的制作方法與工藝

      本發(fā)明涉及存儲(chǔ)器保護(hù)單元。此外,本發(fā)明涉及相應(yīng)的存儲(chǔ)器管理單元以及相應(yīng)的微控制器。



      背景技術(shù):

      管理程序(Hypervisor)(虛擬機(jī)監(jiān)控器(virtual machine monitor),VMM)構(gòu)成虛擬化的重要的基本概念。VMM從軟件角度確保,不同的獨(dú)立的軟件單元可以完全地被彼此分開。這些所謂的無干擾性(freedom from interference)在安全關(guān)鍵的應(yīng)用情況(use cases(使用情況))下尤其是有幫助的。較大的軟件單元、例如包括操作系統(tǒng)在內(nèi)的應(yīng)用程序,以下被稱為虛擬機(jī)(virtual machines,VM)。較小的軟件單元(軟件實(shí)體(software entities), SWE)例如是VM之內(nèi)的操作系統(tǒng)任務(wù)、軟件線程或者用戶軟件的部分。VM和SWE的分等級的細(xì)分可以在實(shí)現(xiàn)中實(shí)際上分等級地實(shí)施,而或者通過在僅僅邏輯上分配給VM的情況下很多SWE的平劃分(flache Aufteilung)來實(shí)施。對于高效的虛擬化,微控制器或者微處理器按照現(xiàn)有技術(shù)擁有特別的硬件能力,以便能夠?qū)M彼此分開。

      在微控制器或者微處理器(μP)之內(nèi)的虛擬化的核心構(gòu)件(以下僅還概括地稱作μC)是存儲(chǔ)器保護(hù)單元(memory protection unit,MPU)。按種類的MPU可以是單獨(dú)的或者集成在存儲(chǔ)器管理單元(memory management unit,MMU)之內(nèi)。主計(jì)算核心MPU對μC的主計(jì)算核心(core(核心))的存儲(chǔ)器訪問檢查可能的訪問沖突(Zugriffsverletzungen)。IO-MMU對μC的有DMA能力或者有主機(jī)能力的外圍單元的存儲(chǔ)器訪問檢查可能的訪問沖突。主計(jì)算核心MPU和IO-MPU以下僅還概括地被稱作MPU。有DMA能力或者有主機(jī)能力的外圍單元以下與主計(jì)算核心聯(lián)合地被稱作計(jì)算核心。訪問沖突例如是一個(gè)VM對分配給另一VM的存儲(chǔ)器地址的寫訪問。為此根據(jù)地址表檢查:與各個(gè)訪問相關(guān)聯(lián)的地址是否處于允許的范圍之內(nèi)。典型地,為不同的VM確定不同的地址范圍。例如,對于5個(gè)VM和分別10個(gè)地址范圍應(yīng)總計(jì)定義5×10=50個(gè)地址范圍。典型的計(jì)算系統(tǒng)由一個(gè)或多個(gè)計(jì)算核心以及例如閃存或者RAM存儲(chǔ)器組成,所述閃存或者RAM存儲(chǔ)器通過總線或者耦合場(縱橫開關(guān)(crossbar switch))彼此連接。MPU是例如處于計(jì)算核心與總線或者耦合場之間的硬件單元。MPU存儲(chǔ)地址范圍并且包括比較器單元,所述比較器單元對計(jì)算核心通過總線或者耦合場對存儲(chǔ)器的每個(gè)訪問在其實(shí)施之前檢查許可性。如果訪問被允許,那么所述訪問發(fā)生。如果訪問不應(yīng)當(dāng)被允許,那么所述訪問被阻止,因此不到達(dá)總線并且計(jì)算核心例如通過中斷適當(dāng)?shù)乇煌ㄖ?/p>

      DE 19828056 A1涉及用于在程序運(yùn)行內(nèi)在對存儲(chǔ)器寫入期間監(jiān)控存儲(chǔ)器的存儲(chǔ)區(qū)的裝置。規(guī)定,輔助存儲(chǔ)器被分配給所述存儲(chǔ)器,所述輔助存儲(chǔ)器在安置(Anlegen)存儲(chǔ)器的存儲(chǔ)區(qū)期間被這樣地結(jié)構(gòu)化,使得存儲(chǔ)器的要保護(hù)的存儲(chǔ)區(qū)分別分配給輔助存儲(chǔ)器的所標(biāo)記的存儲(chǔ)區(qū),并且存儲(chǔ)器的存儲(chǔ)區(qū)和輔助存儲(chǔ)器的所標(biāo)記的存儲(chǔ)區(qū)在程序運(yùn)行時(shí)是同時(shí)可尋址的(ansprechbar),并且程序運(yùn)行在輔助存儲(chǔ)器的所標(biāo)記的存儲(chǔ)區(qū)的未經(jīng)授權(quán)的尋址時(shí)被影響。



      技術(shù)實(shí)現(xiàn)要素:

      本發(fā)明提供按照獨(dú)立權(quán)利要求所述的存儲(chǔ)器保護(hù)單元、相應(yīng)的存儲(chǔ)器管理單元以及相應(yīng)的微控制器。

      在此,本發(fā)明所基于的認(rèn)識(shí)是,越密集地對用于虛擬化的μC的特別的硬件能力訪問,其關(guān)于實(shí)施速度的效率越重要。在最無益的情況下,VMM的使用產(chǎn)生如此高的運(yùn)行時(shí)間額外耗費(fèi),使得總計(jì)算效率猛烈地暴跌。因此,本發(fā)明的一種實(shí)施方式提供用于虛擬化的硬件支持,所述硬件支持的性能需求自身在密集型使用的情況下是最小的。

      所述解決方案的優(yōu)點(diǎn)在于用于實(shí)施VM和SWE的MPU的所需要的轉(zhuǎn)換的加速,其中所述VM和SWE的存儲(chǔ)區(qū)為了無干擾性目的彼此分開。所述方案的目的特別是用于加載(Laden)MPU的要保護(hù)的地址范圍的最小時(shí)間需求。于是,所述較快速的轉(zhuǎn)換例如尤其通過由VMM轉(zhuǎn)換VM而對虛擬化的效率有好處。但是,較快速的轉(zhuǎn)換尤其通過各個(gè)SWE的轉(zhuǎn)換也對在各個(gè)線程彼此分開情況下正常的操作系統(tǒng)或者應(yīng)用程序有好處。

      因?yàn)橛?jì)算核心不必再部分地或者完全地(重新)配置MPU寄存器自身,所以所述計(jì)算核心也可以在MPU內(nèi)部新配置期間與此并行地在本地存儲(chǔ)器上實(shí)施計(jì)算。

      此外,本發(fā)明的一種實(shí)施方式使地址范圍的管理靈活,用于彼此通過硬件支持保護(hù)軟件。

      通過在從屬權(quán)利要求和以下的描述中所提及的措施,在獨(dú)立權(quán)利要求中說明的基本思想的有利的改進(jìn)和改善是可能的。因此可以規(guī)定,用于存儲(chǔ)存儲(chǔ)器保護(hù)單元的地址表的配置存儲(chǔ)器包括靜態(tài)RAM(靜態(tài)隨機(jī)存取存儲(chǔ)器(static random-access memory),SRAM)。因?yàn)闀r(shí)鐘頻率在技術(shù)上被限制,所以為了實(shí)現(xiàn)配置存儲(chǔ)器的高的傳輸帶寬,高的數(shù)據(jù)字寬(Datenwortbreite)的使用也是可能的,以便能夠?qū)崿F(xiàn)地址范圍的快速的新配置。在此通過直接地連接到MMU上的芯片內(nèi)部存儲(chǔ)器,256比特或者除此之外的數(shù)據(jù)字寬也是非臨界的。

      按照另一方面,影子寄存器可以被設(shè)置。通過使用兩個(gè)或更多個(gè)這樣的MPU寄存器組,寄存器的轉(zhuǎn)換可以被緩沖并且因此再次更迅速地進(jìn)行,其中所述寄存器組可以顯式地通過軟件而或者通過硬件預(yù)測邏輯被預(yù)加載。

      按照另一方面,硬件邏輯可以這樣地被配置,使得所述硬件邏輯可以基于唯一的軟件標(biāo)志區(qū)分相同的或者不同的實(shí)施層面的軟件單元。借助于這樣的ID或者訪問層面,可以借助于存儲(chǔ)器保護(hù)單元對適當(dāng)?shù)耐鈬鷨卧膫鬟f(Transfer)檢驗(yàn)有效性。

      按照另一方面,硬件邏輯可以通過這種方式被這樣地配置,使得基于具有其唯一的軟件標(biāo)志的分別有效的軟件自動(dòng)地或者部分自動(dòng)地對硬件寄存器進(jìn)行加載,使得不需要或者僅需要計(jì)算核心(23)的受約束的行動(dòng)。因此,存儲(chǔ)器保護(hù)單元可以根據(jù)軟件標(biāo)志自動(dòng)地(并且快速地)加載合適的地址范圍到其寄存器中。所述措施考慮以下情況:即寄存器常常強(qiáng)烈地被限制,存儲(chǔ)器比較便宜,并且軟件標(biāo)志的變化比由計(jì)算核心通過總線的訪問少得多。于是,建議的方案意味著可能的所配置的存儲(chǔ)區(qū)域的對于軟件透明的、便宜的和顯著的提高。

      附圖說明

      在附圖中示出并且在隨后的描述中進(jìn)一步闡述本發(fā)明的實(shí)施例。其中:

      圖1示出按軟件和硬件對所使用的術(shù)語的示意性分類。

      圖2示出按照一種實(shí)施方式的具有本地MPU配置存儲(chǔ)器的μC的構(gòu)造。

      圖3示出本發(fā)明的一種實(shí)施方式的示例性使用。

      具體實(shí)施方式

      示范性的應(yīng)用場景包括微處理器或者微控制器15形式的硬件11,所述微處理器或者微控制器15實(shí)施軟件10。軟件10在其方面包括可以監(jiān)控多個(gè)VM 12的VMM 14,其中一個(gè)VM 12又可以具有多個(gè)SWE 13。所述相互關(guān)系在圖1中被概括。

      圖2進(jìn)一步詳細(xì)示出微控制器15的構(gòu)造。所述微控制器15尤其包括具有用于讀和寫來自全局地址空間22的工作數(shù)據(jù)的耦合場的總線21,所述全局地址空間22由全局存儲(chǔ)器22a和全局可訪問的外圍單元22b組成,所述全局可訪問的外圍單元在全局地址空間22上是可訪問的;分別用于處理工作數(shù)據(jù)的三個(gè)與總線21間接地連接的計(jì)算核心23、24,其中23是主計(jì)算核心并且24是有DMA能力的外圍單元;用于存儲(chǔ)本地工作數(shù)據(jù)的兩個(gè)與主計(jì)算核心23中的各一個(gè)間接地連接的本地工作存儲(chǔ)器25;用于保護(hù)本地工作存儲(chǔ)器25的兩個(gè)接在兩個(gè)主計(jì)算核心23中的每個(gè)和各自的本地工作存儲(chǔ)器25之間的第一存儲(chǔ)器保護(hù)單元29l;用于保護(hù)具有全局存儲(chǔ)器22a和全局外圍單元22b的全局地址空間22的三個(gè)接在三個(gè)計(jì)算核心23、24中的各一個(gè)與總線21之間的第二存儲(chǔ)器保護(hù)單元29g;以及各一個(gè)連接到存儲(chǔ)器保護(hù)單元29l、29g中的每個(gè)上的配置存儲(chǔ)器28,要保護(hù)的存儲(chǔ)區(qū)的配置被存放在所述配置存儲(chǔ)器28中;以及存儲(chǔ)器保護(hù)單元29l、29g擴(kuò)展了訪問接口的各一個(gè)擴(kuò)展29e,以便能夠訪問配置存儲(chǔ)器28,其中20作為29e與28的總和表示按照本發(fā)明的創(chuàng)新。

      在此,用于存儲(chǔ)器保護(hù)單元29l、29g的轉(zhuǎn)換(Umschaltung)的硬件寄存器的內(nèi)容例如不被存儲(chǔ)在微控制器15的主存儲(chǔ)器中。換而言之,存儲(chǔ)器保護(hù)單元29l、29g分別擁有優(yōu)選地靜態(tài)RAM形態(tài)的自己的本地配置存儲(chǔ)器28;用于管理配置存儲(chǔ)器28的包含在存儲(chǔ)器保護(hù)單元29l、29g中的硬件邏輯29e;用于在配置存儲(chǔ)器28和硬件寄存器之間進(jìn)行數(shù)據(jù)交換的、在配置存儲(chǔ)器28和硬件邏輯29l、29g之間、尤其在配置存儲(chǔ)器28和保持要檢查的地址范圍的29l、29g的硬件寄存器之間的性能(performant)數(shù)據(jù)連接和控制邏輯;用于控制配置存儲(chǔ)器28和硬件寄存器之間的均衡(Abgleich)的在存儲(chǔ)器保護(hù)單元29l、29g和各自的計(jì)算核心23、24之間的接口;以及用于通過計(jì)算核心23、24經(jīng)由(im Wege)直接數(shù)據(jù)傳送(Datendurchleitung)或者間接地在通過存儲(chǔ)器保護(hù)單元29l、29g預(yù)處理后對配置存儲(chǔ)器28進(jìn)行寫入的在存儲(chǔ)器保護(hù)單元29l、29g和各自的計(jì)算核心23、24之間的接口。

      可選地,存儲(chǔ)器保護(hù)單元29l、29g擁有用于例如為了區(qū)別VMM 14、VM 12或者SWE 13目的而在不同的訪問層面之間分等級地分開的邏輯,并且基于剛好所實(shí)施的軟件10的訪問層面或者標(biāo)志(標(biāo)識(shí)(identification),ID)、例如在VM情況下VM-ID或者在SWE情況下線程ID掌控(beherrschen)期望的MPU配置的自動(dòng)的加載。

      在有效VM的慣常實(shí)施期間,每個(gè)存儲(chǔ)器保護(hù)單元29l、29g以傳統(tǒng)的方式起作用:具有確定數(shù)量的地址范圍的當(dāng)前地址表處于存儲(chǔ)器保護(hù)單元29l、29g的硬件寄存器中。對各自的計(jì)算核心23、24中的每個(gè)地址訪問檢查訪問權(quán),其方式是:所述地址相對來自存儲(chǔ)器保護(hù)單元29l、29g的地址表中的每個(gè)地址范圍被檢查。為了能夠?qū)崿F(xiàn)快速的檢查,全部的檢查優(yōu)選地在并行的硬件結(jié)構(gòu)中被實(shí)施,例如其方式是:對于每個(gè)地址范圍設(shè)置用于下界限(untere Schranke)的比較器和用于上界限的比較器。

      然而當(dāng)軟件單元、例如VM被轉(zhuǎn)換時(shí),軟件10按照本發(fā)明不必再對每個(gè)硬件寄存器進(jìn)行加載來將地址范圍單獨(dú)地或者逐塊地以顯式方式重新寫入到存儲(chǔ)器保護(hù)單元29l、29g中。換而言之,地址范圍通過硬件邏輯29e從寄存器保護(hù)單元29l、29g的本地配置存儲(chǔ)器28中讀出。配置存儲(chǔ)器28優(yōu)選地是快速SRAM。為了轉(zhuǎn)換,軟件10僅須安排存儲(chǔ)器保護(hù)單元29l、29e。這可以例如通過說明配置存儲(chǔ)器28之內(nèi)的地址或者通過ID的傳輸進(jìn)行,新的配置數(shù)據(jù)針對所述ID被存放。所述安排(Veranlassung)可以以顯式方式通過各自的計(jì)算核心23/24進(jìn)行,或者以隱式方式通過確定的VMM/VM/SWE的存儲(chǔ)器訪問進(jìn)行,唯一的ID或者訪問層面可以被分配給所述確定的VMM/VM/SWE。

      為了初始地或者在運(yùn)行時(shí)間配置地址范圍,根據(jù)實(shí)施,計(jì)算核心23、24中的每個(gè)而或者僅所述計(jì)算核心中的一個(gè)可以直接地或者間接地通過存儲(chǔ)器保護(hù)單元29l、29g的硬件寄存器訪問存儲(chǔ)器保護(hù)單元29l、29g的自身的而或者全部的配置存儲(chǔ)器28,也即訪問要保護(hù)的地址區(qū)域。

      如果在稍后的工作流程(Arbeitablauf)中有DMA能力的外圍單元24的存儲(chǔ)器訪問被調(diào)整,那么優(yōu)選的是也將主計(jì)算核心23的進(jìn)行調(diào)整的VMM/VM/SWE的必要時(shí)隱式傳輸?shù)幕蛘咭@式傳輸?shù)腎D或者訪問層面存放在有DMA能力的外圍單元24之內(nèi),而不存放在配置存儲(chǔ)器28之內(nèi)。在稍后的進(jìn)程中,有DMA能力的外圍單元24的各自的存儲(chǔ)器訪問于是可以被配備有相應(yīng)的ID或者訪問層面。ID或者訪問層面取決于:計(jì)算核心23、24的哪個(gè)VMM/VM/SWE已經(jīng)調(diào)整了各自的傳遞(Transfer)。借助于ID或者訪問層面,有DMA能力的外圍單元24的傳遞可以借助于存儲(chǔ)器保護(hù)單元29g并且這里又借助于配置存儲(chǔ)器28的地址數(shù)據(jù)被檢驗(yàn)有效性。

      根據(jù)有效的軟件10的實(shí)施級別,可能允許或者禁止進(jìn)行實(shí)施的主計(jì)算核心23對存儲(chǔ)器保護(hù)單元29l、29g的配置的訪問。

      存儲(chǔ)器保護(hù)單元29l、29g可能按照以下的選項(xiàng)(顯式(explizit)和/或隱式(implizit)/自動(dòng)地基于SW ID或者特權(quán)級別)加載地址表:

      尤其當(dāng)有關(guān)的存儲(chǔ)器保護(hù)單元29l、29g是“平的(flach)”并且僅僅在VM之間進(jìn)行區(qū)分時(shí):軟件10可以在存儲(chǔ)器保護(hù)單元29l、29g處顯式地調(diào)整用于VM的地址表的開始。為此,在存儲(chǔ)器保護(hù)單元29l、29g的存儲(chǔ)區(qū)之內(nèi)經(jīng)由索引或者經(jīng)由地址直接地或者間接地經(jīng)由偏移(Offset)指向第一和最后的項(xiàng)。

      尤其當(dāng)有關(guān)的存儲(chǔ)器保護(hù)單元29l、29g是分等級的并且在VM和SWE之間進(jìn)行區(qū)分時(shí):那么軟件10可以直接地或者間接地經(jīng)由偏移、經(jīng)由索引或者經(jīng)由地址指向相關(guān)的SWE的項(xiàng)。

      于是可以由存放在有關(guān)的存儲(chǔ)器保護(hù)單元29l、29g的配置存儲(chǔ)器28或者硬件寄存器中的所述信息導(dǎo)出對于各自所實(shí)施的VM或者SWE許可的地址空間中的進(jìn)入(Einsprung)。

      按照可選的安全特征(safety feature)規(guī)定,在起始階段(start-up phase)中寫用于存儲(chǔ)器保護(hù)單元29l、29g的所有可能的配置,以及于是在運(yùn)行中禁止其它的變化可能性。存儲(chǔ)器保護(hù)單元29l、29g于是具有配置模式,并且隨后自給自足地在沒有其它相互作用的情況下運(yùn)行。

      優(yōu)選地,在一個(gè)VM之內(nèi)的SWE的數(shù)量不是確定的,而是可以靈活地選擇。在一種相應(yīng)的實(shí)施方式中,通過有限制的數(shù)量的硬件比較器,也可以限制同時(shí)可檢查的地址范圍的最大數(shù)量。

      在考慮等級的實(shí)施方式中,存儲(chǔ)器保護(hù)單元29l、29g保證:具有一個(gè)實(shí)施級別的軟件10不修改或者讀取具有相同的或者更有特權(quán)的實(shí)施級別的分開的軟件10的配置。VMM、不同的VM和SWE的彼此間經(jīng)配置的地址范圍因此在一定程度上是不可見的。在該情況下,對所有下級軟件單元10的地址范圍的完全訪問應(yīng)當(dāng)被讓給上級軟件單元10,尤其是對VM12和SWE13的完全訪問被讓給VMM 14以及對SWE 13的完全訪問被讓給VM 12(VMs auf SWEs 13))。

      通過使用兩組或更多組硬件寄存器(對應(yīng)于由現(xiàn)有技術(shù)已知的影子寄存器(Schattenregistern)或者影子集(Schatten-Set)),硬件寄存器的轉(zhuǎn)換可以被緩沖并且因此再次更迅速地進(jìn)行,其中所述硬件寄存器能夠顯式地通過軟件10而或者通過硬件11的預(yù)測邏輯啟發(fā)式地被預(yù)加載(prefetching(預(yù)?。?。

      當(dāng)配置存儲(chǔ)器28不夠用于全部的VM和SWE時(shí),配置也可以被存放在計(jì)算核心23的本地存儲(chǔ)器25中或者全局存儲(chǔ)區(qū)22a之內(nèi),并且根據(jù)需求在所述存儲(chǔ)器與連接到存儲(chǔ)器保護(hù)單元29l、29g上的配置存儲(chǔ)器28之間來回被復(fù)制。為了對全局存儲(chǔ)區(qū)22a進(jìn)行訪問,要么計(jì)算核心23、24要么DMA控制器可以被使用,而或者存儲(chǔ)器保護(hù)單元29l、29g可以在存在相應(yīng)的訪問邏輯的情況下借助于總線21直接地訪問所述存儲(chǔ)器22a。

      如果考慮等級,那么在配置等級層面時(shí),應(yīng)該在較深的等級層面中可以確定最大數(shù)量的項(xiàng)。例如,SWE 13的實(shí)際數(shù)量在一個(gè)VM 12之內(nèi)應(yīng)當(dāng)可以在運(yùn)行時(shí)間自由地被調(diào)整。這也可以動(dòng)態(tài)地、必要時(shí)以由硬件11的受限制的資源覆蓋(gedeckelt)的方式進(jìn)行。

      圖3圖解用于使用本發(fā)明的一種實(shí)施方式的示例。在此,初始化構(gòu)成第一步驟,而所述初始化可以在啟動(dòng)時(shí)、而也可以動(dòng)態(tài)地在運(yùn)行時(shí)間進(jìn)行。在該步驟中,計(jì)算核心23將一個(gè)或多個(gè)地址范圍發(fā)送給存儲(chǔ)器保護(hù)單元29g。存儲(chǔ)器保護(hù)單元29g通過接口29e將所述地址范圍存儲(chǔ)在所連接的配置存儲(chǔ)器28中。

      在運(yùn)行期間激活構(gòu)成應(yīng)用的第二步驟。計(jì)算核心23在該步驟中將要激活的地址范圍顯式地或者隱式地通知給存儲(chǔ)器保護(hù)單元29g。所述通知可以借助于索引、軟件ID、特權(quán)級別或者到配置存儲(chǔ)器28上的指針進(jìn)行,并且包括一個(gè)或多個(gè)地址范圍。當(dāng)舊的地址范圍不再是有效的時(shí),存儲(chǔ)器保護(hù)單元29g可以(通過計(jì)算核心23激活地或者獨(dú)立自主地)舍棄所述舊的地址范圍的一部分,或者當(dāng)舊的地址范圍繼續(xù)保持有效時(shí),存儲(chǔ)器保護(hù)單元29g可以存儲(chǔ)所述舊的地址范圍的一部分。存儲(chǔ)器保護(hù)單元29g從現(xiàn)在開始將新的有效的地址范圍從配置存儲(chǔ)器28加載到本地硬件寄存器中。

      在第三步驟中,存儲(chǔ)器保護(hù)單元29g轉(zhuǎn)入正常運(yùn)行。在此,計(jì)算核心23通過定址訪問存儲(chǔ)區(qū),并且存儲(chǔ)器保護(hù)單元29g對由計(jì)算核心23使用的地址檢查許可性。在許可性(Zul?ssigkeit)情況下,訪問被轉(zhuǎn)發(fā)給總線21,否則被封鎖。

      當(dāng)前第1頁1 2 3 
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會(huì)獲得點(diǎn)贊!
      1