Trong một tiết lộ thú vị từ lịch sử phát triển Xbox 360, một trong những nhà phát triển đầu tiên của Microsoft đã chia sẻ chi tiết về lỗi CPU nghiêm trọng có mặt trên tất cả các máy console Xbox 360 được sản xuất. Thông tin này được tiết lộ trong bối cảnh thảo luận về các biện pháp bảo mật của console và việc khai thác thông qua các kỹ thuật glitch phần cứng.
Lỗi CPU Nghiêm trọng
Vấn đề liên quan đến các lệnh thao tác nguyên tử của bộ xử lý PowerPC - cụ thể là các lệnh lwarx (load word and reserve indexed) và stwcx (store word conditional indexed). Những lệnh này rất quan trọng để thực hiện đồng bộ hóa luồng và các thao tác bộ nhớ. Khi IBM phát hiện ra lỗi này vào giai đoạn cuối sản xuất, Microsoft đã phải đối mặt với cuộc khủng hoảng tiềm ẩn khi hàng triệu đô la tiền CPU đã được sản xuất.
Lỗi phần cứng này tồn tại trong mọi phiên bản Xbox 360 đã xuất xưởng, vì phần mềm cần chạy trên bất kỳ máy console nào đã được bán ra, nên việc sửa lỗi không mang lại lợi ích gì khi phần mềm luôn cần phải có cách xử lý vấn đề này.
Giải pháp trong 48 giờ
Với việc sản xuất bị đình trệ và hàng triệu đô la thiết bị đang bị đe dọa, đội phát triển chỉ có 48 giờ để tìm ra giải pháp phần mềm. Cuối cùng họ đã thành công bằng cách triển khai một giải pháp phức tạp bao gồm:
- Bắt buộc sắp xếp nghiêm ngặt các cặp lệnh lwarx/stwcx
- Vô hiệu hóa ngắt trong các thao tác nguyên tử
- Sửa đổi cách xử lý TLB (Translation Lookaside Buffer) của hypervisor
- Cập nhật trình biên dịch để thực thi các chuỗi lệnh mới
- Bổ sung xác minh loader để ngăn chặn việc thực thi mã không an toàn
Mốc thời gian chính:
- Bắt đầu phát triển: ~2002
- CPU chip đầu tiên ra mắt: Tháng 2 năm 2005
- Ra mắt Console: Tháng 11 năm 2005
- Lỗ hổng bảo mật lớn đầu tiên: 2011 ( Reset Glitch Hack )
Yêu cầu xử lý lỗi quan trọng:
- Quy tắc ghép cặp lệnh nghiêm ngặt
- Vô hiệu hóa ngắt trong các thao tác nguyên tử
- Điều chỉnh trình giám sát ảo
- Cập nhật trình biên dịch
- Xác minh mã khi tải
Thách thức trong giai đoạn phát triển ban đầu
Quá trình phát triển tự nó đã tạo ra những thách thức độc đáo. Nhóm phát triển phải viết và kiểm tra mã khởi động và hệ thống bảo mật của Xbox 360 gần ba năm trước khi phần cứng thực tế có sẵn. Để vượt qua điều này, họ đã tạo ra các bộ mô phỏng CPU tùy chỉnh, bao gồm một bộ có thể thực thi toàn bộ kernel của Xbox 360. Những gì thường mất vài giây trên phần cứng thực tế đã cần hơn ba giờ trong môi trường mô phỏng.
Di sản và Tác động
Tiết lộ này cho thấy cả sự phức tạp trong phát triển console và sự sáng tạo cần thiết trong kiến trúc hệ thống. Mặc dù có lỗi CPU, Xbox 360 vẫn trở thành một trong những nền tảng game thành công nhất của Microsoft, với hệ thống bảo mật không bị đánh bại trong gần sáu năm cho đến khi Reset Glitch Hack được phát hiện vào năm 2011.