chuột USB và Bộ điều khiển Bộ điều khiển máy chủ
Công ty Microsoft Tháng mời hai 3, 1998
Hệ điều hành mang cho một bộ điều khiển máy chủ dờng truyền (USB) tự động chung tới một trạng thái thao tác sử dụng sau đây những bớc:
- Tải bộ điều khiển bộ điều khiển máy chủ và tìm thấy bộ điều khiển máy chủ
- Xác minh bộ điều khiển máy chủ và cấp phát những tài nguyên hệ thống. - Cầm điều khiển của bộ điều khiển máy chủ
- Thiết lập những vùng truyền thông bộ điều khiển sổ đăng ký và máy chủ bộ điều khiển máy chủ ( HCCA).
- Khởi động sự gửi Khởi động của những dấu hiệu Khung ( SOF) trên USB. Mục này khảo sát bớc ba của quá trình - cầm điều khiển của bộ điều khiển máy chủ - trong ngữ cảnh của việc cung cấp một giải pháp tới vấn đề của sự hỗ trợ bàn phím và chuột di sản khi một bàn phím USB, con chuột, hoặc cả hai gắn liền tới PC. Thông tin trong mục này ứng dụng vào cả Microsoftđ Windowsđ 98 lẫn Windows 2000.
- USB hỗ trợ trong Windows 98 và Windows 2000 đợc thiết kế dựa vào những sự giả thiết này :
- Những nhà cung cấp Hệ thống muốn hỗ trợ những bàn phím và những con chuột USB khi BIOS có điều khiển Hệ thống ( cho ví dụ, bàn phím USB làm việc khi chơng trình cài đặt BIOS là việc chạy hoặc Hệ thống đang chạy trong MS - kiểu DOSđ).
- Những nhà cung cấp phần cứng và vi chơng trình bộ điều khiển máy chủ cung cấp số lợng nào đó của sự hỗ trợ cho sự mô phỏng của PS / những bàn phím và những con chuột 2 thích hợp bởi những bàn phím và những con chuột USB.
- Dới những điều kiện nơi những sự giả thiết này đợc gặp, mục này mô tả cách mà bộ điều khiển máy chủ Windows những bộ điều khiển trao bàn phím USB và con chuột bên ngoài ngắt xử lý giữa hệ điều hành và BIOS. Bộ điều khiển Bộ điều khiển máy chủ Giao diện ( UHCI) Bộ điều khiển đợc sử dụng bởi bộ điều khiển Bộ điều khiển máy chủ Giao diện ( OHCI) Bộ điều khiển máy chủ và máy chủ chung Mở những thi hành khác bởi vì những sự khác nhau cơ bản trong OHCI và những thuyết minh UHCI. Cả hai sự thi hành đợc mô tả trong mục này.
Hệ điều hành / BIOS handoff sự hỗ trợ bàn phím và chuột di sản Là một quá trình hai chiều. Nói cách khác, handoff có thể xuất hiện từ BIOS đến hệ điều hành hoặc từ hệ điều hành đến BIOS. Cả hai phơng hớng handoff đợc mô tả trong mục này. Một sự nối tiếp ví dụ của những sự kiện mà kéo handoff của bộ điều khiển chủ nhà vào cả hai phơng hớng là Hình 1. đợc đa vào
Hình 1. Sự nối tiếp Ví dụ của những sự kiện trong handoff bộ điều khiển máy chủ Thời gian hàng trong Hình 1 bắt đầu với một nguuồn điện - Lên trên ( mồi nguội) Sự kiện trên PC.
- Ngay lập tức sau nguuồn điện - Lên trên và cho thời hạn nào đó, BIOS điều khiển PC và bộ điều khiển máy chủ. Trong thời gian này interval, Một ngời dùng cần phải có thể sử dụng một bàn phím USB để vào Cài đặt BIOS và sử dụng những tất cả chìa khóa trên bàn phím USB mà hợp lệ Trong thời gian Cài đặt BIOS.
- Nếu ngời dùng không chọn vào Cài đặt BIOS, BIOS khởi động hệ điều hành ở tại điểm nào đó và hệ điều hành cầm điều khiển của PC và bộ điều khiển máy chủ .Nh Hình 1 đợc đa vào, mã trong một thờng lệ trong bộ điều khiển bộ điều khiển máy chủ hệ điều hành thực hiện những bớc cần thiết để trao ra khỏi điều khiển hàm hỗ trợ bàn phím di sản từ BIOS đến bộ điều khiển
bộ điều khiển máy chủ hệ điều hành ( trong mục này, thờng lệ đó đợc gọi StopBIOS).
- Hình 1 đợc đa vào sự kiện tiếp theo Xuất hiện khi ngời dùng thuê danh sách Đóng cửa để đóng tới MS-DOS. Cái này gây ra bộ điều khiển bộ điều khiển máy chủ sẽ đợc tháo gỡ; trớc khi tháo gỡ, nó thực hiện một thờng lệ mà thực hiện cần thiết những bớc để trao ra khỏi điều khiển của bàn phím di sản hỗ trợ hàm tới BIOS ( trong mục này, bộ điều khiển bộ điều khiển máy chủ đó thờng lệ đợc gọi StartBIOS).
Bàn tay Ra khỏi cho Bộ điều khiển Chủ nhà OHCI
Bộ điều khiển bộ điều khiển máy chủ chịu trách nhiệm Cho Một - Tập hợp bộ điều khiển máy chủ của dữ liệu gọi là dữ liệu thiết bị. ở khởi động và sự đóng cửa, bộ điều khiển bộ điều khiển máy chủ quản lý bộ điều khiển máy chủ xuyên qua một tập hợp của những sổ đăng ký Thao tác. Những sổ đăng ký này là bộ điều khiển bộ phận của máy chủ và đợc truy nhập bởi bộ điều khiển bộ điều khiển máy chủ sử dụng những sự tham khảo bộ nhớ xuyên qua một con trỏ thực tế noncached.
Nh thuyết minh đợc định nghĩa trong OHCI, sự mô phỏng bàn phím và chuột di sản do một tập hợp cung cấp của những sổ đăng ký kiểm soát bởi mã chạy trong Kiểu Quản lý Hệ thống ( SMM). Khi dữ liệu (thì) nhận đợc từ bàn phím hoặc con chuột, mã mô phỏng SMM đợc thông báo và dịch bàn phím USB / dữ liệu chuột thành một dãy dữ liệu mà tơng đơng tới cái gì đợc sản sinh bởi một PS / bàn phím 2 thích hợp / giao diện chuột. Sơ đồ mô phỏng này đợc mô tả bên trong " Lý thuyết Thao tác " Mục của Phụ lục B Trong thuyết minh OHCI.
Những ngắt đợc phát sinh bởi phần cứng mô phỏng bộ điều khiển máy chủ khi bàn phím USB hoặc dữ liệu chuột nhận đợc Lái bởi phần cứng bộ điều khiển máy chủ tới hoặc một ngắt quản lý hệ thống ( SMI) hoặc ngắt bộ điều khiển máy chủ chuẩn. Bộ điều khiển máy chủ sử dụng những quy tắc này để lái interrupt:
- Khi InterruptRouting cắn trong bộ điều khiển HcControl máy chủ sổ đăng ký bị sạch, ngắt Lái tới ngắt bộ điều khiển máy chủ chuẩn.
- Khi mẩu InterruptRouting là tập hợp, ngắt Lái tới ngắt SMI.
Ghi nhớ rằng SMM là một kiểu bộ xử lý trong những nền tảng Kiến trúc Intelđ mà trong suốt tới hệ điều hành và phần mềm ứng dụng. SMM đợc dự định cho sự sử dụng chỉ bởi vi chơng trình. SMM là những chế độ điều hành chính của một trong số bộ xử lý, ở mức trung bình với kiểu bảo vệ, kiểu địa chỉ thực tế, hoặc thực tế - 86 kiểu. Một tín hiệu ngoài, SMI#, Gây ra bộ xử lý để chuyển cho SMM; cái này đợc biết nh SMI ngắt. Tín hiệu SMI# có thể đợc phát sinh, chẳng hạn, bởi việc đóng nắp vung một máy tính xách tay. Khi bộ xử lý đoán nhận rằng một SMI# báo hiệu, bộ xử lý đợi những tất cả các kho để
hoàn thành và cất giữ trạng thái. Rồi bộ xử lý bắt đầu để thực hiện ngời điều khiển SMM trong vi chơng trình.
- Nguồn điện - Lên trên xử lý
Bộ điều khiển SMM có điều khiển của bộ xử lý trớc mọi bộ điều khiển khác. Bộ điều khiển SMM phải đặt những mẩu InterruptRouting để gây ra tất cả ngắt bộ điều khiển máy chủ sẽ bị đánh tan tác cho SMI ngắt. Bộ điều khiển SMM rồi đặt những lĩnh vực chuyên biệt về hệ thống trong những căn bản bộ điều khiển máy chủ, Mà lại đợi ít nhất thời gian tối thiểu chỉ rõ trong Thuyết minh USB cho sự khẳng định của sự oa trữ Trên USB, Và sau đó thiết lập bộ điều khiển máy chủ.
Hệ điều hành cầm Điều khiển của Bộ điều khiển máy chủ OHCI
Về sau, khi bộ điều khiển bộ điều khiển máy chủ là đã nạp và việc chạy, nó có thể xác định rằng bộ điều khiển SMM tích cực bởi vì mẩu InterruptRouting là tập hợp trong sổ đăng ký HcControl. Khi nó muốn những ngắt lái tới bộ điều khiển máy chủ chuẩn interrupt, Bộ điều khiển bộ điều khiển máy chủ đặt mẩu OwnershipChangeRequest trong căn bản HcCommandStatus, Mà lại rồi những màn hình InterruptRouting cắn để xác định khi quyền sở hữu thay đổi cầm đem lại.
Giả mã sau cho thấy cấu trúc và lôgic của toàn bộ StopBIOS thờng lệ trong bộ điều khiển bộ điều khiển máy chủ OHCI Windows.
Chú ý rằng StopBIOS thờng lệ là chỗ đợc gọi từ cái duy nhất trong bộ điều khiển bộ điều khiển máy chủ, từ OpenHCI_InitializeHardware thờng lệ.
BIOS cầm Điều khiển của Bộ điều khiển máy chủ OHCI
Giả mã sau cho thấy cấu trúc và lôgic của toàn bộ mô đun StartBIOS trong bộ điều khiển bộ điều khiển máy chủ OHCI Windows. Chú ý rằng StartBIOS th- ờng lệ thì đợc gọi chỉ sau máy chủ bộ điều khiển bộ điều khiển sẽ không chạm phần cứng lần nữa
Bàn tay Ra khỏi cho Bộ điều khiển máy chủ UHCI
Mục 5 của Giao diện Bộ điều khiển máy chủ Phổ thông ( UHCI) Thiết kế H- ớng dẫn, sự Duyệt lại 1.1 đa cho một sự thi hành ví dụ của di sản chuột và bàn phím hỗ trợ và mô tả một cách để trao điều khiển bên ngoài của Bộ điều khiển máy chủ giữa BIOS và bộ điều khiển Bộ điều khiển máy chủ UHCI trong hệ điều hành. Sổ đăng ký UHCI chìa khóa đợc sử dụng trong ví dụ là di sản hỗ trợ sổ đăng ký ( LEGSUP). Cho những sự thi hành Trong một thiết bị PCI, sổ đăng ký LEGSUP đợc định vị ở mầm C0 - C1h, Bên trong vận hành 2 không gian cấu hình PCI.
Bộ điều khiển bộ điều khiển máy chủ UHCI Microsoft cũng sử dụng sổ đăng ký LEGSUP nh giao diện sơ cấp trong việc thực hiện handoff của bộ điều khiển máy chủ giữa hệ điều hành và BIOS; lôgic thi hành bộ điều khiển bộ điều khiển máy chủ Microsoft đợc mô tả trong mục này của mục này.
Cấu trúc sổ đăng ký LEGSUP. Sổ đăng ký LEGSUP là một bitmap chứa đựng những 16 bít. ý nghĩa của mỗi 16 bít hoàn toàn đợc chỉ rõ trong Mục 5 của Giao diện Bộ điều khiển máy chủ chung ( UHCI) Thiết kế Hớng dẫn, sự Duyệt lại 1.1. Một sự mô tả tóm lợc đã cho trong sau đây bảng nh vậy ngời đọc có thể giải thích những giá trị bất biến bitmap đợc sử dụng trong về sau những mục của mục này mà không tham chiếu tới Thiết kế Hớng dẫn.
Đặt lên bảng 1. Cấu trúc sổ đăng ký LEGSUP
15 (R/WC) A20PTS 1 = A20GATE passthrough sequence has ended.
14 Reserved.
13 (R/W) USBPIRQDEN 1 = USB interrupt is routed to PIRQD (default). 0 = Not routed to PIRQD. This bit can be used to prevent the host controller from generating an interrupt. generating an interrupt.