BIOS cầm Điều khiển Bộ điều khiển máy chủ UHCI
Giả mã sau cho thấy cấu trúc và lôgic của StartBIOS thường lệ cho bộ điều
khiển máy chủ UHCI. Chú ý rằng mỗi khi StartBIOS được thực hiện, nó có thể
được giả thiết rằng StopBIOS đã được thực hiện sớm hơn; tất cả các sự gọi
StartBIOS đều có điều kiện và được thực hiện chỉ khi cờ USBBIOS là tập hợp
bên trong - thiết bị, - cấu trúc dữ liệu bộ điều khiển đợc bảo trì bởi bộ điều
khiển bộ điều khiển máy chủ. Cái này có nghĩa rằng một tập hợp của những giá
trị sổ đăng ký bộ điều khiển máy chủ mà BIOS cần để cầm điều khiển của bộ
điều khiển máy chủ được cất giữ trong cùng cấu trúc dữ liệu
Ghi chú Chiều theo Bản thảo HID
Trong Định nghĩa Lớp Thiết bị USB HID cho những thiết bị giao diện Con
người, Bản thảo bộ mô tả HID đã được định vị Lại Bên trong bộ mô tả Cấu hình;
thứ tự đúng bây giờ là Cấu hình / Giao diện / HID / Endpoint. Bộ điều khiển HID
USB cung cấp với Windows 98 và Windows 2000 xem thứ tự những bộ mô tả bên
trong bộ mô tả Cấu hình để xác định liệu có phải một thiết bị là Bản thảo - tương
hợp. Nếu bộ điều khiển nhìn thấy một thứ tự bộ mô tả Giao diện / Endpoint / HID,
Nó giả thiết rằng là một thiết bị cũ hơn và gửi tất cả các yêu cầu cho Endpoint. Nếu
nó nhìn thấy một thứ tự bộ mô tả Giao diện / HID / Endpoint, Nó giả thiết rằng đây
là một Bản thảo - thiết bị tương hợp và gửi tất cả các yêu cầu cho Giao diện.
Nếu giá trị của bmRequestType là 82 H, Bộ mô tả HID thì có liên hệ với bộ
mô tả Endpoint, hơn là với bộ mô tả Giao diện. Để cố định đây, người phát triển
phải tái định vị bộ mô tả HID để nó ngồi sau bộ mô tả Giao diện và trước bộ mô tả
Endpoint. Vi chương trình thiết bị mà điều khiển gói cài đặt cần tìm kiếm một kiểu
81 yêu cầu H, Hơn là 82 H. Cuối cùng, cho những thiết bị với những nhiều mặt,
nhau như một bàn phím với con chuột gắn sẵn, lĩnh vực wIndex phải phản chiếu
giao diện cho đó một bộ mô tả Báo cáo đang được đòi hỏi.
Bộ điều khiển lớp USB OSR 2.1 Windows 95 không đúng giả thiết rằng bộ
mô tả Endpoint ngay lập tức đi theo bộ mô tả Giao diện. Một giải pháp mà làm
việc bằng nhau tốt trên Windows 95 và Windows 98 sẽ làm sạch mọi thứ ra
khỏi bộ mô tả Cấu hình trở lại từ thiết bị trừ Cấu hình, mặt, nhau và những bộ
mô tả Endpoint trước khi được đi qua đến những hàm USB. Một hàm mẫu mà
thực hiện nhiệm vụ này có thể được tải xuống từ web-site ở
www.microsoft.com/hwdev/driver/hid4.htm.
Những sự tham khảo và sự Gọi tới Hoạt động
- OEMs cần phải bảo đảm BIOS đó Chúng Con tàu trên tất cả các nền tảng với
những bộ điều khiển máy chủ USB và những đầu nối USB có mã mà cung cấp
sự hỗ trợ bàn phím và chuột di sản cho những bàn phím và những con chuột
USB. Nền tảng cần phải có bàn phím hỗ trợ được cho phép.
- Nhà cung cấp BIOS mà những người phát triển mà viết mã mà cung cấp di sản
hỗ trợ cho những bàn phím và những con chuột USB trên Windows những nền
tảng cần phải sử dụng lôgic chương trình mà làm việc với lôgic mã bộ điều khiển
bộ điều khiển máy chủ giới thiệu trong mục này.
- Cho nhiều thông tin hơn và có liên quan references, Thấy:
OpenHCI: Sự quy định về mặt giao diện Bộ điều khiển máy chủ Mở Cho USB,
Phiên bản 1.0 Một, Sẵn có Từ www.microsoft.com/hwdev/specs/default.htm.
Thông tin Intel quanh USB, Bao gồm hướng dẫn thiết kế UHCI cho
USB. /> /> Thuyết minh USB và những sự thi hành USB Diễn
đàn. />Thông tin USB trên (về) web-site những người phát triển Phần cứng
Microsoft .www.microsoft.com/hwdev/busbios/default.htm.
Cho nhiều thông tin hơn quanh SMM, Nhìn thấy Chương 20 trong Bằng tay của
Người dùng Bộ xử lý Pentium, Thể tích 3 : Tài liệu Kiến trúc và Lập trình, 1994,
Mà có thể được sắp đặt từ Intel bởi việc gọi 1 -800-548-4725.
Di sản Hỗ trợ cho những bàn phím và những con 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.
12 (RO) USBIRQS 1 = USB IRQ is active.
11 (R/WC) TBY64W 1 = Write to port 64h has occurred.
10 (R/WC) TBY64R 1 = Read to port 64h has occurred.
9 (R/WC) TBY60W 1 = Write to port 60h has occurred.
8 (R/WC) TBY60R 1 = Read to port 60h has occurred.
7 (R/W) SMIEPTE
1 = Enable generation of an SMI when A20GATE passthrough sequence
has ended.
0 = Disable (default).
6 (RO) PSS
1 = A20GATE passthrough sequence is currently in progress.
0 = Not executing (default).
5 (R/W) A20PTEN
1 = Enable A20GATE passthrough sequence.
0 = Disable (default).
4 (R/W) USBSMIEN
1 = Enable SMI# generation on USB IRQ.
0 = Disable (default).
3 (R/W) 64WEN
1 = Enable I/O Trap and SMI# generation of port 64h write.
0 = Disable (default).
2 (R/W) 64REN
1 = Enable I/O Trap and SMI# generation of port 64h read.
0 = Disable (default).
1 (R/W) 60WEN
1 = Enable I/O Trap and SMI# generation of port 60h write.
0 = Disable (default).
0 (R/W) 60REN
1 = Enable I/O Trap and SMI# generation of port 60h read.
0 = Disable (default).
Làm sao bộ điều khiển bộ điều khiển máy chủ Microsoft sử dụng LEGSUP
đăng ký. Microsoft mà bộ điều khiển bộ điều khiển máy chủ UHCI viết sau đây mà
giá trị tới LEGSUP cho HCD bình thường sử dụng : 0 x2000. Chú ý rằng những
tập hợp này cắn 13 và những sự xóa cắn 4, những tuyến đường nào USB ngắt tới
PIRQD và vô hiệu hóa thế hệ SMI# trên một sự kiện USB IRQ. Bộ điều khiển bộ
điều khiển máy chủ đặt mẩu 4 cho BIOS / sự sử dụng SMI, mà cho phép thế hệ
SMI# trên (về) một sự kiện USB IRQ.
SOF Sửa đổi sổ đăng ký. SOF Sửa đổi đăng ký là một một - sổ đăng ký bai mà có
thể sử dụng để Sửa đổi giá trị đã phát sinh sự tính toán thời gian trên USB. ( Cho
nhiều thông tin hơn, mục 2.1.6 của Hướng dẫn Thiết kế Giao diện ( UHCI) Bộ điều
khiển máy chủ chung, sự Duyệt lại 1.1.) nguyên tắc chỉ đạo Cho sự cải biến của
khung định giờ được chứa đựng trong Chương 7 của Thuyết minh USB.
Làm sao bộ điều khiển bộ điều khiển máy chủ Microsoft sử dụng SOF Sửa
đổi sổ đăng ký. Khi Microsoft tiêu khiển bộ điều khiển bộ điều khiển cầm điều
khiển của bộ điều khiển máy chủ Từ BIOS, Nó luôn luôn đọc giá trị của SOF Sửa
đổi giá trị sổ đăng ký thiết lập bởi BIOS và cất giữ nó bên trong Một - Thiết bị, -
Cấu trúc dữ liệu bộ điều khiển máy chủ.
Cấu trúc sổ đăng ký Lệnh USB ( USBCMD). Sổ đăng ký USBCMD là một mẩu -
bản đồ 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 2.1.1 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ể , mà không tham chiếu tới Hướng dẫn Thiết kế, giải thích những
mẩu CMDREG mà là tập hợp và những mục bị sạch trong giả mã trong về sau của
mục này.
Đặt lên bảng 2. Cấu trúc sổ đăng ký USBCMD
Bit Name Description
15:8 Reserved.
7 (R/W) MAXP
1 = 64 bits.
0 = 32 bits.
6 (R/W) CF
Host controller driver software sets this bit as the last action in its process of
configuring the host controller; has no effect on the hardware. Provided only as a
semaphore service for the software.
5 (R/W) SWDBG
1 = Debug mode.
0 = Normal mode.
4 (R/W) FGR 1 = host controller sends Global Resume signal on the USB.
3 (R/W) EGSM 1 = host controller enters Global Suspend mode.
2 (R/W) GRESET 1 = host controller sends Global Reset signal on the USB and then resets all its logic.
1 (R/W) HCRESET
1 = host controller resets its internal timers, counters, state machines, and so on to their
initial values.
0 (R/W) RS
1 = Run (host controller proceeds with execution of the schedule).
0 = Stop (host controller completes current transaction and then halts).
Làm sao bộ điều khiển bộ điều khiển chủ nhà Microsoft sử dụng USBCMD
đăng ký. Khi nó cầm điều khiển của bộ điều khiển máy chủ Từ BIOS, Bộ điều
khiển bộ điều khiển máy chủ Microsoft làm sạch mẩu RS để dừng bộ điều khiển
máy chủ và làm sạch mẩu CF.
Cấu trúc sổ đăng ký Tình trạng USB ( USBSTS). Sổ đăng ký USBSTS là một
bitmap chứa đựng những 16 bít. ý nghĩa (của) mỗi 16 bít (thì) hoàn toàn được chỉ