[go: up one dir, main page]

CN101470657A - Verification method for BIOS refreshing content - Google Patents

Verification method for BIOS refreshing content Download PDF

Info

Publication number
CN101470657A
CN101470657A CNA2007103063661A CN200710306366A CN101470657A CN 101470657 A CN101470657 A CN 101470657A CN A2007103063661 A CNA2007103063661 A CN A2007103063661A CN 200710306366 A CN200710306366 A CN 200710306366A CN 101470657 A CN101470657 A CN 101470657A
Authority
CN
China
Prior art keywords
bios
content
virtual machine
new
virtual
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2007103063661A
Other languages
Chinese (zh)
Inventor
柏源
陈玄同
刘文涵
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inventec Corp
Original Assignee
Inventec Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inventec Corp filed Critical Inventec Corp
Priority to CNA2007103063661A priority Critical patent/CN101470657A/en
Publication of CN101470657A publication Critical patent/CN101470657A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention discloses a verification method for BIOS refreshing content, which comprises the following steps: establishing a virtual machine in a computer waiting for updating a system BIOS by using a paravirtualization technology; starting a virtual machine; copying the new BIOS file content to an address space in a specified range of a memory of the computer host; executing the start of the host computer by using the content in the new BIOS file, and enabling the semi-virtual operating system to run based on the same hardware platform as the host computer; and verifying whether the virtual operating system applying the new BIOS file content normally runs or not, thereby obtaining whether the content of the new BIOS file is correct and safe or not.

Description

一种BIOS刷新内容的验证方法 A method for verifying BIOS refresh content

技术领域 technical field

本发明涉及一种计算机系统中文件内容更新的安全验证方法,特别是涉及一种对计算机系统中BIOS文件内容的更新进行安全校验的BIOS刷新内容的验证方法。The invention relates to a security verification method for file content update in a computer system, in particular to a BIOS refresh content verification method for performing security check on the update of the BIOS file content in the computer system.

背景技术 Background technique

目前,在服务器管理中,由于服务器需要使用的都是最新的硬件,所以出厂时的BIOS(Basic Input Output System,基本输入输出系统)能够识别的硬件在一段时间之后就已经不能对最新的硬件进行识别及应用,所以需要将服务器的BIOS更新为最新版的BIOS以支持新硬件的识别和使用,而刷新BIOS这种操作是非常危险的,一但刷新了错误的BIOS文件会造成机器不能启动,严重时可能会造成服务器上的BIOS芯片损坏。同时,由于BIOS文件的发布过程较长,很有可能出现文件受损等情况而导致BIOS文件不能启动。At present, in server management, because the server needs to use the latest hardware, the hardware that can be recognized by the BIOS (Basic Input Output System) at the factory cannot perform the latest hardware after a period of time. Identification and application, so it is necessary to update the BIOS of the server to the latest version of BIOS to support the identification and use of new hardware. Refreshing the BIOS is very dangerous. Once the wrong BIOS file is refreshed, the machine will not start. In severe cases, it may cause damage to the BIOS chip on the server. At the same time, due to the long release process of the BIOS file, it is very likely that the file is damaged and the BIOS file cannot be started.

因此,如果能够在刷新BIOS之前,在实际机器上进行测试后再更新到BIOS的电可擦可编辑只读存储器(Electrically Erasable ProgrammableRead-Only Memory,简称EEPROM)中,就可以保证刷新作业的正确性,减少服务器可能出现的问题。因而,目前业界亟待提供一种BIOS刷新内容的验证方法,借以克服上述公知技术中的问题或缺陷。Therefore, if the BIOS can be updated to the Electrically Erasable Programmable Read-Only Memory (EEPROM) after testing on the actual machine before refreshing the BIOS, the correctness of the refreshing operation can be guaranteed. , to reduce possible server problems. Therefore, the current industry urgently needs to provide a method for verifying the content of BIOS refresh, so as to overcome the problems or defects in the above-mentioned known technologies.

发明内容 Contents of the invention

本发明的目的在于提供一种BIOS刷新内容的验证方法,用以在对计算机BIOS进行更新之前,对新的BIOS文件内容进行安全验证,以解决上述公知技术中存在的问题。The purpose of the present invention is to provide a kind of verification method of BIOS refreshing content, in order to carry out security verification to new BIOS file content before computer BIOS is updated, to solve the problem existing in above-mentioned known technology.

为了实现上述目的,本发明提供了一种BIOS刷新内容的验证方法,包含以下步骤:In order to achieve the above object, the invention provides a kind of verification method of BIOS refresh content, comprising the following steps:

使用半虚拟化技术在等待进行系统BIOS更新的计算机主机中建立一个虚拟机;启动此虚拟机;将新的BIOS文件内容拷贝至计算机主机的存储器中由0000:0000开始的1兆字节(Mega bytes)的地址空间内;使用此新的BIOS文件中的内容来执行计算机主机的启动进程,并使半虚拟的操作系统基于与计算机主机相同的硬件平台运行;以及验证应用此新的BIOS文件内容的虚拟操作系统是否运行正常,如果运行正常,则将运行正常的信息回馈给用户并结束验证,如果运行不正常,则将运行不正常的信息回馈给用户并结束验证。Use paravirtualization technology to create a virtual machine in the computer host waiting for the system BIOS update; start the virtual machine; copy the content of the new BIOS file to 1 megabyte (Megabyte) starting from 0000:0000 in the memory of the computer host bytes) address space; use the contents of this new BIOS file to execute the boot process of the host computer, and make the paravirtualized operating system run on the same hardware platform as the host computer; and verify and apply the contents of this new BIOS file Whether the virtual operating system is running normally, if it is running normally, the information of normal operation will be fed back to the user and the verification will end, if it is not running normally, the information of abnormal operation will be fed back to the user and the verification will be ended.

综上所述,本发明的优点在于:本发明所提供的一种BIOS刷新内容的验证方法,通过半虚拟化技术所虚拟出的操作系统的运行,实现了在对计算机BIOS进行刷新之前,对新的BIOS文件内容进行安全验证,进而避免了公知技术中由于错误的BIOS文件内容被更新到实际机器后所造成的机器不能启动以及BIOS芯片受损等问题。To sum up, the advantage of the present invention is that: a method for verifying the refresh content of the BIOS provided by the present invention realizes the operation of the operating system virtualized by the paravirtualization technology before refreshing the BIOS of the computer. The content of the new BIOS file is verified for safety, thereby avoiding the problems in the known technology that the machine cannot be started and the BIOS chip is damaged due to the wrong content of the BIOS file being updated to the actual machine.

下面结合附图和具体实施例对本发明进行详细描述,但不作为对本发明的限定。The present invention will be described in detail below in conjunction with the accompanying drawings and specific embodiments, but not as a limitation of the present invention.

附图说明 Description of drawings

图1为本发明的一种BIOS刷新内容的验证方法中的BIOS启动原理图;Fig. 1 is the BIOS startup schematic diagram in the verification method of a kind of BIOS refreshing content of the present invention;

图2为本发明的一种BIOS刷新内容的验证方法中的虚拟化解决方案的原理图;以及Fig. 2 is a schematic diagram of a virtualization solution in a method for verifying BIOS refresh content of the present invention; and

图3为本发明的一种BIOS刷新内容的验证方法的方法流程图。FIG. 3 is a flow chart of a method for verifying BIOS refresh content according to the present invention.

其中,附图标记:Among them, reference signs:

步骤100 使用半虚拟化技术在等待进行系统BIOS更新的计算机主机中建立一个虚拟机Step 100 Use paravirtualization technology to create a virtual machine in the computer host waiting for system BIOS update

步骤200 启动虚拟机Step 200 Start the virtual machine

步骤300 将新的BIOS文件内容拷贝至计算机主机的存储器中由0000:0000开始的1兆字节的地址空间内Step 300 Copy the content of the new BIOS file to the address space of 1 megabyte starting from 0000:0000 in the memory of the host computer

步骤400 使用新的BIOS文件中的内容来执行计算机主机的启动进程,并使半虚拟的操作系统基于与计算机主机相同的硬件平台运行Step 400 Use the content in the new BIOS file to execute the startup process of the computer host, and make the paravirtualized operating system run based on the same hardware platform as the computer host

步骤500 验证应用新的BIOS文件内容的虚拟操作系统是否运行正常Step 500 verifies whether the virtual operating system applying the new BIOS file content runs normally

步骤600 将运行正常的信息回馈给用户Step 600 Feeds back the information of normal operation to the user

步骤700 将运行不正常的信息回馈给用户Step 700 Feeds back the abnormal information to the user

实施方式Implementation

以下,将结合图式部分对本发明的较佳实施方式作详细说明。Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the drawings.

请参考图1,图中表示了本发明的一种BIOS刷新内容的验证方法中的BIOS启动原理,如图1所示,本发明的方法的较佳实施方式,由计算机主机(例如一服务器)在开机(指开启电源)后先将BIOS文件拷贝到存储器中的指定范围的地址空间内,然后计算机会跳到此一存储器的指定范围中的一开始执行地址(一般为0xFFFF0处)开始执行代码,这个地址就是BIOS的开始执行地址,而更新到机器的BIOS文件中的内容与其一致,因此本发明的方法就是将新的BIOS文件的内容拷贝到前述存储器中的指定范围的地址空间内,以便使用新的BIOS文件中的内容来执行计算机主机的启动进程,便能够测试到用来进行更新的BIOS文件的内容是否正确、安全。Please refer to Fig. 1, the BIOS startup principle in the authentication method of a kind of BIOS refreshing content of the present invention is shown in the figure, as shown in Fig. After booting (referring to turning on the power), first copy the BIOS file to the address space of the specified range in the memory, and then the computer will jump to the initial execution address (usually 0xFFFF0) in the specified range of the memory to start executing the code , this address is exactly the start execution address of BIOS, and the content in the BIOS file that is updated to machine is consistent with it, so the method of the present invention is exactly the address space that the content of new BIOS file is copied to the address space of the specified range in the aforementioned memory, so that Use the content in the new BIOS file to execute the booting process of the computer host, and it is possible to test whether the content of the BIOS file used for updating is correct and safe.

依据本发明所公开的BIOS刷新内容的验证方法,还包括利用虚拟技术来运用新的BIOS内容,以便对新的BIOS内容进行验证。目前,虚拟化技术可以概分为全虚拟化和半虚拟化两种。使用全虚拟化时,在虚拟化的操作系统和硬件之间存在一个层,用于决定访问。这个层被称为系统管理程序或虚拟机监视器(Virtual Machine Monitor,简称VMM)。半虚拟化与全虚拟化类似,但是系统管理程序会以一种更具协作性的方式进行作业。这是因为每个客户操作系统都了解自身正在虚拟化模式中运行,因此每个客户操作系统都会与系统管理程序协作,来实现底层硬件的虚拟化。According to the method for verifying the BIOS refresh content disclosed in the present invention, it also includes using virtual technology to use the new BIOS content, so as to verify the new BIOS content. Currently, virtualization technologies can be broadly classified into full virtualization and paravirtualization. When using full virtualization, there is a layer between the virtualized operating system and the hardware that determines access. This layer is called the hypervisor or virtual machine monitor (Virtual Machine Monitor, VMM for short). Paravirtualization is similar to full virtualization, but the hypervisor works in a more cooperative manner. This is because each guest operating system is aware that it is running in a virtualized mode, so each guest operating system cooperates with the hypervisor to virtualize the underlying hardware.

公知技术中,全虚拟化的实例包含商业虚拟化解决方案VMware(一种计算机虚拟化软件,可以使一台机器上同时运行两个或更多的操作系统),商业IBM z系列计算机上使用的IBM系统z9虚拟机(z/VM,VM英文全称为VirtualMachine)操作系统,以及内核虚拟机(KVM),另外还有其它一些实例,例如Bochs(一种模拟x86环境的虚拟机软件)、QEMU(一种可以在Windows操作系统中仿真出另一套操作系统的仿真软件)、VirtualBox(一款功能强大的x86虚拟机软件)等。半虚拟化的实例有Xen和User-Mode-Linux(UML),其中:Xen是一种半虚拟化(Paravirtualization)虚拟机监视器(VMM),这表示,为了调用系统管理程序,其需要有选择地修改操作系统内核(Kernel),然而却不需要修改操作系统上运行的应用程序。虽然VMware等其它虚拟化系统实现了完全的虚拟化,即它们不必修改使用中的操作系统,但它们仍需要进行实时的机器代码翻译,这会影响系统性能,而Xen是一种特殊的虚拟硬件虚拟机,其具有虚拟硬件虚拟机的大部分特性,并且能够让用户像在现有环境中一样安装并测试新的升级软件,而不必担心破坏原有的系统;User-Mode-Linux(UML),是一种安全的虚拟机,其可以让一个Linux系统作为一个独立的进程运行在另一个Linux系统上,因此可以像执行一般程序般地在现有的硬盘上启动多个Linux操作系统,使用UML,用户可以在主机的Linux系统内核中以用户态方式运行另一个Linux内核,还可以在单个计算机上运行多个独立的虚拟计算机。In the known technology, examples of full virtualization include commercial virtualization solution VMware (a kind of computer virtualization software, which can make two or more operating systems run simultaneously on a machine), and commercial IBM z series computers. IBM system z9 virtual machine (z/VM, VM is called VirtualMachine in English) operating system, kernel virtual machine (KVM), and other examples, such as Bochs (a virtual machine software that simulates x86 environment), QEMU ( A simulation software that can simulate another operating system in the Windows operating system), VirtualBox (a powerful x86 virtual machine software), etc. Examples of paravirtualization include Xen and User-Mode-Linux (UML), among which: Xen is a paravirtualization (Paravirtualization) virtual machine monitor (VMM), which means that in order to call the system management program, it needs to have a choice Modify the operating system kernel (Kernel) without modifying the applications running on the operating system. Although other virtualization systems such as VMware achieve full virtualization, that is, they do not have to modify the operating system in use, they still require real-time machine code translation, which affects system performance, and Xen is a special virtual hardware Virtual machine, which has most of the characteristics of a virtual hardware virtual machine, and allows users to install and test new upgrade software as in the existing environment, without worrying about destroying the original system; User-Mode-Linux (UML) , is a safe virtual machine that allows one Linux system to run on another Linux system as an independent process, so multiple Linux operating systems can be started on an existing hard disk like a normal program, using With UML, users can run another Linux kernel in user mode in the Linux system kernel of the host computer, and can also run multiple independent virtual computers on a single computer.

虚拟化解决方案的底层是要进行虚拟化的机器硬件(Hardware)。这台机器可能直接支持虚拟化,也可能不会直接支持虚拟化。那么就需要系统管理程序层的支持。系统管理程序(Hypervisor),或称为虚拟机监视器(VirtualMachine Monitor,简称VMM),可以看作是硬件平台与操作系统的抽象化。在某些情况中,此系统管理程序就是一个操作系统,此时,它便被称为主机操作系统,请参考图2。The bottom layer of the virtualization solution is the machine hardware (Hardware) to be virtualized. The machine may or may not directly support virtualization. Then you need the support of the hypervisor layer. A system management program (Hypervisor), or called a virtual machine monitor (Virtual Machine Monitor, referred to as VMM), can be regarded as an abstraction of a hardware platform and an operating system. In some cases, this hypervisor is an operating system, in which case it is called the host operating system, see Figure 2.

系统管理程序之上是客户机操作系统(Guest OS),也称为虚拟机(VirtualMachine,简称VM)以及用户空间(即应用程序)。这些虚拟机都是一些相互隔离的操作系统,其将底层硬件平台视为自身所有。但实际上,是系统管理程序为它们制造了这种虚拟的假象。Above the hypervisor is the guest operating system (Guest OS), also known as a virtual machine (Virtual Machine, referred to as VM) and user space (that is, an application program). These virtual machines are isolated operating systems that treat the underlying hardware platform as their own. But in reality, it is the hypervisor who creates this virtual illusion for them.

现在请参考图3,此图为本发明的一种BIOS刷新内容的验证方法的方法流程图,如图所示,本发明的一种BIOS刷新内容的验证方法包含以下步骤:Please refer to Fig. 3 now, this figure is the method flowchart of the verification method of a kind of BIOS refreshing content of the present invention, as shown in the figure, the verification method of a kind of BIOS refreshing content of the present invention comprises the following steps:

使用半虚拟化技术在等待进行系统BIOS更新的计算机主机中建立一个虚拟机(步骤100),其中,半虚拟化技术可采用上述公知技术中的Xen技术或UML(User-Mode-Linux)技术建立一个虚拟机;Use paravirtualization technology to set up a virtual machine (step 100) in the host computer waiting to update the system BIOS, wherein the paravirtualization technology can adopt Xen technology or UML (User-Mode-Linux) technology in the above-mentioned known technology to establish a virtual machine;

启动上述虚拟机(步骤200);Start above-mentioned virtual machine (step 200);

将新的BIOS文件内容拷贝(copy)至计算机主机的存储器中由0000:0000开始的1兆字节(Mega bytes)的地址空间内(步骤300);The new BIOS file content is copied (copy) to the address space of 1 megabyte (Mega bytes) starting from 0000:0000 in the memory of the host computer (step 300);

使用上述新的BIOS文件中的内容来执行计算机主机的启动进程,并使半虚拟的操作系统基于与计算机主机相同的硬件平台运行(步骤400);以及Use the content in the above-mentioned new BIOS file to carry out the startup process of the computer host, and make the paravirtual operating system run based on the same hardware platform as the computer host (step 400); and

验证应用上述新的BIOS文件内容的虚拟操作系统是否运行正常(步骤500),如果运行正常,则将运行正常的信息回馈给用户(步骤600),而后结束验证;如果运行不正常,则将运行不正常的信息回馈给用户(步骤700),而后结束验证。Verify that the virtual operating system that applies the above-mentioned new BIOS file content is running normally (step 500), if it is running normally, then the information that is running normally will be fed back to the user (step 600), and then the verification will end; if it is not running normally, it will run The abnormal information is fed back to the user (step 700), and then the verification ends.

当然,本发明还可有其它多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。Certainly, the present invention also can have other various embodiments, without departing from the spirit and essence of the present invention, those skilled in the art can make various corresponding changes and deformations according to the present invention, but these corresponding changes All changes and modifications should belong to the scope of protection of the appended claims of the present invention.

Claims (3)

1, a kind of verification method of BIOS refreshing content in order to before computer BIOS is upgraded, carries out safety verification to new BIOS file content, it is characterized in that the method includes the steps of:
Use half Intel Virtualization Technology in the main frame that the pending system bios of first-class upgrades, to set up a virtual machine;
Start this virtual machine;
One new BIOS file content is copied in the address space of 1 megabyte that begins by 0000:0000 in the storer of this main frame;
Use the content in this new BIOS file to carry out the startup process of this main frame, and half virtual operating system is moved based on the hardware platform identical with this main frame; And
Whether checking is used the virtual opetrating system of this new BIOS file content and is moved normally, if operation is normal, then will move normal information feedback and give the user and finish checking,, then will move abnormal information feedback and give the user and finish and verify if move undesiredly.
2, the verification method of BIOS refreshing content according to claim 1 is characterized in that, this half Intel Virtualization Technology adopts the Xen technology to set up a virtual machine.
3, the verification method of BIOS refreshing content according to claim 1 is characterized in that, this half Intel Virtualization Technology adopts the UML technology to set up a virtual machine.
CNA2007103063661A 2007-12-28 2007-12-28 Verification method for BIOS refreshing content Pending CN101470657A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNA2007103063661A CN101470657A (en) 2007-12-28 2007-12-28 Verification method for BIOS refreshing content

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNA2007103063661A CN101470657A (en) 2007-12-28 2007-12-28 Verification method for BIOS refreshing content

Publications (1)

Publication Number Publication Date
CN101470657A true CN101470657A (en) 2009-07-01

Family

ID=40828140

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007103063661A Pending CN101470657A (en) 2007-12-28 2007-12-28 Verification method for BIOS refreshing content

Country Status (1)

Country Link
CN (1) CN101470657A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508682A (en) * 2011-11-10 2012-06-20 北京交通大学 Hardware-assisted CPU (central processing unit) virtualized environment setup method at pre-boot stage of system
WO2012106954A1 (en) * 2011-08-31 2012-08-16 华为技术有限公司 Method and device for flashing basic input output system memory of multi-processor
CN104503810A (en) * 2015-01-08 2015-04-08 合肥联宝信息技术有限公司 Method and device for updating BIOS firmware in computer system
CN113468010A (en) * 2021-09-02 2021-10-01 湖北芯擎科技有限公司 File processing method and device, electronic equipment and computer readable storage medium

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012106954A1 (en) * 2011-08-31 2012-08-16 华为技术有限公司 Method and device for flashing basic input output system memory of multi-processor
CN102508682A (en) * 2011-11-10 2012-06-20 北京交通大学 Hardware-assisted CPU (central processing unit) virtualized environment setup method at pre-boot stage of system
CN102508682B (en) * 2011-11-10 2014-05-28 北京交通大学 Hardware-assisted CPU (central processing unit) virtualized environment setup method at pre-boot stage of system
CN104503810A (en) * 2015-01-08 2015-04-08 合肥联宝信息技术有限公司 Method and device for updating BIOS firmware in computer system
CN104503810B (en) * 2015-01-08 2018-03-23 合肥联宝信息技术有限公司 The method and device of BIOS/firmware in more new computer system
CN113468010A (en) * 2021-09-02 2021-10-01 湖北芯擎科技有限公司 File processing method and device, electronic equipment and computer readable storage medium
CN113468010B (en) * 2021-09-02 2021-11-16 湖北芯擎科技有限公司 File processing method and device, electronic equipment and computer readable storage medium

Similar Documents

Publication Publication Date Title
US9323563B2 (en) Determining virtual machine migration in view of a migration rule
US9063821B1 (en) Method for updating operating system without memory reset
US11886903B2 (en) Continuous uptime of guest virtual machines during upgrade of a virtualization host device
US8776041B2 (en) Updating a virtual machine monitor from a guest partition
US9361147B2 (en) Guest customization
US8166477B1 (en) System and method for restoration of an execution environment from hibernation into a virtual or physical machine
US8387045B2 (en) Cloning image creation using virtual machine environment
US8635395B2 (en) Method of suspending and resuming virtual machines
Graziano A performance analysis of Xen and KVM hypervisors for hosting the Xen Worlds Project
US10303458B2 (en) Multi-platform installer
CN103988181B (en) For the method and system to virtual mapping patch installing
US11487523B2 (en) Updating machine emulator
US9588793B2 (en) Creating new virtual machines based on post-boot virtual machine snapshots
US9519489B2 (en) Boot from modified image
CN107368353A (en) A kind of method and apparatus for realizing virutal machine memory heat addition
CN111679889A (en) Virtual machine conversion migration method and system
Russinovich et al. Virtual machine preserving host updates for zero day patching in public cloud
US20090198988A1 (en) Method for verifying refreshed bios content
CN101470657A (en) Verification method for BIOS refreshing content
US10268466B2 (en) Software installer with built-in hypervisor
US12001303B2 (en) Data center restoration and migration
US11080082B2 (en) Cross-hypervisor virtual machine conversion
US20220413887A1 (en) Recoverable container platform cluster for testing
US11340911B2 (en) Installing patches using a jail
US10387187B2 (en) Saving data for virtual machine (VM) sessions upon update of host operating system

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090701